summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-07-24 02:02:45 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-07-24 02:02:44 -0700
commit5f77b228da2675450261551f2e526b18d9056a86 (patch)
tree77314fe8a6f631bcdba188edc1c903120037c22d
parent4b20cd07d75bd40d778fe6e2824087b9fc78e972 (diff)
parenta5312f6f7fe42a188d6db75aa9f9453dbcf3bf1f (diff)
Merge "msm: mdss: mdp: fix handling of GDSC off notifier"
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp.c b/drivers/video/fbdev/msm/mdss_mdp.c
index 164bf0273597..5a355f226179 100644
--- a/drivers/video/fbdev/msm/mdss_mdp.c
+++ b/drivers/video/fbdev/msm/mdss_mdp.c
@@ -1638,9 +1638,16 @@ static int mdss_mdp_gdsc_notifier_call(struct notifier_block *self,
if (event & REGULATOR_EVENT_ENABLE) {
__mdss_restore_sec_cfg(mdata);
} else if (event & REGULATOR_EVENT_PRE_DISABLE) {
- pr_debug("mdss gdsc is getting disabled\n");
- /* halt the vbif transactions */
- mdss_mdp_vbif_axi_halt(mdata);
+ int active_cnt = atomic_read(&mdata->active_intf_cnt);
+
+ pr_debug("mdss gdsc is getting disabled, active_cnt=%d\n",
+ active_cnt);
+ /*
+ * halt the vbif transactions only if we have any active
+ * overlay session
+ */
+ if (active_cnt)
+ mdss_mdp_vbif_axi_halt(mdata);
}
return NOTIFY_OK;