diff options
| author | Allen Li <Allen.Li@amd.com> | 2026-09-18 15:16:51 +0800 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-10-07 12:06:14 -0400 |
| commit | 9fac7d8be40a10c6bd4e5f954736bd21158f0a7a (patch) | |
| tree | c789c1e3c9d92935cdd1b559698cecc2d43a5283 /drivers | |
| parent | bfcfa7b9569c25bcaf13de8191f744261fe4fdf5 (diff) | |
drm/amd/display: Skip link off frame count for general UI
[Why&How]
To improve power saving of Replay,
skip the link off frame count check for general UI in DC mode.
Also disable timing sync in the same condition.
Reviewed-by: ChunTao (Chun-Tao) Tso <chuntao.tso@amd.com>
Signed-off-by: Allen Li <Allen.Li@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc_types.h | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/display/modules/power/power_replay.c | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h b/drivers/gpu/drm/amd/display/dc/dc_types.h index 7ff2152ff233..af241b2bd29a 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_types.h +++ b/drivers/gpu/drm/amd/display/dc/dc_types.h @@ -1311,6 +1311,8 @@ struct replay_settings { uint32_t replay_events; /* Last ABM periodic keep-alive FFU allowed bit sent to DMUB (VESA PR) */ bool last_abm_periodic_ffu_allowed; + /* System is in DC mode */ + bool system_in_dc; }; /* To split out "global" and "per-panel" config settings. diff --git a/drivers/gpu/drm/amd/display/modules/power/power_replay.c b/drivers/gpu/drm/amd/display/modules/power/power_replay.c index 7861e46c612d..666585b7e00c 100644 --- a/drivers/gpu/drm/amd/display/modules/power/power_replay.c +++ b/drivers/gpu/drm/amd/display/modules/power/power_replay.c @@ -338,9 +338,11 @@ static bool mod_power_update_replay_active_status(unsigned int active_replay_eve /* General UI scenario */ if (active_replay_events & replay_event_general_ui) { - if (replay_enable_option & pr_enable_option_general_ui) + if (replay_enable_option & pr_enable_option_general_ui) { + if (link->replay_settings.system_in_dc) + link->replay_settings.config.replay_timing_sync_supported = false; return true; - else + } else return false; } |
