[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAErSpo73C8Q6NdEK6hFBXf8tJ0ZttqAj-soFQ8LgozQZtWZNrA@mail.gmail.com>
Date: Wed, 3 Apr 2013 16:34:27 -0600
From: Bjorn Helgaas <bhelgaas@...gle.com>
To: "Rafael J. Wysocki" <rjw@...k.pl>,
Zheng Yan <zheng.z.yan@...el.com>
Cc: Martin Mokrejs <mmokrejs@...d.natur.cuni.cz>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
Len Brown <lenb@...nel.org>,
Matthew Garrett <mjg59@...f.ucam.org>,
Sarah Sharp <sarah.a.sharp@...ux.intel.com>,
LKML <linux-kernel@...r.kernel.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>
Subject: Re: [Update][PATCH] PCI / PM: Disable runtime PM of PCIe ports
On Sat, Mar 30, 2013 at 4:38 PM, Rafael J. Wysocki <rjw@...k.pl> wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@...el.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.
>
> 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@...el.com>
> ---
>
> This version also removes the no longer necessary (and empty anyway)
> port_runtime_pm_black_list[] table.
I applied this to for-linus for v3.9, and added a stable tag for v3.6+. Thanks!
> ---
> 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);
> }
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists