VRR is not supported on analog signals.
Don't add freesync modes to analog displays or when
VRR is unsupported by DC.

Signed-off-by: Timur Kristóf <[email protected]>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++++
 1 file changed, 4 insertions(+)

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 2773436d49d1..7dd8baf49460 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -8532,6 +8532,10 @@ static void 
amdgpu_dm_connector_add_freesync_modes(struct drm_connector *connect
        if (!(amdgpu_freesync_vid_mode && drm_edid))
                return;
 
+       if (!amdgpu_dm_connector->dc_sink || 
amdgpu_dm_connector->dc_sink->edid_caps.analog ||
+               
!dc_supports_vrr(amdgpu_dm_connector->dc_sink->ctx->dce_version))
+               return;
+
        if (amdgpu_dm_connector->max_vfreq - amdgpu_dm_connector->min_vfreq > 
10)
                amdgpu_dm_connector->num_modes +=
                        add_fs_modes(amdgpu_dm_connector);
-- 
2.51.0

Reply via email to