diff options
Diffstat (limited to 'Documentation/powerpc/eeh-pci-error-recovery.txt')
-rw-r--r-- | Documentation/powerpc/eeh-pci-error-recovery.txt | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Documentation/powerpc/eeh-pci-error-recovery.txt b/Documentation/powerpc/eeh-pci-error-recovery.txt index 67a11a36270c..3764dd4b12cb 100644 --- a/Documentation/powerpc/eeh-pci-error-recovery.txt +++ b/Documentation/powerpc/eeh-pci-error-recovery.txt | |||
@@ -121,7 +121,7 @@ accomplished. | |||
121 | 121 | ||
122 | EEH must be enabled in the PHB's very early during the boot process, | 122 | EEH must be enabled in the PHB's very early during the boot process, |
123 | and if a PCI slot is hot-plugged. The former is performed by | 123 | and if a PCI slot is hot-plugged. The former is performed by |
124 | eeh_init() in arch/ppc64/kernel/eeh.c, and the later by | 124 | eeh_init() in arch/powerpc/platforms/pseries/eeh.c, and the later by |
125 | drivers/pci/hotplug/pSeries_pci.c calling in to the eeh.c code. | 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. | 126 | EEH must be enabled before a PCI scan of the device can proceed. |
127 | Current Power5 hardware will not work unless EEH is enabled; | 127 | Current Power5 hardware will not work unless EEH is enabled; |
@@ -133,7 +133,7 @@ error. Given an arbitrary address, the routine | |||
133 | pci_get_device_by_addr() will find the pci device associated | 133 | pci_get_device_by_addr() will find the pci device associated |
134 | with that address (if any). | 134 | with that address (if any). |
135 | 135 | ||
136 | The default include/asm-ppc64/io.h macros readb(), inb(), insb(), | 136 | The default include/asm-powerpc/io.h macros readb(), inb(), insb(), |
137 | etc. include a check to see if the i/o read returned all-0xff's. | 137 | etc. include a check to see if the i/o read returned all-0xff's. |
138 | If so, these make a call to eeh_dn_check_failure(), which in turn | 138 | If so, these make a call to eeh_dn_check_failure(), which in turn |
139 | asks the firmware if the all-ff's value is the sign of a true EEH | 139 | asks the firmware if the all-ff's value is the sign of a true EEH |
@@ -143,11 +143,12 @@ seen in /proc/ppc64/eeh (subject to change). Normally, almost | |||
143 | all of these occur during boot, when the PCI bus is scanned, where | 143 | all of these occur during boot, when the PCI bus is scanned, where |
144 | a large number of 0xff reads are part of the bus scan procedure. | 144 | a large number of 0xff reads are part of the bus scan procedure. |
145 | 145 | ||
146 | If a frozen slot is detected, code in arch/ppc64/kernel/eeh.c will | 146 | If a frozen slot is detected, code in |
147 | print a stack trace to syslog (/var/log/messages). This stack trace | 147 | arch/powerpc/platforms/pseries/eeh.c will print a stack trace to |
148 | has proven to be very useful to device-driver authors for finding | 148 | syslog (/var/log/messages). This stack trace has proven to be very |
149 | out at what point the EEH error was detected, as the error itself | 149 | useful to device-driver authors for finding out at what point the EEH |
150 | usually occurs slightly beforehand. | 150 | error was detected, as the error itself usually occurs slightly |
151 | beforehand. | ||
151 | 152 | ||
152 | Next, it uses the Linux kernel notifier chain/work queue mechanism to | 153 | Next, it uses the Linux kernel notifier chain/work queue mechanism to |
153 | allow any interested parties to find out about the failure. Device | 154 | allow any interested parties to find out about the failure. Device |