Message ID | 20230627063946.14935-13-shawn.sung@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add display driver for MT8188 VDOSYS1 | expand |
On 27/06/2023 08:39, Hsiao Chien Sung wrote: > - Rename OVL_ADAPTOR_TYPE_RDMA to OVL_ADAPTOR_TYPE_MDP_RDMA > to align the naming rule of mtk_ovl_adaptor_comp_id. > - Sort components' names in alphabetical order > - Sort device table in alphabetical order > - Add sentinel to device table > > Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com> > --- > .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 61 ++++++++----------- > 1 file changed, 27 insertions(+), 34 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > index c0a38f5217ee..38f389471f66 100644 > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > @@ -26,13 +26,14 @@ > #define MTK_OVL_ADAPTOR_LAYER_NUM 4 > > enum mtk_ovl_adaptor_comp_type { > - OVL_ADAPTOR_TYPE_RDMA = 0, > - OVL_ADAPTOR_TYPE_MERGE, > OVL_ADAPTOR_TYPE_ETHDR, > + OVL_ADAPTOR_TYPE_MDP_RDMA, > + OVL_ADAPTOR_TYPE_MERGE, > OVL_ADAPTOR_TYPE_NUM, > }; > > enum mtk_ovl_adaptor_comp_id { > + OVL_ADAPTOR_ETHDR0, > OVL_ADAPTOR_MDP_RDMA0, > OVL_ADAPTOR_MDP_RDMA1, > OVL_ADAPTOR_MDP_RDMA2, > @@ -45,7 +46,6 @@ enum mtk_ovl_adaptor_comp_id { > OVL_ADAPTOR_MERGE1, > OVL_ADAPTOR_MERGE2, > OVL_ADAPTOR_MERGE3, > - OVL_ADAPTOR_ETHDR0, > OVL_ADAPTOR_ID_MAX > }; > > @@ -61,25 +61,25 @@ struct mtk_disp_ovl_adaptor { > }; > > static const char * const private_comp_stem[OVL_ADAPTOR_TYPE_NUM] = { > - [OVL_ADAPTOR_TYPE_RDMA] = "vdo1-rdma", > - [OVL_ADAPTOR_TYPE_MERGE] = "merge", > [OVL_ADAPTOR_TYPE_ETHDR] = "ethdr", > + [OVL_ADAPTOR_TYPE_MDP_RDMA] = "vdo1-rdma", > + [OVL_ADAPTOR_TYPE_MERGE] = "merge", > }; > > static const struct ovl_adaptor_comp_match comp_matches[OVL_ADAPTOR_ID_MAX] = { > - [OVL_ADAPTOR_MDP_RDMA0] = { OVL_ADAPTOR_TYPE_RDMA, 0 }, > - [OVL_ADAPTOR_MDP_RDMA1] = { OVL_ADAPTOR_TYPE_RDMA, 1 }, > - [OVL_ADAPTOR_MDP_RDMA2] = { OVL_ADAPTOR_TYPE_RDMA, 2 }, > - [OVL_ADAPTOR_MDP_RDMA3] = { OVL_ADAPTOR_TYPE_RDMA, 3 }, > - [OVL_ADAPTOR_MDP_RDMA4] = { OVL_ADAPTOR_TYPE_RDMA, 4 }, > - [OVL_ADAPTOR_MDP_RDMA5] = { OVL_ADAPTOR_TYPE_RDMA, 5 }, > - [OVL_ADAPTOR_MDP_RDMA6] = { OVL_ADAPTOR_TYPE_RDMA, 6 }, > - [OVL_ADAPTOR_MDP_RDMA7] = { OVL_ADAPTOR_TYPE_RDMA, 7 }, > + [OVL_ADAPTOR_ETHDR0] = { OVL_ADAPTOR_TYPE_ETHDR, 0 }, > + [OVL_ADAPTOR_MDP_RDMA0] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 0 }, > + [OVL_ADAPTOR_MDP_RDMA1] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 1 }, > + [OVL_ADAPTOR_MDP_RDMA2] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 2 }, > + [OVL_ADAPTOR_MDP_RDMA3] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 3 }, > + [OVL_ADAPTOR_MDP_RDMA4] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 4 }, > + [OVL_ADAPTOR_MDP_RDMA5] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 5 }, > + [OVL_ADAPTOR_MDP_RDMA6] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 6 }, > + [OVL_ADAPTOR_MDP_RDMA7] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 7 }, > [OVL_ADAPTOR_MERGE0] = { OVL_ADAPTOR_TYPE_MERGE, 1 }, > [OVL_ADAPTOR_MERGE1] = { OVL_ADAPTOR_TYPE_MERGE, 2 }, > [OVL_ADAPTOR_MERGE2] = { OVL_ADAPTOR_TYPE_MERGE, 3 }, > [OVL_ADAPTOR_MERGE3] = { OVL_ADAPTOR_TYPE_MERGE, 4 }, > - [OVL_ADAPTOR_ETHDR0] = { OVL_ADAPTOR_TYPE_ETHDR, 0 }, > }; > > void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int idx, > @@ -89,10 +89,10 @@ void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int idx, > struct mtk_disp_ovl_adaptor *ovl_adaptor = dev_get_drvdata(dev); > struct mtk_plane_pending_state *pending = &state->pending; > struct mtk_mdp_rdma_cfg rdma_config = {0}; > + struct device *ethdr; > + struct device *merge; > struct device *rdma_l; > struct device *rdma_r; > - struct device *merge; > - struct device *ethdr; > const struct drm_format_info *fmt_info = drm_format_info(pending->format); > bool use_dual_pipe = false; > unsigned int align_width; > @@ -105,16 +105,16 @@ void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int idx, > &pending->addr, (pending->pitch / fmt_info->cpp[0]), > pending->x, pending->y, pending->width, pending->height); > > + ethdr = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]; > + merge = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MERGE0 + idx]; > rdma_l = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MDP_RDMA0 + 2 * idx]; > rdma_r = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MDP_RDMA0 + 2 * idx + 1]; > - merge = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MERGE0 + idx]; > - ethdr = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]; > > if (!pending->enable) { > + mtk_ethdr_layer_config(ethdr, idx, state, cmdq_pkt); > mtk_merge_stop_cmdq(merge, cmdq_pkt); > mtk_mdp_rdma_stop(rdma_l, cmdq_pkt); > mtk_mdp_rdma_stop(rdma_r, cmdq_pkt); > - mtk_ethdr_layer_config(ethdr, idx, state, cmdq_pkt); > return; > } > > @@ -313,6 +313,7 @@ size_t mtk_ovl_adaptor_get_num_formats(struct device *dev) > > void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex *mutex) > { > + mtk_mutex_add_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA1); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA2); > @@ -325,11 +326,11 @@ void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex *mutex) > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE2); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE3); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE4); > - mtk_mutex_add_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); > } > > void mtk_ovl_adaptor_remove_comp(struct device *dev, struct mtk_mutex *mutex) > { > + mtk_mutex_remove_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA0); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA1); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA2); > @@ -342,11 +343,11 @@ void mtk_ovl_adaptor_remove_comp(struct device *dev, struct mtk_mutex *mutex) > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE2); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE3); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE4); > - mtk_mutex_remove_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); > } > > void mtk_ovl_adaptor_connect(struct device *dev, struct device *mmsys_dev, unsigned int next) > { > + mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, next); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA0, DDP_COMPONENT_MERGE1); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA1, DDP_COMPONENT_MERGE1); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA2, DDP_COMPONENT_MERGE2); > @@ -354,11 +355,11 @@ void mtk_ovl_adaptor_connect(struct device *dev, struct device *mmsys_dev, unsig > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE2, DDP_COMPONENT_ETHDR_MIXER); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE3, DDP_COMPONENT_ETHDR_MIXER); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE4, DDP_COMPONENT_ETHDR_MIXER); > - mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, next); > } > > void mtk_ovl_adaptor_disconnect(struct device *dev, struct device *mmsys_dev, unsigned int next) > { > + mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, next); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA0, DDP_COMPONENT_MERGE1); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA1, DDP_COMPONENT_MERGE1); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA2, DDP_COMPONENT_MERGE2); > @@ -366,7 +367,6 @@ void mtk_ovl_adaptor_disconnect(struct device *dev, struct device *mmsys_dev, un > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE2, DDP_COMPONENT_ETHDR_MIXER); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE3, DDP_COMPONENT_ETHDR_MIXER); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE4, DDP_COMPONENT_ETHDR_MIXER); > - mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, next); > } > > static int ovl_adaptor_comp_get_id(struct device *dev, struct device_node *node, > @@ -385,17 +385,10 @@ 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,mt8195-vdo1-rdma", > - .data = (void *)OVL_ADAPTOR_TYPE_RDMA, > - }, { > - .compatible = "mediatek,mt8195-disp-merge", > - .data = (void *)OVL_ADAPTOR_TYPE_MERGE, > - }, { > - .compatible = "mediatek,mt8195-disp-ethdr", > - .data = (void *)OVL_ADAPTOR_TYPE_ETHDR, > - }, > - {}, > + { .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 }, The lines is > 80 columns. https://www.kernel.org/doc/html/latest/process/coding-style.html#breaking-long-lines-and-strings Actually, there are other lines in this file greater than 80, but IMHO, it isn't a reason to continue to do that. After that, everything looks fine for me. > + { /* sentinel */ } > }; > > static int compare_of(struct device *dev, void *data)
Hi, Hsiao-chien: On Tue, 2023-06-27 at 14:39 +0800, Hsiao Chien Sung wrote: > - Rename OVL_ADAPTOR_TYPE_RDMA to OVL_ADAPTOR_TYPE_MDP_RDMA > to align the naming rule of mtk_ovl_adaptor_comp_id. > - Sort components' names in alphabetical order > - Sort device table in alphabetical order > - Add sentinel to device table Separate each modification into one patch. Regards, CK > > Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com> > --- > .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 61 ++++++++--------- > -- > 1 file changed, 27 insertions(+), 34 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > index c0a38f5217ee..38f389471f66 100644 > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c > @@ -26,13 +26,14 @@ > #define MTK_OVL_ADAPTOR_LAYER_NUM 4 > > enum mtk_ovl_adaptor_comp_type { > - OVL_ADAPTOR_TYPE_RDMA = 0, > - OVL_ADAPTOR_TYPE_MERGE, > OVL_ADAPTOR_TYPE_ETHDR, > + OVL_ADAPTOR_TYPE_MDP_RDMA, > + OVL_ADAPTOR_TYPE_MERGE, > OVL_ADAPTOR_TYPE_NUM, > }; > > enum mtk_ovl_adaptor_comp_id { > + OVL_ADAPTOR_ETHDR0, > OVL_ADAPTOR_MDP_RDMA0, > OVL_ADAPTOR_MDP_RDMA1, > OVL_ADAPTOR_MDP_RDMA2, > @@ -45,7 +46,6 @@ enum mtk_ovl_adaptor_comp_id { > OVL_ADAPTOR_MERGE1, > OVL_ADAPTOR_MERGE2, > OVL_ADAPTOR_MERGE3, > - OVL_ADAPTOR_ETHDR0, > OVL_ADAPTOR_ID_MAX > }; > > @@ -61,25 +61,25 @@ struct mtk_disp_ovl_adaptor { > }; > > static const char * const private_comp_stem[OVL_ADAPTOR_TYPE_NUM] = > { > - [OVL_ADAPTOR_TYPE_RDMA] = "vdo1-rdma", > - [OVL_ADAPTOR_TYPE_MERGE] = "merge", > [OVL_ADAPTOR_TYPE_ETHDR] = "ethdr", > + [OVL_ADAPTOR_TYPE_MDP_RDMA] = "vdo1-rdma", > + [OVL_ADAPTOR_TYPE_MERGE] = "merge", > }; > > static const struct ovl_adaptor_comp_match > comp_matches[OVL_ADAPTOR_ID_MAX] = { > - [OVL_ADAPTOR_MDP_RDMA0] = { OVL_ADAPTOR_TYPE_RDMA, 0 }, > - [OVL_ADAPTOR_MDP_RDMA1] = { OVL_ADAPTOR_TYPE_RDMA, 1 }, > - [OVL_ADAPTOR_MDP_RDMA2] = { OVL_ADAPTOR_TYPE_RDMA, 2 }, > - [OVL_ADAPTOR_MDP_RDMA3] = { OVL_ADAPTOR_TYPE_RDMA, 3 }, > - [OVL_ADAPTOR_MDP_RDMA4] = { OVL_ADAPTOR_TYPE_RDMA, 4 }, > - [OVL_ADAPTOR_MDP_RDMA5] = { OVL_ADAPTOR_TYPE_RDMA, 5 }, > - [OVL_ADAPTOR_MDP_RDMA6] = { OVL_ADAPTOR_TYPE_RDMA, 6 }, > - [OVL_ADAPTOR_MDP_RDMA7] = { OVL_ADAPTOR_TYPE_RDMA, 7 }, > + [OVL_ADAPTOR_ETHDR0] = { OVL_ADAPTOR_TYPE_ETHDR, 0 }, > + [OVL_ADAPTOR_MDP_RDMA0] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 0 }, > + [OVL_ADAPTOR_MDP_RDMA1] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 1 }, > + [OVL_ADAPTOR_MDP_RDMA2] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 2 }, > + [OVL_ADAPTOR_MDP_RDMA3] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 3 }, > + [OVL_ADAPTOR_MDP_RDMA4] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 4 }, > + [OVL_ADAPTOR_MDP_RDMA5] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 5 }, > + [OVL_ADAPTOR_MDP_RDMA6] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 6 }, > + [OVL_ADAPTOR_MDP_RDMA7] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 7 }, > [OVL_ADAPTOR_MERGE0] = { OVL_ADAPTOR_TYPE_MERGE, 1 }, > [OVL_ADAPTOR_MERGE1] = { OVL_ADAPTOR_TYPE_MERGE, 2 }, > [OVL_ADAPTOR_MERGE2] = { OVL_ADAPTOR_TYPE_MERGE, 3 }, > [OVL_ADAPTOR_MERGE3] = { OVL_ADAPTOR_TYPE_MERGE, 4 }, > - [OVL_ADAPTOR_ETHDR0] = { OVL_ADAPTOR_TYPE_ETHDR, 0 }, > }; > > void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int > idx, > @@ -89,10 +89,10 @@ void mtk_ovl_adaptor_layer_config(struct device > *dev, unsigned int idx, > struct mtk_disp_ovl_adaptor *ovl_adaptor = > dev_get_drvdata(dev); > struct mtk_plane_pending_state *pending = &state->pending; > struct mtk_mdp_rdma_cfg rdma_config = {0}; > + struct device *ethdr; > + struct device *merge; > struct device *rdma_l; > struct device *rdma_r; > - struct device *merge; > - struct device *ethdr; > const struct drm_format_info *fmt_info = > drm_format_info(pending->format); > bool use_dual_pipe = false; > unsigned int align_width; > @@ -105,16 +105,16 @@ void mtk_ovl_adaptor_layer_config(struct device > *dev, unsigned int idx, > &pending->addr, (pending->pitch / fmt_info->cpp[0]), > pending->x, pending->y, pending->width, pending- > >height); > > + ethdr = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]; > + merge = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MERGE0 + > idx]; > rdma_l = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MDP_RDMA0 + > 2 * idx]; > rdma_r = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MDP_RDMA0 + > 2 * idx + 1]; > - merge = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MERGE0 + > idx]; > - ethdr = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]; > > if (!pending->enable) { > + mtk_ethdr_layer_config(ethdr, idx, state, cmdq_pkt); > mtk_merge_stop_cmdq(merge, cmdq_pkt); > mtk_mdp_rdma_stop(rdma_l, cmdq_pkt); > mtk_mdp_rdma_stop(rdma_r, cmdq_pkt); > - mtk_ethdr_layer_config(ethdr, idx, state, cmdq_pkt); > return; > } > > @@ -313,6 +313,7 @@ size_t mtk_ovl_adaptor_get_num_formats(struct > device *dev) > > void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex > *mutex) > { > + mtk_mutex_add_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA1); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA2); > @@ -325,11 +326,11 @@ void mtk_ovl_adaptor_add_comp(struct device > *dev, struct mtk_mutex *mutex) > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE2); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE3); > mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE4); > - mtk_mutex_add_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); > } > > void mtk_ovl_adaptor_remove_comp(struct device *dev, struct > mtk_mutex *mutex) > { > + mtk_mutex_remove_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA0); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA1); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA2); > @@ -342,11 +343,11 @@ void mtk_ovl_adaptor_remove_comp(struct device > *dev, struct mtk_mutex *mutex) > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE2); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE3); > mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE4); > - mtk_mutex_remove_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); > } > > void mtk_ovl_adaptor_connect(struct device *dev, struct device > *mmsys_dev, unsigned int next) > { > + mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, > next); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA0, > DDP_COMPONENT_MERGE1); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA1, > DDP_COMPONENT_MERGE1); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA2, > DDP_COMPONENT_MERGE2); > @@ -354,11 +355,11 @@ void mtk_ovl_adaptor_connect(struct device > *dev, struct device *mmsys_dev, unsig > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE2, > DDP_COMPONENT_ETHDR_MIXER); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE3, > DDP_COMPONENT_ETHDR_MIXER); > mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE4, > DDP_COMPONENT_ETHDR_MIXER); > - mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, > next); > } > > void mtk_ovl_adaptor_disconnect(struct device *dev, struct device > *mmsys_dev, unsigned int next) > { > + mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, > next); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA0, > DDP_COMPONENT_MERGE1); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA1, > DDP_COMPONENT_MERGE1); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA2, > DDP_COMPONENT_MERGE2); > @@ -366,7 +367,6 @@ void mtk_ovl_adaptor_disconnect(struct device > *dev, struct device *mmsys_dev, un > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE2, > DDP_COMPONENT_ETHDR_MIXER); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE3, > DDP_COMPONENT_ETHDR_MIXER); > mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE4, > DDP_COMPONENT_ETHDR_MIXER); > - mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, > next); > } > > static int ovl_adaptor_comp_get_id(struct device *dev, struct > device_node *node, > @@ -385,17 +385,10 @@ 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,mt8195-vdo1-rdma", > - .data = (void *)OVL_ADAPTOR_TYPE_RDMA, > - }, { > - .compatible = "mediatek,mt8195-disp-merge", > - .data = (void *)OVL_ADAPTOR_TYPE_MERGE, > - }, { > - .compatible = "mediatek,mt8195-disp-ethdr", > - .data = (void *)OVL_ADAPTOR_TYPE_ETHDR, > - }, > - {}, > + { .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 }, > + { /* sentinel */ } > }; > > static int compare_of(struct device *dev, void *data)
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c index c0a38f5217ee..38f389471f66 100644 --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c @@ -26,13 +26,14 @@ #define MTK_OVL_ADAPTOR_LAYER_NUM 4 enum mtk_ovl_adaptor_comp_type { - OVL_ADAPTOR_TYPE_RDMA = 0, - OVL_ADAPTOR_TYPE_MERGE, OVL_ADAPTOR_TYPE_ETHDR, + OVL_ADAPTOR_TYPE_MDP_RDMA, + OVL_ADAPTOR_TYPE_MERGE, OVL_ADAPTOR_TYPE_NUM, }; enum mtk_ovl_adaptor_comp_id { + OVL_ADAPTOR_ETHDR0, OVL_ADAPTOR_MDP_RDMA0, OVL_ADAPTOR_MDP_RDMA1, OVL_ADAPTOR_MDP_RDMA2, @@ -45,7 +46,6 @@ enum mtk_ovl_adaptor_comp_id { OVL_ADAPTOR_MERGE1, OVL_ADAPTOR_MERGE2, OVL_ADAPTOR_MERGE3, - OVL_ADAPTOR_ETHDR0, OVL_ADAPTOR_ID_MAX }; @@ -61,25 +61,25 @@ struct mtk_disp_ovl_adaptor { }; static const char * const private_comp_stem[OVL_ADAPTOR_TYPE_NUM] = { - [OVL_ADAPTOR_TYPE_RDMA] = "vdo1-rdma", - [OVL_ADAPTOR_TYPE_MERGE] = "merge", [OVL_ADAPTOR_TYPE_ETHDR] = "ethdr", + [OVL_ADAPTOR_TYPE_MDP_RDMA] = "vdo1-rdma", + [OVL_ADAPTOR_TYPE_MERGE] = "merge", }; static const struct ovl_adaptor_comp_match comp_matches[OVL_ADAPTOR_ID_MAX] = { - [OVL_ADAPTOR_MDP_RDMA0] = { OVL_ADAPTOR_TYPE_RDMA, 0 }, - [OVL_ADAPTOR_MDP_RDMA1] = { OVL_ADAPTOR_TYPE_RDMA, 1 }, - [OVL_ADAPTOR_MDP_RDMA2] = { OVL_ADAPTOR_TYPE_RDMA, 2 }, - [OVL_ADAPTOR_MDP_RDMA3] = { OVL_ADAPTOR_TYPE_RDMA, 3 }, - [OVL_ADAPTOR_MDP_RDMA4] = { OVL_ADAPTOR_TYPE_RDMA, 4 }, - [OVL_ADAPTOR_MDP_RDMA5] = { OVL_ADAPTOR_TYPE_RDMA, 5 }, - [OVL_ADAPTOR_MDP_RDMA6] = { OVL_ADAPTOR_TYPE_RDMA, 6 }, - [OVL_ADAPTOR_MDP_RDMA7] = { OVL_ADAPTOR_TYPE_RDMA, 7 }, + [OVL_ADAPTOR_ETHDR0] = { OVL_ADAPTOR_TYPE_ETHDR, 0 }, + [OVL_ADAPTOR_MDP_RDMA0] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 0 }, + [OVL_ADAPTOR_MDP_RDMA1] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 1 }, + [OVL_ADAPTOR_MDP_RDMA2] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 2 }, + [OVL_ADAPTOR_MDP_RDMA3] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 3 }, + [OVL_ADAPTOR_MDP_RDMA4] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 4 }, + [OVL_ADAPTOR_MDP_RDMA5] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 5 }, + [OVL_ADAPTOR_MDP_RDMA6] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 6 }, + [OVL_ADAPTOR_MDP_RDMA7] = { OVL_ADAPTOR_TYPE_MDP_RDMA, 7 }, [OVL_ADAPTOR_MERGE0] = { OVL_ADAPTOR_TYPE_MERGE, 1 }, [OVL_ADAPTOR_MERGE1] = { OVL_ADAPTOR_TYPE_MERGE, 2 }, [OVL_ADAPTOR_MERGE2] = { OVL_ADAPTOR_TYPE_MERGE, 3 }, [OVL_ADAPTOR_MERGE3] = { OVL_ADAPTOR_TYPE_MERGE, 4 }, - [OVL_ADAPTOR_ETHDR0] = { OVL_ADAPTOR_TYPE_ETHDR, 0 }, }; void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int idx, @@ -89,10 +89,10 @@ void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int idx, struct mtk_disp_ovl_adaptor *ovl_adaptor = dev_get_drvdata(dev); struct mtk_plane_pending_state *pending = &state->pending; struct mtk_mdp_rdma_cfg rdma_config = {0}; + struct device *ethdr; + struct device *merge; struct device *rdma_l; struct device *rdma_r; - struct device *merge; - struct device *ethdr; const struct drm_format_info *fmt_info = drm_format_info(pending->format); bool use_dual_pipe = false; unsigned int align_width; @@ -105,16 +105,16 @@ void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int idx, &pending->addr, (pending->pitch / fmt_info->cpp[0]), pending->x, pending->y, pending->width, pending->height); + ethdr = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]; + merge = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MERGE0 + idx]; rdma_l = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MDP_RDMA0 + 2 * idx]; rdma_r = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MDP_RDMA0 + 2 * idx + 1]; - merge = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MERGE0 + idx]; - ethdr = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0]; if (!pending->enable) { + mtk_ethdr_layer_config(ethdr, idx, state, cmdq_pkt); mtk_merge_stop_cmdq(merge, cmdq_pkt); mtk_mdp_rdma_stop(rdma_l, cmdq_pkt); mtk_mdp_rdma_stop(rdma_r, cmdq_pkt); - mtk_ethdr_layer_config(ethdr, idx, state, cmdq_pkt); return; } @@ -313,6 +313,7 @@ size_t mtk_ovl_adaptor_get_num_formats(struct device *dev) void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex *mutex) { + mtk_mutex_add_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA0); mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA1); mtk_mutex_add_comp(mutex, DDP_COMPONENT_MDP_RDMA2); @@ -325,11 +326,11 @@ void mtk_ovl_adaptor_add_comp(struct device *dev, struct mtk_mutex *mutex) mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE2); mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE3); mtk_mutex_add_comp(mutex, DDP_COMPONENT_MERGE4); - mtk_mutex_add_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); } void mtk_ovl_adaptor_remove_comp(struct device *dev, struct mtk_mutex *mutex) { + mtk_mutex_remove_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA0); mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA1); mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MDP_RDMA2); @@ -342,11 +343,11 @@ void mtk_ovl_adaptor_remove_comp(struct device *dev, struct mtk_mutex *mutex) mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE2); mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE3); mtk_mutex_remove_comp(mutex, DDP_COMPONENT_MERGE4); - mtk_mutex_remove_comp(mutex, DDP_COMPONENT_ETHDR_MIXER); } void mtk_ovl_adaptor_connect(struct device *dev, struct device *mmsys_dev, unsigned int next) { + mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, next); mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA0, DDP_COMPONENT_MERGE1); mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA1, DDP_COMPONENT_MERGE1); mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MDP_RDMA2, DDP_COMPONENT_MERGE2); @@ -354,11 +355,11 @@ void mtk_ovl_adaptor_connect(struct device *dev, struct device *mmsys_dev, unsig mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE2, DDP_COMPONENT_ETHDR_MIXER); mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE3, DDP_COMPONENT_ETHDR_MIXER); mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_MERGE4, DDP_COMPONENT_ETHDR_MIXER); - mtk_mmsys_ddp_connect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, next); } void mtk_ovl_adaptor_disconnect(struct device *dev, struct device *mmsys_dev, unsigned int next) { + mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, next); mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA0, DDP_COMPONENT_MERGE1); mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA1, DDP_COMPONENT_MERGE1); mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MDP_RDMA2, DDP_COMPONENT_MERGE2); @@ -366,7 +367,6 @@ void mtk_ovl_adaptor_disconnect(struct device *dev, struct device *mmsys_dev, un mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE2, DDP_COMPONENT_ETHDR_MIXER); mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE3, DDP_COMPONENT_ETHDR_MIXER); mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_MERGE4, DDP_COMPONENT_ETHDR_MIXER); - mtk_mmsys_ddp_disconnect(mmsys_dev, DDP_COMPONENT_ETHDR_MIXER, next); } static int ovl_adaptor_comp_get_id(struct device *dev, struct device_node *node, @@ -385,17 +385,10 @@ 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,mt8195-vdo1-rdma", - .data = (void *)OVL_ADAPTOR_TYPE_RDMA, - }, { - .compatible = "mediatek,mt8195-disp-merge", - .data = (void *)OVL_ADAPTOR_TYPE_MERGE, - }, { - .compatible = "mediatek,mt8195-disp-ethdr", - .data = (void *)OVL_ADAPTOR_TYPE_ETHDR, - }, - {}, + { .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 }, + { /* sentinel */ } }; static int compare_of(struct device *dev, void *data)
- Rename OVL_ADAPTOR_TYPE_RDMA to OVL_ADAPTOR_TYPE_MDP_RDMA to align the naming rule of mtk_ovl_adaptor_comp_id. - Sort components' names in alphabetical order - Sort device table in alphabetical order - Add sentinel to device table Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com> --- .../gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 61 ++++++++----------- 1 file changed, 27 insertions(+), 34 deletions(-)