summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVenkata Prahlad Valluru <vvalluru@codeaurora.org>2019-08-23 22:12:12 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2020-03-03 02:31:35 -0800
commit12d6f65b74cf94a9056cdd3303c7790ed327ca38 (patch)
tree0b426225472c8b990a94d6c538dc246072788a61 /drivers
parent79950c4fce4fa6ad7e32cb0b7a23282c1ed594bc (diff)
msm: mdss: mdp: do null commit during panel reconfiguration
If panel reconfiguration is triggered during splash handoff, splash cleanup will be called before any commit. This will cause control path reset due to no bandwidth votes. Add null commit during splash cleanup in case of panel reconfiguration. Change-Id: If500fdfb3913726d4d8462d38c200797256b4f46 Signed-off-by: Venkata Prahlad Valluru <vvalluru@codeaurora.org> Signed-off-by: Ramendra Kumar <ramendra@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fbdev/msm/mdss_fb.c6
-rw-r--r--drivers/video/fbdev/msm/mdss_fb.h3
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_splash_logo.c7
3 files changed, 11 insertions, 5 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index 874fae046d95..58478b97b81a 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, 2020, 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
@@ -4081,11 +4081,15 @@ static int mdss_fb_set_par(struct fb_info *info)
mfd->panel_reconfig = true;
}
+ if (mdss_fb_is_hdmi_primary(mfd) && mfd->panel_reconfig)
+ mfd->force_null_commit = true;
+
if (mfd->panel_reconfig || (mfd->fb_imgType != old_imgType)) {
mdss_fb_blank_sub(FB_BLANK_POWERDOWN, info, mfd->op_enable);
mdss_fb_var_to_panelinfo(var, mfd->panel_info);
mdss_fb_blank_sub(FB_BLANK_UNBLANK, info, mfd->op_enable);
mfd->panel_reconfig = false;
+ mfd->force_null_commit = false;
}
return ret;
diff --git a/drivers/video/fbdev/msm/mdss_fb.h b/drivers/video/fbdev/msm/mdss_fb.h
index 301c1386a639..4d2888246b7c 100644
--- a/drivers/video/fbdev/msm/mdss_fb.h
+++ b/drivers/video/fbdev/msm/mdss_fb.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2008-2020, 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
@@ -292,6 +292,7 @@ struct msm_fb_data_type {
int op_enable;
u32 fb_imgType;
int panel_reconfig;
+ int force_null_commit;
u32 panel_orientation;
u32 dst_format;
diff --git a/drivers/video/fbdev/msm/mdss_mdp_splash_logo.c b/drivers/video/fbdev/msm/mdss_mdp_splash_logo.c
index 5df1ed7c89a5..b55a6824ffc1 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_splash_logo.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_splash_logo.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2015, 2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2013-2020, 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
@@ -286,8 +286,9 @@ int mdss_mdp_splash_cleanup(struct msm_fb_data_type *mfd,
/* 1-to-1 mapping */
mdss_mdp_splash_iommu_attach(mfd);
- if (use_borderfill && mdp5_data->handoff &&
- !mfd->splash_info.iommu_dynamic_attached) {
+ if ((use_borderfill && mdp5_data->handoff &&
+ !mfd->splash_info.iommu_dynamic_attached) ||
+ mfd->force_null_commit) {
/*
* Set up border-fill on the handed off pipes.
* This is needed to ensure that there are no memory