From: Leo Li <[email protected]> v1 here: https://lore.kernel.org/amd-gfx/[email protected]/
v7.0.y based branch here: https://gitlab.freedesktop.org/leoli/linux-asdn/-/commits/lileo%2Fflip_done_timeout_corruption_fixes Summary of changes since v1: * Clean up old IRQ stuff from switch-over to VUPDATE_NO_LOCK in dm_handle_vrr_transition() and dm_gpureset_toggle_interrupts() (suggested by Matthew Schwartz) * Drop flip_programmed completion object. Instead, move event/pflip_status arming to after programming returns (suggested by Michel Dänzer) * Update vblank event timestamps for immediate (tearing) flips via drm_crtc_accurate_vblank_count() * Check for HW latch after programming returns, and if latched, send event with timestamp updated by the most recent VUPDATE_NO_LOCK IRQ. This avoids waiting an extra frame for event delivery on the next immediate IRQ. # A Note on LLM use: Claude helped with code plumbing and IGT testing. The effort of reporting, debugging, spinning up fixes, and testing them, were from humans. Kudos to individuals who collaborated on the amd-gfx mailing list, gitlab, 2026 Display Hackfest, and AMD internal chats, to finally nail it down. Leo Li (3): drm/amd/display: consolidate DCN vblank/flip handling onto vupdate_no_lock drm/amd/display: check GRPH_FLIP status before sending event Revert "drm/amd/display: Restore 5s vbl offdelay for NV3x+ DGPUs" .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 193 ++++++++--- .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 70 ++-- .../drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 299 +++++++++--------- drivers/gpu/drm/amd/display/dc/core/dc.c | 45 +++ drivers/gpu/drm/amd/display/dc/dc.h | 1 + 5 files changed, 375 insertions(+), 233 deletions(-) -- 2.54.0
