diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-10 09:00:13 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-10 09:00:13 -0700 |
commit | 9f3fbe852a510fbc0782f71e3b767418ed809cf4 (patch) | |
tree | f05559bf784d614630f6729ea318b6775d95718f | |
parent | a8a4021b776b4475e8a4657185a718cdfc07b88c (diff) | |
parent | 0cdd431c337e99177e68597f3de34bedd3a20a74 (diff) |
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
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
-rw-r--r-- | drivers/irqchip/irq-ls-scfg-msi.c | 3 | ||||
-rw-r--r-- | 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, |