On 1/29/26 15:33, Hamza Mahfooz wrote: >> Thanks a lot for that. What happens if you apply this? >> >> Can the higher level handling recover from that? E.g. continue after 10 >> second timeout. >> > > Without my series applied it just stays stuck (i.e. the CRTC is still on > the last rendered frame).
Perfect, exactly what I expected. Can you go into function amdgpu_dm_atomic_commit_tail() where drm_atomic_helper_wait_for_flip_done() is called and add some manual recovery to signal the atomic commit? Very roughly from the front of my mind: 1. Grab the event lock. 2. Double check if it didn't signaled between returning from drm_atomic_helper_wait_for_flip_done() and taking the lock. 3. If it is still not signaled, signal it manually just like the interrupt handler would do. 4. Drop the lock. Thanks, Christian.
