2023-02-06 09:11:28

by Moudy Ho (何宗原)

[permalink] [raw]
Subject: [PATCH v7 0/6] add support for MT8195 VPPSYS on MMSYS and MUTEX

Changes since v6:
- Rebase on linux-next.
- For MMSYS api changes, fix corresponding functionality in [4/6] patch.

Changes since v5:
- Depend on :
[1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=713031

Changes since v4:
- Rebase on linux-next.
- Remove MMSYS fallback compatible.
- Migrate MT8195 VPPSYS0/1 from clock to mtk-mmsys driver.

Changes since v3:
- Rebase on linux-next.

Changes since v2:
- Depend on :
[1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=681097
- Split dts settings into two patches based on belonging to MMSYS or MUTEX.

Changes since v1:
- Depend on :
[1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=681097
- Add compatible names to VPPSYS0 and VPPSYS1 in MMSYS binding file.
- Fix VPPSYS's MMSYS and MUTEX dts to pass the dtsb_check.
- Rename mtk_mmsys_merge_config() and mtk_mmsys_rsz_dcm_config() to
mtk_mmsys_vpp_rsz_merge_config() and mtk_mmsys_vpp_rsz_dcm_config().
- Clean up mtk_mmsys_vpp_rsz_dcm_config().
- Add a comment to mtk_mutex_write_mod() and clean it up for use in more
than 32 mods.

Hi,

This series add support for MT8195's two VPPSYS(Video Processor Pipe Subsystem),
under which there will be corresponding MMSYS and MUTEX settings that
need to be configured.

Moudy Ho (1):
arm64: dts: mediatek: mt8195: add MUTEX configuration for VPPSYS

Roy-CW.Yeh (5):
dt-bindings: soc: mediatek: Add support for MT8195 VPPSYS
arm64: dts: mediatek: mt8195: add MMSYS configuration for VPPSYS
soc: mediatek: mmsys: add config api for RSZ switching and DCM
soc: mediatek: mutex: Add mtk_mutex_set_mod support to set MOD1
soc: mediatek: mutex: support MT8195 VPPSYS

.../bindings/soc/mediatek/mediatek,mutex.yaml | 1 +
arch/arm64/boot/dts/mediatek/mt8195.dtsi | 26 +++-
drivers/soc/mediatek/mt8195-mmsys.h | 13 ++
drivers/soc/mediatek/mtk-mmsys.c | 44 ++++++
drivers/soc/mediatek/mtk-mutex.c | 135 +++++++++++++++++-
include/linux/soc/mediatek/mtk-mmsys.h | 6 +
include/linux/soc/mediatek/mtk-mutex.h | 35 +++++
7 files changed, 249 insertions(+), 11 deletions(-)

--
2.18.0



2023-02-06 09:11:33

by Moudy Ho (何宗原)

[permalink] [raw]
Subject: [PATCH v7 3/6] arm64: dts: mediatek: mt8195: add MUTEX configuration for VPPSYS

In MT8195, the MMSYS has two Video Processor Pipepline Subsystems
named VPPSYS0 and VPPSYS1, each with specific MUTEX to control
Start of Frame(SOF) and End of Frame (EOF) signals.
Before working with them, the addresses, interrupts, clocks and power
domains need to be set up in dts.

Signed-off-by: Moudy Ho <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
---
arch/arm64/boot/dts/mediatek/mt8195.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8195.dtsi b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
index 526136703142..8fc527570791 100644
--- a/arch/arm64/boot/dts/mediatek/mt8195.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8195.dtsi
@@ -1801,6 +1801,15 @@
#clock-cells = <1>;
};

+ mutex@1400f000 {
+ compatible = "mediatek,mt8195-vpp-mutex";
+ reg = <0 0x1400f000 0 0x1000>;
+ interrupts = <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH 0>;
+ mediatek,gce-client-reg = <&gce1 SUBSYS_1400XXXX 0xf000 0x1000>;
+ clocks = <&vppsys0 CLK_VPP0_MUTEX>;
+ power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS0>;
+ };
+
smi_sub_common_vpp0_vpp1_2x1: smi@14010000 {
compatible = "mediatek,mt8195-smi-sub-common";
reg = <0 0x14010000 0 0x1000>;
@@ -1906,6 +1915,15 @@
#clock-cells = <1>;
};

+ mutex@14f01000 {
+ compatible = "mediatek,mt8195-vpp-mutex";
+ reg = <0 0x14f01000 0 0x1000>;
+ interrupts = <GIC_SPI 635 IRQ_TYPE_LEVEL_HIGH 0>;
+ mediatek,gce-client-reg = <&gce1 SUBSYS_14f0XXXX 0x1000 0x1000>;
+ clocks = <&vppsys1 CLK_VPP1_DISP_MUTEX>;
+ power-domains = <&spm MT8195_POWER_DOMAIN_VPPSYS1>;
+ };
+
larb5: larb@14f02000 {
compatible = "mediatek,mt8195-smi-larb";
reg = <0 0x14f02000 0 0x1000>;
--
2.18.0


2023-02-06 11:14:57

by Chen-Yu Tsai

[permalink] [raw]
Subject: Re: [PATCH v7 3/6] arm64: dts: mediatek: mt8195: add MUTEX configuration for VPPSYS

On Mon, Feb 6, 2023 at 5:11 PM Moudy Ho <[email protected]> wrote:
>
> In MT8195, the MMSYS has two Video Processor Pipepline Subsystems
> named VPPSYS0 and VPPSYS1, each with specific MUTEX to control
> Start of Frame(SOF) and End of Frame (EOF) signals.
> Before working with them, the addresses, interrupts, clocks and power
> domains need to be set up in dts.
>
> Signed-off-by: Moudy Ho <[email protected]>
> Reviewed-by: AngeloGioacchino Del Regno <[email protected]>

Reviewed-by: Chen-Yu Tsai <[email protected]>
Tested-by: Chen-Yu Tsai <[email protected]>

Probe tested only. I assume further testing requires the MDP3 driver.

2023-02-06 18:23:49

by Matthias Brugger

[permalink] [raw]
Subject: Re: [PATCH v7 0/6] add support for MT8195 VPPSYS on MMSYS and MUTEX



Whole series queued, thanks!

Matthias

On 06/02/2023 10:11, Moudy Ho wrote:
> Changes since v6:
> - Rebase on linux-next.
> - For MMSYS api changes, fix corresponding functionality in [4/6] patch.
>
> Changes since v5:
> - Depend on :
> [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=713031
>
> Changes since v4:
> - Rebase on linux-next.
> - Remove MMSYS fallback compatible.
> - Migrate MT8195 VPPSYS0/1 from clock to mtk-mmsys driver.
>
> Changes since v3:
> - Rebase on linux-next.
>
> Changes since v2:
> - Depend on :
> [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=681097
> - Split dts settings into two patches based on belonging to MMSYS or MUTEX.
>
> Changes since v1:
> - Depend on :
> [1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=681097
> - Add compatible names to VPPSYS0 and VPPSYS1 in MMSYS binding file.
> - Fix VPPSYS's MMSYS and MUTEX dts to pass the dtsb_check.
> - Rename mtk_mmsys_merge_config() and mtk_mmsys_rsz_dcm_config() to
> mtk_mmsys_vpp_rsz_merge_config() and mtk_mmsys_vpp_rsz_dcm_config().
> - Clean up mtk_mmsys_vpp_rsz_dcm_config().
> - Add a comment to mtk_mutex_write_mod() and clean it up for use in more
> than 32 mods.
>
> Hi,
>
> This series add support for MT8195's two VPPSYS(Video Processor Pipe Subsystem),
> under which there will be corresponding MMSYS and MUTEX settings that
> need to be configured.
>
> Moudy Ho (1):
> arm64: dts: mediatek: mt8195: add MUTEX configuration for VPPSYS
>
> Roy-CW.Yeh (5):
> dt-bindings: soc: mediatek: Add support for MT8195 VPPSYS
> arm64: dts: mediatek: mt8195: add MMSYS configuration for VPPSYS
> soc: mediatek: mmsys: add config api for RSZ switching and DCM
> soc: mediatek: mutex: Add mtk_mutex_set_mod support to set MOD1
> soc: mediatek: mutex: support MT8195 VPPSYS
>
> .../bindings/soc/mediatek/mediatek,mutex.yaml | 1 +
> arch/arm64/boot/dts/mediatek/mt8195.dtsi | 26 +++-
> drivers/soc/mediatek/mt8195-mmsys.h | 13 ++
> drivers/soc/mediatek/mtk-mmsys.c | 44 ++++++
> drivers/soc/mediatek/mtk-mutex.c | 135 +++++++++++++++++-
> include/linux/soc/mediatek/mtk-mmsys.h | 6 +
> include/linux/soc/mediatek/mtk-mutex.h | 35 +++++
> 7 files changed, 249 insertions(+), 11 deletions(-)
>