2022-09-29 13:25:16

by Allen-KH Cheng

[permalink] [raw]
Subject: [PATCH v3 0/2] Add vcodec lat and core nodes for mt8192

This series are based on linux-next, tag: next-20220928.
We update the child node names from "vcodec" to "video-codec" based on
the discussion in [1].

[1] https://patchwork.kernel.org/project/linux-mediatek/patch/[email protected]/

Change in v2:
- Add a dt-bindings patch for changing "vcodec" to "video-codec"
- Rename child names for vcodec lat and core nodes

Change in v1:
- Replace node names with video-codec
[Allen-KH Cheng <[email protected]>]

Allen-KH Cheng (2):
media: dt-bindings: mediatek: Rename child node names for decoder
arm64: dts: mt8192: Add vcodec lat and core nodes

.../media/mediatek,vcodec-subdev-decoder.yaml | 8 +--
arch/arm64/boot/dts/mediatek/mt8192.dtsi | 60 +++++++++++++++++++
2 files changed, 64 insertions(+), 4 deletions(-)

--
2.18.0


2022-09-29 13:25:35

by Allen-KH Cheng

[permalink] [raw]
Subject: [PATCH v3 2/2] arm64: dts: mt8192: Add vcodec lat and core nodes

Add vcodec lat and core nodes for mt8192 SoC.

Signed-off-by: Allen-KH Cheng <[email protected]>
Tested-by: Chen-Yu Tsai <[email protected]>
---
arch/arm64/boot/dts/mediatek/mt8192.dtsi | 60 ++++++++++++++++++++++++
1 file changed, 60 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
index 6b20376191a7..fd3c3aaeadba 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
@@ -1449,6 +1449,66 @@
power-domains = <&spm MT8192_POWER_DOMAIN_ISP2>;
};

+ vcodec_dec: video-codec@16000000 {
+ compatible = "mediatek,mt8192-vcodec-dec";
+ reg = <0 0x16000000 0 0x1000>;
+ 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 0x26000>;
+
+ vcodec_lat: video-codec-lat@10000 {
+ compatible = "mediatek,mtk-vcodec-lat";
+ reg = <0x0 0x10000 0 0x800>;
+ interrupts = <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH 0>;
+ iommus = <&iommu0 M4U_PORT_L5_VDEC_LAT0_VLD_EXT>,
+ <&iommu0 M4U_PORT_L5_VDEC_LAT0_VLD2_EXT>,
+ <&iommu0 M4U_PORT_L5_VDEC_LAT0_AVC_MV_EXT>,
+ <&iommu0 M4U_PORT_L5_VDEC_LAT0_PRED_RD_EXT>,
+ <&iommu0 M4U_PORT_L5_VDEC_LAT0_TILE_EXT>,
+ <&iommu0 M4U_PORT_L5_VDEC_LAT0_WDMA_EXT>,
+ <&iommu0 M4U_PORT_L5_VDEC_LAT0_RG_CTRL_DMA_EXT>,
+ <&iommu0 M4U_PORT_L5_VDEC_UFO_ENC_EXT>;
+ clocks = <&topckgen CLK_TOP_VDEC_SEL>,
+ <&vdecsys_soc CLK_VDEC_SOC_VDEC>,
+ <&vdecsys_soc CLK_VDEC_SOC_LAT>,
+ <&vdecsys_soc CLK_VDEC_SOC_LARB1>,
+ <&topckgen CLK_TOP_MAINPLL_D4>;
+ clock-names = "sel", "soc-vdec", "soc-lat", "vdec", "top";
+ assigned-clocks = <&topckgen CLK_TOP_VDEC_SEL>;
+ assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4>;
+ power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
+ };
+
+ vcodec_core: video-codec-core@25000 {
+ compatible = "mediatek,mtk-vcodec-core";
+ reg = <0 0x25000 0 0x1000>;
+ interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 0>;
+ iommus = <&iommu0 M4U_PORT_L4_VDEC_MC_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_UFO_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_PP_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_PRED_RD_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_PRED_WR_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_PPWRAP_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_TILE_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_VLD_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_VLD2_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_AVC_MV_EXT>,
+ <&iommu0 M4U_PORT_L4_VDEC_RG_CTRL_DMA_EXT>;
+ clocks = <&topckgen CLK_TOP_VDEC_SEL>,
+ <&vdecsys CLK_VDEC_VDEC>,
+ <&vdecsys CLK_VDEC_LAT>,
+ <&vdecsys CLK_VDEC_LARB1>,
+ <&topckgen CLK_TOP_MAINPLL_D4>;
+ clock-names = "sel", "soc-vdec", "soc-lat", "vdec", "top";
+ assigned-clocks = <&topckgen CLK_TOP_VDEC_SEL>;
+ assigned-clock-parents = <&topckgen CLK_TOP_MAINPLL_D4>;
+ power-domains = <&spm MT8192_POWER_DOMAIN_VDEC2>;
+ };
+ };
+
larb5: larb@1600d000 {
compatible = "mediatek,mt8192-smi-larb";
reg = <0 0x1600d000 0 0x1000>;
--
2.18.0

2022-09-29 13:50:23

by Allen-KH Cheng

[permalink] [raw]
Subject: [PATCH v3 1/2] media: dt-bindings: mediatek: Rename child node names for decoder

In order to make the names of the child nodes more generic, we rename
"vcodec" to "video-codec" for decoder in patternProperties and example.

Signed-off-by: Allen-KH Cheng <[email protected]>
---
.../bindings/media/mediatek,vcodec-subdev-decoder.yaml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml b/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
index c4f20acdc1f8..67fde48f991c 100644
--- a/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
+++ b/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
@@ -91,7 +91,7 @@ properties:

# Required child node:
patternProperties:
- '^vcodec-lat@[0-9a-f]+$':
+ '^video-codec-lat@[0-9a-f]+$':
type: object

properties:
@@ -145,7 +145,7 @@ patternProperties:

additionalProperties: false

- '^vcodec-core@[0-9a-f]+$':
+ '^video-codec-core@[0-9a-f]+$':
type: object

properties:
@@ -241,7 +241,7 @@ examples:
#size-cells = <2>;
ranges = <0 0 0 0x16000000 0 0x40000>;
reg = <0 0x16000000 0 0x1000>; /* VDEC_SYS */
- vcodec-lat@10000 {
+ video-codec-lat@10000 {
compatible = "mediatek,mtk-vcodec-lat";
reg = <0 0x10000 0 0x800>;
interrupts = <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH 0>;
@@ -264,7 +264,7 @@ examples:
power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
};

- vcodec-core@25000 {
+ video-codec-core@25000 {
compatible = "mediatek,mtk-vcodec-core";
reg = <0 0x25000 0 0x1000>;
interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 0>;
--
2.18.0

Subject: Re: [PATCH v3 2/2] arm64: dts: mt8192: Add vcodec lat and core nodes

Il 29/09/22 15:13, Allen-KH Cheng ha scritto:
> Add vcodec lat and core nodes for mt8192 SoC.
>
> Signed-off-by: Allen-KH Cheng <[email protected]>
> Tested-by: Chen-Yu Tsai <[email protected]>
> ---
> arch/arm64/boot/dts/mediatek/mt8192.dtsi | 60 ++++++++++++++++++++++++
> 1 file changed, 60 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> index 6b20376191a7..fd3c3aaeadba 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> @@ -1449,6 +1449,66 @@
> power-domains = <&spm MT8192_POWER_DOMAIN_ISP2>;
> };
>
> + vcodec_dec: video-codec@16000000 {
> + compatible = "mediatek,mt8192-vcodec-dec";
> + reg = <0 0x16000000 0 0x1000>;
> + 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 0x26000>;
> +
> + vcodec_lat: video-codec-lat@10000 {

There's only one more thing: why do we need the `vcodec_lat:` and `vcodec_core:`
phandles here?

Platforms that do not support the vcodec can simply set `status = disabled;` on
`vcodec_dec`... as it doesn't make real sense to disable only LAT or only CORE.

Please drop these two, after which:

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>


Subject: Re: [PATCH v3 1/2] media: dt-bindings: mediatek: Rename child node names for decoder

Il 29/09/22 15:13, Allen-KH Cheng ha scritto:
> In order to make the names of the child nodes more generic, we rename
> "vcodec" to "video-codec" for decoder in patternProperties and example.
>
> Signed-off-by: Allen-KH Cheng <[email protected]>

Many thanks for doing this, Allen.

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>


2022-09-30 11:28:04

by Allen-KH Cheng

[permalink] [raw]
Subject: Re: [PATCH v3 2/2] arm64: dts: mt8192: Add vcodec lat and core nodes

Hi Angelo,

On Fri, 2022-09-30 at 10:37 +0200, AngeloGioacchino Del Regno wrote:
> Il 29/09/22 15:13, Allen-KH Cheng ha scritto:
> > Add vcodec lat and core nodes for mt8192 SoC.
> >
> > Signed-off-by: Allen-KH Cheng <[email protected]>
> > Tested-by: Chen-Yu Tsai <[email protected]>
> > ---
> > arch/arm64/boot/dts/mediatek/mt8192.dtsi | 60
> > ++++++++++++++++++++++++
> > 1 file changed, 60 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> > b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> > index 6b20376191a7..fd3c3aaeadba 100644
> > --- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> > +++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
> > @@ -1449,6 +1449,66 @@
> > power-domains = <&spm
> > MT8192_POWER_DOMAIN_ISP2>;
> > };
> >
> > + vcodec_dec: video-codec@16000000 {
> > + compatible = "mediatek,mt8192-vcodec-dec";
> > + reg = <0 0x16000000 0 0x1000>;
> > + 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 0x26000>;
> > +
> > + vcodec_lat: video-codec-lat@10000 {
>
> There's only one more thing: why do we need the `vcodec_lat:` and
> `vcodec_core:`
> phandles here?
>
> Platforms that do not support the vcodec can simply set `status =
> disabled;` on
> `vcodec_dec`... as it doesn't make real sense to disable only LAT or
> only CORE.
>
> Please drop these two, after which:
>
> Reviewed-by: AngeloGioacchino Del Regno <
> [email protected]>

It makes sense.
I'll update in the following version.

Thanks,
Allen
>
>

2023-02-01 13:32:08

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v3 1/2] media: dt-bindings: mediatek: Rename child node names for decoder

Hi Mauro,

It seems this patch got overseen in your queue.
Can you please check if there is still something that blocks it from getting merged?

Regards,
Matthias

On 29/09/2022 15:13, Allen-KH Cheng wrote:
> In order to make the names of the child nodes more generic, we rename
> "vcodec" to "video-codec" for decoder in patternProperties and example.
>
> Signed-off-by: Allen-KH Cheng <[email protected]>
> ---
> .../bindings/media/mediatek,vcodec-subdev-decoder.yaml | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml b/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> index c4f20acdc1f8..67fde48f991c 100644
> --- a/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> +++ b/Documentation/devicetree/bindings/media/mediatek,vcodec-subdev-decoder.yaml
> @@ -91,7 +91,7 @@ properties:
>
> # Required child node:
> patternProperties:
> - '^vcodec-lat@[0-9a-f]+$':
> + '^video-codec-lat@[0-9a-f]+$':
> type: object
>
> properties:
> @@ -145,7 +145,7 @@ patternProperties:
>
> additionalProperties: false
>
> - '^vcodec-core@[0-9a-f]+$':
> + '^video-codec-core@[0-9a-f]+$':
> type: object
>
> properties:
> @@ -241,7 +241,7 @@ examples:
> #size-cells = <2>;
> ranges = <0 0 0 0x16000000 0 0x40000>;
> reg = <0 0x16000000 0 0x1000>; /* VDEC_SYS */
> - vcodec-lat@10000 {
> + video-codec-lat@10000 {
> compatible = "mediatek,mtk-vcodec-lat";
> reg = <0 0x10000 0 0x800>;
> interrupts = <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH 0>;
> @@ -264,7 +264,7 @@ examples:
> power-domains = <&spm MT8192_POWER_DOMAIN_VDEC>;
> };
>
> - vcodec-core@25000 {
> + video-codec-core@25000 {
> compatible = "mediatek,mtk-vcodec-core";
> reg = <0 0x25000 0 0x1000>;
> interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH 0>;