On 27/10/2020 17:08, Fabien Parent wrote: > Hi Chun-Kuang, > > On Fri, Oct 23, 2020 at 5:52 PM Chun-Kuang Hu <chunkuang.hu@xxxxxxxxxx> wrote: >> >> Hi, Fabien: >> >> Fabien Parent <fparent@xxxxxxxxxxxx> 於 2020年10月23日 週五 下午9:31寫道: >>> >>> Add the main (DSI) drm display path for MT8167. >>> >>> Signed-off-by: Fabien Parent <fparent@xxxxxxxxxxxx> >>> --- >>> >>> Changelog: >>> >>> V2: No change >>> >>> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 38 ++++++++++++++++++++++++++ >>> 1 file changed, 38 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c >>> index 59c85c63b7cc..3952435093fe 100644 >>> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c >>> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c >>> @@ -112,6 +112,17 @@ static const enum mtk_ddp_comp_id mt2712_mtk_ddp_third[] = { >>> DDP_COMPONENT_PWM2, >>> }; >>> >>> +static enum mtk_ddp_comp_id mt8167_mtk_ddp_main[] = { >>> + DDP_COMPONENT_OVL0, >>> + DDP_COMPONENT_COLOR0, >>> + DDP_COMPONENT_CCORR, >>> + DDP_COMPONENT_AAL0, >>> + DDP_COMPONENT_GAMMA, >>> + DDP_COMPONENT_DITHER, >>> + DDP_COMPONENT_RDMA0, >>> + DDP_COMPONENT_DSI0, >>> +}; >>> + >>> static const enum mtk_ddp_comp_id mt8173_mtk_ddp_main[] = { >>> DDP_COMPONENT_OVL0, >>> DDP_COMPONENT_COLOR0, >>> @@ -163,6 +174,11 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = { >>> .ext_len = ARRAY_SIZE(mt8173_mtk_ddp_ext), >>> }; >>> >>> +static const struct mtk_mmsys_driver_data mt8167_mmsys_driver_data = { >>> + .main_path = mt8167_mtk_ddp_main, >>> + .main_len = ARRAY_SIZE(mt8167_mtk_ddp_main), >>> +}; >>> + >>> static int mtk_drm_kms_init(struct drm_device *drm) >>> { >>> struct mtk_drm_private *private = drm->dev_private; >>> @@ -401,26 +417,42 @@ static const struct component_master_ops mtk_drm_ops = { >>> static const struct of_device_id mtk_ddp_comp_dt_ids[] = { >>> { .compatible = "mediatek,mt2701-disp-ovl", >>> .data = (void *)MTK_DISP_OVL }, >>> + { .compatible = "mediatek,mt8167-disp-ovl", >>> + .data = (void *)MTK_DISP_OVL }, >>> { .compatible = "mediatek,mt8173-disp-ovl", >>> .data = (void *)MTK_DISP_OVL }, >>> { .compatible = "mediatek,mt2701-disp-rdma", >>> .data = (void *)MTK_DISP_RDMA }, >>> + { .compatible = "mediatek,mt8167-disp-rdma", >>> + .data = (void *)MTK_DISP_RDMA }, >>> { .compatible = "mediatek,mt8173-disp-rdma", >>> .data = (void *)MTK_DISP_RDMA }, >>> { .compatible = "mediatek,mt8173-disp-wdma", >>> .data = (void *)MTK_DISP_WDMA }, >>> + { .compatible = "mediatek,mt8167-disp-ccorr", >>> + .data = (void *)MTK_DISP_CCORR }, >>> { .compatible = "mediatek,mt2701-disp-color", >>> .data = (void *)MTK_DISP_COLOR }, >>> + { .compatible = "mediatek,mt8167-disp-color", >>> + .data = (void *)MTK_DISP_COLOR }, >>> { .compatible = "mediatek,mt8173-disp-color", >>> .data = (void *)MTK_DISP_COLOR }, >>> + { .compatible = "mediatek,mt8167-disp-aal", >>> + .data = (void *)MTK_DISP_AAL}, >>> { .compatible = "mediatek,mt8173-disp-aal", >>> .data = (void *)MTK_DISP_AAL}, >>> + { .compatible = "mediatek,mt8167-disp-gamma", >>> + .data = (void *)MTK_DISP_GAMMA, }, >>> { .compatible = "mediatek,mt8173-disp-gamma", >>> .data = (void *)MTK_DISP_GAMMA, }, >>> + { .compatible = "mediatek,mt8167-disp-dither", >>> + .data = (void *)MTK_DISP_DITHER }, >>> { .compatible = "mediatek,mt8173-disp-ufoe", >>> .data = (void *)MTK_DISP_UFOE }, >>> { .compatible = "mediatek,mt2701-dsi", >>> .data = (void *)MTK_DSI }, >>> + { .compatible = "mediatek,mt8167-dsi", >>> + .data = (void *)MTK_DSI }, >>> { .compatible = "mediatek,mt8173-dsi", >>> .data = (void *)MTK_DSI }, >>> { .compatible = "mediatek,mt2701-dpi", >>> @@ -431,10 +463,14 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = { >>> .data = (void *)MTK_DISP_MUTEX }, >>> { .compatible = "mediatek,mt2712-disp-mutex", >>> .data = (void *)MTK_DISP_MUTEX }, >>> + { .compatible = "mediatek,mt8167-disp-mutex", >>> + .data = (void *)MTK_DISP_MUTEX }, >>> { .compatible = "mediatek,mt8173-disp-mutex", >>> .data = (void *)MTK_DISP_MUTEX }, >>> { .compatible = "mediatek,mt2701-disp-pwm", >>> .data = (void *)MTK_DISP_BLS }, >>> + { .compatible = "mediatek,mt8167-disp-pwm", >>> + .data = (void *)MTK_DISP_PWM }, >>> { .compatible = "mediatek,mt8173-disp-pwm", >>> .data = (void *)MTK_DISP_PWM }, >>> { .compatible = "mediatek,mt8173-disp-od", >>> @@ -449,6 +485,8 @@ static const struct of_device_id mtk_drm_of_ids[] = { >>> .data = &mt7623_mmsys_driver_data}, >>> { .compatible = "mediatek,mt2712-mmsys", >>> .data = &mt2712_mmsys_driver_data}, >>> + { .compatible = "mediatek,mt8167-mmsys", >> >> This patch looks good to me, but it depend on another patch which >> define the compatible "mediatek,mt8167-mmsys". Where is that patch? > > You can find the patch there: > https://patchwork.kernel.org/project/linux-mediatek/patch/20201027160631.608503-2-fparent@xxxxxxxxxxxx/ > Driver is upstream since v5.13 with: e7be7853ab1b ("dt-bindings: mediatek: mmsys: add mt8167 binding") 060f7875bd23 ("soc: mediatek: mmsys: Add support for MT8167 SoC") Regards, Matthias >> >> Regards, >> Chun-Kuang. >> >>> + .data = &mt8167_mmsys_driver_data}, >>> { .compatible = "mediatek,mt8173-mmsys", >>> .data = &mt8173_mmsys_driver_data}, >>> { } >>> -- >>> 2.28.0 >>>