[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