drm/i915: Set sync polarity correctly on DisplayPort
authorAdam Jackson <ajax@redhat.com>
Mon, 5 Apr 2010 21:57:59 +0000 (17:57 -0400)
committerEric Anholt <eric@anholt.net>
Mon, 12 Apr 2010 16:23:47 +0000 (09:23 -0700)
Probably only matters for format-converting dongles, but might as well
get it right all the time.

Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/intel_dp.c

index fee5416..79625bd 100644 (file)
@@ -638,9 +638,12 @@ intel_dp_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
 
        dp_priv->DP = (DP_VOLTAGE_0_4 |
-                       DP_PRE_EMPHASIS_0 |
-                       DP_SYNC_VS_HIGH |
-                       DP_SYNC_HS_HIGH);
+                      DP_PRE_EMPHASIS_0);
+
+       if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC)
+               dp_priv->DP |= DP_SYNC_HS_HIGH;
+       if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC)
+               dp_priv->DP |= DP_SYNC_VS_HIGH;
 
        if (HAS_PCH_CPT(dev) && !IS_eDP(intel_encoder))
                dp_priv->DP |= DP_LINK_TRAIN_OFF_CPT;