[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4eb10092-e3f9-c9be-2dec-e6de8aeedf97@gmail.com>
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