powerpc/powernv: Sync OpalPciResetScope with firmware
The names of PCI reset scopes aren't sychronized with firmware. The patch fixes it. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Родитель
4ba5a0fc64
Коммит
d1a85eee35
|
@ -387,9 +387,12 @@ enum OpalM64EnableAction {
|
|||
};
|
||||
|
||||
enum OpalPciResetScope {
|
||||
OPAL_PHB_COMPLETE = 1, OPAL_PCI_LINK = 2, OPAL_PHB_ERROR = 3,
|
||||
OPAL_PCI_HOT_RESET = 4, OPAL_PCI_FUNDAMENTAL_RESET = 5,
|
||||
OPAL_PCI_IODA_TABLE_RESET = 6,
|
||||
OPAL_RESET_PHB_COMPLETE = 1,
|
||||
OPAL_RESET_PCI_LINK = 2,
|
||||
OPAL_RESET_PHB_ERROR = 3,
|
||||
OPAL_RESET_PCI_HOT = 4,
|
||||
OPAL_RESET_PCI_FUNDAMENTAL = 5,
|
||||
OPAL_RESET_PCI_IODA_TABLE = 6
|
||||
};
|
||||
|
||||
enum OpalPciReinitScope {
|
||||
|
|
|
@ -514,11 +514,11 @@ int ioda_eeh_phb_reset(struct pci_controller *hose, int option)
|
|||
if (option == EEH_RESET_FUNDAMENTAL ||
|
||||
option == EEH_RESET_HOT)
|
||||
rc = opal_pci_reset(phb->opal_id,
|
||||
OPAL_PHB_COMPLETE,
|
||||
OPAL_RESET_PHB_COMPLETE,
|
||||
OPAL_ASSERT_RESET);
|
||||
else if (option == EEH_RESET_DEACTIVATE)
|
||||
rc = opal_pci_reset(phb->opal_id,
|
||||
OPAL_PHB_COMPLETE,
|
||||
OPAL_RESET_PHB_COMPLETE,
|
||||
OPAL_DEASSERT_RESET);
|
||||
if (rc < 0)
|
||||
goto out;
|
||||
|
@ -558,15 +558,15 @@ static int ioda_eeh_root_reset(struct pci_controller *hose, int option)
|
|||
*/
|
||||
if (option == EEH_RESET_FUNDAMENTAL)
|
||||
rc = opal_pci_reset(phb->opal_id,
|
||||
OPAL_PCI_FUNDAMENTAL_RESET,
|
||||
OPAL_RESET_PCI_FUNDAMENTAL,
|
||||
OPAL_ASSERT_RESET);
|
||||
else if (option == EEH_RESET_HOT)
|
||||
rc = opal_pci_reset(phb->opal_id,
|
||||
OPAL_PCI_HOT_RESET,
|
||||
OPAL_RESET_PCI_HOT,
|
||||
OPAL_ASSERT_RESET);
|
||||
else if (option == EEH_RESET_DEACTIVATE)
|
||||
rc = opal_pci_reset(phb->opal_id,
|
||||
OPAL_PCI_HOT_RESET,
|
||||
OPAL_RESET_PCI_HOT,
|
||||
OPAL_DEASSERT_RESET);
|
||||
if (rc < 0)
|
||||
goto out;
|
||||
|
@ -697,7 +697,7 @@ static int ioda_eeh_reset(struct eeh_pe *pe, int option)
|
|||
(option == EEH_RESET_HOT ||
|
||||
option == EEH_RESET_FUNDAMENTAL)) {
|
||||
rc = opal_pci_reset(phb->opal_id,
|
||||
OPAL_PHB_ERROR,
|
||||
OPAL_RESET_PHB_ERROR,
|
||||
OPAL_ASSERT_RESET);
|
||||
if (rc != OPAL_SUCCESS) {
|
||||
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,
|
|||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -1802,7 +1802,7 @@ static void __init pnv_pci_init_ioda_phb(struct device_node *np,
|
|||
pci_add_flags(PCI_REASSIGN_ALL_RSRC);
|
||||
|
||||
/* 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)
|
||||
pr_warning(" OPAL Error %ld performing IODA table reset !\n", rc);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче