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
