Lines Matching full:pci
2 PCI Bus EEH Error Recovery
12 The IBM POWER-based pSeries and iSeries computers include PCI bus
14 reporting a large variety of PCI bus error conditions. These features
16 hardware features allow PCI bus errors to be cleared and a PCI
20 This is in contrast to traditional PCI error handling, where the
21 PCI chip is wired directly to the CPU, and an error would cause
27 reliable and robust by protecting it from PCI errors, and giving
28 the OS the ability to "reboot"/recover individual PCI devices.
30 Future systems from other vendors, based on the PCI-E specification,
37 as PCI cards dying from heat, humidity, dust, vibration and bad
39 "real life" are due to either poorly seated PCI cards, or,
41 bugs, and sometimes PCI card hardware bugs.
51 connectivity due to a poorly seated card), and PCI-X split-completion
52 errors (due to software, device firmware, or device PCI hardware bugs).
54 physically removing and re-seating the PCI card.
67 When a PCI Host Bridge (PHB, the bus controller connecting the
68 PCI bus to the system CPU electronics complex) detects a PCI error
69 condition, it will "isolate" the affected PCI card. Isolation
75 This includes access to PCI memory, I/O space, and PCI config
82 the EEH function in the PCI chipsets directly, primarily because
88 If the OS or device driver suspects that a PCI slot has been
93 would consist of resetting the PCI device (holding the PCI #RST
100 do not need to know that the PCI card has been "rebooted" in this
108 syslogd (/var/log/messages) to alert the sysadmin of PCI resets.
110 PCI hotplug tools to remove and replace the dead card.
117 EEH recovery. This generic mechanism piggy-backs on the PCI hotplug
123 and if a PCI slot is hot-plugged. The former is performed by
125 drivers/pci/hotplug/pSeries_pci.c calling in to the eeh.c code.
126 EEH must be enabled before a PCI scan of the device can proceed.
129 EEH can no longer be turned off. PCI devices *must* be
131 the I/O address ranges of the PCI device in order to detect an
133 pci_get_device_by_addr() will find the pci device associated
143 all of these occur during boot, when the PCI bus is scanned, where
157 events. The event will include a pointer to the pci device, the
166 assert the PCI #RST line for 1/8th of a second
168 ask firmware to configure any PCI bridges
169 located topologically under the pci slot.
171 save and restore the PCI
176 drivers/pci/hotplug/pSeries_pci.c, called handle_eeh_events().
183 It then resets the PCI card, reconfigures the device BAR's, and
191 This section documents what happens when a pci slot is unconfigured,
202 pci_remove_bus_device (struct pci_dev *) // in /drivers/pci/remove.c
221 pci_device_remove() // in /drivers/pci/pci_driver.c
247 in drivers/pci/pci_driver.c,
258 when the pci device is unconfigured::
262 pci_remove_bus_device (struct pci_dev *) { // in /drivers/pci/remove.c
281 pci_uevent () { // in drivers/pci/hotplug.c
308 network daemons, that didn't need to even know that the pci