[Skiboot] [PATCH] hw/lpc: Fix SerIRQ interrupts on P9P

Oliver O'Halloran oohall at gmail.com
Fri Aug 23 18:16:02 AEST 2019


We need to do the LPC SerIRQ mux configuration on P9P too.

Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
---
 hw/lpc.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/hw/lpc.c b/hw/lpc.c
index 40abeda0a14b..354d2b4f0bd2 100644
--- a/hw/lpc.c
+++ b/hw/lpc.c
@@ -905,7 +905,8 @@ void lpc_finalize_interrupts(void)
 	for_each_chip(chip) {
 		if (chip->lpc && chip->psi &&
 		    (chip->type == PROC_CHIP_P9_NIMBUS ||
-		     chip->type == PROC_CHIP_P9_CUMULUS))
+		     chip->type == PROC_CHIP_P9_CUMULUS ||
+		     chip->type == PROC_CHIP_P9P))
 			lpc_create_int_map(chip->lpc, chip->psi->node);
 	}
 }
@@ -948,6 +949,7 @@ static void lpc_init_interrupts_one(struct proc_chip *chip)
 		break;
 	case PROC_CHIP_P9_NIMBUS:
 	case PROC_CHIP_P9_CUMULUS:
+	case PROC_CHIP_P9P:
 		/* On P9, we additionally setup the routing. */
 		lpc->has_serirq = true;
 		for (i = 0; i < LPC_NUM_SERIRQ; i++) {
@@ -1365,7 +1367,8 @@ void lpc_register_client(uint32_t chip_id,
 
 	has_routes =
 		chip->type == PROC_CHIP_P9_NIMBUS ||
-		chip->type == PROC_CHIP_P9_CUMULUS;
+		chip->type == PROC_CHIP_P9_CUMULUS ||
+		chip->type == PROC_CHIP_P9P;
 
 	if (policy != IRQ_ATTR_TARGET_OPAL && !has_routes) {
 		prerror("Chip doesn't support OS interrupt policy\n");
-- 
2.21.0



More information about the Skiboot mailing list