[PATCH v3 2/4] drm/i915/display: Send push before waiting vblanks

Jouni Högander jouni.hogander at intel.com
Tue May 20 06:29:27 UTC 2025


If PSR is enabled our HW might be still in sleep when performing wait
vblanks on DSB. Now as we are switching to using VRR send push as
"Frame Change" event for PSR we are observing these timeouts as only
"Frame Change" event is VRR send push.

Fix this by triggering doing VRR send push before waiting vblank.

Signed-off-by: Jouni Högander <jouni.hogander at intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 1b09f8ae76ff..a5c1990e0e71 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7240,9 +7240,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
 					   new_crtc_state);
 
 		if (!new_crtc_state->dsb_color_vblank) {
-			intel_dsb_wait_vblanks(new_crtc_state->dsb_commit, 1);
-
 			intel_vrr_send_push(new_crtc_state->dsb_commit, new_crtc_state);
+			intel_dsb_wait_vblanks(new_crtc_state->dsb_commit, 1);
 			intel_dsb_wait_vblank_delay(state, new_crtc_state->dsb_commit);
 			intel_vrr_check_push_sent(new_crtc_state->dsb_commit, new_crtc_state);
 			intel_dsb_interrupt(new_crtc_state->dsb_commit);
-- 
2.43.0



More information about the Intel-gfx-trybot mailing list