Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 10 Jun 2018 16:00:13 +0000 (09:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 10 Jun 2018 16:00:13 +0000 (09:00 -0700)
Pull irq fixes from Thomas Gleixner:
 "Two small fixlets:

   - Add the missing iomu mapping call in the Freescale/NXP/Qualcomm/
     whoever owns it now/ SCFG MSI irqchip driver. Otherwise IRQs wont
     work at all.

   - Fix a SMP=n build warning in the STM32 irq chip driver"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/ls-scfg-msi: Map MSIs in the iommu
  irqchip/stm32: Fix non-SMP build warning

drivers/irqchip/irq-ls-scfg-msi.c
drivers/irqchip/irq-stm32-exti.c

index 57e3d90..1ec3bfe 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/of_pci.h>
 #include <linux/of_platform.h>
 #include <linux/spinlock.h>
+#include <linux/dma-iommu.h>
 
 #define MSI_IRQS_PER_MSIR      32
 #define MSI_MSIR_OFFSET                4
@@ -94,6 +95,8 @@ static void ls_scfg_msi_compose_msg(struct irq_data *data, struct msi_msg *msg)
 
        if (msi_affinity_flag)
                msg->data |= cpumask_first(data->common->affinity);
+
+       iommu_dma_map_msi_msg(data->irq, msg);
 }
 
 static int ls_scfg_msi_set_affinity(struct irq_data *irq_data,
index 5089c1e..3a7e890 100644 (file)
@@ -552,9 +552,7 @@ static struct irq_chip stm32_exti_h_chip = {
        .irq_set_type           = stm32_exti_h_set_type,
        .irq_set_wake           = stm32_exti_h_set_wake,
        .flags                  = IRQCHIP_MASK_ON_SUSPEND,
-#ifdef CONFIG_SMP
-       .irq_set_affinity       = stm32_exti_h_set_affinity,
-#endif
+       .irq_set_affinity       = IS_ENABLED(CONFIG_SMP) ? stm32_exti_h_set_affinity : NULL,
 };
 
 static int stm32_exti_h_domain_alloc(struct irq_domain *dm,