Re: Time to re-enable Runtime PM per default for PCI devcies?

From: Lukas Wunner
Date: Mon Jan 04 2021 - 12:40:29 EST


On Thu, Dec 31, 2020 at 10:38:12AM +0100, Heiner Kallweit wrote:
> On 31.12.2020 05:07, Lukas Wunner wrote:
> > FWIW, if platform_pci_power_manageable() returns true, it can probably
> > be assumed that allowing runtime PM by default is okay. So as a first
> > step, you may want to call that instead of adding a new callback.
>
> I don't think that's sufficient. Most likely all the broken old systems
> return true for platform_pci_power_manageable().

platform_pci_power_manageable() is not a global flag, but rather
a per-device flag whether the platform is capable of power-managing
that device. E.g. for the ACPI platform, it indicates that objects
such as _PS0 or _PS3 are present in the device's namespace.

My point is that if the platform can power-manage a device,
then it ought to be safe to enable runtime PM by default for it.

If you insist on a "big hammer" approach by turning on runtime PM
by default for everything, you risk regressions. You can avoid
that by going for a smart approach which enables runtime PM in
cases when it's safe.

Thanks,

Lukas