Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

soc: mediatek: add mtk mutex support for MT8192

Add mtk mutex support for MT8192 SoC.

Signed-off-by: Yongqiang Niu <yongqiang.niu@mediatek.com>
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Link: https://lore.kernel.org/r/20210930155222.5861-5-yongqiang.niu@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>

authored by

Yongqiang Niu and committed by
Matthias Brugger
13d9624d d687e056

+35
+35
drivers/soc/mediatek/mtk-mutex.c
··· 39 39 #define MT8167_MUTEX_MOD_DISP_DITHER 15 40 40 #define MT8167_MUTEX_MOD_DISP_UFOE 16 41 41 42 + #define MT8192_MUTEX_MOD_DISP_OVL0 0 43 + #define MT8192_MUTEX_MOD_DISP_OVL0_2L 1 44 + #define MT8192_MUTEX_MOD_DISP_RDMA0 2 45 + #define MT8192_MUTEX_MOD_DISP_COLOR0 4 46 + #define MT8192_MUTEX_MOD_DISP_CCORR0 5 47 + #define MT8192_MUTEX_MOD_DISP_AAL0 6 48 + #define MT8192_MUTEX_MOD_DISP_GAMMA0 7 49 + #define MT8192_MUTEX_MOD_DISP_POSTMASK0 8 50 + #define MT8192_MUTEX_MOD_DISP_DITHER0 9 51 + #define MT8192_MUTEX_MOD_DISP_OVL2_2L 16 52 + #define MT8192_MUTEX_MOD_DISP_RDMA4 17 53 + 42 54 #define MT8183_MUTEX_MOD_DISP_RDMA0 0 43 55 #define MT8183_MUTEX_MOD_DISP_RDMA1 1 44 56 #define MT8183_MUTEX_MOD_DISP_OVL0 9 ··· 226 214 [DDP_COMPONENT_WDMA0] = MT8183_MUTEX_MOD_DISP_WDMA0, 227 215 }; 228 216 217 + static const unsigned int mt8192_mutex_mod[DDP_COMPONENT_ID_MAX] = { 218 + [DDP_COMPONENT_AAL0] = MT8192_MUTEX_MOD_DISP_AAL0, 219 + [DDP_COMPONENT_CCORR] = MT8192_MUTEX_MOD_DISP_CCORR0, 220 + [DDP_COMPONENT_COLOR0] = MT8192_MUTEX_MOD_DISP_COLOR0, 221 + [DDP_COMPONENT_DITHER] = MT8192_MUTEX_MOD_DISP_DITHER0, 222 + [DDP_COMPONENT_GAMMA] = MT8192_MUTEX_MOD_DISP_GAMMA0, 223 + [DDP_COMPONENT_POSTMASK0] = MT8192_MUTEX_MOD_DISP_POSTMASK0, 224 + [DDP_COMPONENT_OVL0] = MT8192_MUTEX_MOD_DISP_OVL0, 225 + [DDP_COMPONENT_OVL_2L0] = MT8192_MUTEX_MOD_DISP_OVL0_2L, 226 + [DDP_COMPONENT_OVL_2L2] = MT8192_MUTEX_MOD_DISP_OVL2_2L, 227 + [DDP_COMPONENT_RDMA0] = MT8192_MUTEX_MOD_DISP_RDMA0, 228 + [DDP_COMPONENT_RDMA4] = MT8192_MUTEX_MOD_DISP_RDMA4, 229 + }; 230 + 229 231 static const unsigned int mt2712_mutex_sof[MUTEX_SOF_DSI3 + 1] = { 230 232 [MUTEX_SOF_SINGLE_MODE] = MUTEX_SOF_SINGLE_MODE, 231 233 [MUTEX_SOF_DSI0] = MUTEX_SOF_DSI0, ··· 299 273 .mutex_mod_reg = MT8183_MUTEX0_MOD0, 300 274 .mutex_sof_reg = MT8183_MUTEX0_SOF0, 301 275 .no_clk = true, 276 + }; 277 + 278 + static const struct mtk_mutex_data mt8192_mutex_driver_data = { 279 + .mutex_mod = mt8192_mutex_mod, 280 + .mutex_sof = mt8183_mutex_sof, 281 + .mutex_mod_reg = MT8183_MUTEX0_MOD0, 282 + .mutex_sof_reg = MT8183_MUTEX0_SOF0, 302 283 }; 303 284 304 285 struct mtk_mutex *mtk_mutex_get(struct device *dev) ··· 540 507 .data = &mt8173_mutex_driver_data}, 541 508 { .compatible = "mediatek,mt8183-disp-mutex", 542 509 .data = &mt8183_mutex_driver_data}, 510 + { .compatible = "mediatek,mt8192-disp-mutex", 511 + .data = &mt8192_mutex_driver_data}, 543 512 {}, 544 513 }; 545 514 MODULE_DEVICE_TABLE(of, mutex_driver_dt_match);