Messages in this thread | | | Subject | Re: [PATCH V3 5/8] dt-bindings: Add xen,grant-dma IOMMU description for xen-grant DMA ops | From | Oleksandr <> | Date | Wed, 1 Jun 2022 16:32:03 +0300 |
| |
On 01.06.22 03:34, Stefano Stabellini wrote:
Hello Stefano
> On Tue, 31 May 2022, Oleksandr Tyshchenko wrote: >> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> >> >> The main purpose of this binding is to communicate Xen specific >> information using generic IOMMU device tree bindings (which is >> a good fit here) rather than introducing a custom property. >> >> Introduce Xen specific IOMMU for the virtualized device (e.g. virtio) >> to be used by Xen grant DMA-mapping layer in the subsequent commit. >> >> The reference to Xen specific IOMMU node using "iommus" property >> indicates that Xen grant mappings need to be enabled for the device, >> and it specifies the ID of the domain where the corresponding backend >> resides. The domid (domain ID) is used as an argument to the Xen grant >> mapping APIs. >> >> This is needed for the option to restrict memory access using Xen grant >> mappings to work which primary goal is to enable using virtio devices >> in Xen guests. >> >> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> >> --- >> Changes RFC -> V1: >> - update commit subject/description and text in description >> - move to devicetree/bindings/arm/ >> >> Changes V1 -> V2: >> - update text in description >> - change the maintainer of the binding >> - fix validation issue >> - reference xen,dev-domid.yaml schema from virtio/mmio.yaml >> >> Change V2 -> V3: >> - Stefano already gave his Reviewed-by, I dropped it due to the changes (significant) >> - use generic IOMMU device tree bindings instead of custom property >> "xen,dev-domid" >> - change commit subject and description, was >> "dt-bindings: Add xen,dev-domid property description for xen-grant DMA ops" >> --- >> .../devicetree/bindings/iommu/xen,grant-dma.yaml | 49 ++++++++++++++++++++++ >> 1 file changed, 49 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/iommu/xen,grant-dma.yaml >> >> diff --git a/Documentation/devicetree/bindings/iommu/xen,grant-dma.yaml b/Documentation/devicetree/bindings/iommu/xen,grant-dma.yaml >> new file mode 100644 >> index 00000000..ab5765c >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/iommu/xen,grant-dma.yaml >> @@ -0,0 +1,49 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/iommu/xen,grant-dma.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Xen specific IOMMU for virtualized devices (e.g. virtio) >> + >> +maintainers: >> + - Stefano Stabellini <sstabellini@kernel.org> >> + >> +description: >> + The reference to Xen specific IOMMU node using "iommus" property indicates >> + that Xen grant mappings need to be enabled for the device, and it specifies >> + the ID of the domain where the corresponding backend resides. >> + The binding is required to restrict memory access using Xen grant mappings. > I think this is OK and in line with the discussion we had on the list. I > propose the following wording instead: > > """ > The Xen IOMMU represents the Xen grant table interface. Grant mappings > are to be used with devices connected to the Xen IOMMU using the > "iommus" property, which also specifies the ID of the backend domain. > The binding is required to restrict memory access using Xen grant > mappings. > """ > > >> +properties: >> + compatible: >> + const: xen,grant-dma >> + >> + '#iommu-cells': >> + const: 1 >> + description: >> + Xen specific IOMMU is multiple-master IOMMU device. >> + The single cell describes the domid (domain ID) of the domain where >> + the backend is running. > Here I would say: > > """ > The single cell is the domid (domain ID) of the domain where the backend > is running. > """ > > With the two wording improvements:
I am happy with proposed wording improvements, will update.
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Thanks!
> > >> +required: >> + - compatible >> + - "#iommu-cells" >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + xen_iommu { >> + compatible = "xen,grant-dma"; >> + #iommu-cells = <1>; >> + }; >> + >> + virtio@3000 { >> + compatible = "virtio,mmio"; >> + reg = <0x3000 0x100>; >> + interrupts = <41>; >> + >> + /* The backend is located in Xen domain with ID 1 */ >> + iommus = <&xen_iommu 1>; >> + }; >> -- >> 2.7.4 >> >> >> _______________________________________________ >> linux-arm-kernel mailing list >> linux-arm-kernel@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >> -- Regards,
Oleksandr Tyshchenko
| |