[Intel-gfx] [PATCH v2 1/9] drm/i915: Always load the display palette before enabling the pipe

Rodrigo Vivi rodrigo.vivi at gmail.com
Wed Jun 5 21:20:37 CEST 2013


Reviewed-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>

On Tue, Jun 4, 2013 at 7:48 AM,  <ville.syrjala at linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Loading the palette after the planes are enabled can risk showing
> incorrect colors. ILK+ already load the palette before even the pipe
> is enabled. Just follow the same order for gen2-4 and VLV.
>
> According to BSpec the requirements for palette access are
> display core clock and display PLL running. In certain platforms
> just the core clock may be enough. But we definitely should have both
> running when this gets called during the modeset.
>
> v2: Amend the commit message with some display PLL/core clock info
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index eda2262..c28b402 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -3615,10 +3615,11 @@ static void valleyview_crtc_enable(struct drm_crtc *crtc)
>         /* Enable panel fitting for eDP */
>         i9xx_pfit_enable(intel_crtc);
>
> +       intel_crtc_load_lut(crtc);
> +
>         intel_enable_pipe(dev_priv, pipe, false);
>         intel_enable_plane(dev_priv, plane, pipe);
>
> -       intel_crtc_load_lut(crtc);
>         intel_update_fbc(dev);
>
>         /* Give the overlay scaler a chance to enable if it's on this pipe */
> @@ -3654,12 +3655,13 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc)
>         /* Enable panel fitting for LVDS */
>         i9xx_pfit_enable(intel_crtc);
>
> +       intel_crtc_load_lut(crtc);
> +
>         intel_enable_pipe(dev_priv, pipe, false);
>         intel_enable_plane(dev_priv, plane, pipe);
>         if (IS_G4X(dev))
>                 g4x_fixup_plane(dev_priv, pipe);
>
> -       intel_crtc_load_lut(crtc);
>         intel_update_fbc(dev);
>
>         /* Give the overlay scaler a chance to enable if it's on this pipe */
> --
> 1.8.1.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br



More information about the Intel-gfx mailing list