[PATCH v6,3/3] drm: mediatek: Add mt8186 dpi compatible to mtk_dpi.c
xinlei.lee
xinlei.lee at mediatek.com
Wed Sep 21 06:44:25 PDT 2022
On Wed, 2022-09-21 at 09:42 +0800, CK Hu wrote:
> Hi, Xinlei:
>
> On Wed, 2022-09-14 at 21:21 +0800, xinlei.lee at mediatek.com wrote:
> > From: Xinlei Lee <xinlei.lee at mediatek.com>
> >
> > Add the compatible because use edge_cfg_in_mmsys in mt8186.
> >
> > Signed-off-by: Xinlei Lee <xinlei.lee at mediatek.com>
> > ---
> > drivers/gpu/drm/mediatek/mtk_dpi.c | 21 +++++++++++++++++++++
> > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++
> > 2 files changed, 23 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c
> > b/drivers/gpu/drm/mediatek/mtk_dpi.c
> > index 6e02f02f163c..52bcc4114afd 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c
> > @@ -942,6 +942,24 @@ static const struct mtk_dpi_conf mt8183_conf =
> > {
> > .csc_enable_bit = CSC_ENABLE,
> > };
> >
> > +static const struct mtk_dpi_conf mt8186_conf = {
> > + .cal_factor = mt8183_calculate_factor,
> > + .reg_h_fre_con = 0xe0,
> > + .max_clock_khz = 150000,
> > + .output_fmts = mt8183_output_fmts,
> > + .num_output_fmts = ARRAY_SIZE(mt8183_output_fmts),
> > + .edge_cfg_in_mmsys = true,
>
> According to the previous review, edge_cfg_in_mmsys is not necessary,
> so mt8186_conf is identical to mt8192_conf.
>
> Regards,
> CK
>
> > + .pixels_per_iter = 1,
> > + .is_ck_de_pol = true,
> > + .swap_input_support = true,
> > + .support_direct_pin = true,
> > + .dimension_mask = HPW_MASK,
> > + .hvsize_mask = HSIZE_MASK,
> > + .channel_swap_shift = CH_SWAP,
> > + .yuv422_en_bit = YUV422_EN,
> > + .csc_enable_bit = CSC_ENABLE,
> > +};
> > +
> > static const struct mtk_dpi_conf mt8192_conf = {
> > .cal_factor = mt8183_calculate_factor,
> > .reg_h_fre_con = 0xe0,
> > @@ -1092,6 +1110,9 @@ static const struct of_device_id
> > mtk_dpi_of_ids[] = {
> > { .compatible = "mediatek,mt8183-dpi",
> > .data = &mt8183_conf,
> > },
> > + { .compatible = "mediatek,mt8186-dpi",
> > + .data = &mt8186_conf,
> > + },
> > { .compatible = "mediatek,mt8192-dpi",
> > .data = &mt8192_conf,
> > },
> > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> > b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> > index 546b79412815..3d32fbc66ac1 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> > @@ -646,6 +646,8 @@ static const struct of_device_id
> > mtk_ddp_comp_dt_ids[] = {
> > .data = (void *)MTK_DPI },
> > { .compatible = "mediatek,mt8183-dpi",
> > .data = (void *)MTK_DPI },
> > + { .compatible = "mediatek,mt8186-dpi",
> > + .data = (void *)MTK_DPI },
> > { .compatible = "mediatek,mt8192-dpi",
> > .data = (void *)MTK_DPI },
> > { .compatible = "mediatek,mt8195-dp-intf",
>
>
Hi CK:
Thanks for your review.
Because the difference between MT8186 and other ICs is that modifying
the output format requires modifying the mmsys register to take effect.
I think this mt8186_conf needs to be reserved so that we can
distinguish it from the settings of other ICs when setting
dpi_dual_edge.
(the edge_cfg_in mmsys flag inside can prevent other ICs from setting
the mmsys register)
Best Regards!
Xinlei
More information about the Linux-mediatek
mailing list