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

media: platform: mtk-mdp3: add files for chip configuration

In order to be compatible with more MDP3 chip settings in further,
integrate and separate chip-related configurations into specific files.

Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>

authored by

Moudy Ho and committed by
Hans Verkuil
0cbfa7c9 41687207

+53 -32
+1 -1
drivers/media/platform/mediatek/mdp3/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 - mtk-mdp3-y += mtk-mdp3-core.o mtk-mdp3-vpu.o mtk-mdp3-regs.o 2 + mtk-mdp3-y += mdp_cfg_data.o mtk-mdp3-core.o mtk-mdp3-vpu.o mtk-mdp3-regs.o 3 3 mtk-mdp3-y += mtk-mdp3-m2m.o 4 4 mtk-mdp3-y += mtk-mdp3-comp.o mtk-mdp3-cmdq.o 5 5
+38
drivers/media/platform/mediatek/mdp3/mdp_cfg_data.c
··· 1 + // SPDX-License-Identifier: GPL-2.0-only 2 + /* 3 + * Copyright (c) 2023 MediaTek Inc. 4 + * Author: Ping-Hsun Wu <ping-hsun.wu@mediatek.com> 5 + */ 6 + 7 + #include "mtk-mdp3-core.h" 8 + 9 + static const struct of_device_id mt8183_mdp_probe_infra[MDP_INFRA_MAX] = { 10 + [MDP_INFRA_MMSYS] = { .compatible = "mediatek,mt8183-mmsys" }, 11 + [MDP_INFRA_MUTEX] = { .compatible = "mediatek,mt8183-disp-mutex" }, 12 + [MDP_INFRA_SCP] = { .compatible = "mediatek,mt8183-scp" } 13 + }; 14 + 15 + static const struct mdp_platform_config mt8183_plat_cfg = { 16 + .rdma_support_10bit = true, 17 + .rdma_rsz1_sram_sharing = true, 18 + .rdma_upsample_repeat_only = true, 19 + .rsz_disable_dcm_small_sample = false, 20 + .wrot_filter_constraint = false, 21 + }; 22 + 23 + static const u32 mt8183_mutex_idx[MDP_MAX_COMP_COUNT] = { 24 + [MDP_COMP_RDMA0] = MUTEX_MOD_IDX_MDP_RDMA0, 25 + [MDP_COMP_RSZ0] = MUTEX_MOD_IDX_MDP_RSZ0, 26 + [MDP_COMP_RSZ1] = MUTEX_MOD_IDX_MDP_RSZ1, 27 + [MDP_COMP_TDSHP0] = MUTEX_MOD_IDX_MDP_TDSHP0, 28 + [MDP_COMP_WROT0] = MUTEX_MOD_IDX_MDP_WROT0, 29 + [MDP_COMP_WDMA] = MUTEX_MOD_IDX_MDP_WDMA, 30 + [MDP_COMP_AAL0] = MUTEX_MOD_IDX_MDP_AAL0, 31 + [MDP_COMP_CCORR0] = MUTEX_MOD_IDX_MDP_CCORR0, 32 + }; 33 + 34 + const struct mtk_mdp_driver_data mt8183_mdp_driver_data = { 35 + .mdp_probe_infra = mt8183_mdp_probe_infra, 36 + .mdp_cfg = &mt8183_plat_cfg, 37 + .mdp_mutex_table_idx = mt8183_mutex_idx, 38 + };
+12
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cfg.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0-only */ 2 + /* 3 + * Copyright (c) 2023 MediaTek Inc. 4 + * Author: Ping-Hsun Wu <ping-hsun.wu@mediatek.com> 5 + */ 6 + 7 + #ifndef __MTK_MDP3_CFG_H__ 8 + #define __MTK_MDP3_CFG_H__ 9 + 10 + extern const struct mtk_mdp_driver_data mt8183_mdp_driver_data; 11 + 12 + #endif /* __MTK_MDP3_CFG_H__ */
+2 -31
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
··· 12 12 #include <linux/remoteproc.h> 13 13 #include <linux/remoteproc/mtk_scp.h> 14 14 #include <media/videobuf2-dma-contig.h> 15 + 15 16 #include "mtk-mdp3-core.h" 17 + #include "mtk-mdp3-cfg.h" 16 18 #include "mtk-mdp3-m2m.h" 17 - 18 - static const struct mdp_platform_config mt8183_plat_cfg = { 19 - .rdma_support_10bit = true, 20 - .rdma_rsz1_sram_sharing = true, 21 - .rdma_upsample_repeat_only = true, 22 - .rsz_disable_dcm_small_sample = false, 23 - .wrot_filter_constraint = false, 24 - }; 25 - 26 - static const struct of_device_id mt8183_mdp_probe_infra[MDP_INFRA_MAX] = { 27 - [MDP_INFRA_MMSYS] = { .compatible = "mediatek,mt8183-mmsys" }, 28 - [MDP_INFRA_MUTEX] = { .compatible = "mediatek,mt8183-disp-mutex" }, 29 - [MDP_INFRA_SCP] = { .compatible = "mediatek,mt8183-scp" } 30 - }; 31 - 32 - static const u32 mt8183_mutex_idx[MDP_MAX_COMP_COUNT] = { 33 - [MDP_COMP_RDMA0] = MUTEX_MOD_IDX_MDP_RDMA0, 34 - [MDP_COMP_RSZ0] = MUTEX_MOD_IDX_MDP_RSZ0, 35 - [MDP_COMP_RSZ1] = MUTEX_MOD_IDX_MDP_RSZ1, 36 - [MDP_COMP_TDSHP0] = MUTEX_MOD_IDX_MDP_TDSHP0, 37 - [MDP_COMP_WROT0] = MUTEX_MOD_IDX_MDP_WROT0, 38 - [MDP_COMP_WDMA] = MUTEX_MOD_IDX_MDP_WDMA, 39 - [MDP_COMP_AAL0] = MUTEX_MOD_IDX_MDP_AAL0, 40 - [MDP_COMP_CCORR0] = MUTEX_MOD_IDX_MDP_CCORR0, 41 - }; 42 - 43 - static const struct mtk_mdp_driver_data mt8183_mdp_driver_data = { 44 - .mdp_probe_infra = mt8183_mdp_probe_infra, 45 - .mdp_cfg = &mt8183_plat_cfg, 46 - .mdp_mutex_table_idx = mt8183_mutex_idx, 47 - }; 48 19 49 20 static const struct of_device_id mdp_of_ids[] = { 50 21 { .compatible = "mediatek,mt8183-mdp3-rdma",