From: Bjorn Helgaas <helgaas@kernel.org>
To: Raag Jadav <raag.jadav@intel.com>
Cc: bhelgaas@google.com, jarkko.nikula@linux.intel.com,
mika.westerberg@linux.intel.com,
andriy.shevchenko@linux.intel.com,
stanislaw.gruszka@linux.intel.com, lukas@wunner.de,
rafael@kernel.org, ilpo.jarvinen@linux.intel.com,
linux-pci@vger.kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org,
sashal@kernel.org
Subject: Re: [PATCH v1] PCI / PM: Really allow runtime PM without callback functions
Date: Tue, 13 Feb 2024 14:06:48 -0600 [thread overview]
Message-ID: <20240213200648.GA1219964@bhelgaas> (raw)
In-Reply-To: <20240212063233.5599-1-raag.jadav@intel.com>
On Mon, Feb 12, 2024 at 12:02:33PM +0530, Raag Jadav wrote:
> Commit c5eb1190074c ("PCI / PM: Allow runtime PM without callback
> functions") tried to eliminate the need for runtime PM callbacks
> by modifying pci_pm_runtime_suspend() and pci_pm_runtime_resume(),
> but didn't modify pci_pm_runtime_idle() with relevant changes, which
> still returns -ENOSYS if the driver supplies no runtime PM callbacks.
>
> Fix this by modifying pci_pm_runtime_idle() such that it allows PCI
> device power state transitions without runtime PM callbacks.
>
> 0) | pm_runtime_work() {
> 0) | rpm_idle() {
> 0) | rpm_check_suspend_allowed() {
> 0) 1.500 us | __dev_pm_qos_resume_latency(); /* = 0x7fffffff */
> 0) 4.840 us | } /* rpm_check_suspend_allowed = 0x0 */
> 0) 1.550 us | __rpm_get_callback(); /* = 0xffffffffb4bc84f0 */
> 0) 1.800 us | pci_pm_runtime_idle(); /* = -38 */
> 0) + 17.070 us | } /* rpm_idle = -38 */
> 0) + 22.450 us | } /* pm_runtime_work = -38 */
What is this timing information telling me?
> Debugged-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Sounds like this resolves a problem report? Is there a URL we can
cite? If not, at least a mention of what the user-visible problem is?
From the c5eb1190074c commit log, it sounds like maybe this allows
devices to be autosuspended when they previously could not be?
Possibly this should have "Fixes: c5eb1190074c ("PCI / PM: Allow
runtime PM without callback functions")" since it sounds like it goes
with it?
> Signed-off-by: Raag Jadav <raag.jadav@intel.com>
> Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Reviewed-by: Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
> ---
>
> This is not marked for linux-stable for the need of extensive testing
> and can be backported after a few releases if no issues are reported.
If you think this should not get backported to stable, you'll have to
watch the backports to prevent it. Lots of stuff gets auto-backported
even though not explicitly marked for stable. This comment won't
prevent it (and won't even appear in the commit log).
> drivers/pci/pci-driver.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
> index 51ec9e7e784f..bb7f6775b350 100644
> --- a/drivers/pci/pci-driver.c
> +++ b/drivers/pci/pci-driver.c
> @@ -1382,10 +1382,7 @@ static int pci_pm_runtime_idle(struct device *dev)
> if (!pci_dev->driver)
> return 0;
>
> - if (!pm)
> - return -ENOSYS;
> -
> - if (pm->runtime_idle)
> + if (pm && pm->runtime_idle)
> return pm->runtime_idle(dev);
>
> return 0;
> --
> 2.35.3
>
next prev parent reply other threads:[~2024-02-13 20:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-12 6:32 [PATCH v1] PCI / PM: Really allow runtime PM without callback functions Raag Jadav
2024-02-13 14:02 ` Rafael J. Wysocki
2024-02-13 20:06 ` Bjorn Helgaas [this message]
2024-02-14 6:58 ` Jarkko Nikula
2024-02-14 16:58 ` Bjorn Helgaas
2024-02-14 20:15 ` Raag Jadav
2024-02-26 7:35 ` Raag Jadav
2024-02-26 7:41 ` Mika Westerberg
2024-02-14 10:43 ` Raag Jadav
2024-02-14 13:01 ` Andy Shevchenko
2024-02-14 13:20 ` Raag Jadav
2024-02-14 16:06 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240213200648.GA1219964@bhelgaas \
--to=helgaas@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jarkko.nikula@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=mika.westerberg@linux.intel.com \
--cc=raag.jadav@intel.com \
--cc=rafael@kernel.org \
--cc=sashal@kernel.org \
--cc=stanislaw.gruszka@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox