linux/drivers/pci
Huang Ying 3d8387efe1 PCI/PM: Fix config reg access for D3cold and bridge suspending
This patch fixes the following bug:

http://marc.info/?l=linux-pci&m=134338059022620&w=2

Where lspci does not work properly if a device and the corresponding
parent bridge (such as PCIe port) is suspended.  This is because the
device configuration space registers will be not accessible if the
corresponding parent bridge is suspended or the device is put into
D3cold state.

To solve the issue, the bridge/PCIe port connected to the device is
put into active state before read/write configuration space registers.
If the device is in D3cold state, it will be put into active state
too.

To avoid resume/suspend PCIe port for each configuration register
read/write, a small delay is added before the PCIe port to go
suspended.

Reported-by: Bjorn Mork <bjorn@mork.no>
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-08-21 17:34:24 -06:00
..
hotplug PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
pcie PCI/PM: Fix config reg access for D3cold and bridge suspending 2012-08-21 17:34:24 -06:00
.gitignore
access.c
ats.c
bus.c PCI: fix undefined reference to 'pci_fixup_final_inited' 2012-07-16 09:14:49 -06:00
host-bridge.c
hotplug-pci.c
hotplug.c
htirq.c
ioapic.c
iov.c
irq.c
Kconfig
Makefile PCI: build resource code for M68K architecture 2012-07-13 09:40:37 -06:00
msi.c
msi.h
of.c
pci-acpi.c PCI / PM: Fix D3/D3cold/D4 messages printed by acpi_pci_set_power_state() 2012-08-15 11:46:18 -06:00
pci-driver.c PCI/PM: Keep parent bridge active when probing device 2012-08-21 17:32:07 -06:00
pci-label.c
pci-stub.c
pci-sysfs.c PCI/PM: Fix config reg access for D3cold and bridge suspending 2012-08-21 17:34:24 -06:00
pci.c PCI/PM: Enable D3/D3cold by default for most devices 2012-08-21 17:31:40 -06:00
pci.h Merge branch 'pci/rafael-pci_set_power_state-rebase' into next 2012-07-05 16:29:52 -06:00
probe.c Merge branch 'pci/bjorn-p2p-bridge-windows' into next 2012-07-10 08:36:09 -06:00
proc.c
quirks.c PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
remove.c
rom.c
search.c
setup-bus.c PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
setup-irq.c
setup-res.c Merge branch 'pci/nikhil-big-bar-fixes' into next 2012-07-18 14:06:20 -06:00
slot.c
syscall.c
vpd.c
xen-pcifront.c