hw/lpc: Configure SerIRQ interrupts on P9P
We need to do the LPC SerIRQ mux configuration on P9P too. Without this
we don't get UART interrupts from the BMC which makes the UART console
*much* less responsive than it should be.
@@ -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");
