drm/amd/display: Add vrr_active_variable to dc_stream_update
[WHY] The display driver on some OSes need to track it in order to perform memory clock switching decisions. [HOW] Propagate the vrr active state to dirty bit so that on mode set it disables dynamic memory clock switching. Acked-by: Alan Liu <HaoPing.Liu@amd.com> Signed-off-by: Harry VanZyllDeJong <harry.vanzylldejong@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
3de58f22f5
commit
ebfb15262a
@ -2652,6 +2652,9 @@ static void copy_stream_update_to_stream(struct dc *dc,
|
||||
if (update->allow_freesync)
|
||||
stream->allow_freesync = *update->allow_freesync;
|
||||
|
||||
if (update->vrr_active_variable)
|
||||
stream->vrr_active_variable = *update->vrr_active_variable;
|
||||
|
||||
if (update->crtc_timing_adjust)
|
||||
stream->adjust = *update->crtc_timing_adjust;
|
||||
|
||||
|
||||
@ -304,6 +304,7 @@ struct dc_stream_update {
|
||||
bool *dpms_off;
|
||||
bool integer_scaling_update;
|
||||
bool *allow_freesync;
|
||||
bool *vrr_active_variable;
|
||||
|
||||
struct colorspace_transform *gamut_remap;
|
||||
enum dc_color_space *output_color_space;
|
||||
|
||||
@ -1374,7 +1374,7 @@ unsigned long long mod_freesync_calc_field_rate_from_timing(
|
||||
return field_rate_in_uhz;
|
||||
}
|
||||
|
||||
bool mod_freesync_get_freesync_enabled(struct mod_vrr_params *pVrr, struct dc_stream_state *const pStream)
|
||||
bool mod_freesync_get_freesync_enabled(struct mod_vrr_params *pVrr)
|
||||
{
|
||||
return (pVrr->state != VRR_STATE_UNSUPPORTED) && (pVrr->state != VRR_STATE_DISABLED);
|
||||
}
|
||||
|
||||
@ -195,7 +195,6 @@ unsigned int mod_freesync_calc_v_total_from_refresh(
|
||||
unsigned int refresh_in_uhz);
|
||||
|
||||
// Returns true when FreeSync is supported and enabled (even if it is inactive)
|
||||
bool mod_freesync_get_freesync_enabled(struct mod_vrr_params *pVrr,
|
||||
struct dc_stream_state *const pStream);
|
||||
bool mod_freesync_get_freesync_enabled(struct mod_vrr_params *pVrr);
|
||||
|
||||
#endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user