[RFC 1/5] dt-bindings: iommu: Add reserved-dma-region for IOMMU device
Robin Murphy
robin.murphy at arm.com
Tue Mar 6 03:41:01 PST 2018
On 06/03/18 04:59, Jitendra Bhivare wrote:
> Certain regions in IO virtual address space may need to be reserved to be
> not used for devices configured behind IOMMU.
>
> Add documentation of the property to allow such regions to be specified in
> DT to be reserved using IOMMU_RESV_RESERVED type.
That sounds like software policy; DT is for describing hardware.
> Reviewed-by: Ray Jui <ray.jui at broadcom.com>
> Reviewed-by: Vikram Prakash <vikram.prakash at broadcom.com>
> Reviewed-by: Scott Branden <scott.branden at broadcom.com>
> Signed-off-by: Jitendra Bhivare <jitendra.bhivare at broadcom.com>
> ---
> Documentation/devicetree/bindings/iommu/iommu.txt | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iommu/iommu.txt b/Documentation/devicetree/bindings/iommu/iommu.txt
> index 5a8b462..5a58ef2 100644
> --- a/Documentation/devicetree/bindings/iommu/iommu.txt
> +++ b/Documentation/devicetree/bindings/iommu/iommu.txt
> @@ -98,6 +98,20 @@ requirements of that use-case haven't been fully determined yet. Implementing
> this is therefore not recommended without further discussion and extension of
> this binding.
>
> +Optional properties:
> +--------------------
> +- reserved-dma-region: This specifies DMA region to be reserved with specific
> + prot in IOVA space. It is in tuples of (busno,prot,bus_addr,size).
What do busno and prot actually mean, and what are valid values for them?
Robin.
> +- #region-address-cells: specifies number of cells needed to encode bus_addr
> +
> +- #region-size-cells: specifies number of cells needed to encode size
> +
> +Notes:
> +======
> +This can be applied to IOMMU master node or to children (such as PCI host
> +bridges) on the bus behind IOMMU.
> +
>
> Examples:
> =========
> @@ -173,6 +187,9 @@ Multiple-master IOMMU with configurable DMA window:
> * master (i.e. the I/O virtual address space).
> */
> #iommu-cells = <4>;
> + #region-address-cells = <2>;
> + #region-size-cells = <2>;
> + reserved-dma-region = <0x0 0x0 0x04 0x0 0x04 0x0>;
> };
>
> master {
>
More information about the linux-arm-kernel
mailing list