summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorTerence Hampson <thampson@codeaurora.org>2013-12-16 14:17:34 -0500
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:24:42 -0700
commitae1abd39fdce2cf98b3654a991e67ff40c30c471 (patch)
tree69872ff8868e93c1b23232b71a02594b799257b7 /drivers/video/fbdev
parent32af8d04f9fa9ed9051d540b557bd0dda5a2f7db (diff)
mdp3: Enable sw vsync when dma is not active
Recently in an attempt to enhance sync event reporting we prevented sw vsync when dma is turned of from toggleing display off and on. Change-Id: I71c9be55d36dc92e513d9f5ead4d1e42157285c6 Signed-off-by: Terence Hampson <thampson@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdp3_ctrl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdp3_ctrl.c b/drivers/video/fbdev/msm/mdp3_ctrl.c
index c5e86930c6d1..4a6650da718c 100644
--- a/drivers/video/fbdev/msm/mdp3_ctrl.c
+++ b/drivers/video/fbdev/msm/mdp3_ctrl.c
@@ -214,7 +214,8 @@ static int mdp3_ctrl_vsync_enable(struct msm_fb_data_type *mfd, int enable)
* active or when dsi clocks are currently off
*/
if (enable && mdp3_session->status == 1
- && mdp3_session->vsync_before_commit) {
+ && (mdp3_session->vsync_before_commit ||
+ !mdp3_session->intf->active)) {
mod_timer(&mdp3_session->vsync_timer,
jiffies + msecs_to_jiffies(mdp3_session->vsync_period));
} else if (enable && !mdp3_session->clk_on) {
@@ -230,7 +231,8 @@ static int mdp3_ctrl_vsync_enable(struct msm_fb_data_type *mfd, int enable)
void mdp3_vsync_timer_func(unsigned long arg)
{
struct mdp3_session_data *session = (struct mdp3_session_data *)arg;
- if (session->status == 1 && session->vsync_before_commit) {
+ if (session->status == 1 && (session->vsync_before_commit ||
+ !session->intf->active)) {
pr_debug("mdp3_vsync_timer_func trigger\n");
vsync_notify_handler(session);
mod_timer(&session->vsync_timer,