When running kms_writeback, the following warning pops up:
[  +0.000015] xe 0000:00:02.0: [drm] vblank wait timed out on crtc 0
[  +0.000014] WARNING: drivers/gpu/drm/drm_vblank.c:1320 at 
drm_crtc_wait_one_vblank+0x179/0x1e0 [drm], CPU#7: kms_writeback/1191

Waiting for vblank to ensure configuration changes have taken effect
is not a relevant concept for writeback connectors. So just skip the
wait when configuring writeback.

Signed-off-by: John Harrison <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_crtc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c 
b/drivers/gpu/drm/i915/display/intel_crtc.c
index 03de219f7a64..fe3384f1aaa8 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -33,6 +33,7 @@
 #include "intel_sprite.h"
 #include "intel_vblank.h"
 #include "intel_vrr.h"
+#include "intel_writeback.h"
 #include "skl_universal_plane.h"
 
 static void assert_vblank_disabled(struct drm_crtc *crtc)
@@ -65,6 +66,9 @@ struct intel_crtc *intel_crtc_for_pipe(struct intel_display 
*display,
 
 void intel_crtc_wait_for_next_vblank(struct intel_crtc *crtc)
 {
+       if (intel_writeback_transcoder_is_wd(crtc->config->cpu_transcoder))
+               return;
+
        drm_crtc_wait_one_vblank(&crtc->base);
 }
 
-- 
2.43.0

Reply via email to