diff mbox series

[v2,38/59] psi/p10: Mask all sources at init

Message ID 20210804072137.1147875-39-hegdevasant@linux.vnet.ibm.com
State Accepted
Headers show
Series P10 Enablement | expand

Commit Message

Vasant Hegde Aug. 4, 2021, 7:21 a.m. UTC
From: Cédric Le Goater <clg@kaod.org>

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
---
 hw/psi.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/hw/psi.c b/hw/psi.c
index e9b8e2ea7..954b7bf68 100644
--- a/hw/psi.c
+++ b/hw/psi.c
@@ -766,6 +766,8 @@  static void psi_init_p10_interrupts(struct psi *psi)
 	u64 val;
 	uint32_t esb_shift = 16;
 	uint32_t flags = XIVE_SRC_LSI;
+	struct irq_source *is;
+	int isn;
 
 	/* Grab chip */
 	chip = get_chip(psi->chip_id);
@@ -813,6 +815,11 @@  static void psi_init_p10_interrupts(struct psi *psi)
 				esb_shift, psi->esb_mmio, flags,
 				psi, &psi_p10_irq_ops);
 
+	/* Mask all sources */
+	is = irq_find_source(psi->interrupt);
+	for (isn = is->start; isn < is->end; isn++)
+		xive2_source_mask(is, isn);
+
 	/* Reset irq handling and switch to ESB mode */
 	out_be64(psi->regs + PSIHB_INTERRUPT_CONTROL, PSIHB_IRQ_RESET);
 	out_be64(psi->regs + PSIHB_INTERRUPT_CONTROL, 0);