summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorUjwal Patel <ujwalp@codeaurora.org>2014-02-27 10:11:40 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:27:30 -0700
commit59205e68de2a412cd6971ff43d22e06a8d42b9e8 (patch)
treef30e72b8eed1c8c5c5d811e5c6194a5c5f212227 /drivers/video/fbdev
parent5f335fb759d48474df1c798cb15eee215ebcaa0b (diff)
msm: mdss: extend SW reset assert until VBIF halt is finished
If pipe is supposed to be halted using SW reset assert, extend assert of SW reset until corresponding VBIF client is halted. Change-Id: Iabe6a2c6302483fc9d14cedbd1480bb6c644597e Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_pipe.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pipe.c b/drivers/video/fbdev/msm/mdss_mdp_pipe.c
index 85acc1366b1e..eae2213aa615 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_pipe.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_pipe.c
@@ -808,9 +808,6 @@ int mdss_mdp_pipe_fetch_halt(struct mdss_mdp_pipe *pipe)
writel_relaxed(reg_val | BIT(pipe->sw_reset.bit_off),
mdata->mdp_base + sw_reset_off);
wmb();
- writel_relaxed(reg_val & ~BIT(pipe->sw_reset.bit_off),
- mdata->mdp_base + sw_reset_off);
- wmb();
}
mutex_unlock(&mdata->reg_lock);
@@ -830,6 +827,10 @@ int mdss_mdp_pipe_fetch_halt(struct mdss_mdp_pipe *pipe)
mdata->vbif_base + MMSS_VBIF_XIN_HALT_CTRL0);
if (sw_reset_avail) {
+ writel_relaxed(reg_val & ~BIT(pipe->sw_reset.bit_off),
+ mdata->mdp_base + sw_reset_off);
+ wmb();
+
reg_val = readl_relaxed(mdata->mdp_base + clk_ctrl_off);
reg_val |= BIT(pipe->clk_ctrl.bit_off +
CLK_FORCE_OFF_OFFSET);