aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries/eeh_driver.c
diff options
context:
space:
mode:
authorGavin Shan <shangw@linux.vnet.ibm.com>2012-02-27 15:03:55 -0500
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-03-08 19:09:49 -0500
commit8fb8f709025c13ae72968a66a1ade24431a342b2 (patch)
tree0eec5feabb4a673a58f036aa940c96f11bfe0c23 /arch/powerpc/platforms/pseries/eeh_driver.c
parente2af155c2aea0e705ed4ef33aedc25e50a788be1 (diff)
powerpc/eeh: pseries platform EEH operations
There're 4 EEH operations that are covered by the dedicated RTAS call <ibm,set-eeh-option>: enable or disable EEH, enable MMIO and enable DMA. At early stage of system boot, the EEH would be tried to enable on PCI device related device node. MMIO and DMA for particular PE should be enabled when doing recovery on EEH errors so that the PE could function properly again. The patch implements it and abstract that through struct eeh_ops::set_eeh. It would be help for EEH to support multiple platforms in future. Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/eeh_driver.c')
-rw-r--r--arch/powerpc/platforms/pseries/eeh_driver.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c
index 5315350bf1a0..02eab3baf963 100644
--- a/arch/powerpc/platforms/pseries/eeh_driver.c
+++ b/arch/powerpc/platforms/pseries/eeh_driver.c
@@ -422,7 +422,7 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event)
422 422
423 /* If all devices reported they can proceed, then re-enable MMIO */ 423 /* If all devices reported they can proceed, then re-enable MMIO */
424 if (result == PCI_ERS_RESULT_CAN_RECOVER) { 424 if (result == PCI_ERS_RESULT_CAN_RECOVER) {
425 rc = eeh_pci_enable(frozen_pdn, EEH_THAW_MMIO); 425 rc = eeh_pci_enable(frozen_pdn, EEH_OPT_THAW_MMIO);
426 426
427 if (rc < 0) 427 if (rc < 0)
428 goto hard_fail; 428 goto hard_fail;
@@ -436,7 +436,7 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event)
436 436
437 /* If all devices reported they can proceed, then re-enable DMA */ 437 /* If all devices reported they can proceed, then re-enable DMA */
438 if (result == PCI_ERS_RESULT_CAN_RECOVER) { 438 if (result == PCI_ERS_RESULT_CAN_RECOVER) {
439 rc = eeh_pci_enable(frozen_pdn, EEH_THAW_DMA); 439 rc = eeh_pci_enable(frozen_pdn, EEH_OPT_THAW_DMA);
440 440
441 if (rc < 0) 441 if (rc < 0)
442 goto hard_fail; 442 goto hard_fail;