diff options
author | Cédric Le Goater <clg@kaod.org> | 2020-11-04 23:20:55 +0100 |
---|---|---|
committer | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2020-11-27 15:37:15 +0530 |
commit | 73bda5eff300a6d6f1a548942d878de48d034341 (patch) | |
tree | 8a207f96298b2110bb42b3459a2adf589bca31f0 /hw | |
parent | 183861801d5529dd03108f30f2677bcf5b57525c (diff) | |
download | skiboot-73bda5eff300a6d6f1a548942d878de48d034341.zip skiboot-73bda5eff300a6d6f1a548942d878de48d034341.tar.gz skiboot-73bda5eff300a6d6f1a548942d878de48d034341.tar.bz2 |
psi/p9: mask all sources at init
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/psi.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -530,6 +530,17 @@ static const char *psi_p9_irq_names[P9_PSI_NUM_IRQS] = { "psu" }; +static void psi_p9_mask_all(struct psi *psi) +{ + struct irq_source *is; + int isn; + + /* Mask all sources */ + is = irq_find_source(psi->interrupt); + for (isn = is->start; isn < is->end; isn++) + xive_source_mask(is, isn); +} + static void psi_p9_mask_unhandled_irq(struct irq_source *is, uint32_t isn) { struct psi *psi = is->data; @@ -709,6 +720,8 @@ static void psi_init_p9_interrupts(struct psi *psi) 12, psi->esb_mmio, XIVE_SRC_LSI, psi, &psi_p9_irq_ops); + psi_p9_mask_all(psi); + /* Setup interrupt offset */ val = xive_get_notify_base(psi->interrupt); val <<= 32; |