[Skiboot] [PATCH 2/2] npu2: Purge cache when resetting a GPU

Reza Arbab arbab at linux.ibm.com
Sat Jun 8 02:08:30 AEST 2019


After putting all a GPU's links in reset, do a cache purge in case we
have CPU cache lines belonging to the now-unaccessible GPU memory.

Fixes: 68d11e4460ec ("npu2: Reset NVLinks when resetting a GPU")
Cc: skiboot-stable at lists.ozlabs.org
Signed-off-by: Reza Arbab <arbab at linux.ibm.com>
---
 hw/npu2.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/hw/npu2.c b/hw/npu2.c
index 774592911110..3a2808d7133c 100644
--- a/hw/npu2.c
+++ b/hw/npu2.c
@@ -561,6 +561,8 @@ static int64_t npu2_gpu_bridge_sec_bus_reset(void *dev,
 
 	gpu = list_top(&pd->children, struct pci_device, link);
 	if (gpu && (*data & PCI_CFG_BRCTL_SECONDARY_RESET)) {
+		int64_t rc;
+
 		dt_for_each_compatible(dt_root, np, "ibm,power9-npu-pciex") {
 			npphb = pci_get_phb(dt_prop_get_cell(np,
 					"ibm,opal-phbid", 1));
@@ -574,6 +576,10 @@ static int64_t npu2_gpu_bridge_sec_bus_reset(void *dev,
 					npu2_dev_procedure_reset(ndev);
 			}
 		}
+
+		rc = purge_l2_l3_caches();
+		if (rc)
+			return rc;
 	}
 
 	return OPAL_PARTIAL;
-- 
1.8.3.1



More information about the Skiboot mailing list