Skip to content

amdgpu fails to resume after lid close/reopen (PSP/SMU GPU reset failure) on MacBookPro16,1 (Navi14 5500M) — possibly related to CachyOS/linux-cachyos#846 #21

Description

@Sh1d0w

Hardware

  • MacBookPro16,1 (2019 16"), T2
  • iGPU: Intel UHD 630 (Coffee Lake)
  • dGPU: AMD Radeon Pro 5500M (Navi14, PCI 1002:7340)
  • Kernel: linux-t2 7.1.8.arch1-3 (Arch Linux / Omarchy)

Summary

With amdgpu enabled, closing the lid (suspend) and reopening it does not
wake the machine — screen stays black and the system is unresponsive,
requiring a hard power-cycle to recover. Kernel logs show the dGPU hitting
an unrecoverable PSP/SMU failure cascade during the resume attempt.

Steps to reproduce

  1. Boot with amdgpu loaded (not blacklisted).
  2. Close the laptop lid to suspend.
  3. Reopen the lid.
  4. Machine does not wake — black screen, unresponsive to input, requires a
    hard power-cycle.

Kernel cmdline

cryptdevice=PARTUUID=e7cc39d9-7a70-4c2b-99ca-bb0f60590849:root root=/dev/mapper/root zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs  intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep resume=/dev/mapper/root resume_offset=1897490 initramfs_async=0 quiet splash loglevel=0 systemd.show_status=false rd.udev.log_level=0 vt.global_cursor_default=0

Note mem_sleep_default=deep (S3-style deep sleep on lid close).

Log excerpt (journalctl -k), captured across the failed resume

amdgpu 0000:03:00.0: Ring sdma1 reset failed
amdgpu 0000:03:00.0: GPU reset begin!. Source:  1
amdgpu 0000:03:00.0: failed to suspend display audio
amdgpu 0000:03:00.0: psp gfx command UNKNOWN CMD(0x93EF2DFE) failed and response status is (0x934FBECA)
amdgpu 0000:03:00.0: Failed to terminate hdcp ta
amdgpu 0000:03:00.0: suspend of IP block <psp> failed -22
amdgpu 0000:03:00.0: SMU is resuming...
amdgpu 0000:03:00.0: SMC is not ready
amdgpu 0000:03:00.0: SMC engine is not correctly up!
amdgpu 0000:03:00.0: resume of IP block <smu> failed -5
amdgpu 0000:03:00.0: amdgpu_device_ip_resume_phase2 failed during unwind: -5
amdgpu 0000:03:00.0: GPU pre asic reset failed with err, -22 for drm dev, 0000:03:00.0
amdgpu 0000:03:00.0: MODE1 reset
amdgpu 0000:03:00.0: GPU mode1 reset
amdgpu 0000:03:00.0: GPU psp mode1 reset
amdgpu 0000:03:00.0: GPU reset succeeded, trying to resume
amdgpu 0000:03:00.0: VRAM is lost due to GPU reset!
amdgpu 0000:03:00.0: SMU is resuming...
amdgpu 0000:03:00.0: SMC is not ready
amdgpu 0000:03:00.0: SMC engine is not correctly up!
amdgpu 0000:03:00.0: resume of IP block <smu> failed -5
amdgpu 0000:03:00.0: GPU reset end with ret = -5
amdgpu 0000:03:00.0: GPU Recovery Failed: -5
amdgpu 0000:03:00.0: Dumping IP State
amdgpu 0000:03:00.0: [drm] AMDGPU device coredump file has been created
amdgpu 0000:03:00.0: ring sdma0 timeout, signaled seq=77, emitted seq=77
amdgpu 0000:03:00.0: Starting sdma0 ring reset
amdgpu 0000:03:00.0: [gfxhub] page fault (src_id:0 ring:173 vmid:0 pasid:0)
amdgpu 0000:03:00.0:   in page starting at address 0x0000000000001000 from client 0x1b (UTCL2)
amdgpu 0000:03:00.0: GCVM_L2_PROTECTION_FAULT_STATUS:0x00041B5A
amdgpu 0000:03:00.0:          Faulty UTCL2 client ID: SDMA0 (0xd)
amdgpu 0000:03:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring sdma0 test failed (-110)

Possibly related to #846 (probe-ordering regression from the T2
vga_switcheroo DMI-check patch), though the failure signature here is a
PSP/SMU firmware-level GPU reset failure during resume rather than a
display-not-returning symptom — filing separately in case it's a distinct
issue, happy to have it merged/deduped if a maintainer determines otherwise.

Ask

Is this a known PSP/SMU resume issue on Navi14 T2 hardware? Any patch/
workaround (e.g. disabling deep sleep, forcing amdgpu.dpm=0, PSP
firmware version pinning) appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions