Hi,
I think I found another way to reproduce this issue. I do the following steps:
- Boot with 1920x1080 display connected
- Disconnect 1920x1080 display
- Wait 10s (because of polling mode)
- Connect 1280x720 display
- reboot
Then this message appears:
[ 53.647167] ------------[ cut here ]------------
[ 53.651901] [CRTC:33:crtc-0] vblank wait timed out
[ 53.656829] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_atomic_helper.c:1524 drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x2a0
[ 53.668974] Modules linked in: rfcomm algif_hash algif_skcipher af_alg fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc mcp251xfd crypto_engine rng_core authenc libdes can_dev crct10dif_ce mwifiex_sdio mwifiex imx8m_ddrc btmrvl_sdio btmrvl sec_mipi_dsim_imx bluetooth sec_dsim governor_userspace imx_be
[ 53.709642] CPU: 0 PID: 1 Comm: systemd Tainted: G O 5.15.77-6.1.0-devel+git.8053ffcbece2 #1
[ 53.719555] Hardware name: Toradex Verdin iMX8M Mini WB on Verdin Development Board (DT)
[ 53.727786] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 53.734871] pc : drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x2a0
[ 53.741518] lr : drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x2a0
[ 53.748162] sp : ffff800009c4b930
[ 53.751535] x29: ffff800009c4b930 x28: 00000000000006f6 x27: 0000000000000000
[ 53.758803] x26: 0000000000000001 x25: 0000000000000038 x24: ffff00000117e800
[ 53.766071] x23: 0000000000000001 x22: 0000000000000000 x21: ffff00000c1f5280
[ 53.773336] x20: ffff000000480088 x19: 0000000000000000 x18: ffffffffffffffff
[ 53.780604] x17: 000000040044ffff x16: 0000000000000001 x15: ffff800089c4b647
[ 53.787871] x14: 0000000000000000 x13: ffff800009a12500 x12: 0000000000000528
[ 53.795137] x11: 00000000000001b8 x10: ffff800009a12500 x9 : ffff800009a12500
[ 53.802403] x8 : 00000000ffffefff x7 : ffff800009a6a500 x6 : ffff800009a6a500
[ 53.809670] x5 : 0000000000000000 x4 : ffff00003fd809d0 x3 : ffff00003fd83990
[ 53.816937] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000000a8000
[ 53.824203] Call trace:
[ 53.826694] drm_atomic_helper_wait_for_vblanks.part.0+0x278/0x2a0
[ 53.832986] drm_atomic_helper_wait_for_vblanks+0x18/0x30
[ 53.838482] lcdif_drm_atomic_commit_tail+0x54/0x70
[ 53.843454] commit_tail+0xa0/0x180
[ 53.847008] drm_atomic_helper_commit+0x160/0x370
[ 53.851798] drm_atomic_commit+0x4c/0x60
[ 53.855795] drm_client_modeset_commit_atomic+0x1c8/0x260
[ 53.861291] drm_client_modeset_commit_locked+0x5c/0x1a0
[ 53.866698] drm_client_modeset_commit+0x30/0x60
[ 53.871399] drm_fb_helper_set_par+0xc8/0x120
[ 53.875835] drm_fb_helper_hotplug_event.part.0+0xb0/0xe0
[ 53.881333] drm_fbdev_client_restore+0x98/0xd0
[ 53.888947] drm_client_dev_restore+0x84/0xdc
[ 53.896367] drm_lastclose+0x6c/0x7c
[ 53.902874] drm_release+0xfc/0x114
[ 53.909153] __fput+0x70/0x240
[ 53.914857] ____fput+0x10/0x20
[ 53.920502] task_work_run+0x80/0x180
[ 53.926544] do_notify_resume+0x200/0x12ec
[ 53.932898] el0_svc+0x6c/0x80
[ 53.938089] el0t_64_sync_handler+0xa4/0x130
[ 53.944425] el0t_64_sync+0x1a0/0x1a4
[ 53.950067] ---[ end trace 5ea06ebb2e853670 ]---
It is not exactly the same but it is also related to drm_fb_helper_hotplug_event.part. I think it is because the drm drivers are unloaded/not fully working anymore when fbdev wants to process the hotplug event.