On 3/11/26 00:50, Leo Li wrote:
Hi Michele, no dm_pflip_high_irq firing makes sense, since there's no new fb
addresses being programmed on CRTC 0 due to the timeout.
Did you see any dm_crtc_high_irq() or dm_vupdate_high_irq() on crtc0 after the
timeout? An easy way to check would be to enable DRM vblank debug once you hit
the flip_done timeout. The drm_dbg_vbl prints will start outputting to dmesg:
echo 0x20 > /sys/module/drm/parameters/debug
I'm also curious what the acrtc->event and ->pflip_status end up being when the
timeout is hit. This debug diff should dump that without masking the issue:
https://pastebin.com/u7hGR7L4
Thanks,
Leo
Applied your debug diff on clean v6.19, reproduced with bpftrace running
(dm_crtc_high_irq and dm_vupdate_high_irq probes added).
dmesg:
[drm] *ERROR* [CRTC:283:crtc-0] flip_done timed out
[flip_done timeout] crtc-0 event 00000000baf6917e status 0
[flip_done timeout] crtc-1 event 0000000000000000 status 0
[flip_done timeout] crtc-2 event 0000000000000000 status 0
[flip_done timeout] crtc-3 event 0000000000000000 status 0
crtc-0 has a non-NULL event with pflip_status=0 (AMDGPU_FLIP_NONE).
Note: %p hashes the pointer so can't directly correlate with the
bpftrace output.
bpftrace:
8301644 dm_pflip_high_irq [tid=0]
8301644 DELIVER event=ffff8b87186d5a80 crtc=0 [tid=0]
8301644 WAIT_FLIP EXIT 1ms [tid=36993]
8301649 ARM cursor event=ffff8b87186d5480 acrtc=ffff8b84958f7000 [tid=176]
8301649 commit_hw_done [tid=176]
8301649 WAIT_FLIP ENTER [tid=176]
...
10252ms, CRTC 1 continues normally
...
8311902 WAIT_FLIP !!!TIMEOUT!!! waited 10252ms [tid=176]
Between the ARM cursor at 8301649 and the TIMEOUT at 8311902:
692 dm_crtc_high_irq fired, all on CRTC 1 (zero DELIVER with crtc=0 in
the window)
0 DELIVER for event ffff8b87186d5480
0 ARM or DELIVER referencing acrtc ffff8b84958f7000 (CRTC 0)
drm_vblank_disable_and_save continued firing (on CRTC 1)
no dm_vupdate_high_irq fired at all during the entire trace
acrtc ffff8b84958f7000 = CRTC 0
If this is not enough i can retry to have the proper correlation using %px