android_kernel_xiaomi_sm8350/drivers
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
..
acorn
acpi
amba
ata [libata] Fix oops introduced in non-uniform port handling fix 2006-09-25 21:56:33 -04:00
atm [ATM] he: Fix __init/__devinit conflict 2006-09-24 20:09:33 -07:00
base Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-09-26 11:49:46 -07:00
block Merge mulgrave-w:git/scsi-misc-2.6 2006-09-23 15:33:43 -05:00
bluetooth
cdrom
char [PATCH] Don't print virtual address in HPET initialization 2006-09-26 10:52:28 +02:00
clocksource
connector
cpufreq [CPUFREQ] Fix some more CPU hotplug locking. 2006-09-22 19:15:23 -04:00
crypto [CRYPTO] padlock: Convert padlock-sha to use crypto_hash 2006-09-21 11:46:22 +10:00
dio
dma
edac
eisa
fc4
firmware
hwmon
i2c
ide Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-09-26 11:49:46 -07:00
ieee1394
infiniband MSI: Rename PCI_CAP_ID_HT_IRQCONF into PCI_CAP_ID_HT 2006-09-26 17:43:52 -07:00
input
isdn
leds
macintosh [PATCH] asm/backlight.h is ppc-only 2006-09-22 17:48:57 -07:00
mca
md [BLOCK] dm-crypt: trivial comment improvements 2006-09-21 11:46:27 +10:00
media fix broken/dubious driver suspend() methods 2006-09-25 21:08:37 -07:00
message
mfd
misc
mmc [PATCH] Alchemy: Delete unused pt_regs * argument from au1xxx_dbdma_chan_alloc 2006-09-26 08:48:54 -07:00
mtd [MTD] Whitespace cleanup in SSFDC driver. 2006-09-23 16:20:48 +01:00
net [SUNLANCE]: Mark sparc_lance_probe_one as __devinit. 2006-09-25 16:39:56 -07:00
nubus
oprofile
parisc
parport
pci PCI-Express AER implemetation: AER core and aerdriver 2006-09-26 17:43:53 -07:00
pcmcia
pnp
rapidio
rtc
s390 [SCSI] zfcp: fix: avoid removal of fsf reqs before qdio queues are down 2006-09-23 18:01:46 -05:00
sbus [OPENPROMIO]: Handle current_node being NULL correctly. 2006-09-18 01:47:13 -07:00
scsi fix broken/dubious driver suspend() methods 2006-09-25 21:08:37 -07:00
serial [PATCH] suspend: make it possible to disable serial console suspend 2006-09-26 08:49:03 -07:00
sh
sn
spi
tc
telephony
usb PM: USB HCDs use PM_EVENT_PRETHAW 2006-09-25 21:08:37 -07:00
video PM: video drivers and PM_EVENT_PRETHAW 2006-09-25 21:08:37 -07:00
w1
zorro
Kconfig
Makefile