diff options
author | Ken Lin <lyenting@google.com> | 2023-10-14 06:53:00 +0000 |
---|---|---|
committer | Ken Lin <lyenting@google.com> | 2023-10-16 11:51:21 +0000 |
commit | da540cea7ac4695f25041a811e960bc624268e60 (patch) | |
tree | 88df89aa2e5b3bc2a38cb791c7c85a2bff99fc53 | |
parent | a86075f01cc7cda39b314cc38d447d254111e2dc (diff) | |
download | shusky-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.c | 10 |
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, |