On Tue, Mar 6, 2018 at 5:11 PM, Robin Murphy <robin.mur...@arm.com> wrote:
> 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. It is to describe the holes in address space for which hardware can't provide mappings. > > > Reviewed-by: Ray Jui <ray....@broadcom.com> >> Reviewed-by: Vikram Prakash <vikram.prak...@broadcom.com> >> Reviewed-by: Scott Branden <scott.bran...@broadcom.com> >> Signed-off-by: Jitendra Bhivare <jitendra.bhiv...@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? busno was part of initial commit 4e0ee78f in implementation of of_get_dma_window. I am not sure what was the use of it in Powerpc. Similar implementation can be seen in of_parse_dma_window. prot is access permission flags for the region for reserving in SW.This I will remove. > > > 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 { >> >>
_______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu