diff options
-rw-r--r-- | hw/occ.c | 6 | ||||
-rw-r--r-- | hw/psi.c | 2 | ||||
-rw-r--r-- | include/skiboot.h | 2 |
3 files changed, 5 insertions, 5 deletions
@@ -524,13 +524,13 @@ static void occ_tmgt_interrupt(void) printf("OCC: TMGT interrupt !\n"); } -void occ_interrupt(void) +void occ_interrupt(uint32_t chip_id) { uint64_t ireg; int64_t rc; /* The OCC interrupt is used to mux up to 15 different sources */ - rc = xscom_readme(OCB_OCI_OCCMISC, &ireg); + rc = xscom_read(chip_id, OCB_OCI_OCCMISC, &ireg); if (rc) { prerror("OCC: Failed to read interrupt status !\n"); /* Should we mask it in the XIVR ? */ @@ -539,7 +539,7 @@ void occ_interrupt(void) prlog(PR_TRACE, "OCC: IRQ received: %04llx\n", ireg >> 48); /* Clear the bits */ - xscom_writeme(OCB_OCI_OCCMISC_AND, ~ireg); + xscom_write(chip_id, OCB_OCI_OCCMISC_AND, ~ireg); /* Dispatch */ if (ireg & OCB_OCI_OCIMISC_IRQ_TMGT) @@ -278,7 +278,7 @@ static void handle_extra_interrupt(struct psi *psi) * when available. */ if (val & PSIHB_IRQ_STAT_OCC) - occ_interrupt(); + occ_interrupt(psi->chip_id); if (val & PSIHB_IRQ_STAT_FSI) printf("PSI: FSI irq received\n"); if (val & PSIHB_IRQ_STAT_LPC) { diff --git a/include/skiboot.h b/include/skiboot.h index 0991ca3..1b55638 100644 --- a/include/skiboot.h +++ b/include/skiboot.h @@ -210,7 +210,7 @@ extern void uart_setup_linux_passthrough(void); extern void uart_setup_opal_console(void); /* OCC interrupt */ -extern void occ_interrupt(void); +extern void occ_interrupt(uint32_t chip_id); extern void occ_send_dummy_interrupt(void); /* Flatten device-tree */ |