Commit 00d03522 authored by Jason-JH.Lin's avatar Jason-JH.Lin Committed by Chun-Kuang Hu

drm/mediatek: dsi: Support dynamic connector selection

Add implementation of mtk_dsi_encoder_index to mtk_ddp_comp_func
to make mtk_dsi support dynamic connector selection.
Signed-off-by: default avatarJason-JH.Lin <jason-jh.lin@mediatek.com>
Reviewed-by: default avatarCK Hu <ck.hu@mediatek.com>
Reviewed-by: default avatarFei Shao <fshao@chromium.org>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: default avatarFei Shao <fshao@chromium.org>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20231004024013.18956-9-jason-jh.lin@mediatek.com/Signed-off-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
parent f6ec9da1
...@@ -48,6 +48,7 @@ unsigned int mtk_dpi_encoder_index(struct device *dev); ...@@ -48,6 +48,7 @@ unsigned int mtk_dpi_encoder_index(struct device *dev);
void mtk_dsi_ddp_start(struct device *dev); void mtk_dsi_ddp_start(struct device *dev);
void mtk_dsi_ddp_stop(struct device *dev); void mtk_dsi_ddp_stop(struct device *dev);
unsigned int mtk_dsi_encoder_index(struct device *dev);
int mtk_gamma_clk_enable(struct device *dev); int mtk_gamma_clk_enable(struct device *dev);
void mtk_gamma_clk_disable(struct device *dev); void mtk_gamma_clk_disable(struct device *dev);
......
...@@ -318,6 +318,7 @@ static const struct mtk_ddp_comp_funcs ddp_dsc = { ...@@ -318,6 +318,7 @@ static const struct mtk_ddp_comp_funcs ddp_dsc = {
static const struct mtk_ddp_comp_funcs ddp_dsi = { static const struct mtk_ddp_comp_funcs ddp_dsi = {
.start = mtk_dsi_ddp_start, .start = mtk_dsi_ddp_start,
.stop = mtk_dsi_ddp_stop, .stop = mtk_dsi_ddp_stop,
.encoder_index = mtk_dsi_encoder_index,
}; };
static const struct mtk_ddp_comp_funcs ddp_gamma = { static const struct mtk_ddp_comp_funcs ddp_gamma = {
......
...@@ -887,6 +887,15 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) ...@@ -887,6 +887,15 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi)
return ret; return ret;
} }
unsigned int mtk_dsi_encoder_index(struct device *dev)
{
struct mtk_dsi *dsi = dev_get_drvdata(dev);
unsigned int encoder_index = drm_encoder_index(&dsi->encoder);
dev_dbg(dev, "encoder index:%d\n", encoder_index);
return encoder_index;
}
static int mtk_dsi_bind(struct device *dev, struct device *master, void *data) static int mtk_dsi_bind(struct device *dev, struct device *master, void *data)
{ {
int ret; int ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment