summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMidas Chien <midaschieh@google.com>2024-01-15 08:45:46 +0000
committerMidas Chien <midaschieh@google.com>2024-01-15 08:45:46 +0000
commit498e7f9827e69e539e1cc94ff162264dc6f776ec (patch)
tree13eead4e94abd6201c9823fb614e586fe2fefefa
parent391228726184fb8eea50f71cc1cf86e66428b990 (diff)
downloadfelix-498e7f9827e69e539e1cc94ff162264dc6f776ec.tar.gz
panel: ana6707: support wake up during notify state change
When transitioning to hibernation in AOD, a panel mode state update is triggered. However, timely updates might be compromised if user space processes are frozen during notification. Implement a mechanism to awaken the system during notifications if we need to guarantee timely update. Bug: 311495944 Test: check refresh rate indicator is correct Change-Id: I73426d67767a8f91d0f65608ecb9e05984c53c46 Signed-off-by: Midas Chien <midaschieh@google.com>
-rw-r--r--display/panel-samsung-ana6707-f10.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/display/panel-samsung-ana6707-f10.c b/display/panel-samsung-ana6707-f10.c
index 2dc7fc2..5150c19 100644
--- a/display/panel-samsung-ana6707-f10.c
+++ b/display/panel-samsung-ana6707-f10.c
@@ -914,7 +914,7 @@ static bool ana6707_f10_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;
- notify_panel_mode_changed(ctx);
+ notify_panel_mode_changed(ctx, true);
return false;
}
@@ -940,7 +940,7 @@ static bool ana6707_f10_set_self_refresh(struct exynos_panel *ctx, bool enable)
}
ctx->panel_idle_vrefresh = ctx->self_refresh_active ? spanel->hw_idle_vrefresh : 0;
- notify_panel_mode_changed(ctx);
+ notify_panel_mode_changed(ctx, false);
return false;
}
@@ -1011,7 +1011,7 @@ static bool ana6707_f10_set_self_refresh(struct exynos_panel *ctx, bool enable)
}
EXYNOS_DCS_WRITE_TABLE(ctx, lock_cmd_f0);
- notify_panel_mode_changed(ctx);
+ notify_panel_mode_changed(ctx, false);
DPU_ATRACE_END(__func__);