summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPixelBot AutoMerger <android-nexus-securitybot@system.gserviceaccount.com>2021-09-12 18:47:20 -0700
committerSecurityBot <android-nexus-securitybot@system.gserviceaccount.com>2021-09-12 18:47:20 -0700
commit20e6af40b4f2288b9fd13020e62e0013c6c3db7c (patch)
tree46268d3a59aa87bc476682907a9dcf62f66cb757
parente471ed45e9ffa031b3a34f3fdb18d48f187cd52b (diff)
parent662bb3b0f4c1f9e03430d2643d37ff620c22f98f (diff)
downloaddisplay-drivers-20e6af40b4f2288b9fd13020e62e0013c6c3db7c.tar.gz
SBMerger: 379283923 Change-Id: I7f13ab5bb0435403c035276bac67af1242d08c6b 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 2d9a35b9..18c4cb28 100644
--- a/msm/dsi/dsi_panel.c
+++ b/msm/dsi/dsi_panel.c
@@ -4574,12 +4574,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);
@@ -4588,7 +4593,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;