summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/nouveau_encoder.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2010-07-01 15:33:45 +1000
committerBen Skeggs <bskeggs@redhat.com>2010-07-13 10:13:15 +1000
commitec7fc4a1a7b322380d053fb04bfc4537be3cdfe5 (patch)
treec091a7c4a55072cf4fd455470691ef473c48e603 /drivers/gpu/drm/nouveau/nouveau_encoder.h
parentdf4cf1b72d726d788388858673fa61e42fdb9ad8 (diff)
drm/nv50: supply encoder disable() hook for SOR outputs
Allows us to remove a driver hack that used to be necessary to disable encoders in certain situations before setting up a mode. The DRM has better knowledge of when this is needed than the driver does. This fixes a number of display switching issues. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_encoder.h')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_encoder.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_encoder.h b/drivers/gpu/drm/nouveau/nouveau_encoder.h
index e4442e28b568..a1a0d48ae70c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_encoder.h
+++ b/drivers/gpu/drm/nouveau/nouveau_encoder.h
@@ -38,13 +38,15 @@ struct nouveau_encoder {
struct dcb_entry *dcb;
int or;
+ /* different to drm_encoder.crtc, this reflects what's
+ * actually programmed on the hw, not the proposed crtc */
+ struct drm_crtc *crtc;
+
struct drm_display_mode mode;
int last_dpms;
struct nv04_output_reg restore;
- void (*disconnect)(struct nouveau_encoder *encoder);
-
union {
struct {
int mc_unknown;