Radeon PRO W5700 s2idle resume with "RunBtc failed!"
Brief summary of the problem:
If s2idle suspend method is used instead of deep (S3) for /sys/power/mem_sleep, amdgpu failed to resume with error "RunBtc failed!".
The issue doesn't happen with S3.
WX3200 doesn't have any issue when s2idle is used instead of S3.
Hardware description:
- GPU: Radeon PRO W5700
System infomration:
- Custom kernel: amd-staging-drm-next branch, current top commit is 8aa16ba85399 "drm/dp_mst: Don't return error code when crtc is null".
How to reproduce the issue:
# echo s2idle > /sys/power/mem_sleep
# systemctl suspend
Resume the system, only get a blank screen.
Found the following error:
[ 240.397287] amdgpu 0000:63:00.0: amdgpu: failed send message: RunBtc (58) param: 0x00000000 response 0xffffffc2
[ 240.397288] amdgpu 0000:63:00.0: amdgpu: RunBtc failed!
[ 240.397290] amdgpu 0000:63:00.0: amdgpu: Failed to setup smc hw!
[ 240.397357] [drm:amdgpu_device_ip_resume_phase2 [amdgpu]] *ERROR* resume of IP block <smu> failed -62
[ 240.397420] [drm:amdgpu_device_resume [amdgpu]] *ERROR* amdgpu_device_ip_resume failed (-62).
[ 240.397425] PM: dpm_run_callback(): pci_pm_resume+0x0/0x90 returns -62
[ 240.397428] PM: Device 0000:63:00.0 failed to resume async: error -62