lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 31 Dec 2020 10:38:12 +0100 From: Heiner Kallweit <hkallweit1@...il.com> To: Lukas Wunner <lukas@...ner.de> Cc: "Rafael J. Wysocki" <rafael@...nel.org>, Bjorn Helgaas <helgaas@...nel.org>, "Rafael J. Wysocki" <rjw@...ysocki.net>, Bjorn Helgaas <bhelgaas@...gle.com>, Mika Westerberg <mika.westerberg@...ux.intel.com>, Kai Heng Feng <kai.heng.feng@...onical.com>, "linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>, Linux PM <linux-pm@...r.kernel.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org> Subject: Re: Time to re-enable Runtime PM per default for PCI devcies? On 31.12.2020 05:07, Lukas Wunner wrote: > On Wed, Dec 30, 2020 at 11:56:04PM +0100, Heiner Kallweit wrote: >> --- a/drivers/pci/pci.c >> +++ b/drivers/pci/pci.c >> @@ -3024,7 +3024,9 @@ void pci_pm_init(struct pci_dev *dev) >> u16 status; >> u16 pmc; >> >> - pm_runtime_forbid(&dev->dev); >> + if (pci_acpi_forbid_runtime_pm()) >> + pm_runtime_forbid(&dev->dev); >> + > > Generic PCI code usually does not call ACPI-specific functions directly, > but rather through a pci_platform_pm_ops callback. > > 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(). So yes, most likely we'd need a new callback if we want to have the platform ops abstraction. But it could be an optional callback, something like: forbid_runtime_pm The question is just: is it worth it? By the way: pci_set_platform_pm() returns an error if a callback isn't set, but no existing caller bothers to check the return code. > Thanks, > > Lukas > Heiner
Powered by blists - more mailing lists