[Intel-gfx] [PATCH 1/3] drm/i915: fix lost FP_CB_TUNE setting for pch plls

Paulo Zanoni przanoni at gmail.com
Fri Apr 5 21:52:28 CEST 2013


Hi

2013/4/4 Daniel Vetter <daniel.vetter at ffwll.ch>:
> commit de13a2e3f88a4da8e85063b6de37096795079e41
> Author: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Date:   Thu Sep 20 18:36:05 2012 -0300
>
>     drm/i915: extract compute_dpll from ironlake_crtc_mode_set
>
> missed the subtle adjustment of the FP1 register. Fix this up by
> passing a pointer around instead of the value.

We could also move the whole chunk that sets "factor" and "FP_CB_TUNE"
back to ironlake_crtc_mode_set or even to a brand new
ironlake_calculate_fp(intel_crtc, clock, has_reduced_clock,
reduced_clock, &fp, &fp2). Maybe as a follow-up patch since this
version is way much easier for -stable.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

>
> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/intel_display.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 1b2c744..f623f97 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -5374,7 +5374,7 @@ static void ironlake_fdi_set_m_n(struct drm_crtc *crtc)
>  }
>
>  static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc,
> -                                     intel_clock_t *clock, u32 fp)
> +                                     intel_clock_t *clock, u32 *fp)
>  {
>         struct drm_crtc *crtc = &intel_crtc->base;
>         struct drm_device *dev = crtc->dev;
> @@ -5414,7 +5414,7 @@ static uint32_t ironlake_compute_dpll(struct intel_crtc *intel_crtc,
>                 factor = 20;
>
>         if (clock->m < factor * clock->n)
> -               fp |= FP_CB_TUNE;
> +               *fp |= FP_CB_TUNE;
>
>         dpll = 0;
>
> @@ -5531,7 +5531,7 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
>                 fp2 = reduced_clock.n << 16 | reduced_clock.m1 << 8 |
>                         reduced_clock.m2;
>
> -       dpll = ironlake_compute_dpll(intel_crtc, &clock, fp);
> +       dpll = ironlake_compute_dpll(intel_crtc, &clock, &fp);
>
>         DRM_DEBUG_KMS("Mode for pipe %d:\n", pipe);
>         drm_mode_debug_printmodeline(mode);
> --
> 1.7.10.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



--
Paulo Zanoni



More information about the Intel-gfx mailing list