> -----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
