linux/drivers/pci/pcie
Lukas Wunner c6a6330706 PCI: Activate runtime PM on a PCIe port only if it can suspend
Currently pcie_portdrv_probe() activates runtime PM on a PCIe port even
if it will never actually suspend because the BIOS is too old or the
"pcie_port_pm=off" option was specified on the kernel command line.

A few CPU cycles can be saved by not activating runtime PM at all in these
cases, because rpm_idle() and rpm_suspend() will bail out right at the
beginning when calling rpm_check_suspend_allowed(), instead of carrying out
various locking and assignments, invoking rpm_callback(), getting back
-EBUSY and rolling everything back.

The conditions checked in pci_bridge_d3_possible() are all static, they
never change during uptime of the system, hence it's safe to call this to
determine if runtime PM should be activated.

No functional change intended.

Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-11-17 18:46:06 -06:00
..
aer Merge branch 'pci/aer' into next 2016-10-03 09:42:57 -05:00
aspm.c PCI/ASPM: Remove redundant check of pcie_set_clkpm 2016-06-10 19:07:03 -05:00
Kconfig PCI: Add Precision Time Measurement (PTM) support 2016-08-15 13:44:08 -05:00
Makefile PCI: Add Precision Time Measurement (PTM) support 2016-08-15 13:44:08 -05:00
pcie-dpc.c PCI: Make DPC explicitly non-modular 2016-08-24 16:52:24 -05:00
pme.c PCI/PME: Make explicitly non-modular 2016-08-24 16:56:12 -05:00
portdrv_acpi.c Merge branches 'pci/dpc', 'pci/resource' and 'pci/thunderbolt' into next 2016-05-03 11:49:21 -05:00
portdrv_bus.c PCI: Fix whitespace, capitalization, and spelling errors 2013-11-14 11:28:18 -07:00
portdrv_core.c PCI: Add runtime PM support for PCIe ports 2016-06-13 14:58:53 -05:00
portdrv_pci.c PCI: Activate runtime PM on a PCIe port only if it can suspend 2016-11-17 18:46:06 -06:00
portdrv.h Merge branches 'pci/dpc', 'pci/resource' and 'pci/thunderbolt' into next 2016-05-03 11:49:21 -05:00
ptm.c PCI: Add PTM clock granularity information 2016-08-25 08:32:34 -05:00