summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJayant Shekhar <jshekhar@codeaurora.org>2014-08-27 15:51:39 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:32:45 -0700
commitde1b8eea12efb0cb0be0e1d33bd1bb8ee0c7c496 (patch)
tree165f02d2ef66cca1a4a8d0774340c2a1c7d5c902
parent0d2c6b3f5a0cda4ea883f049834cd3c26fa7bba0 (diff)
msm: mdss: Move iommu attach after overlay start in pan display
IOMMU page faults can happen if iommu is attached in pan display if continuous splash is enabled as splash fetches from physical memory. Splash cleanup is performed in overlay start and hence move iommu attach after splash cleanup is done. Change-Id: I703c925f964527f33108a3a09ee1ffdc0a3003cd Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
index 4af020d8bd9f..a31d83d4e122 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
@@ -1893,11 +1893,6 @@ static void mdss_mdp_overlay_pan_display(struct msm_fb_data_type *mfd)
mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON);
- ret = mdss_iommu_ctrl(1);
- if (IS_ERR_VALUE(ret)) {
- pr_err("IOMMU attach failed\n");
- goto pan_display_error;
- }
bpp = fbi->var.bits_per_pixel / 8;
offset = fbi->var.xoffset * bpp +
@@ -1915,6 +1910,12 @@ static void mdss_mdp_overlay_pan_display(struct msm_fb_data_type *mfd)
goto pan_display_error;
}
+ ret = mdss_iommu_ctrl(1);
+ if (IS_ERR_VALUE(ret)) {
+ pr_err("IOMMU attach failed\n");
+ goto pan_display_error;
+ }
+
ret = mdss_mdp_overlay_get_fb_pipe(mfd, &pipe,
MDSS_MDP_MIXER_MUX_LEFT);
if (ret) {