drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd
authorXinlei Lee <xinlei.lee@mediatek.com>
Tue, 10 Jan 2023 05:54:51 +0000 (13:54 +0800)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Fri, 27 Jan 2023 00:01:33 +0000 (00:01 +0000)
According to Figure 16 Turnaround Procedure on page 36 in [1], you
can see the status of LP-00 -> LP10 -> LP11. This state can correspond
to the state of DSI from LP00 -> LP11 in mtk_dsi_lane_ready function
in mtk_dsi.c.

LP-00 -> LP10 -> LP11 takes about 2*TLPX time (refer to [1] page 51
to see that TLPX is 50ns)

The delay at the end of the mtk_dsi_lane_ready function should be
greater than the 2*TLPX specified by the DSI spec, and less than
the time specified by the DSI_RX (generally 6ms to 40ms), to avoid
problems caused by the RX specification

[1]:mipi_D-PHY_specification_v1-1

Fixes: 39e8d062b03c ("drm/mediatek: Keep dsi as LP00 before dcs cmds transfer")
Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/linux-mediatek/patch/1673330093-6771-2-git-send-email-xinlei.lee@mediatek.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_dsi.c

index 3b7d13028fb6b7577111b0dfac42a1338cfbfd8b..9e1363c9fcdb46e98323595aa84ab08c8cd2d076 100644 (file)
@@ -721,7 +721,7 @@ static void mtk_dsi_lane_ready(struct mtk_dsi *dsi)
                mtk_dsi_clk_ulp_mode_leave(dsi);
                mtk_dsi_lane0_ulp_mode_leave(dsi);
                mtk_dsi_clk_hs_mode(dsi, 0);
-               msleep(20);
+               usleep_range(1000, 3000);
                /* The reaction time after pulling up the mipi signal for dsi_rx */
        }
 }