[Skiboot] [PATCH] opal/hmi: Catch NPU2 HMIs for opencapi

Frederic Barrat fbarrat at linux.ibm.com
Thu Aug 9 19:51:24 AEST 2018


HMIs for NPU2 are filtered with the 'compatible' string of the PHB, so
add opencapi to the mix.

Signed-off-by: Frederic Barrat <fbarrat at linux.ibm.com>
---
 core/hmi.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/core/hmi.c b/core/hmi.c
index e6fed405..8f9bf289 100644
--- a/core/hmi.c
+++ b/core/hmi.c
@@ -639,6 +639,12 @@ static void dump_scoms(int flat_chip_id, const char *unit, uint32_t *scoms,
 	}
 }
 
+static bool phb_is_npu2(struct dt_node *dn)
+{
+	return (dt_node_is_compatible(dn, "ibm,power9-npu-pciex") ||
+		dt_node_is_compatible(dn, "ibm,power9-npu-opencapi-pciex"));
+}
+
 static void find_npu2_checkstop_reason(int flat_chip_id,
 				      struct OpalHMIEvent *hmi_evt,
 				      uint64_t *out_flags)
@@ -662,7 +668,7 @@ static void find_npu2_checkstop_reason(int flat_chip_id,
 	/* Find the NPU on the chip associated with the HMI. */
 	for_each_phb(phb) {
 		/* NOTE: if a chip ever has >1 NPU this will need adjusting */
-		if (dt_node_is_compatible(phb->dt_node, "ibm,power9-npu-pciex") &&
+		if (phb_is_npu2(phb->dt_node) &&
 		    (dt_get_chip_id(phb->dt_node) == flat_chip_id)) {
 			p = phb_to_npu(phb);
 			break;
-- 
2.17.1



More information about the Skiboot mailing list