Linux 6.0 Fixes Broken Keyboards On Ryzen 6000 Laptops, Power Management Additions
The ACPI and power management changes for the in-development Linux 6.0 landed this week with continued preparations for upcoming Intel and AMD hardware as well as improving existing hardware support.
Jumping straight to it, the power management changes for Linux 6.0 include:
- The ACPI CPUFreq driver's boost control interface now works for Zhaoxin and Centaur processors if wanting to toggle the CPU frequency boosting behavior at run-time.
- Fixing the C1 and C1E handling on Xeon Sapphire Rapids thanks to updated firmware no longer making these C-states mutually exclusive.
- Intel Raptor Lake P is now supported by the RAPL (Run-Time Average Power Limiting) driver.
- Intel Alder Lake N and Raptor Lake P have been added to the RAPL driver's list of processors for which PowerLimit4 is supported.
That covers the interesting power management changes for Linux 6.0.
Meanwhile over on the ACPI side are a few changes to mention:
- Adding the AMDI008 ID to the ACPI suspend-to-idle driver for preparing for upcoming AMD hardware.
- The ACPI backlight driver is no longer artificially limited to x86 platforms.
- A fix to avoid IRQ overrides on AMD Zen systems. The override on existing kernels breaks active low IRQs on AMD Ryzen 6000 systems and newer. The patch fixing it explains, "This IRQ override breaks keyboards for almost all Ryzen 6000 laptops currently on the market. Skip this IRQ override for all AMD Zen platforms because this IRQ override is supposed to be a workaround for buggy ACPI DSDT and we can't have a long list of all future AMD CPUs/Laptops in the kernel code. If a device with buggy ACPI DSDT shows up, a separated list containing just them should be created."
The full list of ACPI patches for Linux 6.0 can be found via this pull request.
While not part of the PM/ACPI pulls, separately was the x86/fpu pull this week with another import change for Sapphire Rapids to enhance low-power sleep handling. By way of the x86/fpu pull is the fix for Sapphire Rapids to ensure AMX-enabled CPUs can hit their lowest power idle states. If AMX register state is left uninitialized it can lead to C-state demotion from C6 to C1E. With Linux 6.0 the kernel will now ensure the AMX state is properly initialized to help ensure these forthcoming server CPUs can hit their lowest power sleep states while ensuring the active cores have as much budget as possible for turbo mode.
Jumping straight to it, the power management changes for Linux 6.0 include:
- The ACPI CPUFreq driver's boost control interface now works for Zhaoxin and Centaur processors if wanting to toggle the CPU frequency boosting behavior at run-time.
- Fixing the C1 and C1E handling on Xeon Sapphire Rapids thanks to updated firmware no longer making these C-states mutually exclusive.
- Intel Raptor Lake P is now supported by the RAPL (Run-Time Average Power Limiting) driver.
- Intel Alder Lake N and Raptor Lake P have been added to the RAPL driver's list of processors for which PowerLimit4 is supported.
That covers the interesting power management changes for Linux 6.0.
Meanwhile over on the ACPI side are a few changes to mention:
- Adding the AMDI008 ID to the ACPI suspend-to-idle driver for preparing for upcoming AMD hardware.
- The ACPI backlight driver is no longer artificially limited to x86 platforms.
- A fix to avoid IRQ overrides on AMD Zen systems. The override on existing kernels breaks active low IRQs on AMD Ryzen 6000 systems and newer. The patch fixing it explains, "This IRQ override breaks keyboards for almost all Ryzen 6000 laptops currently on the market. Skip this IRQ override for all AMD Zen platforms because this IRQ override is supposed to be a workaround for buggy ACPI DSDT and we can't have a long list of all future AMD CPUs/Laptops in the kernel code. If a device with buggy ACPI DSDT shows up, a separated list containing just them should be created."
The full list of ACPI patches for Linux 6.0 can be found via this pull request.
While not part of the PM/ACPI pulls, separately was the x86/fpu pull this week with another import change for Sapphire Rapids to enhance low-power sleep handling. By way of the x86/fpu pull is the fix for Sapphire Rapids to ensure AMX-enabled CPUs can hit their lowest power idle states. If AMX register state is left uninitialized it can lead to C-state demotion from C6 to C1E. With Linux 6.0 the kernel will now ensure the AMX state is properly initialized to help ensure these forthcoming server CPUs can hit their lowest power sleep states while ensuring the active cores have as much budget as possible for turbo mode.
1 Comment