drm/mediatek: dpi: Support dynamic connector selection
authorJason-JH.Lin <jason-jh.lin@mediatek.com>
Wed, 4 Oct 2023 02:40:10 +0000 (10:40 +0800)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Sun, 8 Oct 2023 00:59:12 +0000 (00:59 +0000)
Add implementation of mtk_dpi_encoder_index to mtk_ddp_comp_func
to make mtk_dpi support dynamic connector selection.

Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20231004024013.18956-7-jason-jh.lin@mediatek.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_disp_drv.h
drivers/gpu/drm/mediatek/mtk_dpi.c
drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c

index 2254038519e11d770accb843ff1df6c7e11ee5ea..5f07037670e9f106b76601c3350002ca179ecaa1 100644 (file)
@@ -44,6 +44,7 @@ void mtk_dither_set_common(void __iomem *regs, struct cmdq_client_reg *cmdq_reg,
 
 void mtk_dpi_start(struct device *dev);
 void mtk_dpi_stop(struct device *dev);
+unsigned int mtk_dpi_encoder_index(struct device *dev);
 
 void mtk_dsi_ddp_start(struct device *dev);
 void mtk_dsi_ddp_stop(struct device *dev);
index 2f931e4e2b60091efb805ad8831d96f0c78f3ace..4e3d9f7b4d8c9a6456e0a49a3616eb304716d6f6 100644 (file)
@@ -781,6 +781,15 @@ void mtk_dpi_stop(struct device *dev)
        mtk_dpi_power_off(dpi);
 }
 
+unsigned int mtk_dpi_encoder_index(struct device *dev)
+{
+       struct mtk_dpi *dpi = dev_get_drvdata(dev);
+       unsigned int encoder_index = drm_encoder_index(&dpi->encoder);
+
+       dev_dbg(dev, "encoder index:%d\n", encoder_index);
+       return encoder_index;
+}
+
 static int mtk_dpi_bind(struct device *dev, struct device *master, void *data)
 {
        struct mtk_dpi *dpi = dev_get_drvdata(dev);
index 02f0ada3754be4f1a6daf16ac7f76f1a143e61b4..601755925520d057102244efea0ce2aace088672 100644 (file)
@@ -304,6 +304,7 @@ static const struct mtk_ddp_comp_funcs ddp_dither = {
 static const struct mtk_ddp_comp_funcs ddp_dpi = {
        .start = mtk_dpi_start,
        .stop = mtk_dpi_stop,
+       .encoder_index = mtk_dpi_encoder_index,
 };
 
 static const struct mtk_ddp_comp_funcs ddp_dsc = {