[v5,12/14] drm/mediatek: Sort OVL adaptor components in alphabetical order

Message ID 20230627063946.14935-13-shawn.sung@mediatek.com
State New
Headers
Series Add display driver for MT8188 VDOSYS1 |

Commit Message

Shawn Sung (宋孝謙) June 27, 2023, 6:39 a.m. UTC
  - 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(-)
  

Comments

Alexandre Mergnat June 27, 2023, 10:52 a.m. UTC | #1
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)
  
CK Hu (胡俊光) July 31, 2023, 8:45 a.m. UTC | #2
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)
  

Patch

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)