Skip to content

Commit a99cac4

Browse files
hoganderjlahtine-intel
authored andcommitted
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. Fixes: 1cc8546 ("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 <mpearson-lenovo@squebb.ca> Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Link: https://patch.msgid.link/20260225074221.1744330-2-jouni.hogander@intel.com (cherry picked from commit f5c8f82) Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
1 parent ace7dcc commit a99cac4

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

drivers/gpu/drm/i915/display/intel_psr.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,9 +1307,14 @@ static bool psr2_granularity_check(struct intel_crtc_state *crtc_state,
13071307
u16 sink_y_granularity = crtc_state->has_panel_replay ?
13081308
connector->dp.panel_replay_caps.su_y_granularity :
13091309
connector->dp.psr_caps.su_y_granularity;
1310-
u16 sink_w_granularity = crtc_state->has_panel_replay ?
1311-
connector->dp.panel_replay_caps.su_w_granularity :
1312-
connector->dp.psr_caps.su_w_granularity;
1310+
u16 sink_w_granularity;
1311+
1312+
if (crtc_state->has_panel_replay)
1313+
sink_w_granularity = connector->dp.panel_replay_caps.su_w_granularity ==
1314+
DP_PANEL_REPLAY_FULL_LINE_GRANULARITY ?
1315+
crtc_hdisplay : connector->dp.panel_replay_caps.su_w_granularity;
1316+
else
1317+
sink_w_granularity = connector->dp.psr_caps.su_w_granularity;
13131318

13141319
/* PSR2 HW only send full lines so we only need to validate the width */
13151320
if (crtc_hdisplay % sink_w_granularity)

0 commit comments

Comments
 (0)