diff options
author | Padmanabhan Komanduru <pkomandu@codeaurora.org> | 2015-11-19 16:07:20 +0530 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:47:59 -0700 |
commit | 3ce084f93ec6a46b7e701df57df0aad6e4115f48 (patch) | |
tree | 481443953ea34ad9c120e604e433bb1b6e4b78de | |
parent | 37229bc2bea3946e9d4a8bbd7be160dc4551b6b1 (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.c | 2 |
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. |