diff mbox

[v2,02/02] arm64: dts: r8a7795: Hook up SYS-DMAC to IPMMU

Message ID 148211399048.8020.7153630286323992170.sendpatchset@little-apple (mailing list archive)
State Superseded
Delegated to: Simon Horman
Headers show

Commit Message

Magnus Damm Dec. 19, 2016, 2:19 a.m. UTC
From: Magnus Damm <damm+renesas@opensource.se>

Hook up r8a7795 DMAC nodes to IPMMU-MP1, IPMMU-DS0 and IPMMU-DS1.

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

 Changes from V1:
 - None

 arch/arm64/boot/dts/renesas/r8a7795.dtsi |   40 ++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

Comments

Laurent Pinchart Dec. 19, 2016, 7:51 a.m. UTC | #1
Hi Magnus,

Thank you for the patch.

On Monday 19 Dec 2016 11:19:50 Magnus Damm wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
> 
> Hook up r8a7795 DMAC nodes to IPMMU-MP1, IPMMU-DS0 and IPMMU-DS1.

I assume you have verified that hooking up a disabled IOMMU doesn't adversely 
affect system operation.

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
> 
>  Changes from V1:
>  - None
> 
>  arch/arm64/boot/dts/renesas/r8a7795.dtsi |   40 +++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
> 
> --- 0002/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> +++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi	2016-12-19
> 11:03:23.310607110 +0900 @@ -368,6 +368,14 @@
>  			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
>  			#dma-cells = <1>;
>  			dma-channels = <16>;
> +			iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
> +			       <&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
> +			       <&ipmmu_mp1 4>, <&ipmmu_mp1 5>,
> +			       <&ipmmu_mp1 6>, <&ipmmu_mp1 7>,
> +			       <&ipmmu_mp1 8>, <&ipmmu_mp1 9>,
> +			       <&ipmmu_mp1 10>, <&ipmmu_mp1 11>,
> +			       <&ipmmu_mp1 12>, <&ipmmu_mp1 13>,
> +			       <&ipmmu_mp1 14>, <&ipmmu_mp1 15>;

This is the audio DMAC, you should update the commit subject.

With this fixed,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

>  		};
> 
>  		audma1: dma-controller@ec720000 {
> @@ -401,6 +409,14 @@
>  			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
>  			#dma-cells = <1>;
>  			dma-channels = <16>;
> +			iommus = <&ipmmu_mp1 16>, <&ipmmu_mp1 17>,
> +			       <&ipmmu_mp1 18>, <&ipmmu_mp1 19>,
> +			       <&ipmmu_mp1 20>, <&ipmmu_mp1 21>,
> +			       <&ipmmu_mp1 22>, <&ipmmu_mp1 23>,
> +			       <&ipmmu_mp1 24>, <&ipmmu_mp1 25>,
> +			       <&ipmmu_mp1 26>, <&ipmmu_mp1 27>,
> +			       <&ipmmu_mp1 28>, <&ipmmu_mp1 29>,
> +			       <&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
>  		};
> 
>  		pfc: pfc@e6060000 {
> @@ -567,6 +583,14 @@
>  			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
>  			#dma-cells = <1>;
>  			dma-channels = <16>;
> +			iommus = <&ipmmu_ds0 0>, <&ipmmu_ds0 1>,
> +			       <&ipmmu_ds0 2>, <&ipmmu_ds0 3>,
> +			       <&ipmmu_ds0 4>, <&ipmmu_ds0 5>,
> +			       <&ipmmu_ds0 6>, <&ipmmu_ds0 7>,
> +			       <&ipmmu_ds0 8>, <&ipmmu_ds0 9>,
> +			       <&ipmmu_ds0 10>, <&ipmmu_ds0 11>,
> +			       <&ipmmu_ds0 12>, <&ipmmu_ds0 13>,
> +			       <&ipmmu_ds0 14>, <&ipmmu_ds0 15>;
>  		};
> 
>  		dmac1: dma-controller@e7300000 {
> @@ -600,6 +624,14 @@
>  			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
>  			#dma-cells = <1>;
>  			dma-channels = <16>;
> +			iommus = <&ipmmu_ds1 0>, <&ipmmu_ds1 1>,
> +			       <&ipmmu_ds1 2>, <&ipmmu_ds1 3>,
> +			       <&ipmmu_ds1 4>, <&ipmmu_ds1 5>,
> +			       <&ipmmu_ds1 6>, <&ipmmu_ds1 7>,
> +			       <&ipmmu_ds1 8>, <&ipmmu_ds1 9>,
> +			       <&ipmmu_ds1 10>, <&ipmmu_ds1 11>,
> +			       <&ipmmu_ds1 12>, <&ipmmu_ds1 13>,
> +			       <&ipmmu_ds1 14>, <&ipmmu_ds1 15>;
>  		};
> 
>  		dmac2: dma-controller@e7310000 {
> @@ -633,6 +665,14 @@
>  			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
>  			#dma-cells = <1>;
>  			dma-channels = <16>;
> +			iommus = <&ipmmu_ds1 16>, <&ipmmu_ds1 17>,
> +			       <&ipmmu_ds1 18>, <&ipmmu_ds1 19>,
> +			       <&ipmmu_ds1 20>, <&ipmmu_ds1 21>,
> +			       <&ipmmu_ds1 22>, <&ipmmu_ds1 23>,
> +			       <&ipmmu_ds1 24>, <&ipmmu_ds1 25>,
> +			       <&ipmmu_ds1 26>, <&ipmmu_ds1 27>,
> +			       <&ipmmu_ds1 28>, <&ipmmu_ds1 29>,
> +			       <&ipmmu_ds1 30>, <&ipmmu_ds1 31>;
>  		};
> 
>  		avb: ethernet@e6800000 {
Laurent Pinchart Dec. 19, 2016, 8:39 a.m. UTC | #2
Hi Magnus,

On Monday 19 Dec 2016 09:51:44 Laurent Pinchart wrote:
> On Monday 19 Dec 2016 11:19:50 Magnus Damm wrote:
> > From: Magnus Damm <damm+renesas@opensource.se>
> > 
> > Hook up r8a7795 DMAC nodes to IPMMU-MP1, IPMMU-DS0 and IPMMU-DS1.
> 
> I assume you have verified that hooking up a disabled IOMMU doesn't
> adversely affect system operation.

I saw in a reply to v1 that you have verified this on top of the renesas-
drivers tree, so I give it a try on mainline. The DMAC devices get probed 
properly and dmatest completes without failures.

> > Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> > ---
> > 
> >  Changes from V1:
> >  - None
> >  
> >  arch/arm64/boot/dts/renesas/r8a7795.dtsi |   40 ++++++++++++++++++++++++
> >  1 file changed, 40 insertions(+)
Geert Uytterhoeven Feb. 7, 2017, 10:23 a.m. UTC | #3
Hi Magnus,

On Mon, Dec 19, 2016 at 3:19 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
>
> Hook up r8a7795 DMAC nodes to IPMMU-MP1, IPMMU-DS0 and IPMMU-DS1.
>
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
>
>  Changes from V1:
>  - None
>
>  arch/arm64/boot/dts/renesas/r8a7795.dtsi |   40 ++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>
> --- 0002/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> +++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi       2016-12-19 11:03:23.310607110 +0900
> @@ -368,6 +368,14 @@
>                         power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
>                         #dma-cells = <1>;
>                         dma-channels = <16>;
> +                       iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
> +                              <&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
> +                              <&ipmmu_mp1 4>, <&ipmmu_mp1 5>,
> +                              <&ipmmu_mp1 6>, <&ipmmu_mp1 7>,
> +                              <&ipmmu_mp1 8>, <&ipmmu_mp1 9>,
> +                              <&ipmmu_mp1 10>, <&ipmmu_mp1 11>,
> +                              <&ipmmu_mp1 12>, <&ipmmu_mp1 13>,
> +                              <&ipmmu_mp1 14>, <&ipmmu_mp1 15>;

For consistency, you may want to add these line just below the power-domains
property (everywhere).

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox

Patch

--- 0002/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ work/arch/arm64/boot/dts/renesas/r8a7795.dtsi	2016-12-19 11:03:23.310607110 +0900
@@ -368,6 +368,14 @@ 
 			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
+			       <&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
+			       <&ipmmu_mp1 4>, <&ipmmu_mp1 5>,
+			       <&ipmmu_mp1 6>, <&ipmmu_mp1 7>,
+			       <&ipmmu_mp1 8>, <&ipmmu_mp1 9>,
+			       <&ipmmu_mp1 10>, <&ipmmu_mp1 11>,
+			       <&ipmmu_mp1 12>, <&ipmmu_mp1 13>,
+			       <&ipmmu_mp1 14>, <&ipmmu_mp1 15>;
 		};
 
 		audma1: dma-controller@ec720000 {
@@ -401,6 +409,14 @@ 
 			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			iommus = <&ipmmu_mp1 16>, <&ipmmu_mp1 17>,
+			       <&ipmmu_mp1 18>, <&ipmmu_mp1 19>,
+			       <&ipmmu_mp1 20>, <&ipmmu_mp1 21>,
+			       <&ipmmu_mp1 22>, <&ipmmu_mp1 23>,
+			       <&ipmmu_mp1 24>, <&ipmmu_mp1 25>,
+			       <&ipmmu_mp1 26>, <&ipmmu_mp1 27>,
+			       <&ipmmu_mp1 28>, <&ipmmu_mp1 29>,
+			       <&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
 		};
 
 		pfc: pfc@e6060000 {
@@ -567,6 +583,14 @@ 
 			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			iommus = <&ipmmu_ds0 0>, <&ipmmu_ds0 1>,
+			       <&ipmmu_ds0 2>, <&ipmmu_ds0 3>,
+			       <&ipmmu_ds0 4>, <&ipmmu_ds0 5>,
+			       <&ipmmu_ds0 6>, <&ipmmu_ds0 7>,
+			       <&ipmmu_ds0 8>, <&ipmmu_ds0 9>,
+			       <&ipmmu_ds0 10>, <&ipmmu_ds0 11>,
+			       <&ipmmu_ds0 12>, <&ipmmu_ds0 13>,
+			       <&ipmmu_ds0 14>, <&ipmmu_ds0 15>;
 		};
 
 		dmac1: dma-controller@e7300000 {
@@ -600,6 +624,14 @@ 
 			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			iommus = <&ipmmu_ds1 0>, <&ipmmu_ds1 1>,
+			       <&ipmmu_ds1 2>, <&ipmmu_ds1 3>,
+			       <&ipmmu_ds1 4>, <&ipmmu_ds1 5>,
+			       <&ipmmu_ds1 6>, <&ipmmu_ds1 7>,
+			       <&ipmmu_ds1 8>, <&ipmmu_ds1 9>,
+			       <&ipmmu_ds1 10>, <&ipmmu_ds1 11>,
+			       <&ipmmu_ds1 12>, <&ipmmu_ds1 13>,
+			       <&ipmmu_ds1 14>, <&ipmmu_ds1 15>;
 		};
 
 		dmac2: dma-controller@e7310000 {
@@ -633,6 +665,14 @@ 
 			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
 			#dma-cells = <1>;
 			dma-channels = <16>;
+			iommus = <&ipmmu_ds1 16>, <&ipmmu_ds1 17>,
+			       <&ipmmu_ds1 18>, <&ipmmu_ds1 19>,
+			       <&ipmmu_ds1 20>, <&ipmmu_ds1 21>,
+			       <&ipmmu_ds1 22>, <&ipmmu_ds1 23>,
+			       <&ipmmu_ds1 24>, <&ipmmu_ds1 25>,
+			       <&ipmmu_ds1 26>, <&ipmmu_ds1 27>,
+			       <&ipmmu_ds1 28>, <&ipmmu_ds1 29>,
+			       <&ipmmu_ds1 30>, <&ipmmu_ds1 31>;
 		};
 
 		avb: ethernet@e6800000 {