1
0
Fork 0

powerpc/powernv: Document cxl dependency on special case in pnv_eeh_reset()

pnv_eeh_reset() has special handling for PEs whose primary bus is the
root bus or the bus immediately underneath the root port.

The cxl bi-modal card support added in b0b5e5918a ("cxl: Add
cxl_check_and_switch_mode() API to switch bi-modal cards") relies on
this behaviour when hot-resetting the CAPI adapter following a mode
switch.  Document this in pnv_eeh_reset() so we don't accidentally break
it.

Suggested-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Reviewed-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
hifive-unleashed-5.1
Andrew Donnellan 2016-07-22 17:16:35 +10:00 committed by Michael Ellerman
parent c0b64978f0
commit b7da123053
1 changed files with 7 additions and 0 deletions

View File

@ -1102,6 +1102,13 @@ static int pnv_eeh_reset(struct eeh_pe *pe, int option)
return -EIO;
}
/*
* If dealing with the root bus (or the bus underneath the
* root port), we reset the bus underneath the root port.
*
* The cxl driver depends on this behaviour for bi-modal card
* switching.
*/
if (pci_is_root_bus(bus) ||
pci_is_root_bus(bus->parent))
return pnv_eeh_root_reset(hose, option);