]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.14.60/irqchip-ls-scfg-msi-map-msis-in-the-iommu.patch
Fixes for 5.10
[thirdparty/kernel/stable-queue.git] / releases / 4.14.60 / irqchip-ls-scfg-msi-map-msis-in-the-iommu.patch
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
5
6 From: Laurentiu Tudor <laurentiu.tudor@nxp.com>
7
8 [ Upstream commit 0cdd431c337e99177e68597f3de34bedd3a20a74 ]
9
10 Add the required iommu_dma_map_msi_msg() when composing the MSI message,
11 otherwise the interrupts will not work.
12
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>
22 ---
23 drivers/irqchip/irq-ls-scfg-msi.c | 3 +++
24 1 file changed, 3 insertions(+)
25
26 --- a/drivers/irqchip/irq-ls-scfg-msi.c
27 +++ b/drivers/irqchip/irq-ls-scfg-msi.c
28 @@ -21,6 +21,7 @@
29 #include <linux/of_pci.h>
30 #include <linux/of_platform.h>
31 #include <linux/spinlock.h>
32 +#include <linux/dma-iommu.h>
33
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
37
38 if (msi_affinity_flag)
39 msg->data |= cpumask_first(data->common->affinity);
40 +
41 + iommu_dma_map_msi_msg(data->irq, msg);
42 }
43
44 static int ls_scfg_msi_set_affinity(struct irq_data *irq_data,