summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi_host.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi_host.c b/drivers/video/fbdev/msm/mdss_dsi_host.c
index 1c7d55cecd30..9dce7eb37643 100644
--- a/drivers/video/fbdev/msm/mdss_dsi_host.c
+++ b/drivers/video/fbdev/msm/mdss_dsi_host.c
@@ -520,6 +520,7 @@ static void mdss_dsi_wait_clk_lane_to_stop(struct mdss_dsi_ctrl_pdata *ctrl)
static void mdss_dsi_start_hs_clk_lane(struct mdss_dsi_ctrl_pdata *ctrl)
{
mutex_lock(&ctrl->clk_lane_mutex);
+ mdss_dsi_clk_ctrl(ctrl, DSI_ALL_CLKS, 1);
if (ctrl->clk_lane_cnt) {
pr_err("%s: ndx=%d do-wait, cnt=%d\n",
__func__, ctrl->ndx, ctrl->clk_lane_cnt);
@@ -531,6 +532,7 @@ static void mdss_dsi_start_hs_clk_lane(struct mdss_dsi_ctrl_pdata *ctrl)
ctrl->clk_lane_cnt++;
pr_debug("%s: ndx=%d, set_hs, cnt=%d\n", __func__,
ctrl->ndx, ctrl->clk_lane_cnt);
+ mdss_dsi_clk_ctrl(ctrl, DSI_ALL_CLKS, 0);
mutex_unlock(&ctrl->clk_lane_mutex);
}
@@ -547,6 +549,7 @@ static void mdss_dsi_stop_hs_clk_lane(struct mdss_dsi_ctrl_pdata *ctrl,
unsigned long flags;
mutex_lock(&ctrl->clk_lane_mutex);
+ mdss_dsi_clk_ctrl(ctrl, DSI_ALL_CLKS, 1);
if (ctrl->clk_lane_cnt != 1) {
pr_err("%s: ndx=%d wait had been done, cnt=%d\n",
__func__, ctrl->ndx, ctrl->clk_lane_cnt);
@@ -590,6 +593,7 @@ release:
pr_debug("%s: ndx=%d, cnt=%d\n", __func__,
ctrl->ndx, ctrl->clk_lane_cnt);
+ mdss_dsi_clk_ctrl(ctrl, DSI_ALL_CLKS, 0);
mutex_unlock(&ctrl->clk_lane_mutex);
}