linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Joerg Roedel <joro@8bytes.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Rob Herring <robh+dt@kernel.org>, Pawel Moll <Pawel.Moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Arnd Bergmann <arnd@arndb.de>, Will Deacon <Will.Deacon@arm.com>,
	Cho KyongHo <pullip.cho@samsung.com>,
	Grant Grundler <grundler@chromium.org>,
	Dave P Martin <Dave.Martin@arm.com>,
	Marc Zyngier <Marc.Zyngier@arm.com>,
	Hiroshi Doyu <hdoyu@nvidia.com>,
	Olav Haugan <ohaugan@codeaurora.org>,
	Varun Sethi <varun.sethi@freescale.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4] devicetree: Add generic IOMMU device tree bindings
Date: Thu, 31 Jul 2014 12:46:49 +0200	[thread overview]
Message-ID: <20140731104648.GD7458@ulmo> (raw)
In-Reply-To: <20140731102351.GJ9809@8bytes.org>


[-- Attachment #1.1: Type: text/plain, Size: 654 bytes --]

On Thu, Jul 31, 2014 at 12:23:51PM +0200, Joerg Roedel wrote:
> On Thu, Jul 31, 2014 at 12:18:08PM +0200, Thierry Reding wrote:
> > It looks like this hasn't been applied yet, so I can send out a v5
> > shortly with the requested changes addressed.
> 
> Yes, please send a v5 with the requested changes and all Reviewed-bys
> and Acked-bys this got so far. I'll take it into my tree then if nobody
> else objects.

I just sent out v5, although I trimmed the Cc list a little since it was
growing somewhat long. But I've kept everyone that gave feedback on v4
as well as the lists.

For reference I've attached the diff since v4.

Thierry

[-- Attachment #1.2: v5.patch --]
[-- Type: text/x-diff, Size: 3033 bytes --]

diff --git a/Documentation/devicetree/bindings/iommu/iommu.txt b/Documentation/devicetree/bindings/iommu/iommu.txt
index 464a81eaaf61..5a8b4624defc 100644
--- a/Documentation/devicetree/bindings/iommu/iommu.txt
+++ b/Documentation/devicetree/bindings/iommu/iommu.txt
@@ -82,7 +82,9 @@ device's parent node it will be ignored. An exception to this rule is if the
 referenced IOMMU is disabled, in which case the "dma-ranges" property of the
 parent shall take effect. Note that merely disabling a device tree node does
 not guarantee that the IOMMU is really disabled since the hardware may not
-have a means to turn off translation.
+have a means to turn off translation. But it is invalid in such cases to
+disable the IOMMU's device tree node in the first place because it would
+prevent any driver from properly setting up the translations.
 
 
 Notes:
@@ -108,7 +110,7 @@ Single-master IOMMU:
 	};
 
 	master {
-		iommus = <&/iommu>;
+		iommus = <&{/iommu}>;
 	};
 
 Multiple-master IOMMU with fixed associations:
@@ -117,8 +119,12 @@ Multiple-master IOMMU with fixed associations:
 	/* multiple-master IOMMU */
 	iommu {
 		/*
-		 * Masters are statically associated with this IOMMU and
-		 * address translation is always enabled.
+		 * Masters are statically associated with this IOMMU and share
+		 * the same address translations because the IOMMU does not
+		 * have sufficient information to distinguish between masters.
+		 *
+		 * Consequently address translation is always on or off for
+		 * all masters at any given point in time.
 		 */
 		#iommu-cells = <0>;
 	};
@@ -126,13 +132,13 @@ Multiple-master IOMMU with fixed associations:
 	/* static association with IOMMU */
 	master@1 {
 		reg = <1>;
-		iommus = <&/iommu>;
+		iommus = <&{/iommu}>;
 	};
 
 	/* static association with IOMMU */
 	master@2 {
 		reg = <2>;
-		iommus = <&/iommu>;
+		iommus = <&{/iommu}>;
 	};
 
 Multiple-master IOMMU:
@@ -145,28 +151,32 @@ Multiple-master IOMMU:
 
 	master@1 {
 		/* device has master ID 42 in the IOMMU */
-		iommus = <&/iommu 42>;
+		iommus = <&{/iommu} 42>;
 	};
 
 	master@2 {
 		/* device has master IDs 23 and 24 in the IOMMU */
-		iommus = <&/iommu 23>, <&/iommu 24>;
+		iommus = <&{/iommu} 23>, <&{/iommu} 24>;
 	};
 
 Multiple-master IOMMU with configurable DMA window:
 ---------------------------------------------------
 
 	/ {
-		#address-cells = <1>;
-		#size-cells = <1>;
-
 		iommu {
-			/* master ID, address and length of DMA window */
+			/*
+			 * One cell for the master ID and one cell for the
+			 * address of the DMA window. The length of the DMA
+			 * window is encoded in two cells.
+			 *
+			 * The DMA window is the range addressable by the
+			 * master (i.e. the I/O virtual address space).
+			 */
 			#iommu-cells = <4>;
 		};
 
 		master {
 			/* master ID 42, 4 GiB DMA window starting at 0 */
-			iommus = <&/iommu  42  0  0x1 0x0>;
+			iommus = <&{/iommu}  42  0  0x1 0x0>;
 		};
 	};

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

      reply	other threads:[~2014-07-31 10:47 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-04 15:29 [PATCH v4] devicetree: Add generic IOMMU device tree bindings Thierry Reding
2014-07-09 13:40 ` Will Deacon
2014-07-09 14:21   ` Thierry Reding
2014-07-09 18:10     ` Will Deacon
2014-07-10  9:49       ` Thierry Reding
2014-07-10 10:23         ` Will Deacon
2014-07-10 10:57           ` Thierry Reding
2014-07-10 12:38             ` Will Deacon
2014-07-11 20:55 ` Rob Clark
2014-07-12  9:39   ` Will Deacon
2014-07-12 11:26     ` Rob Clark
2014-07-12 12:22       ` Arnd Bergmann
2014-07-12 12:57         ` Rob Clark
2014-07-13  9:43           ` Will Deacon
2014-07-13 11:43             ` Rob Clark
2014-07-16  1:25               ` Olav Haugan
2014-07-16 10:10                 ` Will Deacon
2014-07-16 20:24                 ` Rob Clark
2014-07-14  6:44             ` Thierry Reding
2014-07-14 10:08               ` Will Deacon
2014-07-14  6:24           ` Thierry Reding
2014-07-14 10:13             ` Rob Clark
2014-07-14  6:15         ` Thierry Reding
2014-07-30 11:04 ` Will Deacon
2014-07-30 13:23   ` Thierry Reding
2014-07-30 13:33     ` Joerg Roedel
2014-07-30 17:37       ` Olof Johansson
2014-07-30 14:30     ` Will Deacon
2014-07-30 18:08       ` Rob Herring
2014-07-30 20:11     ` Arnd Bergmann
2014-07-30 15:26 ` Mark Rutland
2014-07-30 17:35   ` Olof Johansson
2014-07-30 18:18     ` Mark Rutland
2014-07-31 10:09       ` Thierry Reding
2014-07-31 10:50         ` Mark Rutland
2014-07-31 11:14           ` Thierry Reding
2014-07-31  9:51     ` Thierry Reding
2014-07-31  8:39   ` Thierry Reding
2014-07-31  9:22     ` Mark Rutland
2014-07-31 10:18       ` Thierry Reding
2014-07-31 10:23         ` Joerg Roedel
2014-07-31 10:46           ` Thierry Reding [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140731104648.GD7458@ulmo \
    --to=thierry.reding@gmail.com \
    --cc=Dave.Martin@arm.com \
    --cc=Marc.Zyngier@arm.com \
    --cc=Pawel.Moll@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=grundler@chromium.org \
    --cc=hdoyu@nvidia.com \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=ohaugan@codeaurora.org \
    --cc=pullip.cho@samsung.com \
    --cc=robh+dt@kernel.org \
    --cc=swarren@wwwdotorg.org \
    --cc=varun.sethi@freescale.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).