summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMidas Chien <midaschieh@google.com>2023-12-18 09:36:10 +0000
committerMidas Chien <midaschieh@google.com>2024-01-15 07:28:45 +0000
commit391228726184fb8eea50f71cc1cf86e66428b990 (patch)
tree55c2c6aaea953b5552e4bbb63d9a6b3cd9a2a1fb
parent2e4c6ac15c779ab990c82a5b2da83c7fccb257dc (diff)
downloadfelix-391228726184fb8eea50f71cc1cf86e66428b990.tar.gz
panel: ana6707: add vrefresh range
Bug: 315424658 Test: switch display state, resolution and refresh rate Change-Id: Icf2e707756c7383777dcb1b3a5bbf0be968477a2 Signed-off-by: Midas Chien <midaschieh@google.com>
-rw-r--r--display/panel-samsung-ana6707-f10.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/display/panel-samsung-ana6707-f10.c b/display/panel-samsung-ana6707-f10.c
index 83e671a..2dc7fc2 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;
- backlight_state_changed(ctx->bl);
+ notify_panel_mode_changed(ctx);
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;
- backlight_state_changed(ctx->bl);
+ notify_panel_mode_changed(ctx);
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);
- backlight_state_changed(ctx->bl);
+ notify_panel_mode_changed(ctx);
DPU_ATRACE_END(__func__);
@@ -1160,6 +1160,14 @@ static const struct exynos_display_underrun_param underrun_param = {
.te_var = 1,
};
+static const int ana6707_vrefresh_range[] = {
+ 1, 10, 30, 60, 120
+};
+
+static const int ana6707_lp_vrefresh_range[] = {
+ 1, 30
+};
+
static const struct drm_dsc_config ana6707_f10_dsc_cfg = {
.initial_dec_delay = 0x31A, /* pps18_19 */
.scale_increment_interval = 0x387, /* pps22_23 */
@@ -1421,8 +1429,12 @@ const struct exynos_panel_desc samsung_ana6707_f10 = {
.min_luminance = 5,
.modes = ana6707_f10_modes,
.num_modes = ARRAY_SIZE(ana6707_f10_modes),
+ .vrefresh_range = ana6707_vrefresh_range,
+ .vrefresh_range_count = ARRAY_SIZE(ana6707_vrefresh_range),
.off_cmd_set = &ana6707_f10_off_cmd_set,
.lp_mode = &ana6707_f10_lp_mode,
+ .lp_vrefresh_range = ana6707_lp_vrefresh_range,
+ .lp_vrefresh_range_count = ARRAY_SIZE(ana6707_lp_vrefresh_range),
.lp_cmd_set = &ana6707_f10_lp_cmd_set,
.binned_lp = ana6707_f10_binned_lp,
.num_binned_lp = ARRAY_SIZE(ana6707_f10_binned_lp),