aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2014-03-28 17:29:31 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-03-31 04:46:32 -0400
commitefc2cfff28a9424a0f9f8b068c6c8697435664c3 (patch)
tree51ab2160920e3df0fd24cd3f9cf086146d5013c9
parent609aeacaacd9db3d7abb2eb4d2ff8e62af8ce283 (diff)
drm/i915: Fix the interlace mode selection for gmch platforms
PIPECONF_INTERLACE_W_FIELD_INDICATION is only meant to be used for sdvo since it implies a slightly weird vsync shift of htotal/2. For everything else we should use PIPECONF_INTERLACE_W_SYNC_SHIFT and let the value in the VSYNCSHIFT register take effect. The only exception is gen3 simply because VSYNCSHIFT didn't exist yet. Gen2 doesn't support interlaced modes at all, so we can drop the explicit gen2 checks. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/intel_display.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index eba47319fec2..a0f4ac187f1a 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5535,13 +5535,13 @@ static void i9xx_set_pipeconf(struct intel_crtc *intel_crtc)
5535 } 5535 }
5536 } 5536 }
5537 5537
5538 if (IS_VALLEYVIEW(dev) && 5538 if (intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE) {
5539 intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE) 5539 if (INTEL_INFO(dev)->gen < 4 ||
5540 pipeconf |= PIPECONF_INTERLACE_W_SYNC_SHIFT; 5540 intel_pipe_has_type(&intel_crtc->base, INTEL_OUTPUT_SDVO))
5541 else if (!IS_GEN2(dev) && 5541 pipeconf |= PIPECONF_INTERLACE_W_FIELD_INDICATION;
5542 intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE) 5542 else
5543 pipeconf |= PIPECONF_INTERLACE_W_FIELD_INDICATION; 5543 pipeconf |= PIPECONF_INTERLACE_W_SYNC_SHIFT;
5544 else 5544 } else
5545 pipeconf |= PIPECONF_PROGRESSIVE; 5545 pipeconf |= PIPECONF_PROGRESSIVE;
5546 5546
5547 if (IS_VALLEYVIEW(dev) && intel_crtc->config.limited_color_range) 5547 if (IS_VALLEYVIEW(dev) && intel_crtc->config.limited_color_range)