diff options
Diffstat (limited to 'Documentation/PCI')
-rw-r--r-- | Documentation/PCI/pci-error-recovery.txt | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/Documentation/PCI/pci-error-recovery.txt b/Documentation/PCI/pci-error-recovery.txt index 0b6bb3ef449e..688b69121e82 100644 --- a/Documentation/PCI/pci-error-recovery.txt +++ b/Documentation/PCI/pci-error-recovery.txt | |||
@@ -110,7 +110,7 @@ The actual steps taken by a platform to recover from a PCI error | |||
110 | event will be platform-dependent, but will follow the general | 110 | event will be platform-dependent, but will follow the general |
111 | sequence described below. | 111 | sequence described below. |
112 | 112 | ||
113 | STEP 0: Error Event | 113 | STEP 0: Error Event: ERR_NONFATAL |
114 | ------------------- | 114 | ------------------- |
115 | A PCI bus error is detected by the PCI hardware. On powerpc, the slot | 115 | A PCI bus error is detected by the PCI hardware. On powerpc, the slot |
116 | is isolated, in that all I/O is blocked: all reads return 0xffffffff, | 116 | is isolated, in that all I/O is blocked: all reads return 0xffffffff, |
@@ -228,13 +228,7 @@ proceeds to either STEP3 (Link Reset) or to STEP 5 (Resume Operations). | |||
228 | If any driver returned PCI_ERS_RESULT_NEED_RESET, then the platform | 228 | If any driver returned PCI_ERS_RESULT_NEED_RESET, then the platform |
229 | proceeds to STEP 4 (Slot Reset) | 229 | proceeds to STEP 4 (Slot Reset) |
230 | 230 | ||
231 | STEP 3: Link Reset | 231 | STEP 3: Slot Reset |
232 | ------------------ | ||
233 | The platform resets the link. This is a PCI-Express specific step | ||
234 | and is done whenever a fatal error has been detected that can be | ||
235 | "solved" by resetting the link. | ||
236 | |||
237 | STEP 4: Slot Reset | ||
238 | ------------------ | 232 | ------------------ |
239 | 233 | ||
240 | In response to a return value of PCI_ERS_RESULT_NEED_RESET, the | 234 | In response to a return value of PCI_ERS_RESULT_NEED_RESET, the |
@@ -320,7 +314,7 @@ Failure). | |||
320 | >>> However, it probably should. | 314 | >>> However, it probably should. |
321 | 315 | ||
322 | 316 | ||
323 | STEP 5: Resume Operations | 317 | STEP 4: Resume Operations |
324 | ------------------------- | 318 | ------------------------- |
325 | The platform will call the resume() callback on all affected device | 319 | The platform will call the resume() callback on all affected device |
326 | drivers if all drivers on the segment have returned | 320 | drivers if all drivers on the segment have returned |
@@ -332,7 +326,7 @@ a result code. | |||
332 | At this point, if a new error happens, the platform will restart | 326 | At this point, if a new error happens, the platform will restart |
333 | a new error recovery sequence. | 327 | a new error recovery sequence. |
334 | 328 | ||
335 | STEP 6: Permanent Failure | 329 | STEP 5: Permanent Failure |
336 | ------------------------- | 330 | ------------------------- |
337 | A "permanent failure" has occurred, and the platform cannot recover | 331 | A "permanent failure" has occurred, and the platform cannot recover |
338 | the device. The platform will call error_detected() with a | 332 | the device. The platform will call error_detected() with a |
@@ -355,6 +349,27 @@ errors. See the discussion in powerpc/eeh-pci-error-recovery.txt | |||
355 | for additional detail on real-life experience of the causes of | 349 | for additional detail on real-life experience of the causes of |
356 | software errors. | 350 | software errors. |
357 | 351 | ||
352 | STEP 0: Error Event: ERR_FATAL | ||
353 | ------------------- | ||
354 | PCI bus error is detected by the PCI hardware. On powerpc, the slot is | ||
355 | isolated, in that all I/O is blocked: all reads return 0xffffffff, all | ||
356 | writes are ignored. | ||
357 | |||
358 | STEP 1: Remove devices | ||
359 | -------------------- | ||
360 | Platform removes the devices depending on the error agent, it could be | ||
361 | this port for all subordinates or upstream component (likely downstream | ||
362 | port) | ||
363 | |||
364 | STEP 2: Reset link | ||
365 | -------------------- | ||
366 | The platform resets the link. This is a PCI-Express specific step and is | ||
367 | done whenever a fatal error has been detected that can be "solved" by | ||
368 | resetting the link. | ||
369 | |||
370 | STEP 3: Re-enumerate the devices | ||
371 | -------------------- | ||
372 | Initiates the re-enumeration. | ||
358 | 373 | ||
359 | Conclusion; General Remarks | 374 | Conclusion; General Remarks |
360 | --------------------------- | 375 | --------------------------- |