[Skiboot] [PATCH 2/3] hw/psi-p9: Follow the external IRQ policy
Oliver O'Halloran
oohall at gmail.com
Fri Aug 30 14:30:24 AEST 2019
The P8 PSI support follows the external IRQ policy and the P9 PSI
doesn't. There are no P9 platforms which define an .external_irq()
in the platform structure so this should not cause any functional
changes.
Linux is smart enough to mask LSIs without a registered handler so
directing them at the OS should be safe.
Cc: Cédric Le Goater <clg at kaod.org>
Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
---
hw/psi.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/hw/psi.c b/hw/psi.c
index d4b20f1f015f..01c815ccf7b2 100644
--- a/hw/psi.c
+++ b/hw/psi.c
@@ -601,6 +601,10 @@ static uint64_t psi_p9_irq_attributes(struct irq_source *is __unused,
if (is_lpc_serirq)
return lpc_get_irq_policy(psi->chip_id, idx - P9_PSI_IRQ_LPC_SIRQ0);
+ if (idx == P9_PSI_IRQ_EXTERNAL)
+ if (psi_ext_irq_policy == EXTERNAL_IRQ_POLICY_LINUX)
+ return IRQ_ATTR_TARGET_LINUX | IRQ_ATTR_TYPE_LSI;
+
return IRQ_ATTR_TARGET_OPAL | IRQ_ATTR_TYPE_LSI;
}
--
2.21.0
More information about the Skiboot
mailing list