Linux 5.13 To Fix Its Handling Of Unused ACPI Power Resources
Two fixes were queued this week into the Linux kernel's power management "linux-next" branch that could help improve the power management behavior for some devices as up to now the Linux kernel was not properly following the ACPI specification.
An Intel discovered and fixed issue was Linux not turning off unused power resources during initialization. For select platforms there may appear to be power resources not associated with any devices physically present on the platform. The ACPI specification outlines that the OS should turn off such unused power resources, but the Linux kernel currently doesn't do this -- with Linux 5.13 that will happen.
The current behavior of not following the spec "may lead to obscure issues" but more important by turning off these resources it could help power management. Some platforms may end up not allowing the system to reach the lowest power state during suspend-to-idle when these (unused) power resources are left on. Thus this patch in linux-pm linux-next is now turning off unused ACPI power resources during the initialization phase for potentially avoiding that excessive power draw behavior on such platforms.
Following that is this patch to turn off unused power resources unconditionally. This should help for ensuring unused power resources get turned off regardless of what is being reported by the BIOS should its state get confused.
For at least some Microsoft Surface laptops (namely the Surface Books 2 and 3 are known to suffer) appear to be affected by that issue. This ends up breaking D3cold entry for the notebook's discrete GPU and in turn not properly powered off because Linux already considered it to be off. Thus the dGPU is mistakenly left on consuming power and generating heat, but the issue should be resolved come Linux 5.13.
Lots of fixes and new features continue building up for Linux 5.13 ahead of its merge window opening around late April.