On Tue, 2026-09-15 at 23:34 +0530, Animesh Manna wrote:
> Add support for half LFPS cycle calculation for DP2.1 ALPM as
> dependent
> parameters got changed.
> 
> v1: Initial version.
> v2: Avoid returning early. [Jani]
> v3: Use intel_crtc_has_type(). [Suraj]
> v4: Split in separate function based on HAS_LT_PHY() check. [Jouni]
> 
> Cc: Jouni Högander <[email protected]>
> Signed-off-by: Animesh Manna <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_alpm.c | 41 ++++++++++++++++++---
> --
>  1 file changed, 33 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c
> b/drivers/gpu/drm/i915/display/intel_alpm.c
> index cb24bba801a1..14ecb27095b2 100644
> --- a/drivers/gpu/drm/i915/display/intel_alpm.c
> +++ b/drivers/gpu/drm/i915/display/intel_alpm.c
> @@ -74,24 +74,49 @@ static int get_silence_period_symbols(const
> struct intel_crtc_state *crtc_state)
>               1000 / 1000;
>  }
>  
> -static void get_lfps_cycle_min_max_time(const struct
> intel_crtc_state *crtc_state,
> -                                     int *min, int *max)
> +static void lnl_get_lfps_period_min_max_time(const struct
> intel_crtc_state *crtc_state,
> +                                          int *min, int *max)
>  {
> -     if (crtc_state->port_clock < 540000) {
> -             *min = 65 * LFPS_CYCLE_COUNT;
> -             *max = 75 * LFPS_CYCLE_COUNT;
> -     } else {
> +     if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP)) {
> +             if (crtc_state->port_clock < 540000) {
> +                     *min = 65 * LFPS_CYCLE_COUNT;
> +                     *max = 75 * LFPS_CYCLE_COUNT;
> +             } else {
> +                     *min = 140;
> +                     *max = 800;
> +             }
> +     }
> +}
> +
> +static void xe3plpd_get_lfps_period_min_max_time(const struct
> intel_crtc_state *crtc_state,
> +                                              int *min, int *max)
> +{
> +     if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP)) {
>               *min = 140;
>               *max = 800;
> +     } else {
> +             *min = 320;
> +             *max = 1600;
>       }
>  }
>  
> +static void get_lfps_period_min_max_time(const struct
> intel_crtc_state *crtc_state,
> +                                     int *min, int *max)
> +{
> +     struct intel_display *display =
> to_intel_display(crtc_state);
> +
> +     if (HAS_LT_PHY(display))
> +             xe3plpd_get_lfps_period_min_max_time(crtc_state,
> min, max);

As you are checking HAS_LT_PHY better prefix would be lt_.

BR,
Jouni Högander

> +     else
> +             lnl_get_lfps_period_min_max_time(crtc_state, min,
> max);
> +}
> +
>  static int get_lfps_cycle_time(const struct intel_crtc_state
> *crtc_state)
>  {
>       int tlfps_cycle_min, tlfps_cycle_max;
>  
> -     get_lfps_cycle_min_max_time(crtc_state, &tlfps_cycle_min,
> -                                 &tlfps_cycle_max);
> +     get_lfps_period_min_max_time(crtc_state, &tlfps_cycle_min,
> +                                  &tlfps_cycle_max);
>  
>       return tlfps_cycle_min +  (tlfps_cycle_max -
> tlfps_cycle_min) / 2;
>  }

Reply via email to