Skip to content

Commit 549053b

Browse files
Roy-CW.Yehmbgg
authored andcommitted
soc: mediatek: mutex: support MT8195 VPPSYS
Add MT8195 VPPSYS0 and VPPSYS1 mutex info to driver data Signed-off-by: Roy-CW.Yeh <roy-cw.yeh@mediatek.com> Signed-off-by: Moudy Ho <moudy.ho@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Change-Id: Ie371dc9dcf35ea308d9460acd60fb9c3d6475deb Link: https://lore.kernel.org/r/20230206091109.1324-7-moudy.ho@mediatek.com Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
1 parent c54d2b9 commit 549053b

2 files changed

Lines changed: 137 additions & 0 deletions

File tree

drivers/soc/mediatek/mtk-mutex.c

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,53 @@
164164
#define MT8195_MUTEX_MOD_DISP1_DPI1 26
165165
#define MT8195_MUTEX_MOD_DISP1_DP_INTF0 27
166166

167+
/* VPPSYS0 */
168+
#define MT8195_MUTEX_MOD_MDP_RDMA0 0
169+
#define MT8195_MUTEX_MOD_MDP_FG0 1
170+
#define MT8195_MUTEX_MOD_MDP_STITCH0 2
171+
#define MT8195_MUTEX_MOD_MDP_HDR0 3
172+
#define MT8195_MUTEX_MOD_MDP_AAL0 4
173+
#define MT8195_MUTEX_MOD_MDP_RSZ0 5
174+
#define MT8195_MUTEX_MOD_MDP_TDSHP0 6
175+
#define MT8195_MUTEX_MOD_MDP_COLOR0 7
176+
#define MT8195_MUTEX_MOD_MDP_OVL0 8
177+
#define MT8195_MUTEX_MOD_MDP_PAD0 9
178+
#define MT8195_MUTEX_MOD_MDP_TCC0 10
179+
#define MT8195_MUTEX_MOD_MDP_WROT0 11
180+
181+
/* VPPSYS1 */
182+
#define MT8195_MUTEX_MOD_MDP_TCC1 3
183+
#define MT8195_MUTEX_MOD_MDP_RDMA1 4
184+
#define MT8195_MUTEX_MOD_MDP_RDMA2 5
185+
#define MT8195_MUTEX_MOD_MDP_RDMA3 6
186+
#define MT8195_MUTEX_MOD_MDP_FG1 7
187+
#define MT8195_MUTEX_MOD_MDP_FG2 8
188+
#define MT8195_MUTEX_MOD_MDP_FG3 9
189+
#define MT8195_MUTEX_MOD_MDP_HDR1 10
190+
#define MT8195_MUTEX_MOD_MDP_HDR2 11
191+
#define MT8195_MUTEX_MOD_MDP_HDR3 12
192+
#define MT8195_MUTEX_MOD_MDP_AAL1 13
193+
#define MT8195_MUTEX_MOD_MDP_AAL2 14
194+
#define MT8195_MUTEX_MOD_MDP_AAL3 15
195+
#define MT8195_MUTEX_MOD_MDP_RSZ1 16
196+
#define MT8195_MUTEX_MOD_MDP_RSZ2 17
197+
#define MT8195_MUTEX_MOD_MDP_RSZ3 18
198+
#define MT8195_MUTEX_MOD_MDP_TDSHP1 19
199+
#define MT8195_MUTEX_MOD_MDP_TDSHP2 20
200+
#define MT8195_MUTEX_MOD_MDP_TDSHP3 21
201+
#define MT8195_MUTEX_MOD_MDP_MERGE2 22
202+
#define MT8195_MUTEX_MOD_MDP_MERGE3 23
203+
#define MT8195_MUTEX_MOD_MDP_COLOR1 24
204+
#define MT8195_MUTEX_MOD_MDP_COLOR2 25
205+
#define MT8195_MUTEX_MOD_MDP_COLOR3 26
206+
#define MT8195_MUTEX_MOD_MDP_OVL1 27
207+
#define MT8195_MUTEX_MOD_MDP_PAD1 28
208+
#define MT8195_MUTEX_MOD_MDP_PAD2 29
209+
#define MT8195_MUTEX_MOD_MDP_PAD3 30
210+
#define MT8195_MUTEX_MOD_MDP_WROT1 31
211+
#define MT8195_MUTEX_MOD_MDP_WROT2 32
212+
#define MT8195_MUTEX_MOD_MDP_WROT3 33
213+
167214
#define MT8365_MUTEX_MOD_DISP_OVL0 7
168215
#define MT8365_MUTEX_MOD_DISP_OVL0_2L 8
169216
#define MT8365_MUTEX_MOD_DISP_RDMA0 9
@@ -444,6 +491,52 @@ static const unsigned int mt8195_mutex_mod[DDP_COMPONENT_ID_MAX] = {
444491
[DDP_COMPONENT_DP_INTF1] = MT8195_MUTEX_MOD_DISP1_DP_INTF0,
445492
};
446493

494+
static const unsigned int mt8195_mutex_table_mod[MUTEX_MOD_IDX_MAX] = {
495+
[MUTEX_MOD_IDX_MDP_RDMA0] = MT8195_MUTEX_MOD_MDP_RDMA0,
496+
[MUTEX_MOD_IDX_MDP_RDMA1] = MT8195_MUTEX_MOD_MDP_RDMA1,
497+
[MUTEX_MOD_IDX_MDP_RDMA2] = MT8195_MUTEX_MOD_MDP_RDMA2,
498+
[MUTEX_MOD_IDX_MDP_RDMA3] = MT8195_MUTEX_MOD_MDP_RDMA3,
499+
[MUTEX_MOD_IDX_MDP_STITCH0] = MT8195_MUTEX_MOD_MDP_STITCH0,
500+
[MUTEX_MOD_IDX_MDP_FG0] = MT8195_MUTEX_MOD_MDP_FG0,
501+
[MUTEX_MOD_IDX_MDP_FG1] = MT8195_MUTEX_MOD_MDP_FG1,
502+
[MUTEX_MOD_IDX_MDP_FG2] = MT8195_MUTEX_MOD_MDP_FG2,
503+
[MUTEX_MOD_IDX_MDP_FG3] = MT8195_MUTEX_MOD_MDP_FG3,
504+
[MUTEX_MOD_IDX_MDP_HDR0] = MT8195_MUTEX_MOD_MDP_HDR0,
505+
[MUTEX_MOD_IDX_MDP_HDR1] = MT8195_MUTEX_MOD_MDP_HDR1,
506+
[MUTEX_MOD_IDX_MDP_HDR2] = MT8195_MUTEX_MOD_MDP_HDR2,
507+
[MUTEX_MOD_IDX_MDP_HDR3] = MT8195_MUTEX_MOD_MDP_HDR3,
508+
[MUTEX_MOD_IDX_MDP_AAL0] = MT8195_MUTEX_MOD_MDP_AAL0,
509+
[MUTEX_MOD_IDX_MDP_AAL1] = MT8195_MUTEX_MOD_MDP_AAL1,
510+
[MUTEX_MOD_IDX_MDP_AAL2] = MT8195_MUTEX_MOD_MDP_AAL2,
511+
[MUTEX_MOD_IDX_MDP_AAL3] = MT8195_MUTEX_MOD_MDP_AAL3,
512+
[MUTEX_MOD_IDX_MDP_RSZ0] = MT8195_MUTEX_MOD_MDP_RSZ0,
513+
[MUTEX_MOD_IDX_MDP_RSZ1] = MT8195_MUTEX_MOD_MDP_RSZ1,
514+
[MUTEX_MOD_IDX_MDP_RSZ2] = MT8195_MUTEX_MOD_MDP_RSZ2,
515+
[MUTEX_MOD_IDX_MDP_RSZ3] = MT8195_MUTEX_MOD_MDP_RSZ3,
516+
[MUTEX_MOD_IDX_MDP_MERGE2] = MT8195_MUTEX_MOD_MDP_MERGE2,
517+
[MUTEX_MOD_IDX_MDP_MERGE3] = MT8195_MUTEX_MOD_MDP_MERGE3,
518+
[MUTEX_MOD_IDX_MDP_TDSHP0] = MT8195_MUTEX_MOD_MDP_TDSHP0,
519+
[MUTEX_MOD_IDX_MDP_TDSHP1] = MT8195_MUTEX_MOD_MDP_TDSHP1,
520+
[MUTEX_MOD_IDX_MDP_TDSHP2] = MT8195_MUTEX_MOD_MDP_TDSHP2,
521+
[MUTEX_MOD_IDX_MDP_TDSHP3] = MT8195_MUTEX_MOD_MDP_TDSHP3,
522+
[MUTEX_MOD_IDX_MDP_COLOR0] = MT8195_MUTEX_MOD_MDP_COLOR0,
523+
[MUTEX_MOD_IDX_MDP_COLOR1] = MT8195_MUTEX_MOD_MDP_COLOR1,
524+
[MUTEX_MOD_IDX_MDP_COLOR2] = MT8195_MUTEX_MOD_MDP_COLOR2,
525+
[MUTEX_MOD_IDX_MDP_COLOR3] = MT8195_MUTEX_MOD_MDP_COLOR3,
526+
[MUTEX_MOD_IDX_MDP_OVL0] = MT8195_MUTEX_MOD_MDP_OVL0,
527+
[MUTEX_MOD_IDX_MDP_OVL1] = MT8195_MUTEX_MOD_MDP_OVL1,
528+
[MUTEX_MOD_IDX_MDP_PAD0] = MT8195_MUTEX_MOD_MDP_PAD0,
529+
[MUTEX_MOD_IDX_MDP_PAD1] = MT8195_MUTEX_MOD_MDP_PAD1,
530+
[MUTEX_MOD_IDX_MDP_PAD2] = MT8195_MUTEX_MOD_MDP_PAD2,
531+
[MUTEX_MOD_IDX_MDP_PAD3] = MT8195_MUTEX_MOD_MDP_PAD3,
532+
[MUTEX_MOD_IDX_MDP_TCC0] = MT8195_MUTEX_MOD_MDP_TCC0,
533+
[MUTEX_MOD_IDX_MDP_TCC1] = MT8195_MUTEX_MOD_MDP_TCC1,
534+
[MUTEX_MOD_IDX_MDP_WROT0] = MT8195_MUTEX_MOD_MDP_WROT0,
535+
[MUTEX_MOD_IDX_MDP_WROT1] = MT8195_MUTEX_MOD_MDP_WROT1,
536+
[MUTEX_MOD_IDX_MDP_WROT2] = MT8195_MUTEX_MOD_MDP_WROT2,
537+
[MUTEX_MOD_IDX_MDP_WROT3] = MT8195_MUTEX_MOD_MDP_WROT3,
538+
};
539+
447540
static const unsigned int mt8365_mutex_mod[DDP_COMPONENT_ID_MAX] = {
448541
[DDP_COMPONENT_AAL0] = MT8365_MUTEX_MOD_DISP_AAL,
449542
[DDP_COMPONENT_CCORR] = MT8365_MUTEX_MOD_DISP_CCORR,
@@ -604,6 +697,13 @@ static const struct mtk_mutex_data mt8195_mutex_driver_data = {
604697
.mutex_sof_reg = MT8183_MUTEX0_SOF0,
605698
};
606699

700+
static const struct mtk_mutex_data mt8195_vpp_mutex_driver_data = {
701+
.mutex_sof = mt8195_mutex_sof,
702+
.mutex_mod_reg = MT8183_MUTEX0_MOD0,
703+
.mutex_sof_reg = MT8183_MUTEX0_SOF0,
704+
.mutex_table_mod = mt8195_mutex_table_mod,
705+
};
706+
607707
static const struct mtk_mutex_data mt8365_mutex_driver_data = {
608708
.mutex_mod = mt8365_mutex_mod,
609709
.mutex_sof = mt8183_mutex_sof,
@@ -962,6 +1062,8 @@ static const struct of_device_id mutex_driver_dt_match[] = {
9621062
.data = &mt8192_mutex_driver_data},
9631063
{ .compatible = "mediatek,mt8195-disp-mutex",
9641064
.data = &mt8195_mutex_driver_data},
1065+
{ .compatible = "mediatek,mt8195-vpp-mutex",
1066+
.data = &mt8195_vpp_mutex_driver_data},
9651067
{ .compatible = "mediatek,mt8365-disp-mutex",
9661068
.data = &mt8365_mutex_driver_data},
9671069
{},

include/linux/soc/mediatek/mtk-mutex.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,41 @@ enum mtk_mutex_mod_index {
2222
MUTEX_MOD_IDX_MDP_CCORR0,
2323
MUTEX_MOD_IDX_MDP_HDR0,
2424
MUTEX_MOD_IDX_MDP_COLOR0,
25+
MUTEX_MOD_IDX_MDP_RDMA1,
26+
MUTEX_MOD_IDX_MDP_RDMA2,
27+
MUTEX_MOD_IDX_MDP_RDMA3,
28+
MUTEX_MOD_IDX_MDP_STITCH0,
29+
MUTEX_MOD_IDX_MDP_FG0,
30+
MUTEX_MOD_IDX_MDP_FG1,
31+
MUTEX_MOD_IDX_MDP_FG2,
32+
MUTEX_MOD_IDX_MDP_FG3,
33+
MUTEX_MOD_IDX_MDP_HDR1,
34+
MUTEX_MOD_IDX_MDP_HDR2,
35+
MUTEX_MOD_IDX_MDP_HDR3,
36+
MUTEX_MOD_IDX_MDP_AAL1,
37+
MUTEX_MOD_IDX_MDP_AAL2,
38+
MUTEX_MOD_IDX_MDP_AAL3,
39+
MUTEX_MOD_IDX_MDP_RSZ2,
40+
MUTEX_MOD_IDX_MDP_RSZ3,
41+
MUTEX_MOD_IDX_MDP_MERGE2,
42+
MUTEX_MOD_IDX_MDP_MERGE3,
43+
MUTEX_MOD_IDX_MDP_TDSHP1,
44+
MUTEX_MOD_IDX_MDP_TDSHP2,
45+
MUTEX_MOD_IDX_MDP_TDSHP3,
46+
MUTEX_MOD_IDX_MDP_COLOR1,
47+
MUTEX_MOD_IDX_MDP_COLOR2,
48+
MUTEX_MOD_IDX_MDP_COLOR3,
49+
MUTEX_MOD_IDX_MDP_OVL0,
50+
MUTEX_MOD_IDX_MDP_OVL1,
51+
MUTEX_MOD_IDX_MDP_PAD0,
52+
MUTEX_MOD_IDX_MDP_PAD1,
53+
MUTEX_MOD_IDX_MDP_PAD2,
54+
MUTEX_MOD_IDX_MDP_PAD3,
55+
MUTEX_MOD_IDX_MDP_TCC0,
56+
MUTEX_MOD_IDX_MDP_TCC1,
57+
MUTEX_MOD_IDX_MDP_WROT1,
58+
MUTEX_MOD_IDX_MDP_WROT2,
59+
MUTEX_MOD_IDX_MDP_WROT3,
2560

2661
MUTEX_MOD_IDX_MAX /* ALWAYS keep at the end */
2762
};

0 commit comments

Comments
 (0)