Browse Source

drm/i915: mask the video DIP port select

Should prevent bugs when changing the port.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Paulo Zanoni 13 years ago
parent
commit
3e6e63952f
2 changed files with 2 additions and 0 deletions
  1. 1 0
      drivers/gpu/drm/i915/i915_reg.h
  2. 1 0
      drivers/gpu/drm/i915/intel_hdmi.c

+ 1 - 0
drivers/gpu/drm/i915/i915_reg.h

@@ -1700,6 +1700,7 @@
 #define   VIDEO_DIP_ENABLE		(1 << 31)
 #define   VIDEO_DIP_PORT_B		(1 << 29)
 #define   VIDEO_DIP_PORT_C		(2 << 29)
+#define   VIDEO_DIP_PORT_MASK		(3 << 29)
 #define   VIDEO_DIP_ENABLE_AVI		(1 << 21)
 #define   VIDEO_DIP_ENABLE_VENDOR	(2 << 21)
 #define   VIDEO_DIP_ENABLE_SPD		(8 << 21)

+ 1 - 0
drivers/gpu/drm/i915/intel_hdmi.c

@@ -125,6 +125,7 @@ static void i9xx_write_infoframe(struct drm_encoder *encoder,
 
 
 	/* XXX first guess at handling video port, is this corrent? */
+	val &= ~VIDEO_DIP_PORT_MASK;
 	if (intel_hdmi->sdvox_reg == SDVOB)
 		val |= VIDEO_DIP_PORT_B;
 	else if (intel_hdmi->sdvox_reg == SDVOC)