#1120890 amdgpu: amdgpu: flip_done timeout causes freezed screen

Package:
src:linux
Source:
src:linux
Submitter:
Mateusz Kusiak
Date:
2025-11-17 22:53:02 UTC
Severity:
normal
Tags:
#1120890#5
Date:
2025-11-17 22:51:53 UTC
From:
To:
Dear Maintainer,
I wanted to report on a bug I'm facing on a fresh Debian 13.1 deployment, that
seems to be related to amdgpu driver.

The machine is an AMD Ryzen 5 7430U based laptop, that I'm running in a setup:
single external display over USB-C + internal display.
The issue is, switching windows between internal and external display, causes
the internal display to freeze at random.
Despite the screen freeze, windows seem to function underneath, I can blindly
do stuff and hear the results (eg. play on a video).

In dmesg I can see the following when freeze happens:
[ 2035.829247] amdgpu 0000:03:00.0: [drm] Mode Validation Warning: Unknown
Status failed validation.
[ 2035.844206] amdgpu 0000:03:00.0: [drm] Mode Validation Warning: Unknown
Status failed validation.
[ 2045.984304] amdgpu 0000:03:00.0: [drm] *ERROR* [CRTC:73:crtc-0] flip_done
timed out

Based on the online research, and the messages appearing as above, it leads me
to believe the issue might be amdgpu driver related.

What I know:
* The freeze happens on internal display only.
* The freeze is recoverable, disconnecting external display and plugging it
back resolves the issue.
* The freeze occurs randomly, yet I am suspicious that it is related to system
load.
* Before freeze, sometimes I can observe green compresion-like artifacts when
watching videos on YouTube.
* Running cpu stress test + watching a video will result in "flip_done timed
out" messages being shown in dmesg frequently, yet I was not been able to
intentionally make the screen freeze. The system can recover from these.
* The issue seems to occur often during watching YouTube videos (hw. accell.
decoding), yet, not allways.

What I've tried:
* Built upstream Linux Kernel 6.18.0-RC5. The issue seems much less frequent,
yet, it is still present. It is a difference between days and hours. Possibly
related to e5ae8d1eb08a3e27fff4ae264af4c8056d908639("drm/xe: Increase global
invalidation timeout to 1000us").

I am willing to provide more logs and test stuff if desired.

Thanks,
Mateusz