AMD-PCM s2idle Black Screen

To preface: In Linux kernel release 5.14.14 a patch for the AMD-PCM controller was released. This allowed for an additional ACPI ID (AMD0005) to be added so new AMD devices could properly wake from s2idle sleep.

The Issue: My laptop doesn’t wake from sleep.
Expected Behavior: My laptop wakes from sleep.

Since this patch was only fully released two weeks ago I can understand why it isn’t in Parrot’s Kernel Fork (current upstream import 5.14.9) however its a simple fix that will allow new AMD devices to properly wake from sleep, allowing battery saving.

Affected Kernel Files:

drivers/platform/x86/amd-pmc.c
/drivers/acpi/x86/s2idle.c

I’m wondering if I should open an issue on the git? Recompile Parrot’s Kernel myself? Or what? Im lost. Just wanna use my laptop and have it sleep :confused:

Quick Specs (inxi -FX):

Machine: Acer Swift SF314-42 | v: V1.08 | UEFI: Insyde
Graphics: [AMD/ATI] Renoir | Incorporated ALI driver: amdgpu
Display: x11 | Server: X.Org 1.20.11
Driver: Loaded: amdgpu,ati unloaded: fbdev,modesetting,vesa

  • Parrot version in use: Parrot OS 5.0 (LTS)
  • Kernel version: 5.14.0-9parrot1-amd64
  • Terminal output (‘cat /sys/power/mem_sleep’): [s2idle]
  • Screenshots: (1) Imagine A Black Screen, there ya go. (2) Error Waking Sleep Lock

Edit: Looking through the discussion, it also seems that (according to the author) when asked if “the system able to resume from s2idle” he notes:

It does, however additional patches are required to do so without an external
device such as a keyboard. The power button, lid, and power plug trigger
events via pinctrl-amd.

Furthermore…

  1. pinctrl: amd: Handle wake-up interrupt
    https://git.kernel.org/torvalds/c/acd47b9f28e5
    Without this patch the device would suspend, but any interrupt via
    pinctrl-amd would result in a failed resume, which is every wakeup
    souce I know of on this device.

This patch was released in September this year but it wasn’t included in our kernel.

Affected File:

/drivers/pinctrl/pinctrl-amd.c

I’m going to try to compiling myself with the stable release patches included and update if everything works. fingers crossed :sweat:

Big sad :confused: guess it wasn’t as easy as just recompiling with updated files. When reaching s2idle the kernel now just panics with those additions and causes me to fully reboot.

Idk maybe someone who knows more about Parrot’s kernel can help. Until then guess I have to use a more updated distro so I can sleep. Rip

For anyone seeing this…its not Parrot, its Linux kernel in general. Even 5.15 (from a few days ago) causes the same issue. Despite it being “fixed,” its not.

Useful Readings:
- Linux Kernel: Ryzen 4700U failing to enter suspend/modern-standby correctly
- Post about SF314-42 s2idle that sent me down rabbit hole of 5.14/5.15

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.