RX 6600 XT fails to resume from suspend in 5.15.y series
Brief summary of the problem:
On kernel 5.15.y (including from 5.15-rc1 to 5.15.8), when suspending or locking my computer, it fails to initiate the unlock procedure and hits a hard lockup, marked by the following message in journald:
kernel: [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
I have been unable to reproduce the issue on any 5.14.y kernel versions (tested 5.14.16 through 5.14.21).
Long summary of the problem:
On 5.15.6, which I've tested the most, this issue manifests as the following.
After clicking the lock button in Budgie, the display turns off and back on, as normal. The lock screen appears without the password entry widget, which also isn't out of the ordinary if it appears upon keyboard input; however, keyboard input does nothing. The mouse can be moved freely, until a few seconds later, after which the mouse shudders to a halt and can only be moved around very slowly. A few seconds after that, the display idles as it no longer receives any data from the graphics card. Attempting to enter a TTY does nothing. The only way out of this state that I've found is to force a shutdown using the power button.
I've attempted to bisect the offending commit, but I've been unable to get commits between 5.15-rc1 and 5.14 to boot. As it stands, I have no leads other than reproducible journald logs and a range of suspect commits. Of note is that the behavior of this issue on 5.15-rc1 is slightly different (the mouse never locks up), but the same initial error message appears in journald and the rest of the behavior is the same. Additionally, the behavior changes somewhat in 5.15.8, but this version does not fix the issue.
Hardware description:
- CPU: AMD Ryzen 7 3700X
- GPU: AMD Radeon RX 6600 XT (Navi 23, DIMGREY_CAVEFISH)
- System Memory: 32 GB
- Display(s): 1x 1920x1080 @ 144hz with FreeSync
- Type of Display Connection: DisplayPort
System information:
- Distro name and Version: Solus Budgie 4.3 (Unstable Repository)
- Kernel version: 5.15.16-209.current
- Custom kernel: N/A
- AMD official driver version: Mesa 21.2.5
Inxi output:
How to reproduce the issue:
I've been able to reproduce this issue on the above hardware by waiting a few minutes after boot, then attempting to either lock or suspend my machine using the Budgie power menu. Attempting to suspend immediately after boot does not always cause a lockup.