genirq/msi: Limit level-triggered MSI to platform devices

Nobody would be insane enough to try and use level triggered
MSIs on PCI, but let's make sure it doesn't happen. Also,
let's mandate that the irqchip backing the platform MSI domain
is providing the IRQCHIP_SUPPORTS_LEVEL_MSI flag.

Signed-off-by: Marc Zyngier <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Rob Herring <[email protected]>
Cc: Jason Cooper <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Srinivas Kandagatla <[email protected]>
Cc: Thomas Petazzoni <[email protected]>
Cc: Miquel Raynal <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
This commit is contained in:
Marc Zyngier 2018-05-08 13:14:31 +01:00 • committed by Thomas Gleixner
commit 6988e0e0d2
4 changed files with 9 additions and 0 deletions

View file

@ -163,6 +163,8 @@ struct irq_domain *fsl_mc_msi_create_irq_domain(struct fwnode_handle *fwnode,
{
struct irq_domain *domain;
if (WARN_ON((info->flags & MSI_FLAG_LEVEL_CAPABLE)))
info->flags &= ~MSI_FLAG_LEVEL_CAPABLE;
if (info->flags & MSI_FLAG_USE_DEF_DOM_OPS)
fsl_mc_msi_update_dom_ops(info);
if (info->flags & MSI_FLAG_USE_DEF_CHIP_OPS)