> -----Original Message-----
> From: Intel-gfx <[email protected]> On Behalf Of Ville
> Syrjala
> Sent: Wednesday, July 15, 2026 5:39 PM
> To: [email protected]
> Cc: [email protected]
> Subject: [PATCH 1/4] drm/i915/cdclk: Use intel_cdclk_ppc() in
> intel_modeset_readout_hw_state()
> 
> From: Ville Syrjälä <[email protected]>
> 
> Replace the hand roller intel_cdclk_ppc() with the real thing in
> intel_modeset_readout_hw_state().
> 
> Signed-off-by: Ville Syrjälä <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_cdclk.c         |  2 +-
>  drivers/gpu/drm/i915/display/intel_cdclk.h         |  1 +
>  drivers/gpu/drm/i915/display/intel_modeset_setup.c | 12 ++++--------
>  3 files changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c
> b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index d3c5e3438d19..1d7ff2cbaebb 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -2908,7 +2908,7 @@ intel_set_cdclk_post_plane_update(struct
> intel_atomic_state *state)  }
> 
>  /* pixels per CDCLK */
> -static int intel_cdclk_ppc(struct intel_display *display, bool double_wide)
> +int intel_cdclk_ppc(struct intel_display *display, bool double_wide)
>  {
>       return DISPLAY_VER(display) >= 10 || double_wide ? 2 : 1;  } diff --git
> a/drivers/gpu/drm/i915/display/intel_cdclk.h
> b/drivers/gpu/drm/i915/display/intel_cdclk.h
> index 1ff7d078b42c..a60cbf745ee2 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.h
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.h
> @@ -22,6 +22,7 @@ struct intel_cdclk_config {
>       bool joined_mbus;
>  };
> 
> +int intel_cdclk_ppc(struct intel_display *display, bool double_wide);
>  void intel_cdclk_init_hw(struct intel_display *display);  void
> intel_cdclk_uninit_hw(struct intel_display *display);  void
> intel_init_cdclk_hooks(struct intel_display *display); diff --git
> a/drivers/gpu/drm/i915/display/intel_modeset_setup.c
> b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
> index e27a531e1aa2..14d829171c7d 100644
> --- a/drivers/gpu/drm/i915/display/intel_modeset_setup.c
> +++ b/drivers/gpu/drm/i915/display/intel_modeset_setup.c
> @@ -854,14 +854,10 @@ static void intel_modeset_readout_hw_state(struct
> intel_display *display)
>                        * FIXME don't have the fb yet, so can't
>                        * use plane->min_cdclk() :(
>                        */
> -                     if (plane_state->uapi.visible && plane->min_cdclk) {
> -                             if (crtc_state->double_wide ||
> DISPLAY_VER(display) >= 10)
> -                                     crtc_state->plane_min_cdclk[plane-
> >id] =
> -                                             DIV_ROUND_UP(crtc_state-
> >pixel_rate, 2);
> -                             else
> -                                     crtc_state->plane_min_cdclk[plane-
> >id] =
> -                                             crtc_state->pixel_rate;
> -                     }
> +                     if (plane_state->uapi.visible && plane->min_cdclk)
> +                             crtc_state->plane_min_cdclk[plane->id] =
> +                                     DIV_ROUND_UP(crtc_state-
> >pixel_rate,
> +                                                  intel_cdclk_ppc(display,
> crtc_state->double_wide));

LGTM,
Reviewed-by: Nemesa Garg <[email protected]>

>                       drm_dbg_kms(display->drm,
>                                   "[PLANE:%d:%s] min_cdclk %d kHz\n",
>                                   plane->base.base.id, plane->base.name,
> --
> 2.54.0

Reply via email to