Hi, Hsiao-chien: On Mon, 2023-10-16 at 18:40 +0800, Hsiao Chien Sung wrote: > Add MT8188 Padding to OVL adaptor to probe the driver. Reviewed-by: CK Hu <ck.hu@xxxxxxxxxxxx> > > Signed-off-by: Hsiao Chien Sung <shawn.sung@xxxxxxxxxxxx> > --- > .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 26 > +++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > index 354ba6186166..b80425360e76 100644 > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > @@ -29,6 +29,7 @@ enum mtk_ovl_adaptor_comp_type { > OVL_ADAPTOR_TYPE_ETHDR, > OVL_ADAPTOR_TYPE_MDP_RDMA, > OVL_ADAPTOR_TYPE_MERGE, > + OVL_ADAPTOR_TYPE_PADDING, > OVL_ADAPTOR_TYPE_NUM, > }; > > @@ -46,6 +47,14 @@ enum mtk_ovl_adaptor_comp_id { > OVL_ADAPTOR_MERGE1, > OVL_ADAPTOR_MERGE2, > OVL_ADAPTOR_MERGE3, > + OVL_ADAPTOR_PADDING0, > + OVL_ADAPTOR_PADDING1, > + OVL_ADAPTOR_PADDING2, > + OVL_ADAPTOR_PADDING3, > + OVL_ADAPTOR_PADDING4, > + OVL_ADAPTOR_PADDING5, > + OVL_ADAPTOR_PADDING6, > + OVL_ADAPTOR_PADDING7, > OVL_ADAPTOR_ID_MAX > }; > > @@ -66,6 +75,7 @@ static const char * const > private_comp_stem[OVL_ADAPTOR_TYPE_NUM] = { > [OVL_ADAPTOR_TYPE_ETHDR] = "ethdr", > [OVL_ADAPTOR_TYPE_MDP_RDMA] = "vdo1-rdma", > [OVL_ADAPTOR_TYPE_MERGE] = "merge", > + [OVL_ADAPTOR_TYPE_PADDING] = "padding", > }; > > static const struct mtk_ddp_comp_funcs _ethdr = { > @@ -80,6 +90,13 @@ static const struct mtk_ddp_comp_funcs _merge = { > .clk_disable = mtk_merge_clk_disable, > }; > > +static const struct mtk_ddp_comp_funcs _padding = { > + .clk_enable = mtk_padding_clk_enable, > + .clk_disable = mtk_padding_clk_disable, > + .start = mtk_padding_start, > + .stop = mtk_padding_stop, > +}; > + > static const struct mtk_ddp_comp_funcs _rdma = { > .clk_enable = mtk_mdp_rdma_clk_enable, > .clk_disable = mtk_mdp_rdma_clk_disable, > @@ -99,6 +116,14 @@ static const struct ovl_adaptor_comp_match > comp_matches[OVL_ADAPTOR_ID_MAX] = { > [OVL_ADAPTOR_MERGE1] = { OVL_ADAPTOR_TYPE_MERGE, > DDP_COMPONENT_MERGE2, 2, &_merge }, > [OVL_ADAPTOR_MERGE2] = { OVL_ADAPTOR_TYPE_MERGE, > DDP_COMPONENT_MERGE3, 3, &_merge }, > [OVL_ADAPTOR_MERGE3] = { OVL_ADAPTOR_TYPE_MERGE, > DDP_COMPONENT_MERGE4, 4, &_merge }, > + [OVL_ADAPTOR_PADDING0] = { OVL_ADAPTOR_TYPE_PADDING, > DDP_COMPONENT_PADDING0, 0, &_padding }, > + [OVL_ADAPTOR_PADDING1] = { OVL_ADAPTOR_TYPE_PADDING, > DDP_COMPONENT_PADDING1, 1, &_padding }, > + [OVL_ADAPTOR_PADDING2] = { OVL_ADAPTOR_TYPE_PADDING, > DDP_COMPONENT_PADDING2, 2, &_padding }, > + [OVL_ADAPTOR_PADDING3] = { OVL_ADAPTOR_TYPE_PADDING, > DDP_COMPONENT_PADDING3, 3, &_padding }, > + [OVL_ADAPTOR_PADDING4] = { OVL_ADAPTOR_TYPE_PADDING, > DDP_COMPONENT_PADDING4, 4, &_padding }, > + [OVL_ADAPTOR_PADDING5] = { OVL_ADAPTOR_TYPE_PADDING, > DDP_COMPONENT_PADDING5, 5, &_padding }, > + [OVL_ADAPTOR_PADDING6] = { OVL_ADAPTOR_TYPE_PADDING, > DDP_COMPONENT_PADDING6, 6, &_padding }, > + [OVL_ADAPTOR_PADDING7] = { OVL_ADAPTOR_TYPE_PADDING, > DDP_COMPONENT_PADDING7, 7, &_padding }, > }; > > void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int > idx, > @@ -369,6 +394,7 @@ static int ovl_adaptor_comp_get_id(struct device > *dev, struct device_node *node, > } > > static const struct of_device_id mtk_ovl_adaptor_comp_dt_ids[] = { > + { .compatible = "mediatek,mt8188-padding", .data = (void > *)OVL_ADAPTOR_TYPE_PADDING }, > { .compatible = "mediatek,mt8195-disp-ethdr", .data = (void > *)OVL_ADAPTOR_TYPE_ETHDR }, > { .compatible = "mediatek,mt8195-disp-merge", .data = (void > *)OVL_ADAPTOR_TYPE_MERGE }, > { .compatible = "mediatek,mt8195-vdo1-rdma", .data = (void > *)OVL_ADAPTOR_TYPE_MDP_RDMA },