summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorAravind Venkateswaran <aravindh@codeaurora.org>2014-04-10 18:50:49 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:29:00 -0700
commit69628ef468b16797c313b0433e1dc1118933ce65 (patch)
tree4c9273077fbd2938ec276efa4467d8ee01525b27 /drivers/video/fbdev
parentf35b84639d47faf56275734ba5955d715fdff076 (diff)
msm: mdss: hold mdp clock ref count when restoring ctl path
MDP control path needs to be restored whenever MDSS GDSC is turned back on while exiting the utlra-low power state (ULPS). Hold a reference count for the MDP clocks to ensure that there is no unclocked register access. Change-Id: Ia2d299d9db9c23e4c9171cbec8e376908046494b Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index a2766770aeb2..2f29de913bc2 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -1796,11 +1796,13 @@ void mdss_mdp_ctl_restore(struct mdss_mdp_ctl *ctl)
{
u32 temp;
+ mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON, false);
temp = readl_relaxed(ctl->mdata->mdp_base +
MDSS_MDP_REG_DISP_INTF_SEL);
temp |= (ctl->intf_type << ((ctl->intf_num - MDSS_MDP_INTF0) * 8));
writel_relaxed(temp, ctl->mdata->mdp_base +
MDSS_MDP_REG_DISP_INTF_SEL);
+ mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_OFF, false);
}
static int mdss_mdp_ctl_start_sub(struct mdss_mdp_ctl *ctl, bool handoff)