On Mon, 23 Apr 2018, Marc Zyngier wrote:

> 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 an irq_set_type method (or the whole thing would
> be a bit useless).
> 
> Signed-off-by: Marc Zyngier <[email protected]>
> ---
>  drivers/base/platform-msi.c | 3 +++
>  drivers/pci/msi.c           | 3 +++
>  2 files changed, 6 insertions(+)
> 
> diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c
> index 8e22073aeeed..3b9694a6beaa 100644
> --- a/drivers/base/platform-msi.c
> +++ b/drivers/base/platform-msi.c
> @@ -101,6 +101,9 @@ static void platform_msi_update_chip_ops(struct 
> msi_domain_info *info)
>               chip->irq_set_affinity = msi_domain_set_affinity;
>       if (!chip->irq_write_msi_msg)
>               chip->irq_write_msi_msg = platform_msi_write_msg;
> +     if (WARN_ON((info->flags & MSI_FLAG_LEVEL_CAPABLE) &&
> +                 !chip->irq_set_type))

Shouldn't we just require something like IRQCHIP_SUPPORTS_MSI_LEVEL or such
in chip->flags being set instead?

Thanks,

        tglx

Reply via email to