From bed2a7d69d4e02aec9c1a1eba37d5563185a9bd7 Mon Sep 17 00:00:00 2001 From: Sandeep Panda Date: Tue, 18 Aug 2015 11:08:15 +0530 Subject: [PATCH] msm: mdss: reset DSI LANE control register during initialization Sometimes during suspend due to some shared regulator, if DSI PHY was not turned off properly, then DSI LANE control register might store some stale values during resume and this might cause side effects on panel during initialization sequence. So reset the DSI lane control register during DSI host initialization. Change-Id: Ib87281cc1346d88a83e7e26f7dc4951a0798276b Signed-off-by: Sandeep Panda --- drivers/video/fbdev/msm/mdss_dsi_host.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c index 3cb811b8a9dc..9423cfbd38ce 100644 --- a/drivers/video/fbdev/msm/mdss_dsi_host.c +++ b/drivers/video/fbdev/msm/mdss_dsi_host.c @@ -403,6 +403,10 @@ void mdss_dsi_host_init(struct mdss_panel_data *pdata) MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x11c, 0x23f); /* DSI_CLK_CTRL */ + /* Reset DSI_LANE_CTRL */ + if (!ctrl_pdata->mmss_clamp) + MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x00ac, 0x0); + dsi_ctrl |= BIT(0); /* enable dsi */ MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x0004, dsi_ctrl);