soc: mediatek: mutex: Add mt8186 mutex mod settings for mdp3
authorAllen-KH Cheng <allen-kh.cheng@mediatek.com>
Wed, 31 Aug 2022 17:21:51 +0000 (01:21 +0800)
committerMatthias Brugger <matthias.bgg@gmail.com>
Wed, 31 Aug 2022 19:27:30 +0000 (21:27 +0200)
Add mt8186 mutex mod settings for mdp3.

Co-developed-by: Xiandong Wang <xiandong.wang@mediatek.com>
Signed-off-by: Xiandong Wang <xiandong.wang@mediatek.com>
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220831172151.10215-3-allen-kh.cheng@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
drivers/soc/mediatek/mtk-mutex.c
include/linux/soc/mediatek/mtk-mutex.h

index 5ea43de4e410662d7e3530987013cc773442a925..f95100d4de732bf1d10d8cda5e7ea6004a426f6c 100644 (file)
 #define MT8183_MUTEX_MOD_MDP_AAL0              23
 #define MT8183_MUTEX_MOD_MDP_CCORR0            24
 
+#define MT8186_MUTEX_MOD_MDP_RDMA0             0
+#define MT8186_MUTEX_MOD_MDP_AAL0              2
+#define MT8186_MUTEX_MOD_MDP_HDR0              4
+#define MT8186_MUTEX_MOD_MDP_RSZ0              5
+#define MT8186_MUTEX_MOD_MDP_RSZ1              6
+#define MT8186_MUTEX_MOD_MDP_WROT0             7
+#define MT8186_MUTEX_MOD_MDP_TDSHP0            9
+#define MT8186_MUTEX_MOD_MDP_COLOR0            14
+
 #define MT8173_MUTEX_MOD_DISP_OVL0             11
 #define MT8173_MUTEX_MOD_DISP_OVL1             12
 #define MT8173_MUTEX_MOD_DISP_RDMA0            13
@@ -324,6 +333,17 @@ static const unsigned int mt8186_mutex_mod[DDP_COMPONENT_ID_MAX] = {
        [DDP_COMPONENT_RDMA1] = MT8186_MUTEX_MOD_DISP_RDMA1,
 };
 
+static const unsigned int mt8186_mdp_mutex_table_mod[MUTEX_MOD_IDX_MAX] = {
+       [MUTEX_MOD_IDX_MDP_RDMA0] = MT8186_MUTEX_MOD_MDP_RDMA0,
+       [MUTEX_MOD_IDX_MDP_RSZ0] = MT8186_MUTEX_MOD_MDP_RSZ0,
+       [MUTEX_MOD_IDX_MDP_RSZ1] = MT8186_MUTEX_MOD_MDP_RSZ1,
+       [MUTEX_MOD_IDX_MDP_TDSHP0] = MT8186_MUTEX_MOD_MDP_TDSHP0,
+       [MUTEX_MOD_IDX_MDP_WROT0] = MT8186_MUTEX_MOD_MDP_WROT0,
+       [MUTEX_MOD_IDX_MDP_HDR0] = MT8186_MUTEX_MOD_MDP_HDR0,
+       [MUTEX_MOD_IDX_MDP_AAL0] = MT8186_MUTEX_MOD_MDP_AAL0,
+       [MUTEX_MOD_IDX_MDP_COLOR0] = MT8186_MUTEX_MOD_MDP_COLOR0,
+};
+
 static const unsigned int mt8192_mutex_mod[DDP_COMPONENT_ID_MAX] = {
        [DDP_COMPONENT_AAL0] = MT8192_MUTEX_MOD_DISP_AAL0,
        [DDP_COMPONENT_CCORR] = MT8192_MUTEX_MOD_DISP_CCORR0,
@@ -458,6 +478,12 @@ static const struct mtk_mutex_data mt8183_mutex_driver_data = {
        .no_clk = true,
 };
 
+static const struct mtk_mutex_data mt8186_mdp_mutex_driver_data = {
+       .mutex_mod_reg = MT8183_MUTEX0_MOD0,
+       .mutex_sof_reg = MT8183_MUTEX0_SOF0,
+       .mutex_table_mod = mt8186_mdp_mutex_table_mod,
+};
+
 static const struct mtk_mutex_data mt8186_mutex_driver_data = {
        .mutex_mod = mt8186_mutex_mod,
        .mutex_sof = mt8186_mutex_sof,
@@ -810,6 +836,8 @@ static const struct of_device_id mutex_driver_dt_match[] = {
          .data = &mt8183_mutex_driver_data},
        { .compatible = "mediatek,mt8186-disp-mutex",
          .data = &mt8186_mutex_driver_data},
+       { .compatible = "mediatek,mt8186-mdp3-mutex",
+         .data = &mt8186_mdp_mutex_driver_data},
        { .compatible = "mediatek,mt8192-disp-mutex",
          .data = &mt8192_mutex_driver_data},
        { .compatible = "mediatek,mt8195-disp-mutex",
index a0f4f51a3b45dc2e7849020b3a37aff9414600ed..b335c2837cd8b074503c3d7f67862f4d546b88b6 100644 (file)
@@ -20,6 +20,8 @@ enum mtk_mutex_mod_index {
        MUTEX_MOD_IDX_MDP_WDMA,
        MUTEX_MOD_IDX_MDP_AAL0,
        MUTEX_MOD_IDX_MDP_CCORR0,
+       MUTEX_MOD_IDX_MDP_HDR0,
+       MUTEX_MOD_IDX_MDP_COLOR0,
 
        MUTEX_MOD_IDX_MAX               /* ALWAYS keep at the end */
 };