From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Martin Mokrejs <mmokrejs@fold.natur.cuni.cz>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
Len Brown <lenb@kernel.org>,
Matthew Garrett <mjg59@srcf.ucam.org>,
Sarah Sharp <sarah.a.sharp@linux.intel.com>,
LKML <linux-kernel@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
Zheng Yan <zheng.z.yan@intel.com>
Subject: Re: [Update][PATCH] PCI / PM: Disable runtime PM of PCIe ports
Date: Mon, 01 Apr 2013 23:24:37 +0200 [thread overview]
Message-ID: <25773480.yrESpQY9Iv@vostro.rjw.lan> (raw)
In-Reply-To: <CAErSpo5iyziiGDKiy-416UQ2xr+2hvcHz6do+ueMmnPM5oy6Cw@mail.gmail.com>
On Monday, April 01, 2013 02:53:12 PM Bjorn Helgaas wrote:
> On Mon, Apr 1, 2013 at 2:51 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > On Monday, April 01, 2013 11:34:46 AM Bjorn Helgaas wrote:
> >> [+cc Zheng, who added this with 71a83bd727]
> >>
> >> On Sat, Mar 30, 2013 at 4:38 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> >> > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >> >
> >> > The runtime PM of PCIe ports turns out to be quite fragile, as in
> >> > some cases things work while in some other cases they don't and we
> >> > don't seem to have a good way to determine whether or not they are
> >> > going to work in advance.
> >>
> >> Do you have any references to problems encountered when enabling
> >> runtime PM for PCIe ports? That information will be useful to anybody
> >> who wants to take another crack at getting this working.
> >
> > Well, bug 53811 is one example and problems recently reported by
> > Martin are another. Do you want me to dig deeper?
>
> OK, I got this one:
>
> https://bugzilla.kernel.org/show_bug.cgi?id=53811
>
> Martin has reported a lot of problems lately, and I don't know which
> are related to runtime PM for PCIe ports. I was hoping for a couple
> URLs to put in the changelog so that when somebody gets the itch to
> make this work, they have some useful info to start from. If you
> point me at a specific message, I'll dig up an archive URL for it.
This is the message in which Martin confirmed that the previous version of
the $subject patch made insert/removal of devices into xHCI ports on his
system work again.
> Otherwise, I'm afraid we'll just oscillate between "enable PM, find
> bug, disable PM, enable PM, find same bug, disable PM, etc..."
That's a valid concern, but I think we have an idea about what kind of problems
the runtime PM of PCIe ports may cause to happen (generally, PME and hotplug
notifications may not work as expected).
Thanks,
Rafael
> >> > For this reason, avoid enabling runtime PM for PCIe ports by
> >> > keeping their runtime PM reference counters always above 0 for the
> >> > time being.
> >> >
> >> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> >> > ---
> >> >
> >> > This version also removes the no longer necessary (and empty anyway)
> >> > port_runtime_pm_black_list[] table.
> >> >
> >> > Thanks,
> >> > Rafael
> >> >
> >> > ---
> >> > drivers/pci/pcie/portdrv_pci.c | 13 -------------
> >> > 1 file changed, 13 deletions(-)
> >> >
> >> > Index: linux-pm/drivers/pci/pcie/portdrv_pci.c
> >> > ===================================================================
> >> > --- linux-pm.orig/drivers/pci/pcie/portdrv_pci.c
> >> > +++ linux-pm/drivers/pci/pcie/portdrv_pci.c
> >> > @@ -185,14 +185,6 @@ static const struct dev_pm_ops pcie_port
> >> > #endif /* !PM */
> >> >
> >> > /*
> >> > - * PCIe port runtime suspend is broken for some chipsets, so use a
> >> > - * black list to disable runtime PM for these chipsets.
> >> > - */
> >> > -static const struct pci_device_id port_runtime_pm_black_list[] = {
> >> > - { /* end: all zeroes */ }
> >> > -};
> >> > -
> >> > -/*
> >> > * pcie_portdrv_probe - Probe PCI-Express port devices
> >> > * @dev: PCI-Express port device being probed
> >> > *
> >> > @@ -225,16 +217,11 @@ static int pcie_portdrv_probe(struct pci
> >> > * it by default.
> >> > */
> >> > dev->d3cold_allowed = false;
> >> > - if (!pci_match_id(port_runtime_pm_black_list, dev))
> >> > - pm_runtime_put_noidle(&dev->dev);
> >> > -
> >> > return 0;
> >> > }
> >> >
> >> > static void pcie_portdrv_remove(struct pci_dev *dev)
> >> > {
> >> > - if (!pci_match_id(port_runtime_pm_black_list, dev))
> >> > - pm_runtime_get_noresume(&dev->dev);
> >> > pcie_port_device_remove(dev);
> >> > pci_disable_device(dev);
> >> > }
> >> >
> > --
> > I speak only for myself.
> > Rafael J. Wysocki, Intel Open Source Technology Center.
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
next prev parent reply other threads:[~2013-04-01 21:17 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-23 14:33 [PATCH] PCI / ACPI: Always resume devices on ACPI wakeup notifications Rafael J. Wysocki
2013-03-23 16:22 ` Matthew Garrett
2013-03-25 16:45 ` Sarah Sharp
2013-03-25 22:34 ` Rafael J. Wysocki
2013-03-28 17:10 ` [Resend][PATCH] " Rafael J. Wysocki
2013-03-28 21:07 ` [Update][PATCH] " Rafael J. Wysocki
2013-03-29 15:05 ` Martin Mokrejs
2013-03-29 16:05 ` Sarah Sharp
2013-03-29 17:11 ` Martin Mokrejs
2013-03-29 18:16 ` Martin Mokrejs
2013-03-29 21:37 ` Rafael J. Wysocki
2013-03-29 21:34 ` Rafael J. Wysocki
2013-04-03 22:38 ` Bjorn Helgaas
[not found] ` <51548C9E.9090703@fold.natur.cuni.cz>
[not found] ` <2990024.LMTIBUbM3d@vostro.rjw.lan>
2013-03-30 22:38 ` [Update][PATCH] PCI / PM: Disable runtime PM of PCIe ports Rafael J. Wysocki
2013-04-01 17:34 ` Bjorn Helgaas
2013-04-01 20:51 ` Rafael J. Wysocki
2013-04-01 20:53 ` Bjorn Helgaas
2013-04-01 21:24 ` Rafael J. Wysocki [this message]
2013-04-01 23:20 ` Rafael J. Wysocki
2013-04-01 21:48 ` Martin Mokrejs
2013-04-02 5:34 ` huang ying
2013-04-02 5:28 ` huang ying
2013-04-02 5:31 ` huang ying
2013-04-03 22:34 ` 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=25773480.yrESpQY9Iv@vostro.rjw.lan \
--to=rjw@sisk.pl \
--cc=bhelgaas@google.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=mmokrejs@fold.natur.cuni.cz \
--cc=sarah.a.sharp@linux.intel.com \
--cc=zheng.z.yan@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
all inboxes | Powered by JetHome®