summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPixelBot AutoMerger <android-nexus-securitybot@system.gserviceaccount.com>2023-10-29 18:55:51 -0700
committerSecurityBot <android-nexus-securitybot@system.gserviceaccount.com>2023-10-29 18:55:51 -0700
commitdf051023c27c007cb0af9bbe7b7b41954dc9e1c8 (patch)
tree8a02e7f5b92b49813df387cec96670a1755a497c
parent48e5380992cd5967bacdc9b2a69925ee33ecae68 (diff)
parent6f886b5114767dd8d09b68a163f411f11c925b02 (diff)
downloadshusky-df051023c27c007cb0af9bbe7b7b41954dc9e1c8.tar.gz
Merge android14-gs-pixel-5.15-udc-qpr1 into android14-gs-pixel-5.15-udc-d2
SBMerger: 571992243 Change-Id: Ib0a3278c37051ac2fbdfdb5e32b3db00396267a7 Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
-rw-r--r--display/panel-google-hk3.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/display/panel-google-hk3.c b/display/panel-google-hk3.c
index 239d2c7..a6d53a6 100644
--- a/display/panel-google-hk3.c
+++ b/display/panel-google-hk3.c
@@ -132,7 +132,7 @@ struct hk3_panel {
bool force_changeable_te2;
/** @hw_acl_setting: automatic current limiting setting */
u8 hw_acl_setting;
- /** @hw_dbv: indicate the current dbv */
+ /** @hw_dbv: indicate the current dbv, will be zero after sleep in/out */
u16 hw_dbv;
/** @hw_za_enabled: whether zonal attenuation is enabled */
bool hw_za_enabled;
@@ -319,7 +319,8 @@ static const u8 sync_begin[] = { 0xE4, 0x00, 0x2C, 0x2C, 0xA2, 0x00, 0x00 };
static const u8 sync_end[] = { 0xE4, 0x00, 0x2C, 0x2C, 0x82, 0x00, 0x00 };
static const u8 aod_on[] = { MIPI_DCS_WRITE_CONTROL_DISPLAY, 0x24 };
static const u8 aod_off[] = { MIPI_DCS_WRITE_CONTROL_DISPLAY, 0x20 };
-static const u8 min_dbv[] = { MIPI_DCS_SET_DISPLAY_BRIGHTNESS, 0x00, 0x04 };
+/* 50 nits */
+static const u8 aod_dbv[] = { MIPI_DCS_SET_DISPLAY_BRIGHTNESS, 0x03, 0x55 };
static const struct exynos_dsi_cmd hk3_lp_low_cmds[] = {
EXYNOS_DSI_CMD0(unlock_cmd_f0),
@@ -327,7 +328,6 @@ static const struct exynos_dsi_cmd hk3_lp_low_cmds[] = {
EXYNOS_DSI_CMD_SEQ(0xB0, 0x00, 0x52, 0x94),
EXYNOS_DSI_CMD_SEQ(0x94, 0x01, 0x07, 0x6A, 0x02),
EXYNOS_DSI_CMD0(lock_cmd_f0),
- EXYNOS_DSI_CMD0(min_dbv),
};
static const struct exynos_dsi_cmd hk3_lp_high_cmds[] = {
@@ -336,7 +336,6 @@ static const struct exynos_dsi_cmd hk3_lp_high_cmds[] = {
EXYNOS_DSI_CMD_SEQ(0xB0, 0x00, 0x52, 0x94),
EXYNOS_DSI_CMD_SEQ(0x94, 0x00, 0x07, 0x6A, 0x02),
EXYNOS_DSI_CMD0(lock_cmd_f0),
- EXYNOS_DSI_CMD0(min_dbv),
};
static const struct exynos_binned_lp hk3_binned_lp[] = {
@@ -1417,7 +1416,7 @@ static void hk3_set_lp_mode(struct exynos_panel *ctx, const struct exynos_panel_
DPU_ATRACE_BEGIN(__func__);
hk3_disable_panel_feat(ctx, vrefresh);
- if (panel_enabled) {
+ if (panel_enabled) {
/* init sequence has sent display-off command already */
if (!hk3_is_peak_vrefresh(vrefresh, is_ns) && is_changeable_te)
hk3_wait_for_vsync_done_changeable(ctx, vrefresh, is_ns);
@@ -1425,6 +1424,8 @@ static void hk3_set_lp_mode(struct exynos_panel *ctx, const struct exynos_panel_
hk3_wait_for_vsync_done(ctx, vrefresh, is_ns);
exynos_panel_send_cmd_set(ctx, &hk3_display_off_cmd_set);
}
+ /* display should be off here, set dbv before entering lp mode */
+ EXYNOS_DCS_BUF_ADD_SET_AND_FLUSH(ctx, aod_dbv);
hk3_wait_for_vsync_done(ctx, vrefresh, false);
EXYNOS_DCS_BUF_ADD_SET_AND_FLUSH(ctx, aod_on);