1 From foo@baz Sat Jul 28 10:25:26 CEST 2018
2 From: Laurentiu Tudor <laurentiu.tudor@nxp.com>
3 Date: Tue, 5 Jun 2018 15:27:27 +0300
4 Subject: irqchip/ls-scfg-msi: Map MSIs in the iommu
6 From: Laurentiu Tudor <laurentiu.tudor@nxp.com>
8 [ Upstream commit 0cdd431c337e99177e68597f3de34bedd3a20a74 ]
10 Add the required iommu_dma_map_msi_msg() when composing the MSI message,
11 otherwise the interrupts will not work.
13 Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
14 Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
15 Cc: jason@lakedaemon.net
16 Cc: marc.zyngier@arm.com
17 Cc: zhiqiang.hou@nxp.com
18 Cc: minghuan.lian@nxp.com
19 Link: https://lkml.kernel.org/r/20180605122727.12831-1-laurentiu.tudor@nxp.com
20 Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
21 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
23 drivers/irqchip/irq-ls-scfg-msi.c | 3 +++
24 1 file changed, 3 insertions(+)
26 --- a/drivers/irqchip/irq-ls-scfg-msi.c
27 +++ b/drivers/irqchip/irq-ls-scfg-msi.c
29 #include <linux/of_pci.h>
30 #include <linux/of_platform.h>
31 #include <linux/spinlock.h>
32 +#include <linux/dma-iommu.h>
34 #define MSI_IRQS_PER_MSIR 32
35 #define MSI_MSIR_OFFSET 4
36 @@ -94,6 +95,8 @@ static void ls_scfg_msi_compose_msg(stru
38 if (msi_affinity_flag)
39 msg->data |= cpumask_first(data->common->affinity);
41 + iommu_dma_map_msi_msg(data->irq, msg);
44 static int ls_scfg_msi_set_affinity(struct irq_data *irq_data,