summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorVenkata Prahlad Valluru <vvalluru@codeaurora.org>2019-05-07 19:58:00 +0530
committerRamendra Kumar <ramendra@codeaurora.org>2020-03-02 12:03:56 +0530
commitc053aaea67280116a7091f9e184c7b8f4ade4453 (patch)
tree3744d5e487449a3242eddbb263a98e8af1e32643 /drivers/video/fbdev
parent9346632ccfe6946cf77b869403dbf65dcd6a24de (diff)
msm: mdss: hdmi: skip pan_display during handoff
In case of HDMI as primary, skip pan_display until handoff completes. Change-Id: I5af8142292bcac0f085fffab1af99f635d3ff304 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_fb.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index f56e50d516cd..0feb13948190 100644
--- a/drivers/video/fbdev/msm/mdss_fb.c
+++ b/drivers/video/fbdev/msm/mdss_fb.c
@@ -1,7 +1,7 @@
/*
* Core MDSS framebuffer driver.
*
- * Copyright (c) 2008-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2008-2020, The Linux Foundation. All rights reserved.
* Copyright (C) 2007 Google Incorporated
*
* This software is licensed under the terms of the GNU General Public
@@ -3507,16 +3507,19 @@ static int mdss_fb_pan_display(struct fb_var_screeninfo *var,
{
struct mdp_display_commit disp_commit;
struct msm_fb_data_type *mfd = (struct msm_fb_data_type *)info->par;
+ struct mdss_data_type *mdata = mfd_to_mdata(mfd);
/*
- * during mode switch through mode sysfs node, it will trigger a
- * pan_display after switch. This assumes that fb has been adjusted,
- * however when using overlays we may not have the right size at this
- * point, so it needs to go through PREPARE first. Abort pan_display
- * operations until that happens
+ * Abort pan_display operations in following cases:
+ * 1. during mode switch through mode sysfs node, it will trigger a
+ * pan_display after switch. This assumes that fb has been adjusted,
+ * however when using overlays we may not have the right size at this
+ * point, so it needs to go through PREPARE first.
+ * 2. When the splash handoff is pending.
*/
- if (mfd->switch_state != MDSS_MDP_NO_UPDATE_REQUESTED) {
- pr_debug("fb%d: pan_display skipped during switch\n",
+ if ((mfd->switch_state != MDSS_MDP_NO_UPDATE_REQUESTED) ||
+ mdata->handoff_pending) {
+ pr_debug("fb%d: pan_display skipped during switch or handoff\n",
mfd->index);
return 0;
}