powerpc/powernv: Enable EEH for PHB3

The EEH isn't enabled for PHB3 and the patch intends to enable it.

Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Gavin Shan 2013-09-06 09:00:00 +08:00 committed by Benjamin Herrenschmidt
parent 81fafea67a
commit 20bb842b9b
2 changed files with 12 additions and 19 deletions

View file

@ -106,27 +106,23 @@ static int ioda_eeh_post_init(struct pci_controller *hose)
ioda_eeh_nb_init = 1;
}
/* FIXME: Enable it for PHB3 later */
if (phb->type == PNV_PHB_IODA1) {
/* We needn't HUB diag-data on PHB3 */
if (phb->type == PNV_PHB_IODA1 && !hub_diag) {
hub_diag = (char *)__get_free_page(GFP_KERNEL | __GFP_ZERO);
if (!hub_diag) {
hub_diag = (char *)__get_free_page(GFP_KERNEL |
__GFP_ZERO);
if (!hub_diag) {
pr_err("%s: Out of memory !\n",
__func__);
return -ENOMEM;
}
pr_err("%s: Out of memory !\n", __func__);
return -ENOMEM;
}
}
#ifdef CONFIG_DEBUG_FS
if (phb->dbgfs)
debugfs_create_file("err_injct", 0600,
phb->dbgfs, hose,
&ioda_eeh_dbgfs_ops);
if (phb->dbgfs)
debugfs_create_file("err_injct", 0600,
phb->dbgfs, hose,
&ioda_eeh_dbgfs_ops);
#endif
phb->eeh_state |= PNV_EEH_STATE_ENABLED;
}
phb->eeh_state |= PNV_EEH_STATE_ENABLED;
return 0;
}

View file

@ -144,11 +144,8 @@ static int powernv_eeh_dev_probe(struct pci_dev *dev, void *flag)
/*
* Enable EEH explicitly so that we will do EEH check
* while accessing I/O stuff
*
* FIXME: Enable that for PHB3 later
*/
if (phb->type == PNV_PHB_IODA1)
eeh_subsystem_enabled = 1;
eeh_subsystem_enabled = 1;
/* Save memory bars */
eeh_save_bars(edev);