drm/amd/display: Clear state after exiting fixed active VRR state
[why] Upon exiting a fixed active VRR state, the state isn't cleared. This leads to the variable VRR range to be calculated incorrectly. [how] Set fixed active state to false when updating vrr params Signed-off-by: Amanda Liu <amanda.liu@amd.com> Reviewed-by: Anthony Koo <Anthony.Koo@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
d1dcb05f0e
commit
6f8f76444b
|
@ -812,6 +812,7 @@ void mod_freesync_build_vrr_params(struct mod_freesync *mod_freesync,
|
|||
2 * in_out_vrr->min_refresh_in_uhz)
|
||||
in_out_vrr->btr.btr_enabled = false;
|
||||
|
||||
in_out_vrr->fixed.fixed_active = false;
|
||||
in_out_vrr->btr.btr_active = false;
|
||||
in_out_vrr->btr.inserted_duration_in_us = 0;
|
||||
in_out_vrr->btr.frames_to_insert = 0;
|
||||
|
@ -832,6 +833,7 @@ void mod_freesync_build_vrr_params(struct mod_freesync *mod_freesync,
|
|||
in_out_vrr->adjust.v_total_max = stream->timing.v_total;
|
||||
} else if (in_out_vrr->state == VRR_STATE_ACTIVE_VARIABLE &&
|
||||
refresh_range >= MIN_REFRESH_RANGE_IN_US) {
|
||||
|
||||
in_out_vrr->adjust.v_total_min =
|
||||
calc_v_total_from_refresh(stream,
|
||||
in_out_vrr->max_refresh_in_uhz);
|
||||
|
|
Loading…
Reference in New Issue