<pre>
Hi, Jason:

On Wed, 2023-10-04 at 10:40 +0800, Jason-JH.Lin wrote:
> To support dynamic connector selection function, each ddp_comp need
> to
> get their encoder_index to identify which connector should be
> selected.
>
> Add encoder_index interface for mtk_ddp_comp_funcs to get the encoder
> identifier by drm_encoder_index().
> Then drm driver will call mtk_ddp_comp_encoder_index_set() to store
> the
> encoder_index to each ddp_comp in connector routes.

Reviewed-by: CK Hu <ck.hu@mediatek.com>

>
> Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <
> angelogioacchino.delregno@collabora.com>
> ---
> drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h
> b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h
> index febcaeef16a1..0797b3ac75d8 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h
> @@ -80,12 +80,14 @@ struct mtk_ddp_comp_funcs {
> void (*disconnect)(struct device *dev, struct device
> *mmsys_dev, unsigned int next);
> void (*add)(struct device *dev, struct mtk_mutex *mutex);
> void (*remove)(struct device *dev, struct mtk_mutex *mutex);
> +unsigned int (*encoder_index)(struct device *dev);
> };
>
> struct mtk_ddp_comp {
> struct device *dev;
> int irq;
> unsigned int id;
> +int encoder_index;
> const struct mtk_ddp_comp_funcs *funcs;
> };
>
> @@ -275,6 +277,12 @@ static inline bool
> mtk_ddp_comp_disconnect(struct mtk_ddp_comp *comp, struct dev
> return false;
> }
>
> +static inline void mtk_ddp_comp_encoder_index_set(struct
> mtk_ddp_comp *comp)
> +{
> +if (comp->funcs && comp->funcs->encoder_index)
> +comp->encoder_index = (int)comp->funcs-
> >encoder_index(comp->dev);
> +}
> +
> int mtk_ddp_comp_get_id(struct device_node *node,
> enum mtk_ddp_comp_type comp_type);
> unsigned int mtk_drm_find_possible_crtc_by_comp(struct drm_device
> *drm,

</pre><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************
The information contained in this e-mail message (including any 
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be 
conveyed only to the designated recipient(s). Any use, dissemination, 
distribution, printing, retaining or copying of this e-mail (including its 
attachments) by unintended recipient(s) is strictly prohibited and may 
be unlawful. If you are not an intended recipient of this e-mail, or believe 
that you have received this e-mail in error, please notify the sender 
immediately (by replying to this e-mail), delete any and all copies of 
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->