2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 04:03:58 +08:00
linux-next/drivers/pci
Zhang, Yanmin 6c2b374d74 PCI-Express AER implemetation: AER core and aerdriver
Patch 3 implements the core part of PCI-Express AER and aerdrv
port service driver.

When a root port service device is probed, the aerdrv will call
request_irq to register irq handler for AER error interrupt.

When a device sends an PCI-Express error message to the root port,
the root port will trigger an interrupt, by either MSI or IO-APIC,
then kernel would run the irq handler. The handler collects root
error status register and schedules a work. The work will call
the core part to process the error based on its type
(Correctable/non-fatal/fatal).

As for Correctable errors, the patch chooses to just clear the correctable
error status register of the device.

As for the non-fatal error, the patch follows generic PCI error handler
rules to call the error callback functions of the endpoint's driver. If
the device is a bridge, the patch chooses to broadcast the error to
downstream devices.

As for the fatal error, the patch resets the pci-express link and
follows generic PCI error handler rules to call the error callback
functions of the endpoint's driver. If the device is a bridge, the patch
chooses to broadcast the error to downstream devices.

Signed-off-by: Zhang Yanmin <yanmin.zhang@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-09-26 17:43:53 -07:00
..
hotplug sysfs_remove_bin_file: no return value, dump_stack on error 2006-09-25 21:08:39 -07:00
pcie PCI-Express AER implemetation: AER core and aerdriver 2006-09-26 17:43:53 -07:00
.gitignore Add some basic .gitignore files 2005-10-18 08:26:15 -07:00
access.c [PATCH] PCI: drivers/pci/: small cleanups 2005-11-10 16:09:18 -08:00
bus.c [PATCH] 64bit resource: change pci core and arch code to use resource_size_t 2006-06-27 09:24:00 -07:00
hotplug.c [PATCH] driver core: replace "hotplug" by "uevent" 2006-01-04 16:18:08 -08:00
Kconfig PCI: enable driver multi-threaded probe 2006-09-25 21:08:40 -07:00
Makefile [PATCH] PCI: msi abstractions and support for altix 2006-06-21 11:59:58 -07:00
msi-altix.c [PATCH] PCI: altix: msi support 2006-06-21 11:59:59 -07:00
msi-apic.c [PATCH] x86_64: msi_apic.c build fix 2006-06-26 10:48:22 -07:00
msi.c MSI: Factorize common code in pci_msi_supported() 2006-09-26 17:43:52 -07:00
msi.h [PATCH] PCI: msi abstractions and support for altix 2006-06-21 11:59:58 -07:00
pci-acpi.c [PATCH] PCI ACPI: Rename the functions to avoid multiple instances. 2006-06-21 11:59:59 -07:00
pci-driver.c PCI: enable driver multi-threaded probe 2006-09-25 21:08:40 -07:00
pci-sysfs.c MSI: Export the PCI_BUS_FLAGS_NO_MSI flag in sysfs 2006-09-26 17:43:52 -07:00
pci.c Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-09-26 13:07:55 -07:00
pci.h MSI: Cleanup existing MSI quirks 2006-09-26 17:43:52 -07:00
probe.c [PATCH] pci: initialize struct pci_dev.error_state 2006-07-10 13:24:21 -07:00
proc.c [PATCH] 64bit resource: change pci core and arch code to use resource_size_t 2006-06-27 09:24:00 -07:00
quirks.c MSI: Blacklist PCI-E chipsets depending on Hypertransport MSI capability 2006-09-26 17:43:52 -07:00
remove.c [PATCH] PCI: fix race with pci_walk_bus and pci_destroy_dev 2006-06-21 12:00:01 -07:00
rom.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
search.c PCI: pci/search: EXPORTs cannot be __devinit 2006-08-03 13:20:06 -07:00
setup-bus.c [PATCH] 64bit resource: fix up printks for resources in pci core and hotplug drivers 2006-06-27 09:23:58 -07:00
setup-irq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup-res.c [PATCH] 64bit resource: change pci core and arch code to use resource_size_t 2006-06-27 09:24:00 -07:00
syscall.c [PATCH] PCI: Block config access during BIST 2005-10-28 15:36:58 -07:00