AMD Prepares Linux Fix For Some Laptops Not Resuming From s2idle Suspend
Written by Michael Larabel in AMD on 5 January 2022 at 04:55 PM EST. 9 Comments
AMD --
Recently there have been reports of some AMD Ryzen powered notebooks being unable to correctly suspend from resume in s2idle mode. It appears the issue ultimately stems from a firmware setting issue and a set of Linux patches were sent out today to address the condition.

For some modern Ryzen-powered laptops there have been reports recently of some failures in resuming from suspend-to-idle, even after recent AMD s2idle Linux fixes.

The issue appears to stem from the fact that currently Linux just assumes to offer s2idle even if the Fixed ACPI Hardware Table (FADT) doesn't directly indicate it or if there is not an low power S0 (LPS0) device activated. For at least some Intel hardware, s2idle can handle the suspend/resume cycle out even without proper firmware support... AMD hardware, however, cannot without the necessary firmware bits aligning.

This new patch series thus checks for the proper prerequisites before enabling s2idle support on AMD hardware. So now if the firmware support is not present/enabled, s2idle won't be offered to avoid potentially failing to resume when S3 should be used instead.


One of the patches from AMD's Mario Limonciello goes on to explain, "On some OEM platforms a BIOS option is offered that will set the sleep mode between S3 and S2idle. This option will change certain [hardware] behaviors. When in S2idle mode, Linux works properly. However when S3 mode is picked but the user chooses S2idle in Linux the platform may not be properly resumed. To avoid users getting into this situation, don't offer s2idle on AMD systems missing the LPS0 device either by a BIOS option or by using the acpi "no_sleep_lps0" module parameter."

The Lenovo P14s Gen2 with Ryzen 5000 series "Cezanne" SoCs are known to be affected by this issue but likely numerous other laptops too. It's good to see these patches out there now but surprising such firmware checks were not added in the first place for the x86 ACPI s2idle code or spotted previously with AMD working on the s2idle Linux support for more than one year.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week