powerpc/powernv: Add PE to its own PELTV
We need add PE to its own PELTV. Otherwise, the errors originated from the PE might contribute to other PEs. In the result, we can't clear up the error successfully even we're checking and clearing errors during access to PCI config space. Cc: stable@vger.kernel.org Reported-by: kalshett@in.ibm.com Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
Родитель
80546ac513
Коммит
631ad691b5
|
@ -163,13 +163,23 @@ static int pnv_ioda_configure_pe(struct pnv_phb *phb, struct pnv_ioda_pe *pe)
|
|||
rid_end = pe->rid + 1;
|
||||
}
|
||||
|
||||
/* Associate PE in PELT */
|
||||
/*
|
||||
* Associate PE in PELT. We need add the PE into the
|
||||
* corresponding PELT-V as well. Otherwise, the error
|
||||
* originated from the PE might contribute to other
|
||||
* PEs.
|
||||
*/
|
||||
rc = opal_pci_set_pe(phb->opal_id, pe->pe_number, pe->rid,
|
||||
bcomp, dcomp, fcomp, OPAL_MAP_PE);
|
||||
if (rc) {
|
||||
pe_err(pe, "OPAL error %ld trying to setup PELT table\n", rc);
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
rc = opal_pci_set_peltv(phb->opal_id, pe->pe_number,
|
||||
pe->pe_number, OPAL_ADD_PE_TO_DOMAIN);
|
||||
if (rc)
|
||||
pe_warn(pe, "OPAL error %d adding self to PELTV\n", rc);
|
||||
opal_pci_eeh_freeze_clear(phb->opal_id, pe->pe_number,
|
||||
OPAL_EEH_ACTION_CLEAR_FREEZE_ALL);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче