Message ID | 20201023133130.194140-6-fparent@baylibre.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add DRM/DSI support for MT8167 SoC | expand |
Hi, Fabien: Fabien Parent <fparent@baylibre.com> 於 2020年10月23日 週五 下午9:31寫道: > > Add the main (DSI) drm display path for MT8167. > > Signed-off-by: Fabien Parent <fparent@baylibre.com> > --- > > 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? Regards, Chun-Kuang. > + .data = &mt8167_mmsys_driver_data}, > { .compatible = "mediatek,mt8173-mmsys", > .data = &mt8173_mmsys_driver_data}, > { } > -- > 2.28.0 >
Hi Chun-Kuang, On Fri, Oct 23, 2020 at 5:52 PM Chun-Kuang Hu <chunkuang.hu@kernel.org> wrote: > > Hi, Fabien: > > Fabien Parent <fparent@baylibre.com> 於 2020年10月23日 週五 下午9:31寫道: > > > > Add the main (DSI) drm display path for MT8167. > > > > Signed-off-by: Fabien Parent <fparent@baylibre.com> > > --- > > > > 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@baylibre.com/ > > Regards, > Chun-Kuang. > > > + .data = &mt8167_mmsys_driver_data}, > > { .compatible = "mediatek,mt8173-mmsys", > > .data = &mt8173_mmsys_driver_data}, > > { } > > -- > > 2.28.0 > >
Hi, Fabien: Fabien Parent <fparent@baylibre.com> 於 2020年10月23日 週五 下午9:31寫道: > > Add the main (DSI) drm display path for MT8167. Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> > > Signed-off-by: Fabien Parent <fparent@baylibre.com> > --- > > 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", > + .data = &mt8167_mmsys_driver_data}, > { .compatible = "mediatek,mt8173-mmsys", > .data = &mt8173_mmsys_driver_data}, > { } > -- > 2.28.0 >
Hi, Fabien: Fabien Parent <fparent@baylibre.com> 於 2020年10月23日 週五 下午9:31寫道: > > Add the main (DSI) drm display path for MT8167. > Applied to mediatek-drm-next [1], thanks. [1] https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git/log/?h=mediatek-drm-next Regards, Chun-Kuang. > Signed-off-by: Fabien Parent <fparent@baylibre.com> > --- > > 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", > + .data = &mt8167_mmsys_driver_data}, > { .compatible = "mediatek,mt8173-mmsys", > .data = &mt8173_mmsys_driver_data}, > { } > -- > 2.28.0 >
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@kernel.org> wrote: >> >> Hi, Fabien: >> >> Fabien Parent <fparent@baylibre.com> 於 2020年10月23日 週五 下午9:31寫道: >>> >>> Add the main (DSI) drm display path for MT8167. >>> >>> Signed-off-by: Fabien Parent <fparent@baylibre.com> >>> --- >>> >>> 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@baylibre.com/ > 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 >>>
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", + .data = &mt8167_mmsys_driver_data}, { .compatible = "mediatek,mt8173-mmsys", .data = &mt8173_mmsys_driver_data}, { }
Add the main (DSI) drm display path for MT8167. Signed-off-by: Fabien Parent <fparent@baylibre.com> --- Changelog: V2: No change drivers/gpu/drm/mediatek/mtk_drm_drv.c | 38 ++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)