mirror of
https://github.com/torvalds/linux.git
synced 2026-06-10 15:42:19 +02:00
when hdmi plug out or switch hdmi resolution, vop output timing maybe still at 4k resolution, but dclk will be set to 27M immediately, this will lead to one frame time change from 16.6ms to (594 / 27) * 16.6 = 365ms. drm will dump the following log, this looks uncomfortable, so we use rockchip_drm_atomic_helper_wait_for_vblanks to instead of drm_atomic_helper_wait_for_vblanks to cancel the dump log when mode update, and retain the debug warning log for every frame commit. [ 31.415329] ------------[ cut here ]------------ [ 31.415383] [CRTC:56:crtc-0] vblank wait timed out:1201:1201 [ 31.415498] WARNING: CPU: 2 PID: 366 at drivers/gpu/drm/drm_atomic_helper.c:1433 drm_atomic_helper_wait_for_vblanks.part.21+0x2c0/0x2d4 [ 31.415529] Modules linked in: [ 31.415573] CPU: 2 PID: 366 Comm: composer@2.1-se Tainted: G W 4.19.80 #1337 [ 31.415601] Hardware name: Rockchip RK3328 EVB avb (DT) [ 31.415633] pstate: 60400005 (nZCv daif +PAN -UAO) [ 31.415661] pc : drm_atomic_helper_wait_for_vblanks.part.21+0x2c0/0x2d4 [ 31.415696] lr : drm_atomic_helper_wait_for_vblanks.part.21+0x2c0/0x2d4 .... [ 31.423867] Call trace: [ 31.423904] drm_atomic_helper_wait_for_vblanks.part.21+0x2c0/0x2d4 [ 31.423939] drm_atomic_helper_wait_for_vblanks+0x1c/0x20 [ 31.423969] rockchip_atomic_commit_complete+0xb0/0x130 [ 31.423997] rockchip_drm_atomic_commit+0x1d4/0x230 [ 31.424032] drm_atomic_commit+0x50/0x68 [ 31.424067] drm_mode_atomic_ioctl+0xbe0/0xcb0 [ 31.424100] drm_ioctl_kernel+0xa0/0xe4 [ 31.424133] drm_ioctl+0x318/0x4a4 [ 31.424168] do_vfs_ioctl+0xbc/0xdb4 [ 31.424201] ksys_ioctl+0x78/0xa8 [ 31.424225] __arm64_sys_ioctl+0x1c/0x28 [ 31.424262] el0_svc_common.constprop.1+0xb4/0x168 [ 31.424288] el0_svc_handler+0x20/0x78 [ 31.424320] el0_svc+0x8/0x340 [ 31.424349] ---[ end trace af4d2af5b5fb7553 ]--- Change-Id: I5988882380fa91b7527999ac2cd5ae13cfc88a8b Signed-off-by: Sandy Huang <hjc@rock-chips.com> |
||
|---|---|---|
| .. | ||
| arm | ||
| drm | ||
| host1x | ||
| ipu-v3 | ||
| rogue | ||
| rogue_m | ||
| vga | ||
| Makefile | ||