Linux 6.2 Lands S0ix Idle Change For AMD Ryzen "Rembrandt" Laptops & Newer
A few months back one of AMD's Linux client engineers made a change improving suspend-to-idle behavior for various AMD Ryzen 6000 series "Rembrandt" laptops. That change for the current Zen 3+ laptops allowed model-specific opt-ins by the kernel driver to use the Microsoft GUID path rather than the AMD GUID path. Initially this was treated as a bug in ASUS laptop firmware and thus using quirk handling for selecting laptop models that should go for the Microsoft GUID path rather than the AMD path.
In the few months since that list of laptops that should use the Microsoft GUID path instead of the default AMD GUID for the LPS0 device has grown with more Linux users finding that their Rembrandt laptops needing to be quirked or otherwise booted with the "acpi.prefer_microsoft_guid=1" option. This has been blamed on OEMs making mistakes in the AMD GUID support.
Lenovo laptop with a Ryzen 7 6850U "Rembrandt" SoC running Linux.
Now moving forward with Rembrandt and newer, the latest Linux code merged this weekend is simply defaulting to the Microsoft GUID. AMD has decided it best for Rembrandt and newer to just pick the Microsoft GUID since it's better tested and used by these laptops on Windows. AMD Linux engineer Mario Limonciello explained with the patch:
After we introduced a module parameter and quirk infrastructure for picking the Microsoft GUID over the SOC vendor GUID we discovered that lots and lots of systems are getting this wrong.
The table continues to grow, and is becoming unwieldy.
We don't really have any benefit to forcing vendors to populate the AMD GUID. This is just extra work, and more and more vendors seem to mess it up. As the Microsoft GUID is used by Windows as well, it's very likely that it won't be messed up like this.
This latest AMD Linux code meanwhile introduces the opposite quirk: now allowing for picking the AMD GUID based on model if needed. So far only the HP Elitebook 8*5 G9 models have been found to behave better with the AMD GUID rather than the Microsoft GUID, so that's the lone quirk for now while all other Rembrandt+ laptops will stop using the AMD-specific codepath.
That AMD low-power S0 idle code path change was merged as part of the ACPI updates merged on Friday for the Linux 6.2 kernel and will be part of today's 6.2-rc2 release.