mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
msm_fb: display: wait4vsync after timing generator is turned off
When continuous splash is enabled, timing generator is enabled at bootloader, it then needs to be turned off at mdp4_dsi_video_on() to switch displayed content from frame buffer. wait4vsync after timing generator is turned off is necessary to make sure DMAP has finished fetching splash logo from original splash buffer. Otherwise, DMAP iommu page fault may happen. Change-Id: I35f9fb9da76f93b60d4719d147aea3246c770c9f Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
This commit is contained in:
parent
4947b43388
commit
9d9981459a
1 changed files with 4 additions and 7 deletions
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (c) 2010-2012, Code Aurora Forum. All rights reserved.
|
||||
/* Copyright (c) 2010-2013, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -327,9 +327,6 @@ void mdp4_dsi_video_wait4vsync(int cndx)
|
|||
if (atomic_read(&vctrl->suspend) > 0)
|
||||
return;
|
||||
|
||||
/* start timing generator & mmu if they are not started yet */
|
||||
mdp4_overlay_dsi_video_start();
|
||||
|
||||
mdp4_video_vsync_irq_ctrl(cndx, 1);
|
||||
|
||||
spin_lock_irqsave(&vctrl->spin_lock, flags);
|
||||
|
@ -569,10 +566,12 @@ int mdp4_dsi_video_on(struct platform_device *pdev)
|
|||
pipe = vctrl->base_pipe;
|
||||
}
|
||||
|
||||
atomic_set(&vctrl->suspend, 0);
|
||||
|
||||
if (!(mfd->cont_splash_done)) {
|
||||
mfd->cont_splash_done = 1;
|
||||
mdp4_dsi_video_wait4dmap_done(0);
|
||||
MDP_OUTP(MDP_BASE + DSI_VIDEO_BASE, 0);
|
||||
mdp4_dsi_video_wait4vsync(0);
|
||||
mipi_dsi_controller_cfg(0);
|
||||
/* Clks are enabled in probe.
|
||||
Disabling clocks now */
|
||||
|
@ -601,8 +600,6 @@ int mdp4_dsi_video_on(struct platform_device *pdev)
|
|||
mdp4_overlay_mdp_pipe_req(pipe, mfd);
|
||||
mdp4_calc_blt_mdp_bw(mfd, pipe);
|
||||
|
||||
atomic_set(&vctrl->suspend, 0);
|
||||
|
||||
mdp4_overlay_dmap_xy(pipe); /* dma_p */
|
||||
mdp4_overlay_dmap_cfg(mfd, 1);
|
||||
mdp4_overlay_rgb_setup(pipe);
|
||||
|
|
Loading…
Reference in a new issue