diff options
author | William Tai <williamtai@google.com> | 2022-05-06 16:11:01 +0800 |
---|---|---|
committer | William Tai <williamtai@google.com> | 2022-05-10 08:27:30 +0800 |
commit | 9c449652bfb0b5d59867320f876f8723f1e1a23e (patch) | |
tree | 677662859738cd4b648ff58b41be9ae0e3767b11 /samsung/panel/panel-samsung-drv.c | |
parent | 5bc34496b07e37b1d86c94b0fe902bea20d20aa7 (diff) | |
download | display-9c449652bfb0b5d59867320f876f8723f1e1a23e.tar.gz |
panel: avoid ghbm/lhbm/bl updates during lp mode
Avoid ghbm/lhbm/bl updates during lp mode.
Bug: 230560869
Test: finger unlock manual test
Signed-off-by: William Tai <williamtai@google.com>
Change-Id: I2da74b0e23b3e7397bd4316bff624215e3c2abb9
Diffstat (limited to 'samsung/panel/panel-samsung-drv.c')
-rw-r--r-- | samsung/panel/panel-samsung-drv.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/samsung/panel/panel-samsung-drv.c b/samsung/panel/panel-samsung-drv.c index 1f686b9..3ce8832 100644 --- a/samsung/panel/panel-samsung-drv.c +++ b/samsung/panel/panel-samsung-drv.c @@ -1689,7 +1689,7 @@ static void exynos_panel_set_cabc(struct exynos_panel *ctx, enum exynos_cabc_mod static void exynos_panel_pre_commit_properties( struct exynos_panel *ctx, - const struct exynos_drm_connector_state *conn_state) + struct exynos_drm_connector_state *conn_state) { const struct exynos_panel_funcs *exynos_panel_func = ctx->desc->exynos_panel_func; struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); @@ -1699,10 +1699,20 @@ static void exynos_panel_pre_commit_properties( if (!conn_state->pending_update_flags) return; + dev_info(ctx->dev, "%s: mipi_sync(0x%lx) pending_update_flags(0x%x)\n", __func__, + conn_state->mipi_sync, conn_state->pending_update_flags); DPU_ATRACE_BEGIN(__func__); mipi_sync = conn_state->mipi_sync & (MIPI_CMD_SYNC_LHBM | MIPI_CMD_SYNC_GHBM | MIPI_CMD_SYNC_BL); + if ((conn_state->mipi_sync & (MIPI_CMD_SYNC_LHBM | MIPI_CMD_SYNC_GHBM)) && + ctx->current_mode->exynos_mode.is_lp_mode) { + conn_state->pending_update_flags &= + ~(HBM_FLAG_LHBM_UPDATE | HBM_FLAG_GHBM_UPDATE | HBM_FLAG_BL_UPDATE); + dev_warn(ctx->dev, "%s: avoid LHBM/GHBM/BL updates during lp mode\n", + __func__); + } + if (mipi_sync) { exynos_panel_check_mipi_sync_timing(conn_state->base.crtc, ctx->current_mode, ctx); |