ACK: [SRU][R][PATCH v2 0/2] amdgpu: Fix garbled display when switching workspaces
Rickey Castillo Valenzuela
rickey.castillo.valenzuela at canonical.com
Fri Sep 11 19:20:20 UTC 2026
On 9/8/26 04:52, Aaron Ma via kernel-team wrote:
> BugLink:https://bugs.launchpad.net/bugs/2166730
>
> SRU Justification:
>
> [ Impact ]
> On AMD systems with DCN graphics, garbled display artifacts and horizontal flickering occur when switching workspaces or playing video.
>
> This is caused by a race condition where a page flip completion event is delivered to userspace before the hardware has latched the flip. Userspace then renders to the active display buffer, causing visual corruption. PSR and Replay features widen this window.
>
> [ Fix ]
> Backport upstream commits:
> - 48ab86360af1 ("drm/amd/display: check GRPH_FLIP status before sending event"):
> - Arm flip completion only after hardware programming completes.
> - Query hardware flip-pending status directly via dc_get_flip_pending_on_otg().
> - Only deliver completion in the VUPDATE_NO_LOCK handler once hardware confirms the flip is complete.
> - Optimistically send the event immediately if hardware latched during programming.
> - 8419331e64d9 ("drm/amd/display: Exit idle optimizations before programming"):
> - Grab reference on vblank counter prior to workqueue flush and hardware programming to exit PSR/IPS idle optimizations cleanly.
>
> [ Test Plan ]
> 1. On an AMD system with DCN graphics, switch repeatedly between workspaces and play video.
> 2. Without the fix: Garbled display artifacts appear frequently.
> 3. With the fix: Workspaces switch smoothly with no screen corruption.
>
> [ Where problems could occur ]
> Changes affect the amdgpu display page flip completion and idle optimization paths. If flip status is misreported, page flip events could be delayed or missed, causing frame drops or stutter.
>
> Leo Li (2):
> drm/amd/display: check GRPH_FLIP status before sending event
> drm/amd/display: Exit idle optimizations before programming
>
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 243 +++++++++++++-----
> drivers/gpu/drm/amd/display/dc/core/dc.c | 45 ++++
> drivers/gpu/drm/amd/display/dc/dc.h | 1 +
> 3 files changed, 230 insertions(+), 59 deletions(-)
>
Acked-by: Rickey Castillo <rickey.castillo.valenzuela at canonical.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20260911/1be9ca1d/attachment.html>
More information about the kernel-team
mailing list