Linux 6.0 fixes broken keyboards on Ryzen 6000 laptops, power management additions

ACPI and power management changes for Linux 6.0 in development landed this week with continued preparations for upcoming Intel and AMD hardware as well as improved support for legacy hardware.

To cut to the chase, power management changes for Linux 6.0 include:

– CPUFreq ACPI driver boost control interface now works for Zhaoxin and Centaur CPUs if you want to toggle CPU frequency boost behavior at runtime.

– Fixed C1 and C1E handling on Xeon Sapphire Rapids through firmware update no longer making these C states mutually exclusive.

– Intel Raptor Lake P is now supported by Run-Time Average Power Limiting (RAPL) driver.

– Intel Alder Lake N and Raptor Lake P have been added to the list of processors in the RAPL driver for which PowerLimit4 is supported.

It covers the interesting power management changes for Linux 6.0.

Meanwhile, on the ACPI side, a few changes are worth mentioning:

– Added AMDI008 ID to ACPI suspend-to-idle driver to prepare for upcoming AMD hardware.

– ACPI backlight driver is no longer artificially limited to x86 platforms.

– A fix to avoid IRQ overrides on AMD Zen systems. Replacing legacy cores breaks active low IRQs on AMD Ryzen 6000 and newer systems. The patch securing it explains, “This IRQ replacement breaks the keyboards of almost all Ryzen 6000 laptops on the market today. Ignore this IRQ override for all AMD Zen platforms as this IRQ override is supposed to be a workaround for buggy ACPI DSDT and we can’t have a long list of all future CPUs/Laptops AMD in the kernel code. If a device with an ACPI DSDT buggy appears, a separate list containing only those should be created.

The full list of ACPI fixes for Linux 6.0 can be found via this pull request.

Although not part of the PM/ACPI jumpers, separately was the x86/fpu mining this week with another import change for Sapphire Rapids to improve low power sleep management. Using x86/fpu mining, Sapphire Rapids is the fix to ensure that AMX compatible CPUs can reach their lowest idle states. If the state of the AMX register is not initialized, it may cause the C state to downgrade from C6 to C1E. With Linux 6.0, the kernel will now ensure that the AMX state is properly initialized to help ensure that these future server processors can reach their lowest power sleep states while ensuring that active cores have the most possible budget for turbo mode.

Alan A. Seibert