[Intel-gfx] [PATCH] drm/i915: Fix some minor issues with atomic cdclk.

Ville Syrjälä ville.syrjala at linux.intel.com
Tue Feb 16 10:10:14 UTC 2016


On Tue, Feb 16, 2016 at 10:25:11AM +0100, Maarten Lankhorst wrote:
> The check for active_crtcs == 0 was performed by the callers, when changing
> the patches I forgot to remove those hunks.
> 
> This resulted in skylake scalers still not having the correct cdclk to
> calculate scaling when all crtc's were dpms off.
> 
> Fixes: 1a617b77658e ("drm/i915: Keep track of the cdclk as if all crtc's were active.")
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_display.c | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 2cefd137c840..3934b4764815 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -6039,8 +6039,7 @@ static int broxton_calc_cdclk(struct drm_i915_private *dev_priv,
>  		return 144000;
>  }
>  
> -/* Compute the max pixel clock for new configuration. Uses atomic state if
> - * that's non-NULL, look at current state otherwise. */
> +/* Compute the max pixel clock for new configuration. */
>  static int intel_mode_max_pixclk(struct drm_device *dev,
>  				 struct drm_atomic_state *state)
>  {
> @@ -6063,9 +6062,6 @@ static int intel_mode_max_pixclk(struct drm_device *dev,
>  		intel_state->min_pixclk[i] = pixclk;
>  	}
>  
> -	if (!intel_state->active_crtcs)
> -		return 0;
> -
>  	for_each_pipe(dev_priv, pipe)
>  		max_pixclk = max(intel_state->min_pixclk[pipe], max_pixclk);
>  
> @@ -9677,9 +9673,6 @@ static int ilk_max_pixel_rate(struct drm_atomic_state *state)
>  		intel_state->min_pixclk[i] = pixel_rate;
>  	}
>  
> -	if (!intel_state->active_crtcs)
> -		return 0;
> -
>  	for_each_pipe(dev_priv, pipe)
>  		max_pixel_rate = max(intel_state->min_pixclk[pipe], max_pixel_rate);
>  
> @@ -13191,6 +13184,9 @@ static int intel_modeset_checks(struct drm_atomic_state *state)
>  
>  		if (ret < 0)
>  			return ret;
> +
> +		DRM_DEBUG_KMS("New cdclk calculated to be atomic %u, actual %u\n",
> +			      intel_state->cdclk, intel_state->dev_cdclk);
>  	} else
>  		to_intel_atomic_state(state)->cdclk = dev_priv->atomic_cdclk_freq;
> -- 
> 2.1.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list