From: ChunTao Tso <[email protected]> [WHY] The set_replay_frame_skip_number() function should not execute when the link does not support the Frame Skipping feature.
[HOW] Add a new field `frame_skip_supported` to struct replay_config to indicate whether the link supports frame skipping. Check this flag at the beginning of set_replay_frame_skip_number() and return early if the feature is not supported. Reviewed-by: Robin Chen <[email protected]> Signed-off-by: ChunTao Tso <[email protected]> Signed-off-by: Chenyu Chen <[email protected]> --- drivers/gpu/drm/amd/display/dc/dc_types.h | 2 ++ drivers/gpu/drm/amd/display/modules/power/power_helpers.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h b/drivers/gpu/drm/amd/display/dc/dc_types.h index cf4bf0faf1cd..455b22350ae8 100644 --- a/drivers/gpu/drm/amd/display/dc/dc_types.h +++ b/drivers/gpu/drm/amd/display/dc/dc_types.h @@ -1185,6 +1185,8 @@ struct replay_config { bool os_request_force_ffu; /* Replay optimization */ union replay_optimization replay_optimization; + /* Replay sub feature Frame Skipping is supported */ + bool frame_skip_supported; }; /* Replay feature flags*/ diff --git a/drivers/gpu/drm/amd/display/modules/power/power_helpers.c b/drivers/gpu/drm/amd/display/modules/power/power_helpers.c index fd139b219bf9..864002b63716 100644 --- a/drivers/gpu/drm/amd/display/modules/power/power_helpers.c +++ b/drivers/gpu/drm/amd/display/modules/power/power_helpers.c @@ -984,6 +984,9 @@ void set_replay_frame_skip_number(struct dc_link *link, uint32_t *frame_skip_number_array = NULL; uint32_t frame_skip_number = 0; + if (false == link->replay_settings.config.frame_skip_supported) + return; + if (link == NULL || flicker_free_refresh_rate_mhz == 0 || coasting_vtotal_refresh_rate_mhz == 0) return; -- 2.43.0
