[GIT pull] irq updates for 4.18

From: Thomas Gleixner
Date: Sun Jun 10 2018 - 01:30:50 EST


Linus,

please pull the latest irq-urgent-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-urgent-for-linus

Two small fixlets:

- Add the missing iomu mapping call in the Fleescale/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

Thanks,

tglx

------------------>
Arnd Bergmann (1):
irqchip/stm32: Fix non-SMP build warning

Laurentiu Tudor (1):
irqchip/ls-scfg-msi: Map MSIs in the iommu


drivers/irqchip/irq-ls-scfg-msi.c | 3 +++
drivers/irqchip/irq-stm32-exti.c | 4 +---
2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/irqchip/irq-ls-scfg-msi.c b/drivers/irqchip/irq-ls-scfg-msi.c
index 57e3d900f19e..1ec3bfe56693 100644
--- a/drivers/irqchip/irq-ls-scfg-msi.c
+++ b/drivers/irqchip/irq-ls-scfg-msi.c
@@ -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,
diff --git a/drivers/irqchip/irq-stm32-exti.c b/drivers/irqchip/irq-stm32-exti.c
index 5089c1e2838d..3a7e8905a97e 100644
--- a/drivers/irqchip/irq-stm32-exti.c
+++ b/drivers/irqchip/irq-stm32-exti.c
@@ -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,