2018-06-05 12:38:18

by Laurentiu Tudor

[permalink] [raw]
Subject: [PATCH] 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: Laurentiu Tudor <[email protected]>
---
drivers/irqchip/irq-ls-scfg-msi.c | 3 +++
1 file changed, 3 insertions(+)

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,
--
2.17.0



Subject: [tip:irq/urgent] irqchip/ls-scfg-msi: Map MSIs in the iommu

Commit-ID: 0cdd431c337e99177e68597f3de34bedd3a20a74
Gitweb: https://git.kernel.org/tip/0cdd431c337e99177e68597f3de34bedd3a20a74
Author: Laurentiu Tudor <[email protected]>
AuthorDate: Tue, 5 Jun 2018 15:27:27 +0300
Committer: Thomas Gleixner <[email protected]>
CommitDate: Wed, 6 Jun 2018 12:05:19 +0200

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: Laurentiu Tudor <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: https://lkml.kernel.org/r/[email protected]

---
drivers/irqchip/irq-ls-scfg-msi.c | 3 +++
1 file changed, 3 insertions(+)

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,

2018-06-06 10:24:26

by Bharat Bhushan

[permalink] [raw]
Subject: RE: [upstream-release] [PATCH] irqchip/ls-scfg-msi: map MSIs in the iommu



> -----Original Message-----
> From: [email protected] [mailto:upstream-
> [email protected]] On Behalf Of Laurentiu Tudor
> Sent: Tuesday, June 5, 2018 5:57 PM
> To: [email protected]; [email protected]; [email protected]; linux-
> [email protected]
> Cc: M.h. Lian <[email protected]>; Z.q. Hou <[email protected]>;
> Laurentiu Tudor <[email protected]>
> Subject: [upstream-release] [PATCH] 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: Laurentiu Tudor <[email protected]>

Reviewed-by: Bharat Bhushan <[email protected]>

Thanks
-Bharat
> ---
> drivers/irqchip/irq-ls-scfg-msi.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> 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,
> --
> 2.17.0
>
> _______________________________________________
> upstream-release mailing list
> [email protected]
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flinux.fr
> eescale.net%2Fmailman%2Flistinfo%2Fupstream-
> release&data=02%7C01%7Cbharat.bhushan%40nxp.com%7Cba9303002bf142d9
> b63308d5cadfc179%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
> 6637984747938689&sdata=3Hg2OVpp%2Bhfdj0qbCFLWLwBn0RFoNhlPPdmxGf
> AspyA%3D&reserved=0