It turns out that the removal of the damage worker can lead to locking cycles. The display update now runs while holding the fbdefio lock, which conflicts with locks in the modesetting code that updates the display. There's no easy fix for this, so let's restore the damage worker. The display update will then again run outside of the fbdefio lock. See [1] for bug reports. [1] https://intel-gfx-ci.01.org/tree/drm-tip/fi-kbl-8809g.html Thomas Zimmermann (3): Revert "drm/fb-helper: Remove damage worker" Revert "drm/fb-helper: Schedule deferred-I/O worker after writing to framebuffer" Revert "drm/fb-helper: Perform damage handling in deferred-I/O helper" drivers/gpu/drm/drm_fb_helper.c | 30 +++++++++++++---------------- drivers/video/fbdev/core/fb_defio.c | 16 --------------- include/drm/drm_fb_helper.h | 2 ++ include/linux/fb.h | 1 - 4 files changed, 15 insertions(+), 34 deletions(-) -- 2.38.1