Re: [Freedreno] [PATCH v2 2/4] dt-bindings: display: msm: Add required dma-range property

2020-02-25 Thread Rob Herring
On Thu, Feb 20, 2020 at 12:27 PM Jordan Crouse  wrote:
>
> The GMU node now requires a specific dma-range property so that the driver

s/dma-range/dma-ranges/ here and the subject.

> can use the DMA API to do the few memory allocations required by the GMU.
> This sets the IOMMU iova allocator to match the 'uncached' part of the
> GMU virtual address space.

Sounds like a bunch of kernel things and this is a binding.

>
> v2: Fix the dma-ranges tag. The third pair should be the size.
>
> Signed-off-by: Jordan Crouse 
> ---
>
>  Documentation/devicetree/bindings/display/msm/gmu.yaml | 10 ++
>  1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/msm/gmu.yaml 
> b/Documentation/devicetree/bindings/display/msm/gmu.yaml
> index 776ff92..d11a073 100644
> --- a/Documentation/devicetree/bindings/display/msm/gmu.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/gmu.yaml
> @@ -83,6 +83,13 @@ properties:
>Phandle to the OPP table for the available GMU frequencies. Refer to
>../../opp/opp.txt for more information.
>
> +  dma-ranges:

dma-ranges is a bus property and doesn't go in device nodes (that
don't implement a bus like PCI host for example). This would not have
even worked a few kernel versions back because the kernel would only
start looking for dma-ranges in a parent node.

> +$ref: /schemas/types.yaml#/definitions/uint32-array
> +description:
> +  Describe the dma-address range for the device. This should always
> +  describe the range between 0x6000 and 0x8000 which represents

If this is always the region, then why does it need to be in DT? Just
set your dma_mask which drivers should be doing if they want anything
other than (2^32 - 1). dma-ranges sets the bus_dma_mask.

> +  the uncached region of the GMU address space.
> +
>  required:
>- compatible
>- reg
> @@ -95,6 +102,7 @@ required:
>- power-domain-names
>- iommus
>- operating-points-v2
> +  - dma-ranges
>
>  examples:
>   - |
> @@ -127,4 +135,6 @@ examples:
>
>  iommus = <_smmu 5>;
>  operating-points-v2 = <_opp_table>;
> +
> +dma-ranges = <0 0x6000 0 0x6000 0 0x2000>;
> };
> --
> 2.7.4
>
___
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno


[Freedreno] [PATCH v2 2/4] dt-bindings: display: msm: Add required dma-range property

2020-02-20 Thread Jordan Crouse
The GMU node now requires a specific dma-range property so that the driver
can use the DMA API to do the few memory allocations required by the GMU.
This sets the IOMMU iova allocator to match the 'uncached' part of the
GMU virtual address space.

v2: Fix the dma-ranges tag. The third pair should be the size.

Signed-off-by: Jordan Crouse 
---

 Documentation/devicetree/bindings/display/msm/gmu.yaml | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/gmu.yaml 
b/Documentation/devicetree/bindings/display/msm/gmu.yaml
index 776ff92..d11a073 100644
--- a/Documentation/devicetree/bindings/display/msm/gmu.yaml
+++ b/Documentation/devicetree/bindings/display/msm/gmu.yaml
@@ -83,6 +83,13 @@ properties:
   Phandle to the OPP table for the available GMU frequencies. Refer to
   ../../opp/opp.txt for more information.
 
+  dma-ranges:
+$ref: /schemas/types.yaml#/definitions/uint32-array
+description:
+  Describe the dma-address range for the device. This should always
+  describe the range between 0x6000 and 0x8000 which represents
+  the uncached region of the GMU address space.
+
 required:
   - compatible
   - reg
@@ -95,6 +102,7 @@ required:
   - power-domain-names
   - iommus
   - operating-points-v2
+  - dma-ranges
 
 examples:
  - |
@@ -127,4 +135,6 @@ examples:
 
 iommus = <_smmu 5>;
 operating-points-v2 = <_opp_table>;
+
+dma-ranges = <0 0x6000 0 0x6000 0 0x2000>;
};
-- 
2.7.4
___
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno