From: Lukas Wunner <lukas@wunner.de>
To: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Qipeng Zha <qipeng.zha@intel.com>, Qi Zheng <qi.zheng@intel.com>,
Dave Airlie <airlied@gmail.com>,
Mathias Nyman <mathias.nyman@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Andreas Noever <andreas.noever@gmail.com>,
linux-pci@vger.kernel.org, linux-pm@vger.kernel.org
Subject: Re: [PATCH v4 4/4] PCI: Add runtime PM support for PCIe ports
Date: Thu, 28 Apr 2016 18:05:26 +0200 [thread overview]
Message-ID: <20160428160526.GA18261@wunner.de> (raw)
In-Reply-To: <20160428151356.GF32610@lahna.fi.intel.com>
Hi Mika,
On Thu, Apr 28, 2016 at 06:13:56PM +0300, Mika Westerberg wrote:
> On Thu, Apr 28, 2016 at 04:22:16PM +0200, Lukas Wunner wrote:
> > As said I've amended my series to allow runtime pm on hotplug ports
> > if they're Thunderbolt ports on a Mac:
> > https://github.com/l1k/linux/commit/a6810db929485c7fc8677f265b1c68e31879ce61
>
> If we are going to add more conditions, I think it makes sense to
> introduce pcie_port_runtime_pm_possible() or similar which includes all
> these checks.
Initially I reintroduced that in my patch (bikeshedded the name to
pcie_port_can_runtime_suspend() though ;) ), then decided to throw
it away because I'm just adding a one-liner for Thunderbolt on Macs
to the if-condition. Your call. :)
If you decide to reintroduce it, you could use IS_ENABLED to avoid
having to declare an additional inline stub that returns false, e.g.
if (IS_ENABLED(CONFIG_PM) && pcie_port_can_runtime_suspend()) {
...
pm_runtime_allow(&dev->dev);
}
> > So you could just drop the .runtime_resume entry here and it shouldn't
> > result in any functional change:
> >
> > > @@ -101,6 +122,9 @@ static const struct dev_pm_ops pcie_portdrv_pm_ops = {
> > > .poweroff = pcie_port_device_suspend,
> > > .restore = pcie_port_device_resume,
> > > .resume_noirq = pcie_port_resume_noirq,
> > > + .runtime_suspend = pcie_port_runtime_suspend,
> > > + .runtime_resume = pcie_port_runtime_resume,
> > > + .runtime_idle = pcie_port_runtime_idle,
>
> Hmm, PM core calls pci_pm_runtime_resume() for PCI drivers which then
> delegates to driver->runtime_resume() if set. However, if it is missing
> it just returns -ENOSYS and does not put the device back to D0.
>
> So if I'm reading this right we actually need to provide
> pcie_port_runtime_resume().
Ugh, you're right.
Best regards,
Lukas
prev parent reply other threads:[~2016-04-28 16:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-25 9:53 [PATCH v4 0/4] PCI: Add support for suspending (including runtime) of PCIe ports Mika Westerberg
2016-04-25 9:53 ` [PATCH v4 1/4] PCI: No need to set d3cold_allowed to " Mika Westerberg
2016-04-26 20:45 ` Rafael J. Wysocki
2016-04-25 9:53 ` [PATCH v4 2/4] PCI: Move PCIe ports to D3 during suspend Mika Westerberg
2016-04-26 21:04 ` Rafael J. Wysocki
2016-04-28 11:33 ` Mika Westerberg
2016-04-28 14:25 ` Lukas Wunner
2016-04-28 15:03 ` Mika Westerberg
2016-04-25 9:53 ` [PATCH v4 3/4] ACPI / hotplug / PCI: Runtime resume bridge before rescan Mika Westerberg
2016-04-26 21:07 ` Rafael J. Wysocki
2016-04-25 9:53 ` [PATCH v4 4/4] PCI: Add runtime PM support for PCIe ports Mika Westerberg
2016-04-26 21:10 ` Rafael J. Wysocki
2016-04-28 14:22 ` Lukas Wunner
2016-04-28 15:13 ` Mika Westerberg
2016-04-28 15:31 ` Rafael J. Wysocki
2016-04-28 15:38 ` Mika Westerberg
2016-04-28 16:05 ` Lukas Wunner [this message]
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=20160428160526.GA18261@wunner.de \
--to=lukas@wunner.de \
--cc=airlied@gmail.com \
--cc=andreas.noever@gmail.com \
--cc=bhelgaas@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=mika.westerberg@linux.intel.com \
--cc=qi.zheng@intel.com \
--cc=qipeng.zha@intel.com \
--cc=rjw@rjwysocki.net \
/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;
as well as URLs for NNTP newsgroup(s).