drm/i915: Set the transcoder port to none when disabling DP.
authorEric Anholt <eric@anholt.net>
Wed, 2 Feb 2011 20:08:07 +0000 (12:08 -0800)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 7 Feb 2011 12:06:12 +0000 (12:06 +0000)
The specs say to do so.

Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c

index 77b1530..3297cf1 100644 (file)
 #define  TRANS_DP_PORT_SEL_B   (0<<29)
 #define  TRANS_DP_PORT_SEL_C   (1<<29)
 #define  TRANS_DP_PORT_SEL_D   (2<<29)
+#define  TRANS_DP_PORT_SEL_NONE        (3<<29)
 #define  TRANS_DP_PORT_SEL_MASK        (3<<29)
 #define  TRANS_DP_AUDIO_ONLY   (1<<26)
 #define  TRANS_DP_ENH_FRAMING  (1<<18)
index a4acef6..b5f7acf 100644 (file)
@@ -2818,6 +2818,7 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)
                reg = TRANS_DP_CTL(pipe);
                temp = I915_READ(reg);
                temp &= ~(TRANS_DP_OUTPUT_ENABLE | TRANS_DP_PORT_SEL_MASK);
+               temp |= TRANS_DP_PORT_SEL_NONE;
                I915_WRITE(reg, temp);
 
                /* disable DPLL_SEL */