| From f2e861e5dde47d878059eced079f73b921168156 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 10 Jan 2023 13:54:51 +0800 |
| Subject: drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd |
| |
| From: Xinlei Lee <xinlei.lee@mediatek.com> |
| |
| [ Upstream commit 91aeaed2c1147e3b1157dc084d23f190856a6c23 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/mediatek/mtk_dsi.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c |
| index 3b7d13028fb6b..9e1363c9fcdb4 100644 |
| --- a/drivers/gpu/drm/mediatek/mtk_dsi.c |
| +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c |
| @@ -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 */ |
| } |
| } |
| -- |
| 2.39.2 |
| |