On Tue, 05 Jul 2022 15:06:52 +0200, Thierry Reding wrote:
> From: Thierry Reding <[email protected]>
>
> This adds the "iommu-addresses" property to reserved-memory nodes, which
> allow describing the interaction of memory regions with IOMMUs. Two use-
> cases are supported:
>
> 1. Static mappings can be described by pairing the "iommu-addresses"
> property with a "reg" property. This is mostly useful for adopting
> firmware-allocated buffers via identity mappings. One common use-
> case where this is required is if early firmware or bootloaders
> have set up a bootsplash framebuffer that a display controller is
> actively scanning out from during the operating system boot
> process.
>
> 2. If an "iommu-addresses" property exists without a "reg" property,
> the reserved-memory node describes an IOVA reservation. Such memory
> regions are excluded from the IOVA space available to operating
> system drivers and can be used for regions that must not be used to
> map arbitrary buffers.
>
> Each mapping or reservation is tied to a specific device via a phandle
> to the device's device tree node. This allows a reserved-memory region
> to be reused across multiple devices.
>
> Signed-off-by: Thierry Reding <[email protected]>
> ---
> Changes in v7:
> - keep reserved-memory.txt to avoid broken references
>
> Changes in v6:
> - add device phandle to iommu-addresses property in examples
> - remove now unused dt-bindings/reserved-memory.h header
> ---
> .../reserved-memory/reserved-memory.yaml | 62 +++++++++++++++++++
> 1 file changed, 62 insertions(+)
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:22.7-45:
Warning (reg_format): /reserved-memory/framebuffer@90000000:reg: property has
invalid length (16 bytes) (#address-cells == 2, #size-cells == 1)
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:29.7-40:
Warning (reg_format): /bus@0/adsp@2990000:reg: property has invalid length (16
bytes) (#address-cells == 2, #size-cells == 1)
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:34.7-42:
Warning (reg_format): /bus@0/display@15200000:reg: property has invalid length
(16 bytes) (#address-cells == 2, #size-cells == 1)
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:9.5-12:
Warning (ranges_format): /reserved-memory:ranges: empty "ranges" property but
its #size-cells (1) differs from / (2)
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:27.9-37.5:
Warning (unit_address_vs_reg): /bus@0: node has a unit name, but no reg or
ranges property
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
Warning (pci_device_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
Warning (simple_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
Warning (spi_bus_reg): Failed prerequisite 'reg_format'
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:21.30-24.7:
Warning (avoid_default_addr_size): /reserved-memory/framebuffer@90000000:
Relying on default #address-cells value
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:21.30-24.7:
Warning (avoid_default_addr_size): /reserved-memory/framebuffer@90000000:
Relying on default #size-cells value
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:28.24-31.7:
Warning (avoid_default_addr_size): /bus@0/adsp@2990000: Relying on default
#address-cells value
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:28.24-31.7:
Warning (avoid_default_addr_size): /bus@0/adsp@2990000: Relying on default
#size-cells value
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:33.27-36.7:
Warning (avoid_default_addr_size): /bus@0/display@15200000: Relying on default
#address-cells value
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dts:33.27-36.7:
Warning (avoid_default_addr_size): /bus@0/display@15200000: Relying on default
#size-cells value
Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
Warning (unique_unit_address_if_enabled): Failed prerequisite
'avoid_default_addr_size'
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
/: bus@0: 'anyOf' conditional failed, one must be fixed:
'reg' is a required property
'ranges' is a required property
From schema:
/usr/local/lib/python3.10/dist-packages/dtschema/schemas/root-node.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
/: 'compatible' is a required property
From schema:
/usr/local/lib/python3.10/dist-packages/dtschema/schemas/root-node.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/reserved-memory/reserved-memory.example.dtb:
/: 'model' is a required property
From schema:
/usr/local/lib/python3.10/dist-packages/dtschema/schemas/root-node.yaml
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/patch/
This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit.
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu