summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Lin <lyenting@google.com>2023-11-28 06:50:52 +0000
committerTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2023-11-29 13:09:19 +0000
commitaa4912b5e85db790fe4983da0284bbe00c3df163 (patch)
tree21649a9a9a7e93614efc5896d9f4321606921d61
parent1e61db6317bd3116f9c93d4aa1b42b6539790470 (diff)
downloadshusky-aa4912b5e85db790fe4983da0284bbe00c3df163.tar.gz
panel: hk3: prevent blocking system notifications in critical paths
sysfs_notify involve multiple locks so we cannot do it in critical paths - Remove te2 sysfs_notify - Move bl state and brightness sysfs_notify asychronously Bug: 313287886 Test: Reboot successfully Change-Id: Id041096b794dc27189c159ea43bc92bd3af86742 Signed-off-by: Ken Lin <lyenting@google.com>
-rw-r--r--display/panel-google-hk3.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/display/panel-google-hk3.c b/display/panel-google-hk3.c
index 74748e0..5731c4e 100644
--- a/display/panel-google-hk3.c
+++ b/display/panel-google-hk3.c
@@ -919,12 +919,7 @@ static void hk3_update_refresh_mode(struct exynos_panel *ctx,
ctx->panel_idle_vrefresh = idle_vrefresh;
hk3_update_panel_feat(ctx, vrefresh, false);
- /* 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);
+ schedule_work(&ctx->state_notify);
dev_dbg(ctx->dev, "%s: display state is notified\n", __func__);
}
@@ -1033,7 +1028,7 @@ static bool hk3_set_self_refresh(struct exynos_panel *ctx, bool enable)
if (pmode->exynos_mode.is_lp_mode) {
/* set 1Hz while self refresh is active, otherwise clear it */
ctx->panel_idle_vrefresh = enable ? 1 : 0;
- backlight_state_changed(ctx->bl);
+ schedule_work(&ctx->state_notify);
return false;
}
@@ -2763,7 +2758,6 @@ 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,