From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: Re: [PATCH v2 1/5] dt-bindings: virtio: Specify #iommu-cells value for a virtio-iommu Date: Wed, 27 Jun 2018 11:46:32 -0600 Message-ID: References: <20180621190655.56391-1-jean-philippe.brucker@arm.com> <20180621190655.56391-2-jean-philippe.brucker@arm.com> <20180625192753.GA22351@rob-hp-laptop> <89d31865-ee35-ef8c-f7b3-f3acf2bbd30e@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <89d31865-ee35-ef8c-f7b3-f3acf2bbd30e-5wv7dgnIgG8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Jean-Philippe Brucker Cc: Mark Rutland , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, jayachandran.nair-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org, tnowicki-M3mlKVOIwJVv6pq1l3V1OdBPR1lH4CV8@public.gmane.org, kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, virtio-dev-sDuHXQ4OtrM4h7I2RyI4rWD2FQJk+8+b@public.gmane.org, jasowang-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, Will Deacon , virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Marc Zyngier , Linux IOMMU , kvmarm-FPEHb7Xf0XXUo1n7N8X6UoWGPAHP3yOg@public.gmane.org List-Id: devicetree@vger.kernel.org On Tue, Jun 26, 2018 at 11:59 AM Jean-Philippe Brucker wrote: > > On 25/06/18 20:27, Rob Herring wrote: > > On Thu, Jun 21, 2018 at 08:06:51PM +0100, Jean-Philippe Brucker wrote: > >> A virtio-mmio node may represent a virtio-iommu device. This is discovered > >> by the virtio driver at probe time, but the DMA topology isn't > >> discoverable and must be described by firmware. For DT the standard IOMMU > >> description is used, as specified in bindings/iommu/iommu.txt and > >> bindings/pci/pci-iommu.txt. Like many other IOMMUs, virtio-iommu > >> distinguishes masters by their endpoint IDs, which requires one IOMMU cell > >> in the "iommus" property. > >> > >> Signed-off-by: Jean-Philippe Brucker > >> --- > >> Documentation/devicetree/bindings/virtio/mmio.txt | 8 ++++++++ > >> 1 file changed, 8 insertions(+) > >> > >> diff --git a/Documentation/devicetree/bindings/virtio/mmio.txt b/Documentation/devicetree/bindings/virtio/mmio.txt > >> index 5069c1b8e193..337da0e3a87f 100644 > >> --- a/Documentation/devicetree/bindings/virtio/mmio.txt > >> +++ b/Documentation/devicetree/bindings/virtio/mmio.txt > >> @@ -8,6 +8,14 @@ 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 describes a virtio-iommu device, it is > >> + linked to DMA masters using the "iommus" property as > >> + described in devicetree/bindings/iommu/iommu.txt. For > >> + virtio-iommu #iommu-cells must be 1, each cell describing > >> + a single endpoint ID. > > > > The iommus property should also be documented for the client side. > > Isn't section "IOMMU master node" of iommu.txt sufficient? Since the > iommus property applies to any DMA master, not only virtio-mmio devices, > the canonical description in iommu.txt seems the best place for it, and > I'm not sure what to add in this file. Maybe a short example below the > virtio_block one? No, because somewhere we have to capture if 'iommus' is valid for 'virtio-mmio' or not. Hopefully soon we'll actually be able to validate that. Rob