AMD Pushes Improvements To Help Debug S0ix Power States On Linux
S0ix idle standby power states are valuable for energy savings and thus important to ensure such states are properly being achieved when portions of the SoC can power-down. While Intel's S0ix handling on Linux has become fairly mature, on AMD APU/SoC systems there still are some cases of issues around these sub-states to ACPI's S0.
Queued in the x86 platform driver's "for-next" branch this week were a set of patches from AMD for enhancing their amd-pmc driver. Notable on the S0ix debugging front are exposing SMU metrics via DebugFS so S0ix debug statistics are easily obtainable from user-space. The time in various states is reported, the hint count, S0i3 cycle count, and other information.
A follow up patch added additional logging around S0ix counters for ensuring the S0ix states are actually being reached.
Beyond debugging improvements, the AMD-PMC driver improvements for Linux 5.15 also add a new ACPI ID that will be used by future AMD PMC controllers. That added ACPI ID is identified with "AMD_CPU_ID_YC" and comes after AMD_CPU_ID_CZN "Cezanne". This presumably is in reference then to Yellow Carp.
Ultimately it's good to see improved debuggability around S0ix come for AMD platforms in ensuring proper power management for AMD laptops as well as other AMD-powered devices like Steam Deck.