All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
To: joro@8bytes.org, mst@redhat.com
Cc: iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org,
	devicetree@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	virtio-dev@lists.oasis-open.org, jasowang@redhat.com,
	robh+dt@kernel.org, mark.rutland@arm.com,
	Lorenzo.Pieralisi@arm.com, robin.murphy@arm.com,
	bhelgaas@google.com, frowand.list@gmail.com,
	kvmarm@lists.cs.columbia.edu, eric.auger@redhat.com,
	tnowicki@caviumnetworks.com, kevin.tian@intel.com,
	bauerman@linux.ibm.com
Subject: [PATCH v8 1/7] dt-bindings: virtio-mmio: Add IOMMU description
Date: Thu, 30 May 2019 18:09:23 +0100	[thread overview]
Message-ID: <20190530170929.19366-2-jean-philippe.brucker@arm.com> (raw)
In-Reply-To: <20190530170929.19366-1-jean-philippe.brucker@arm.com>

The nature of a virtio-mmio node is discovered by the virtio driver at
probe time. However the DMA relation between devices must be described
statically. When a virtio-mmio node is a virtio-iommu device, it needs an
"#iommu-cells" property as specified by bindings/iommu/iommu.txt.

Otherwise, the virtio-mmio device may perform DMA through an IOMMU, which
requires an "iommus" property. Describe these requirements in the
device-tree bindings documentation.

Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
---
 .../devicetree/bindings/virtio/mmio.txt       | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/Documentation/devicetree/bindings/virtio/mmio.txt b/Documentation/devicetree/bindings/virtio/mmio.txt
index 5069c1b8e193..21af30fbb81f 100644
--- a/Documentation/devicetree/bindings/virtio/mmio.txt
+++ b/Documentation/devicetree/bindings/virtio/mmio.txt
@@ -8,10 +8,40 @@ Required properties:
 - reg:		control registers base address and size including configuration space
 - interrupts:	interrupt generated by the device
 
+Required properties for virtio-iommu:
+
+- #iommu-cells:	When the node corresponds to a virtio-iommu device, it is
+		linked to DMA masters using the "iommus" or "iommu-map"
+		properties [1][2]. #iommu-cells specifies the size of the
+		"iommus" property. For virtio-iommu #iommu-cells must be
+		1, each cell describing a single endpoint ID.
+
+Optional properties:
+
+- iommus:	If the device accesses memory through an IOMMU, it should
+		have an "iommus" property [1]. Since virtio-iommu itself
+		does not access memory through an IOMMU, the "virtio,mmio"
+		node cannot have both an "#iommu-cells" and an "iommus"
+		property.
+
 Example:
 
 	virtio_block@3000 {
 		compatible = "virtio,mmio";
 		reg = <0x3000 0x100>;
 		interrupts = <41>;
+
+		/* Device has endpoint ID 23 */
+		iommus = <&viommu 23>
 	}
+
+	viommu: iommu@3100 {
+		compatible = "virtio,mmio";
+		reg = <0x3100 0x100>;
+		interrupts = <42>;
+
+		#iommu-cells = <1>
+	}
+
+[1] Documentation/devicetree/bindings/iommu/iommu.txt
+[2] Documentation/devicetree/bindings/pci/pci-iommu.txt
-- 
2.21.0

WARNING: multiple messages have this Message-ID (diff)
From: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
To: joro@8bytes.org, mst@redhat.com
Cc: mark.rutland@arm.com, virtio-dev@lists.oasis-open.org,
	kevin.tian@intel.com, tnowicki@caviumnetworks.com,
	frowand.list@gmail.com, devicetree@vger.kernel.org,
	linux-pci@vger.kernel.org, jasowang@redhat.com,
	virtualization@lists.linux-foundation.org,
	iommu@lists.linux-foundation.org, robh+dt@kernel.org,
	bhelgaas@google.com, robin.murphy@arm.com,
	kvmarm@lists.cs.columbia.edu
Subject: [PATCH v8 1/7] dt-bindings: virtio-mmio: Add IOMMU description
Date: Thu, 30 May 2019 18:09:23 +0100	[thread overview]
Message-ID: <20190530170929.19366-2-jean-philippe.brucker@arm.com> (raw)
In-Reply-To: <20190530170929.19366-1-jean-philippe.brucker@arm.com>

The nature of a virtio-mmio node is discovered by the virtio driver at
probe time. However the DMA relation between devices must be described
statically. When a virtio-mmio node is a virtio-iommu device, it needs an
"#iommu-cells" property as specified by bindings/iommu/iommu.txt.

Otherwise, the virtio-mmio device may perform DMA through an IOMMU, which
requires an "iommus" property. Describe these requirements in the
device-tree bindings documentation.

Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
---
 .../devicetree/bindings/virtio/mmio.txt       | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/Documentation/devicetree/bindings/virtio/mmio.txt b/Documentation/devicetree/bindings/virtio/mmio.txt
index 5069c1b8e193..21af30fbb81f 100644
--- a/Documentation/devicetree/bindings/virtio/mmio.txt
+++ b/Documentation/devicetree/bindings/virtio/mmio.txt
@@ -8,10 +8,40 @@ Required properties:
 - reg:		control registers base address and size including configuration space
 - interrupts:	interrupt generated by the device
 
+Required properties for virtio-iommu:
+
+- #iommu-cells:	When the node corresponds to a virtio-iommu device, it is
+		linked to DMA masters using the "iommus" or "iommu-map"
+		properties [1][2]. #iommu-cells specifies the size of the
+		"iommus" property. For virtio-iommu #iommu-cells must be
+		1, each cell describing a single endpoint ID.
+
+Optional properties:
+
+- iommus:	If the device accesses memory through an IOMMU, it should
+		have an "iommus" property [1]. Since virtio-iommu itself
+		does not access memory through an IOMMU, the "virtio,mmio"
+		node cannot have both an "#iommu-cells" and an "iommus"
+		property.
+
 Example:
 
 	virtio_block@3000 {
 		compatible = "virtio,mmio";
 		reg = <0x3000 0x100>;
 		interrupts = <41>;
+
+		/* Device has endpoint ID 23 */
+		iommus = <&viommu 23>
 	}
+
+	viommu: iommu@3100 {
+		compatible = "virtio,mmio";
+		reg = <0x3100 0x100>;
+		interrupts = <42>;
+
+		#iommu-cells = <1>
+	}
+
+[1] Documentation/devicetree/bindings/iommu/iommu.txt
+[2] Documentation/devicetree/bindings/pci/pci-iommu.txt
-- 
2.21.0

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
To: joro@8bytes.org, mst@redhat.com
Cc: virtio-dev@lists.oasis-open.org, kevin.tian@intel.com,
	Lorenzo.Pieralisi@arm.com, tnowicki@caviumnetworks.com,
	frowand.list@gmail.com, devicetree@vger.kernel.org,
	linux-pci@vger.kernel.org, jasowang@redhat.com,
	virtualization@lists.linux-foundation.org,
	iommu@lists.linux-foundation.org, robh+dt@kernel.org,
	bhelgaas@google.com, robin.murphy@arm.com,
	kvmarm@lists.cs.columbia.edu, bauerman@linux.ibm.com
Subject: [PATCH v8 1/7] dt-bindings: virtio-mmio: Add IOMMU description
Date: Thu, 30 May 2019 18:09:23 +0100	[thread overview]
Message-ID: <20190530170929.19366-2-jean-philippe.brucker@arm.com> (raw)
In-Reply-To: <20190530170929.19366-1-jean-philippe.brucker@arm.com>

The nature of a virtio-mmio node is discovered by the virtio driver at
probe time. However the DMA relation between devices must be described
statically. When a virtio-mmio node is a virtio-iommu device, it needs an
"#iommu-cells" property as specified by bindings/iommu/iommu.txt.

Otherwise, the virtio-mmio device may perform DMA through an IOMMU, which
requires an "iommus" property. Describe these requirements in the
device-tree bindings documentation.

Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
---
 .../devicetree/bindings/virtio/mmio.txt       | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/Documentation/devicetree/bindings/virtio/mmio.txt b/Documentation/devicetree/bindings/virtio/mmio.txt
index 5069c1b8e193..21af30fbb81f 100644
--- a/Documentation/devicetree/bindings/virtio/mmio.txt
+++ b/Documentation/devicetree/bindings/virtio/mmio.txt
@@ -8,10 +8,40 @@ Required properties:
 - reg:		control registers base address and size including configuration space
 - interrupts:	interrupt generated by the device
 
+Required properties for virtio-iommu:
+
+- #iommu-cells:	When the node corresponds to a virtio-iommu device, it is
+		linked to DMA masters using the "iommus" or "iommu-map"
+		properties [1][2]. #iommu-cells specifies the size of the
+		"iommus" property. For virtio-iommu #iommu-cells must be
+		1, each cell describing a single endpoint ID.
+
+Optional properties:
+
+- iommus:	If the device accesses memory through an IOMMU, it should
+		have an "iommus" property [1]. Since virtio-iommu itself
+		does not access memory through an IOMMU, the "virtio,mmio"
+		node cannot have both an "#iommu-cells" and an "iommus"
+		property.
+
 Example:
 
 	virtio_block@3000 {
 		compatible = "virtio,mmio";
 		reg = <0x3000 0x100>;
 		interrupts = <41>;
+
+		/* Device has endpoint ID 23 */
+		iommus = <&viommu 23>
 	}
+
+	viommu: iommu@3100 {
+		compatible = "virtio,mmio";
+		reg = <0x3100 0x100>;
+		interrupts = <42>;
+
+		#iommu-cells = <1>
+	}
+
+[1] Documentation/devicetree/bindings/iommu/iommu.txt
+[2] Documentation/devicetree/bindings/pci/pci-iommu.txt
-- 
2.21.0

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

WARNING: multiple messages have this Message-ID (diff)
From: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
To: joro@8bytes.org, mst@redhat.com
Cc: iommu@lists.linux-foundation.org, linux-pci@vger.kernel.org,
	devicetree@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	virtio-dev@lists.oasis-open.org, jasowang@redhat.com,
	robh+dt@kernel.org, mark.rutland@arm.com,
	Lorenzo.Pieralisi@arm.com, robin.murphy@arm.com,
	bhelgaas@google.com, frowand.list@gmail.com,
	kvmarm@lists.cs.columbia.edu, eric.auger@redhat.com,
	tnowicki@caviumnetworks.com, kevin.tian@intel.com,
	bauerman@linux.ibm.com
Subject: [virtio-dev] [PATCH v8 1/7] dt-bindings: virtio-mmio: Add IOMMU description
Date: Thu, 30 May 2019 18:09:23 +0100	[thread overview]
Message-ID: <20190530170929.19366-2-jean-philippe.brucker@arm.com> (raw)
In-Reply-To: <20190530170929.19366-1-jean-philippe.brucker@arm.com>

The nature of a virtio-mmio node is discovered by the virtio driver at
probe time. However the DMA relation between devices must be described
statically. When a virtio-mmio node is a virtio-iommu device, it needs an
"#iommu-cells" property as specified by bindings/iommu/iommu.txt.

Otherwise, the virtio-mmio device may perform DMA through an IOMMU, which
requires an "iommus" property. Describe these requirements in the
device-tree bindings documentation.

Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
---
 .../devicetree/bindings/virtio/mmio.txt       | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/Documentation/devicetree/bindings/virtio/mmio.txt b/Documentation/devicetree/bindings/virtio/mmio.txt
index 5069c1b8e193..21af30fbb81f 100644
--- a/Documentation/devicetree/bindings/virtio/mmio.txt
+++ b/Documentation/devicetree/bindings/virtio/mmio.txt
@@ -8,10 +8,40 @@ Required properties:
 - reg:		control registers base address and size including configuration space
 - interrupts:	interrupt generated by the device
 
+Required properties for virtio-iommu:
+
+- #iommu-cells:	When the node corresponds to a virtio-iommu device, it is
+		linked to DMA masters using the "iommus" or "iommu-map"
+		properties [1][2]. #iommu-cells specifies the size of the
+		"iommus" property. For virtio-iommu #iommu-cells must be
+		1, each cell describing a single endpoint ID.
+
+Optional properties:
+
+- iommus:	If the device accesses memory through an IOMMU, it should
+		have an "iommus" property [1]. Since virtio-iommu itself
+		does not access memory through an IOMMU, the "virtio,mmio"
+		node cannot have both an "#iommu-cells" and an "iommus"
+		property.
+
 Example:
 
 	virtio_block@3000 {
 		compatible = "virtio,mmio";
 		reg = <0x3000 0x100>;
 		interrupts = <41>;
+
+		/* Device has endpoint ID 23 */
+		iommus = <&viommu 23>
 	}
+
+	viommu: iommu@3100 {
+		compatible = "virtio,mmio";
+		reg = <0x3100 0x100>;
+		interrupts = <42>;
+
+		#iommu-cells = <1>
+	}
+
+[1] Documentation/devicetree/bindings/iommu/iommu.txt
+[2] Documentation/devicetree/bindings/pci/pci-iommu.txt
-- 
2.21.0


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  parent reply	other threads:[~2019-05-30 17:09 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-30 17:09 [PATCH v8 0/7] Add virtio-iommu driver Jean-Philippe Brucker
2019-05-30 17:09 ` [virtio-dev] " Jean-Philippe Brucker
2019-05-30 17:09 ` Jean-Philippe Brucker
2019-05-30 17:09 ` Jean-Philippe Brucker
2019-05-30 17:09 ` [PATCH v8 1/7] dt-bindings: virtio-mmio: Add IOMMU description Jean-Philippe Brucker
2019-05-30 17:09 ` Jean-Philippe Brucker [this message]
2019-05-30 17:09   ` [virtio-dev] " Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09 ` [PATCH v8 2/7] dt-bindings: virtio: Add virtio-pci-iommu node Jean-Philippe Brucker
2019-05-30 17:09   ` [virtio-dev] " Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:45   ` Michael S. Tsirkin
2019-05-30 17:45     ` [virtio-dev] " Michael S. Tsirkin
2019-05-30 17:45     ` Michael S. Tsirkin
2019-05-30 17:45     ` Michael S. Tsirkin
2019-05-31 11:13     ` [virtio-dev] " Jean-Philippe Brucker
2019-05-31 11:13     ` Jean-Philippe Brucker
2019-05-31 11:13       ` [virtio-dev] " Jean-Philippe Brucker
2019-05-31 11:13       ` Jean-Philippe Brucker
2019-05-31 11:13       ` Jean-Philippe Brucker
2019-05-31 11:13       ` Jean-Philippe Brucker
2019-06-16 20:04       ` Michael S. Tsirkin
2019-06-16 20:04         ` [virtio-dev] " Michael S. Tsirkin
2019-06-16 20:04         ` Michael S. Tsirkin
2019-06-16 20:04         ` Michael S. Tsirkin
2019-06-16 20:04         ` Michael S. Tsirkin
2019-06-16 20:04       ` Michael S. Tsirkin
2019-05-30 17:45   ` Michael S. Tsirkin
2019-05-30 17:09 ` Jean-Philippe Brucker
2019-05-30 17:09 ` [PATCH v8 3/7] of: Allow the iommu-map property to omit untranslated devices Jean-Philippe Brucker
2019-05-30 17:09   ` [virtio-dev] " Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09 ` Jean-Philippe Brucker
2019-05-30 17:09 ` [PATCH v8 4/7] PCI: OF: Initialize dev->fwnode appropriately Jean-Philippe Brucker
2019-05-30 17:09 ` Jean-Philippe Brucker
2019-05-30 17:09   ` [virtio-dev] " Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09 ` [PATCH v8 5/7] iommu: Add virtio-iommu driver Jean-Philippe Brucker
2019-05-30 17:09   ` [virtio-dev] " Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-06-14  7:33   ` Auger Eric
2019-06-14  7:33   ` Auger Eric
2019-06-14  7:33     ` [virtio-dev] " Auger Eric
2019-06-14  7:33     ` Auger Eric
2019-06-14  7:33     ` Auger Eric
2019-06-14  7:33     ` Auger Eric
2019-05-30 17:09 ` Jean-Philippe Brucker
2019-05-30 17:09 ` [PATCH v8 6/7] iommu/virtio: Add probe request Jean-Philippe Brucker
2019-05-30 17:09   ` [virtio-dev] " Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09 ` Jean-Philippe Brucker
2019-05-30 17:09 ` [PATCH v8 7/7] iommu/virtio: Add event queue Jean-Philippe Brucker
2019-05-30 17:09   ` [virtio-dev] " Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09   ` Jean-Philippe Brucker
2019-05-30 17:09 ` Jean-Philippe Brucker
2019-06-13 15:54 ` [PATCH v8 0/7] Add virtio-iommu driver Auger Eric
2019-06-13 15:54 ` Auger Eric
2019-06-13 15:54   ` [virtio-dev] " Auger Eric
2019-06-13 15:54   ` Auger Eric
2019-06-13 15:54   ` Auger Eric

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=20190530170929.19366-2-jean-philippe.brucker@arm.com \
    --to=jean-philippe.brucker@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=bauerman@linux.ibm.com \
    --cc=bhelgaas@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=eric.auger@redhat.com \
    --cc=frowand.list@gmail.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jasowang@redhat.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-pci@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mst@redhat.com \
    --cc=robh+dt@kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=tnowicki@caviumnetworks.com \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=virtualization@lists.linux-foundation.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.