[Intel-gfx] [PATCH 07/12] drm/i915: Extract intel_crtc_compute_pipe_mode()

Navare, Manasi manasi.d.navare at intel.com
Wed Feb 16 19:37:23 UTC 2022


On Tue, Feb 15, 2022 at 08:32:03PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Pull intel_crtc_compute_pipe_mode() out from
> intel_crtc_compute_config(). Since it's semi related
> we'll suck in the max dotclock/double wide checks in
> as well.
> 
> And we'll pimp the debugs while at it.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Yup looks lot more organized

Reviewed-by: Manasi Navare <manasi.d.navare at intel.com>

Manasi

> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 28 ++++++++++++++------
>  1 file changed, 20 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 3d3fddd3f452..6ff58164929c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -2832,17 +2832,12 @@ static int intel_crtc_compute_pipe_src(struct intel_crtc_state *crtc_state)
>  	return 0;
>  }
>  
> -static int intel_crtc_compute_config(struct intel_crtc *crtc,
> -				     struct intel_crtc_state *crtc_state)
> +static int intel_crtc_compute_pipe_mode(struct intel_crtc_state *crtc_state)
>  {
> +	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	struct drm_display_mode *pipe_mode = &crtc_state->hw.pipe_mode;
>  	int clock_limit = i915->max_dotclk_freq;
> -	int ret;
> -
> -	ret = intel_crtc_compute_pipe_src(crtc_state);
> -	if (ret)
> -		return ret;
>  
>  	drm_mode_copy(pipe_mode, &crtc_state->hw.adjusted_mode);
>  
> @@ -2868,12 +2863,29 @@ static int intel_crtc_compute_config(struct intel_crtc *crtc,
>  
>  	if (pipe_mode->crtc_clock > clock_limit) {
>  		drm_dbg_kms(&i915->drm,
> -			    "requested pixel clock (%d kHz) too high (max: %d kHz, double wide: %s)\n",
> +			    "[CRTC:%d:%s] requested pixel clock (%d kHz) too high (max: %d kHz, double wide: %s)\n",
> +			    crtc->base.base.id, crtc->base.name,
>  			    pipe_mode->crtc_clock, clock_limit,
>  			    yesno(crtc_state->double_wide));
>  		return -EINVAL;
>  	}
>  
> +	return 0;
> +}
> +
> +static int intel_crtc_compute_config(struct intel_crtc *crtc,
> +				     struct intel_crtc_state *crtc_state)
> +{
> +	int ret;
> +
> +	ret = intel_crtc_compute_pipe_src(crtc_state);
> +	if (ret)
> +		return ret;
> +
> +	ret = intel_crtc_compute_pipe_mode(crtc_state);
> +	if (ret)
> +		return ret;
> +
>  	intel_crtc_compute_pixel_rate(crtc_state);
>  
>  	if (crtc_state->has_pch_encoder)
> -- 
> 2.34.1
> 


More information about the Intel-gfx mailing list