[PATCH] drm/atomic-helper: Bump vblank timeout to 100 ms

Linus Walleij linus.walleij at linaro.org
Tue Apr 30 09:37:46 UTC 2019


The 50 ms default timeout waiting for vblanks is too small
for the first vblank from the ST-Ericsson MCDE display
controller over DSI. Presumably this is because the DSI
display is command-mode only and the state machine will
take some time setting up its state for the first display
update, and we hit a timeout. 100 ms makes it pass without
problems.

Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
---
After a quite prolonged hunting for the cause of missed
vblanks in the MCDE driver I finally realized it timed
out because it was simply taking some time on the first
vblank. 50 ms makes sense on 60Hz monitors for sure,
but an embedded DSI state machine can be slow, as it
turns out.

Tell me if this should be a per-driver variable and I
will think of something.
---
 drivers/gpu/drm/drm_atomic_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 40ac19848034..f0aa7b195d79 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1424,7 +1424,7 @@ drm_atomic_helper_wait_for_vblanks(struct drm_device *dev,
 		ret = wait_event_timeout(dev->vblank[i].queue,
 				old_state->crtcs[i].last_vblank_count !=
 					drm_crtc_vblank_count(crtc),
-				msecs_to_jiffies(50));
+				msecs_to_jiffies(100));
 
 		WARN(!ret, "[CRTC:%d:%s] vblank wait timed out\n",
 		     crtc->base.id, crtc->name);
-- 
2.20.1



More information about the dri-devel mailing list