summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Lin <lyenting@google.com>2023-10-14 06:53:00 +0000
committerKen Lin <lyenting@google.com>2023-10-16 11:51:21 +0000
commitda540cea7ac4695f25041a811e960bc624268e60 (patch)
tree88df89aa2e5b3bc2a38cb791c7c85a2bff99fc53
parenta86075f01cc7cda39b314cc38d447d254111e2dc (diff)
downloadshusky-da540cea7ac4695f25041a811e960bc624268e60.tar.gz
panel: hk3: prevent notifications from resolution switch
Support sysfs notification asynchronously during RRS transition Bug: 294185955 Test: Reboot and see if snowflakes happen after switching mode Change-Id: I6d03a64994a9fb32a31d1bd572769e7fa2aa23da Signed-off-by: Ken Lin <lyenting@google.com>
-rw-r--r--display/panel-google-hk3.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/display/panel-google-hk3.c b/display/panel-google-hk3.c
index 467efc7..239d2c7 100644
--- a/display/panel-google-hk3.c
+++ b/display/panel-google-hk3.c
@@ -897,8 +897,13 @@ static void hk3_update_refresh_mode(struct exynos_panel *ctx,
*/
ctx->panel_idle_vrefresh = idle_vrefresh;
hk3_update_panel_feat(ctx, vrefresh, false);
- te2_state_changed(ctx->bl);
- backlight_state_changed(ctx->bl);
+
+ /* TODO: (b/303738012) perform notifications asyncly for P24*/
+ /* Prevent sysfs_notify from resolution switch */
+ if (ctx->mode_in_progress == MODE_RES_AND_RR_IN_PROGRESS)
+ schedule_work(&ctx->state_notify);
+ else
+ backlight_state_changed(ctx->bl);
dev_dbg(ctx->dev, "%s: display state is notified\n", __func__);
}
@@ -2693,6 +2698,7 @@ const struct exynos_panel_desc google_hk3 = {
.num_binned_lp = ARRAY_SIZE(hk3_binned_lp),
.is_panel_idle_supported = true,
.no_lhbm_rr_constraints = true,
+ .use_async_notify = true,
.panel_func = &hk3_drm_funcs,
.exynos_panel_func = &hk3_exynos_funcs,
.lhbm_effective_delay_frames = 1,