Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1414610 > unrolled thread

[PATCH v2 06/11] iommu/ipmmu-vmsa: Teach xlate() to skip disabled iommus

Started byMagnus Damm <magnus.damm@gmail.com>
First post2016-06-06 06:10 +0200
Last post2016-06-08 02:30 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v2 06/11] iommu/ipmmu-vmsa: Teach xlate() to skip disabled iommus Magnus Damm <magnus.damm@gmail.com> - 2016-06-06 06:10 +0200
    Re: [PATCH v2 06/11] iommu/ipmmu-vmsa: Teach xlate() to skip disabled iommus Laurent Pinchart <laurent.pinchart@ideasonboard.com> - 2016-06-08 02:30 +0200

#1414610 — [PATCH v2 06/11] iommu/ipmmu-vmsa: Teach xlate() to skip disabled iommus

FromMagnus Damm <magnus.damm@gmail.com>
Date2016-06-06 06:10 +0200
Subject[PATCH v2 06/11] iommu/ipmmu-vmsa: Teach xlate() to skip disabled iommus
Message-ID<rGU1s-8cc-29@gated-at.bofh.it>
From: Magnus Damm <damm+renesas@opensource.se>

The ->xlate() call gets invoked even though the iommu
device has status = "disabled" in DT, so make sure we
skip over disabled devices.

In my mind it would make sense to have this at some
shared level, but I guess some users may want to
configure the iommu regardless of DT state.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Changes since V1:
 - Reworked slightly to fit on top of updated patch order

 drivers/iommu/ipmmu-vmsa.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- 0017/drivers/iommu/ipmmu-vmsa.c
+++ work/drivers/iommu/ipmmu-vmsa.c	2016-06-06 10:58:18.530607110 +0900
@@ -1001,7 +1001,13 @@ static struct iommu_group *ipmmu_device_
 static int ipmmu_of_xlate_dma(struct device *dev,
 			      struct of_phandle_args *spec)
 {
-	/* dummy callback to satisfy of_iommu_configure() */
+	/* If the IPMMU device is disabled in DT then return error
+	 * to make sure the of_iommu code does not install ops
+	 * even though the iommu device is disabled
+	 */
+	if (!of_device_is_available(spec->np))
+		return -ENODEV;
+
 	return 0;
 }
 

[toc] | [next] | [standalone]


#1416780

FromLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Date2016-06-08 02:30 +0200
Message-ID<rHzxD-1e6-5@gated-at.bofh.it>
In reply to#1414610
Hi Magnus,

Thank you for the patch.

I agree with the comment that Geert made on v1, and I haven't seen you 
replying to it or addressing it.

Quoting Geert,

"I think this should be handled in drivers/iommu/of_iommu.c:of_iommu_init()
instead, cfr. commit 3e5dd6f6e690048d ("clk: Ignore disabled DT clock
providers")."

On Monday 06 Jun 2016 12:58:22 Magnus Damm wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
> 
> The ->xlate() call gets invoked even though the iommu
> device has status = "disabled" in DT, so make sure we
> skip over disabled devices.
> 
> In my mind it would make sense to have this at some
> shared level, but I guess some users may want to
> configure the iommu regardless of DT state.
> 
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
> 
>  Changes since V1:
>  - Reworked slightly to fit on top of updated patch order
> 
>  drivers/iommu/ipmmu-vmsa.c |    8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> --- 0017/drivers/iommu/ipmmu-vmsa.c
> +++ work/drivers/iommu/ipmmu-vmsa.c	2016-06-06 10:58:18.530607110 +0900
> @@ -1001,7 +1001,13 @@ static struct iommu_group *ipmmu_device_
>  static int ipmmu_of_xlate_dma(struct device *dev,
>  			      struct of_phandle_args *spec)
>  {
> -	/* dummy callback to satisfy of_iommu_configure() */
> +	/* If the IPMMU device is disabled in DT then return error
> +	 * to make sure the of_iommu code does not install ops
> +	 * even though the iommu device is disabled
> +	 */
> +	if (!of_device_is_available(spec->np))
> +		return -ENODEV;
> +
>  	return 0;
>  }

-- 
Regards,

Laurent Pinchart

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web