2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 15:13:55 +08:00
linux-next/drivers/pci/pcie
Rafael J. Wysocki c7f486567c PCI PM: PCIe PME root port service driver
PCIe native PME detection mechanism is based on interrupts generated
by root ports or event collectors every time a PCIe device sends a
PME message upstream.

Once a PME message has been sent by an endpoint device and received
by its root port (or event collector in the case of root complex
integrated endpoints), the Requester ID from the message header is
registered in the root port's Root Status register.  At the same
time, the PME Status bit of the Root Status register is set to
indicate that there's a PME to handle.  If PCIe PME interrupt is
enabled for the root port, it generates an interrupt once the PME
Status has been set.  After receiving the interrupt, the kernel can
identify the PCIe device that generated the PME using the Requester
ID from the root port's Root Status register. [For details, see PCI
Express Base Specification, Rev. 2.0.]

Implement a driver for the PCIe PME root port service working in
accordance with the above description.

Based on a patch from Shaohua Li <shaohua.li@intel.com>.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-02-22 16:20:31 -08:00
..
aer PCI: fix nested spinlock hang in aer_inject 2010-01-25 10:42:52 -08:00
pme PCI PM: PCIe PME root port service driver 2010-02-22 16:20:31 -08:00
aspm.c PCI: change PCI nomenclature in drivers/pci/ (comment changes) 2009-12-16 13:37:53 -08:00
Kconfig PCI PM: PCIe PME root port service driver 2010-02-22 16:20:31 -08:00
Makefile PCI PM: PCIe PME root port service driver 2010-02-22 16:20:31 -08:00
portdrv_bus.c PCI: portdrv: remove unnecessary struct pcie_port_data 2009-12-04 15:56:19 -08:00
portdrv_core.c PCI: pcie portdrv: style cleanup 2010-01-04 08:29:37 -08:00
portdrv_pci.c PCI: pcie portdrv: style cleanup 2010-01-04 08:29:37 -08:00
portdrv.h PCI: portdrv: remove redundant definitions 2009-12-04 15:56:24 -08:00