diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2016-07-24 02:02:45 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-07-24 02:02:44 -0700 |
commit | 5f77b228da2675450261551f2e526b18d9056a86 (patch) | |
tree | 77314fe8a6f631bcdba188edc1c903120037c22d | |
parent | 4b20cd07d75bd40d778fe6e2824087b9fc78e972 (diff) | |
parent | a5312f6f7fe42a188d6db75aa9f9453dbcf3bf1f (diff) |
Merge "msm: mdss: mdp: fix handling of GDSC off notifier"
-rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp.c | 13 |
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; |