> -----Original Message-----
> From: Intel-xe <[email protected]> On Behalf Of Jouni
> Högander
> Sent: Wednesday, February 25, 2026 1:12 PM
> To: [email protected]; [email protected]
> Cc: Hogander, Jouni <[email protected]>; Mark Pearson <mpearson-
> [email protected]>
> Subject: [PATCH 2/2] drm/i915/psr: Fix for Panel Replay X granularity DPCD
> register handling
> 
> DP specification is saying value 0xff 0xff in PANEL REPLAY SELECTIVE
> UPDATE X GRANULARITY CAPABILITY registers (0xb2 and 0xb3) means full-
> line granularity. Take this into account when handling Panel Replay X 
> granularity
> informed by the panel.

Change looks good to me.
Reviewed-by: Uma Shankar <[email protected]>

> Fixes: 1cc854647450 ("drm/i915/psr: Use SU granularity information available 
> in
> intel_connector")
> Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7284
> Tested-by: Mark Pearson <[email protected]>
> Signed-off-by: Jouni Högander <[email protected]>
> ---
>  drivers/gpu/drm/i915/display/intel_psr.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> b/drivers/gpu/drm/i915/display/intel_psr.c
> index 5bea2eda744b..9296ca3a4ff4 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -1306,9 +1306,14 @@ static bool psr2_granularity_check(struct
> intel_crtc_state *crtc_state,
>       u16 sink_y_granularity = crtc_state->has_panel_replay ?
>               connector->dp.panel_replay_caps.su_y_granularity :
>               connector->dp.psr_caps.su_y_granularity;
> -     u16 sink_w_granularity =  crtc_state->has_panel_replay ?
> -             connector->dp.panel_replay_caps.su_w_granularity :
> -             connector->dp.psr_caps.su_w_granularity;
> +     u16 sink_w_granularity;
> +
> +     if (crtc_state->has_panel_replay)
> +             sink_w_granularity = connector-
> >dp.panel_replay_caps.su_w_granularity ==
> +                     DP_PANEL_REPLAY_FULL_LINE_GRANULARITY ?
> +                     crtc_hdisplay : connector-
> >dp.panel_replay_caps.su_w_granularity;
> +     else
> +             sink_w_granularity = connector->dp.psr_caps.su_w_granularity;
> 
>       /* PSR2 HW only send full lines so we only need to validate the width */
>       if (crtc_hdisplay % sink_w_granularity)
> --
> 2.43.0

Reply via email to