]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/mediatek: dpi: Only enable dpi after the bridge is enabled
authorGuillaume Ranquet <granquet@baylibre.com>
Fri, 1 Jul 2022 03:58:44 +0000 (11:58 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:17:41 +0000 (11:17 +0200)
[ Upstream commit 1b207ac09499a86c44205ef0f29a53e6e5bba830 ]

Enabling the dpi too early causes glitches on screen.

Move the call to mtk_dpi_enable() at the end of the bridge_enable
callback to ensure everything is setup properly before enabling dpi.

Fixes: 81d04dda894e ("drm/mediatek: Add DPI sub driver")
Signed-off-by: Guillaume Ranquet <granquet@baylibre.com>
Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/linux-mediatek/patch/20220701035845.16458-16-rex-bc.chen@mediatek.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/mediatek/mtk_dpi.c

index 8f4a9f245a9aac64b7bbdd0b38755dc649f3e59e..4a64d8aed9da97cbaa609e1c0b81473040066d10 100644 (file)
@@ -394,7 +394,6 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi)
        if (dpi->pinctrl && dpi->pins_dpi)
                pinctrl_select_state(dpi->pinctrl, dpi->pins_dpi);
 
-       mtk_dpi_enable(dpi);
        return 0;
 
 err_pixel:
@@ -538,6 +537,7 @@ static void mtk_dpi_encoder_enable(struct drm_encoder *encoder)
 
        mtk_dpi_power_on(dpi);
        mtk_dpi_set_display_mode(dpi, &dpi->mode);
+       mtk_dpi_enable(dpi);
 }
 
 static int mtk_dpi_atomic_check(struct drm_encoder *encoder,