[PATCH] powerpc/powernv: document cxl dependency on special case in pnv_eeh_reset()

Andrew Donnellan andrew.donnellan at au1.ibm.com
Fri Jul 22 17:16:35 AEST 2016

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 b0b5e5918ad1 ("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 at linux.vnet.ibm.com>
Signed-off-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>


Gavin requested that I add this comment a few weeks ago but I didn't get
around to including it in b0b5e5918ad1. Sorry Gavin!
 arch/powerpc/platforms/powernv/eeh-powernv.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/powerpc/platforms/powernv/eeh-powernv.c b/arch/powerpc/platforms/powernv/eeh-powernv.c
index 86544ea..3af854e 100644
--- a/arch/powerpc/platforms/powernv/eeh-powernv.c
+++ b/arch/powerpc/platforms/powernv/eeh-powernv.c
@@ -1094,6 +1094,13 @@ static int pnv_eeh_reset(struct eeh_pe *pe, int option)
 	if (pe->type & EEH_PE_VF)
 		return pnv_eeh_reset_vf_pe(pe, option);
+	/*
+	 * 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) ||
 		return pnv_eeh_root_reset(hose, option);
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com  IBM Australia Limited

More information about the Linuxppc-dev mailing list