Commit d1a85eee authored by Gavin Shan's avatar Gavin Shan Committed by Michael Ellerman

powerpc/powernv: Sync OpalPciResetScope with firmware

The names of PCI reset scopes aren't sychronized with firmware.
The patch fixes it.
Signed-off-by: default avatarGavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 4ba5a0fc
...@@ -387,9 +387,12 @@ enum OpalM64EnableAction { ...@@ -387,9 +387,12 @@ enum OpalM64EnableAction {
}; };
enum OpalPciResetScope { enum OpalPciResetScope {
OPAL_PHB_COMPLETE = 1, OPAL_PCI_LINK = 2, OPAL_PHB_ERROR = 3, OPAL_RESET_PHB_COMPLETE = 1,
OPAL_PCI_HOT_RESET = 4, OPAL_PCI_FUNDAMENTAL_RESET = 5, OPAL_RESET_PCI_LINK = 2,
OPAL_PCI_IODA_TABLE_RESET = 6, OPAL_RESET_PHB_ERROR = 3,
OPAL_RESET_PCI_HOT = 4,
OPAL_RESET_PCI_FUNDAMENTAL = 5,
OPAL_RESET_PCI_IODA_TABLE = 6
}; };
enum OpalPciReinitScope { enum OpalPciReinitScope {
......
...@@ -514,11 +514,11 @@ int ioda_eeh_phb_reset(struct pci_controller *hose, int option) ...@@ -514,11 +514,11 @@ int ioda_eeh_phb_reset(struct pci_controller *hose, int option)
if (option == EEH_RESET_FUNDAMENTAL || if (option == EEH_RESET_FUNDAMENTAL ||
option == EEH_RESET_HOT) option == EEH_RESET_HOT)
rc = opal_pci_reset(phb->opal_id, rc = opal_pci_reset(phb->opal_id,
OPAL_PHB_COMPLETE, OPAL_RESET_PHB_COMPLETE,
OPAL_ASSERT_RESET); OPAL_ASSERT_RESET);
else if (option == EEH_RESET_DEACTIVATE) else if (option == EEH_RESET_DEACTIVATE)
rc = opal_pci_reset(phb->opal_id, rc = opal_pci_reset(phb->opal_id,
OPAL_PHB_COMPLETE, OPAL_RESET_PHB_COMPLETE,
OPAL_DEASSERT_RESET); OPAL_DEASSERT_RESET);
if (rc < 0) if (rc < 0)
goto out; goto out;
...@@ -558,15 +558,15 @@ static int ioda_eeh_root_reset(struct pci_controller *hose, int option) ...@@ -558,15 +558,15 @@ static int ioda_eeh_root_reset(struct pci_controller *hose, int option)
*/ */
if (option == EEH_RESET_FUNDAMENTAL) if (option == EEH_RESET_FUNDAMENTAL)
rc = opal_pci_reset(phb->opal_id, rc = opal_pci_reset(phb->opal_id,
OPAL_PCI_FUNDAMENTAL_RESET, OPAL_RESET_PCI_FUNDAMENTAL,
OPAL_ASSERT_RESET); OPAL_ASSERT_RESET);
else if (option == EEH_RESET_HOT) else if (option == EEH_RESET_HOT)
rc = opal_pci_reset(phb->opal_id, rc = opal_pci_reset(phb->opal_id,
OPAL_PCI_HOT_RESET, OPAL_RESET_PCI_HOT,
OPAL_ASSERT_RESET); OPAL_ASSERT_RESET);
else if (option == EEH_RESET_DEACTIVATE) else if (option == EEH_RESET_DEACTIVATE)
rc = opal_pci_reset(phb->opal_id, rc = opal_pci_reset(phb->opal_id,
OPAL_PCI_HOT_RESET, OPAL_RESET_PCI_HOT,
OPAL_DEASSERT_RESET); OPAL_DEASSERT_RESET);
if (rc < 0) if (rc < 0)
goto out; goto out;
...@@ -697,7 +697,7 @@ static int ioda_eeh_reset(struct eeh_pe *pe, int option) ...@@ -697,7 +697,7 @@ static int ioda_eeh_reset(struct eeh_pe *pe, int option)
(option == EEH_RESET_HOT || (option == EEH_RESET_HOT ||
option == EEH_RESET_FUNDAMENTAL)) { option == EEH_RESET_FUNDAMENTAL)) {
rc = opal_pci_reset(phb->opal_id, rc = opal_pci_reset(phb->opal_id,
OPAL_PHB_ERROR, OPAL_RESET_PHB_ERROR,
OPAL_ASSERT_RESET); OPAL_ASSERT_RESET);
if (rc != OPAL_SUCCESS) { if (rc != OPAL_SUCCESS) {
pr_warn("%s: Failure %lld clearing " pr_warn("%s: Failure %lld clearing "
......
...@@ -1626,7 +1626,7 @@ static u32 pnv_ioda_bdfn_to_pe(struct pnv_phb *phb, struct pci_bus *bus, ...@@ -1626,7 +1626,7 @@ static u32 pnv_ioda_bdfn_to_pe(struct pnv_phb *phb, struct pci_bus *bus,
static void pnv_pci_ioda_shutdown(struct pnv_phb *phb) static void pnv_pci_ioda_shutdown(struct pnv_phb *phb)
{ {
opal_pci_reset(phb->opal_id, OPAL_PCI_IODA_TABLE_RESET, opal_pci_reset(phb->opal_id, OPAL_RESET_PCI_IODA_TABLE,
OPAL_ASSERT_RESET); OPAL_ASSERT_RESET);
} }
...@@ -1802,7 +1802,7 @@ static void __init pnv_pci_init_ioda_phb(struct device_node *np, ...@@ -1802,7 +1802,7 @@ static void __init pnv_pci_init_ioda_phb(struct device_node *np,
pci_add_flags(PCI_REASSIGN_ALL_RSRC); pci_add_flags(PCI_REASSIGN_ALL_RSRC);
/* Reset IODA tables to a clean state */ /* Reset IODA tables to a clean state */
rc = opal_pci_reset(phb_id, OPAL_PCI_IODA_TABLE_RESET, OPAL_ASSERT_RESET); rc = opal_pci_reset(phb_id, OPAL_RESET_PCI_IODA_TABLE, OPAL_ASSERT_RESET);
if (rc) if (rc)
pr_warning(" OPAL Error %ld performing IODA table reset !\n", rc); pr_warning(" OPAL Error %ld performing IODA table reset !\n", rc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment