[Intel-gfx] [PATCH 2/3] drm/i915: Fix the interlace mode selection for gmch platforms
Jesse Barnes
jbarnes at virtuousgeek.org
Fri Mar 28 23:10:09 CET 2014
On Fri, 28 Mar 2014 23:29:31 +0200
ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> 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 at linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_display.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a9a4f6a..3ab40e3 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -5543,13 +5543,13 @@ static void i9xx_set_pipeconf(struct intel_crtc *intel_crtc)
> }
> }
>
> - if (IS_VALLEYVIEW(dev) &&
> - intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE)
> - pipeconf |= PIPECONF_INTERLACE_W_SYNC_SHIFT;
> - else if (!IS_GEN2(dev) &&
> - intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE)
> - pipeconf |= PIPECONF_INTERLACE_W_FIELD_INDICATION;
> - else
> + if (intel_crtc->config.adjusted_mode.flags & DRM_MODE_FLAG_INTERLACE) {
> + if (INTEL_INFO(dev)->gen < 4 ||
> + intel_pipe_has_type(&intel_crtc->base, INTEL_OUTPUT_SDVO))
> + pipeconf |= PIPECONF_INTERLACE_W_FIELD_INDICATION;
> + else
> + pipeconf |= PIPECONF_INTERLACE_W_SYNC_SHIFT;
> + } else
> pipeconf |= PIPECONF_PROGRESSIVE;
>
> if (IS_VALLEYVIEW(dev) && intel_crtc->config.limited_color_range)
Hooray for SDVO. I really hope no one tries to do that on VLV...
(afaik it's unsupported but who knows the hw might work if someone
solders such a board together).
Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>
--
Jesse Barnes, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list