On 07/03/2023 03:34, Yong Wu wrote:
> After commit f1ad5338a4d5 ("of: Fix "dma-ranges" handling for bus
> controllers"), the dma-ranges of the leaf node doesn't work. Remove
> it for vcodec here.
>
> 1) For mediatek,vcodec-decoder.yaml and mediatek,vcodec-encoder.yaml,
> this property is in the leaf node, it is invalid as the above comment.
>
> Currently there is only mt8195 VENC node has this property in upstream.
> Indeed, VENC is affected, but it is not a fatal issue. Originally it
> expects its iova range locate at 4GB-8GB. However after that commit, its
> expectation doesn't come true, it will fall back to 0-4GB iova and also
> could work well.
>
> 2) For mediatek,vcodec-subdev-decoder.yaml, It already uses parent-child
> node, this property works. Instead, MediaTek iommu will control the
> masters' iova ranges by the master's larb/port id internally, then the
> dma-ranges property is unnecessary for the master's node.
>
> Cc: Tiffany Lin <tiffany.lin@mediatek.com>
> Cc: Andrew-CT Chen <andrew-ct.chen@mediatek.com>
> Cc: Yunfei Dong <yunfei.dong@mediatek.com>
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Matthias Brugger <matthias.bgg@gmail.com>
> Signed-off-by: Yong Wu <yong.wu@mediatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Regards,
Hans
> ---
> .../devicetree/bindings/media/mediatek,vcodec-decoder.yaml | 5 -----
> .../devicetree/bindings/media/mediatek,vcodec-encoder.yaml | 5 -----
> .../bindings/media/mediatek,vcodec-subdev-decoder.yaml | 7 -------
> 3 files changed, 17 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/mediatek,vcodec-decoder.yaml b/Documentation/devicetree/bindings/media/mediatek,vcodec-decoder.yaml
> index aa55ca65d6ed..fad59b486d5d 100644
> --- a/Documentation/devicetree/bindings/media/mediatek,vcodec-decoder.yaml
> +++ b/Documentation/devicetree/bindings/media/mediatek,vcodec-decoder.yaml
> @@ -56,11 +56,6 @@ properties:
> List of the hardware port in respective IOMMU block for current Socs.
> Refer to bindings/iommu/mediatek,iommu.yaml.
>
> - dma-ranges:
> - maxItems: 1
> - description: |
> - Describes the physical address space of IOMMU maps to memory.
> -
> mediatek,vpu:
> $ref: /schemas/types.yaml#/definitions/phandle
> description:
> diff --git a/Documentation/devicetree/bindings/media/mediatek,vcodec-encoder.yaml b/Documentation/devicetree/bindings/media/mediatek,vcodec-encoder.yaml
> index 0f2ea8d9a10c..a2051b31fa29 100644
> --- a/Documentation/devicetree/bindings/media/mediatek,vcodec-encoder.yaml
> +++ b/Documentation/devicetree/bindings/media/mediatek,vcodec-encoder.yaml
> @@ -49,11 +49,6 @@ properties:
> List of the hardware port in respective IOMMU block for current Socs.
> Refer to bindings/iommu/mediatek,iommu.yaml.
>
> - dma-ranges:
> - maxItems: 1
> - description: |
> - Describes the physical address space of IOMMU maps to memory.
> -
> mediatek,vpu:
> $ref: /schemas/types.yaml#/definitions/phandle
> description:
> diff --git a/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml b/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> index c4f20acdc1f8..290594bc91cc 100644
> --- a/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> +++ b/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> @@ -76,11 +76,6 @@ properties:
> The node of system control processor (SCP), using
> the remoteproc & rpmsg framework.
>
> - dma-ranges:
> - maxItems: 1
> - description: |
> - Describes the physical address space of IOMMU maps to memory.
> -
> "#address-cells":
> const: 2
>
> @@ -203,7 +198,6 @@ required:
> - reg
> - iommus
> - mediatek,scp
> - - dma-ranges
> - ranges
>
> if:
> @@ -236,7 +230,6 @@ examples:
> compatible = "mediatek,mt8192-vcodec-dec";
> mediatek,scp = <&scp>;
> iommus = <&iommu0 M4U_PORT_L4_VDEC_MC_EXT>;
> - dma-ranges = <0x1 0x0 0x0 0x40000000 0x0 0xfff00000>;
> #address-cells = <2>;
> #size-cells = <2>;
> ranges = <0 0 0 0x16000000 0 0x40000>;