aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r--arch/powerpc/platforms/powernv/eeh-powernv.c16
-rw-r--r--arch/powerpc/platforms/pseries/eeh_pseries.c2
2 files changed, 17 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c
index 996d8844cbdf..0401f84f7b89 100644
--- a/arch/powerpc/platforms/powernv/eeh-powernv.c
+++ b/arch/powerpc/platforms/powernv/eeh-powernv.c
@@ -45,6 +45,9 @@
45 */ 45 */
46static int powernv_eeh_init(void) 46static int powernv_eeh_init(void)
47{ 47{
48 struct pci_controller *hose;
49 struct pnv_phb *phb;
50
48 /* We require OPALv3 */ 51 /* We require OPALv3 */
49 if (!firmware_has_feature(FW_FEATURE_OPALv3)) { 52 if (!firmware_has_feature(FW_FEATURE_OPALv3)) {
50 pr_warning("%s: OPALv3 is required !\n", __func__); 53 pr_warning("%s: OPALv3 is required !\n", __func__);
@@ -54,6 +57,19 @@ static int powernv_eeh_init(void)
54 /* Set probe mode */ 57 /* Set probe mode */
55 eeh_add_flag(EEH_PROBE_MODE_DEV); 58 eeh_add_flag(EEH_PROBE_MODE_DEV);
56 59
60 /*
61 * P7IOC blocks PCI config access to frozen PE, but PHB3
62 * doesn't do that. So we have to selectively enable I/O
63 * prior to collecting error log.
64 */
65 list_for_each_entry(hose, &hose_list, list_node) {
66 phb = hose->private_data;
67
68 if (phb->model == PNV_PHB_MODEL_P7IOC)
69 eeh_add_flag(EEH_ENABLE_IO_FOR_LOG);
70 break;
71 }
72
57 return 0; 73 return 0;
58} 74}
59 75
diff --git a/arch/powerpc/platforms/pseries/eeh_pseries.c b/arch/powerpc/platforms/pseries/eeh_pseries.c
index ba94b5b8d58c..dd1874ca56d9 100644
--- a/arch/powerpc/platforms/pseries/eeh_pseries.c
+++ b/arch/powerpc/platforms/pseries/eeh_pseries.c
@@ -128,7 +128,7 @@ static int pseries_eeh_init(void)
128 } 128 }
129 129
130 /* Set EEH probe mode */ 130 /* Set EEH probe mode */
131 eeh_add_flag(EEH_PROBE_MODE_DEVTREE); 131 eeh_add_flag(EEH_PROBE_MODE_DEVTREE | EEH_ENABLE_IO_FOR_LOG);
132 132
133 return 0; 133 return 0;
134} 134}