On 2019-03-21 11:53 a.m., Nicholas Kazlauskas wrote: > [Why] > Black screens or artifacting can occur when enabling FreeSync outside > of the supported range of the monitor. This can happen since the > supported range isn't always the min/max vrefresh range available for > the monitor. > > [How] > There was previously a fix that prevented this from happening in the > low range but it didn't cover the upper range. Expand the condition > to include both. > > Cc: Sun peng Li <Sunpeng.Li@xxxxxxx> > Cc: Harry Wentland <Harry.Wentland@xxxxxxx> > Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@xxxxxxx> Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Harry > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 01a46119512b..5b7a85e28fab 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -5551,9 +5551,11 @@ static void get_freesync_config_for_crtc( > struct amdgpu_dm_connector *aconnector = > to_amdgpu_dm_connector(new_con_state->base.connector); > struct drm_display_mode *mode = &new_crtc_state->base.mode; > + int vrefresh = drm_mode_vrefresh(mode); > > new_crtc_state->vrr_supported = new_con_state->freesync_capable && > - aconnector->min_vfreq <= drm_mode_vrefresh(mode); > + vrefresh >= aconnector->min_vfreq && > + vrefresh <= aconnector->max_vfreq; > > if (new_crtc_state->vrr_supported) { > new_crtc_state->stream->ignore_msa_timing_param = true; > _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx