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

Subsystems: linux for powerpc (32-bit and 64-bit), pci enhanced error handling (eeh) for powerpc, the rest

STALE3379d

3 messages, 3 authors, 2017-05-03 · open the first message on its own page

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

From: Andrew Donnellan <hidden>
Date: 2016-07-22 07:17:23

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 <redacted>
Signed-off-by: Andrew Donnellan <redacted>

---

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) ||
 	    pci_is_root_bus(bus->parent))
 		return pnv_eeh_root_reset(hose, option);
-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan@au1.ibm.com  IBM Australia Limited

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

From: Gavin Shan <hidden>
Date: 2016-07-25 00:13:51

On Fri, Jul 22, 2016 at 05:16:35PM +1000, Andrew Donnellan wrote:
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 <redacted>
Signed-off-by: Andrew Donnellan <redacted>
Reviewed-by: Gavin Shan <redacted>

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

From: Michael Ellerman <hidden>
Date: 2017-05-03 22:18:50

On Fri, 2016-07-22 at 07:16:35 UTC, Andrew Donnellan wrote:
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 <redacted>
Signed-off-by: Andrew Donnellan <redacted>
Reviewed-by: Gavin Shan <redacted>
Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/b7da1230532984fc00962b2c8be94a

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help