summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPadmanabhan Komanduru <pkomandu@codeaurora.org>2015-11-19 16:07:20 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:47:59 -0700
commit3ce084f93ec6a46b7e701df57df0aad6e4115f48 (patch)
tree481443953ea34ad9c120e604e433bb1b6e4b78de
parent37229bc2bea3946e9d4a8bbd7be160dc4551b6b1 (diff)
msm: mdss: delay release of splash buffer during first commit
During kernel boot up, the splash memory is unmapped and released at the beginning of first display commit during overlay start. By this time, MDP will not start fetching the new buffers that are queued as part of first commit. This can cause IOMMU page faults on the splash memory since the buffer is unmapped but IOMMU is attached as part of overlay kickoff. Hence, perform splash cleanup after waiting for a vsync during kickoff cycle. Change-Id: I0b6656f1cc2be9d96fd29e92b99b5aaed94eeb54 Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
index 798b80090887..b2dd7f6c6e93 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
@@ -1318,7 +1318,6 @@ int mdss_mdp_overlay_start(struct msm_fb_data_type *mfd)
if (!mdp5_data->mdata->batfet)
mdss_mdp_batfet_ctrl(mdp5_data->mdata, true);
mdss_mdp_release_splash_pipe(mfd);
- mdss_mdp_splash_cleanup(mfd, true);
return 0;
} else if (mfd->panel_info->cont_splash_enabled) {
mutex_lock(&mdp5_data->list_lock);
@@ -2012,6 +2011,7 @@ int mdss_mdp_overlay_kickoff(struct msm_fb_data_type *mfd,
ATRACE_BEGIN("display_wait4comp");
ret = mdss_mdp_display_wait4comp(mdp5_data->ctl);
ATRACE_END("display_wait4comp");
+ mdss_mdp_splash_cleanup(mfd, true);
/*
* Configure Timing Engine, if new fps was set.