summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPixelBot AutoMerger <android-nexus-securitybot@system.gserviceaccount.com>2021-09-12 18:47:35 -0700
committerSecurityBot <android-nexus-securitybot@system.gserviceaccount.com>2021-09-12 18:47:35 -0700
commit9638b3f153d9db9d25312d947b7ba7b687938683 (patch)
tree034647b83b50d1e3d9fde0fd1cff8da581980ed1
parent59de3f57168b6c52e662501a7ceb98a16c268a6d (diff)
parent20e6af40b4f2288b9fd13020e62e0013c6c3db7c (diff)
downloaddisplay-drivers-android-msm-redbull-4.19-t-preview-2.tar.gz
SBMerger: 379283923 Change-Id: Ib0552c64c0916cff98faa274b583713a5604cc18 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
-rw-r--r--msm/dsi/dsi_defs.h1
-rw-r--r--msm/dsi/dsi_panel.c18
2 files changed, 12 insertions, 7 deletions
diff --git a/msm/dsi/dsi_defs.h b/msm/dsi/dsi_defs.h
index 30fb2206..476a84e1 100644
--- a/msm/dsi/dsi_defs.h
+++ b/msm/dsi/dsi_defs.h
@@ -626,6 +626,7 @@ struct dsi_display_mode_priv_info {
struct msm_display_topology topology;
struct msm_display_dsc_info dsc;
bool dsc_enabled;
+ bool pps_created;
struct msm_roi_caps roi_caps;
void *switch_data;
diff --git a/msm/dsi/dsi_panel.c b/msm/dsi/dsi_panel.c
index ef6605b0..9e9b9cfb 100644
--- a/msm/dsi/dsi_panel.c
+++ b/msm/dsi/dsi_panel.c
@@ -4575,12 +4575,17 @@ int dsi_panel_update_pps(struct dsi_panel *panel)
set = &priv_info->cmd_sets[DSI_CMD_SET_PPS];
- dsi_dsc_create_pps_buf_cmd(&priv_info->dsc, panel->dsc_pps_cmd, 0);
- rc = dsi_panel_create_cmd_packets(panel->dsc_pps_cmd,
- DSI_CMD_PPS_SIZE, 1, set->cmds);
- if (rc) {
- DSI_ERR("failed to create cmd packets, rc=%d\n", rc);
- goto error;
+ if (!priv_info->pps_created) {
+ dsi_dsc_create_pps_buf_cmd(&priv_info->dsc, panel->dsc_pps_cmd, 0);
+ rc = dsi_panel_create_cmd_packets(panel->dsc_pps_cmd,
+ DSI_CMD_PPS_SIZE, 1, set->cmds);
+ if (rc) {
+ DSI_ERR("failed to create cmd packets, rc=%d\n", rc);
+ goto error;
+ }
+ else {
+ priv_info->pps_created = true;
+ }
}
rc = dsi_panel_tx_cmd_set(panel, DSI_CMD_SET_PPS);
@@ -4589,7 +4594,6 @@ int dsi_panel_update_pps(struct dsi_panel *panel)
panel->name, rc);
}
- dsi_panel_destroy_cmd_packets(set);
error:
mutex_unlock(&panel->panel_lock);
return rc;