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

Reply via email to