- Fix for #7284: Lenovo T14 G7 display not refreshing
Unified · Split
| @@ -1307,9 +1307,14 @@ static bool psr2_granularity_check(struct intel_crtc_state *crtc_state, · 1306 unmodified lines | |||
| 1307 | u16 sink_y_granularity = crtc_state->has_panel_replay ? | 1307 | u16 sink_y_granularity = crtc_state->has_panel_replay ? |
| 1308 | connector->dp.panel_replay_caps.su_y_granularity : | 1308 | connector->dp.panel_replay_caps.su_y_granularity : |
| 1309 | connector->dp.psr_caps.su_y_granularity; | 1309 | connector->dp.psr_caps.su_y_granularity; |
| 1310 | u16 sink_w_granularity = crtc_state->has_panel_replay ? | 1310 | u16 sink_w_granularity; |
| 1311 | connector->dp.panel_replay_caps.su_w_granularity : | 1311 | |
| 1312 | connector->dp.psr_caps.su_w_granularity; | 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; | ||
| 1313 | 1318 | ||
| 1314 | /* PSR2 HW only send full lines so we only need to validate the width */ | 1319 | /* PSR2 HW only send full lines so we only need to validate the width */ |
| 1315 | if (crtc_hdisplay % sink_w_granularity) | 1320 | if (crtc_hdisplay % sink_w_granularity) |
| @@ -571,6 +571,8 @@ · 570 unmodified lines | |||
| 571 | # define DP_PANEL_REPLAY_LINK_OFF_SUPPORTED_IN_PR_AFTER_ADAPTIVE_SYNC_SDP (1 << 7) | 571 | # define DP_PANEL_REPLAY_LINK_OFF_SUPPORTED_IN_PR_AFTER_ADAPTIVE_SYNC_SDP (1 << 7) |
| 572 | 572 | ||
| 573 | #define DP_PANEL_REPLAY_CAP_X_GRANULARITY 0xb2 | 573 | #define DP_PANEL_REPLAY_CAP_X_GRANULARITY 0xb2 |
| 574 | # define DP_PANEL_REPLAY_FULL_LINE_GRANULARITY 0xffff | ||
| 575 | |||
| 574 | #define DP_PANEL_REPLAY_CAP_Y_GRANULARITY 0xb4 | 576 | #define DP_PANEL_REPLAY_CAP_Y_GRANULARITY 0xb4 |
| 575 | 577 | ||
| 576 | /* Link Configuration */ | 578 | /* Link Configuration */ |