summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDhaval Patel <pdhaval@codeaurora.org>2015-05-06 19:17:35 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:40:56 -0700
commitfdd80e65fb15a284d016c7e5142ae97e68766250 (patch)
tree4169dedbfed3d9b37225201ba3cf927c97acbdea /drivers
parent67500148eaf3d986df7cbf682d945d5690ec18bc (diff)
mdss: msm: keep smmu power rail on during continuous splash
SMMU clocks and regulators should be on during continuous splash screen scenario. Turning them off causes the underrun. This change leaves these power rail on during probe and avoids additional refcount during attach. This refcount will be removed on detach during first suspend-resume. Change-Id: I70570dea67d9a95e86ddbe892252dcb493c8fa65 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fbdev/msm/mdss_smmu.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/video/fbdev/msm/mdss_smmu.c b/drivers/video/fbdev/msm/mdss_smmu.c
index 1cb61e527eda..0b59e70e8ef1 100644
--- a/drivers/video/fbdev/msm/mdss_smmu.c
+++ b/drivers/video/fbdev/msm/mdss_smmu.c
@@ -152,11 +152,13 @@ static int mdss_smmu_attach_v2(struct mdss_data_type *mdata)
mdss_smmu = mdss_smmu_get_cb(i);
if (mdss_smmu->dev) {
mp = &mdss_smmu->mp;
- rc = mdss_smmu_enable_power(mp, true);
- if (rc) {
- pr_err("power enable failed - domain:[%d] rc:%d\n",
- i, rc);
- goto err;
+ if (!mdata->handoff_pending) {
+ rc = mdss_smmu_enable_power(mp, true);
+ if (rc) {
+ pr_err("power enable failed - domain:[%d] rc:%d\n",
+ i, rc);
+ goto err;
+ }
}
if (!mdss_smmu->domain_attached) {
@@ -591,7 +593,8 @@ int mdss_smmu_probe(struct platform_device *pdev)
}
}
- mdss_smmu_enable_power(mp, false);
+ if (!mdata->handoff_pending)
+ mdss_smmu_enable_power(mp, false);
mdss_smmu->dev = dev;
pr_info("iommu v2 domain[%d] mapping and clk register successful!\n",