Commit 0cdd431c authored by Laurentiu Tudor's avatar Laurentiu Tudor Committed by Thomas Gleixner

irqchip/ls-scfg-msi: Map MSIs in the iommu

Add the required iommu_dma_map_msi_msg() when composing the MSI message,
otherwise the interrupts will not work.
Signed-off-by: default avatarLaurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: jason@lakedaemon.net
Cc: marc.zyngier@arm.com
Cc: zhiqiang.hou@nxp.com
Cc: minghuan.lian@nxp.com
Link: https://lkml.kernel.org/r/20180605122727.12831-1-laurentiu.tudor@nxp.com
parent a84277bf
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <linux/of_pci.h> #include <linux/of_pci.h>
#include <linux/of_platform.h> #include <linux/of_platform.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <linux/dma-iommu.h>
#define MSI_IRQS_PER_MSIR 32 #define MSI_IRQS_PER_MSIR 32
#define MSI_MSIR_OFFSET 4 #define MSI_MSIR_OFFSET 4
...@@ -94,6 +95,8 @@ static void ls_scfg_msi_compose_msg(struct irq_data *data, struct msi_msg *msg) ...@@ -94,6 +95,8 @@ static void ls_scfg_msi_compose_msg(struct irq_data *data, struct msi_msg *msg)
if (msi_affinity_flag) if (msi_affinity_flag)
msg->data |= cpumask_first(data->common->affinity); 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, static int ls_scfg_msi_set_affinity(struct irq_data *irq_data,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment