Instant resume when suspending and black screen with amdgpu

I think that these are two problems but because they co-exist, it’s really hard for me to debug what’s going on. When I suspend, I get just black screen and I need a hard reset.

The kernel log shows that at the same second resume is done after suspend and the amdgpu driver crashes:

Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: file:///usr/share/plasma/look-and-feel/org.kde.breath2.desktop/contents/lockscreen/MainBlock.qml:79:9: QML Connections: Implicitly defined onFoo properties in>
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: file:///usr/share/plasma/look-and-feel/org.kde.breath2.desktop/contents/lockscreen/LockScreenUi.qml:35:5: QML Connections: Implicitly defined onFoo properties>
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: file:///usr/lib/qt/qml/org/kde/plasma/components/Button.qml:52: ReferenceError: PlasmaCore is not defined
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:406:376: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:407:126: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:408:126: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:408:385: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:409:125: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:410:124: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:411:125: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:411:371: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop kscreenlocker_greet[1049179]: qt.svg: <input>:411:619: Could not add child element to parent element because the types are incorrect.
Sep 30 03:02:46 desktop systemd-sleep[1049217]: Suspending system...
Sep 30 03:02:46 desktop kernel: PM: suspend entry (deep)
Sep 30 03:02:46 desktop kernel: Filesystems sync: 0.009 seconds
Sep 30 03:02:50 desktop kernel: Freezing user space processes ... (elapsed 0.002 seconds) done.
Sep 30 03:02:50 desktop kernel: OOM killer disabled.
Sep 30 03:02:50 desktop kernel: Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Sep 30 03:02:50 desktop kernel: printk: Suspending console(s) (use no_console_suspend to debug)
Sep 30 03:02:50 desktop kernel: serial 00:04: disabled
Sep 30 03:02:50 desktop kernel: [drm] free PSP TMR buffer
Sep 30 03:02:50 desktop kernel: ACPI: Preparing to enter system sleep state S3
Sep 30 03:02:50 desktop kernel: PM: Saving platform NVS memory
Sep 30 03:02:50 desktop kernel: Disabling non-boot CPUs ...
Sep 30 03:02:50 desktop kernel: Wakeup pending. Abort CPU freeze
Sep 30 03:02:50 desktop kernel: Non-boot CPUs are not disabled
Sep 30 03:02:50 desktop kernel: ACPI: Waking up from system sleep state S3
Sep 30 03:02:50 desktop kernel: [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
Sep 30 03:02:50 desktop kernel: [drm] PSP is resuming...
Sep 30 03:02:50 desktop kernel: serial 00:04: activated
Sep 30 03:02:50 desktop kernel: nvme nvme0: Shutdown timeout set to 8 seconds
Sep 30 03:02:50 desktop kernel: [drm] reserve 0x900000 from 0x800f400000 for PSP TMR
Sep 30 03:02:50 desktop kernel: nvme nvme0: 32/0/0 default/read/poll queues
Sep 30 03:02:50 desktop kernel: amdgpu 0000:0a:00.0: amdgpu: RAS: optional ras ta ucode is not available
Sep 30 03:02:50 desktop kernel: amdgpu: SMU is resuming...
Sep 30 03:02:50 desktop kernel: ata2: SATA link down (SStatus 0 SControl 300)
Sep 30 03:02:50 desktop kernel: ata1: SATA link down (SStatus 0 SControl 300)
Sep 30 03:02:50 desktop kernel: amdgpu: failed send message:     RunBtc (58)         param: 0x00000000 response 0xffffffc2
Sep 30 03:02:50 desktop kernel: amdgpu: RunBtc failed!
Sep 30 03:02:50 desktop kernel: [drm:amdgpu_device_ip_resume_phase2 [amdgpu]] *ERROR* resume of IP block <smu> failed -62
Sep 30 03:02:50 desktop kernel: [drm:amdgpu_device_resume [amdgpu]] *ERROR* amdgpu_device_ip_resume failed (-62).
Sep 30 03:02:50 desktop kernel: PM: dpm_run_callback(): pci_pm_resume+0x0/0xe0 returns -62
Sep 30 03:02:50 desktop kernel: PM: Device 0000:0a:00.0 failed to resume async: error -62
Sep 30 03:02:50 desktop kernel: OOM killer enabled.
Sep 30 03:02:50 desktop pipewire[3511]: [W][000031171.386095][main-loop.c:157 pw_main_loop_run()] main-loop 0x562963b8ce30: iterate error -4 (Interrupted system call)

I’m on kernel 5.8.6-1-MANJARO, and I have amd-ucode 20200901.r1699.d5f9eea-1, xf86-video-amdgpu 19.1.0-2

Hello,

Here are some solutions to your problem, Please use the search option and search for your problem and various solutions will come up.
https://forum.manjaro.org/search?q=suspend%20black%20screen

I didn’t think that any of the searches were relevant but after some thought it was some USB storage that I have (it was also “special” usb storage from a microcontroller to flash UF2 images, not regular ext4 for example).

If it actually is that the problem, I’ll write a DBUS script to unmount any usb storage before suspend and share it here.