From 96f023bb8c13bbe6662f28da97cf5b5787e58fe1 Mon Sep 17 00:00:00 2001 From: Fangzhi Zuo Date: Tue, 1 Sep 2026 15:12:51 -0400 Subject: [PATCH] drm/amd/display: Keep FreeSync for HF-VSDB VRR sinks in MCCS fallback amdgpu_dm_update_freesync_caps() clears freesync_capable for any SIGNAL_TYPE_HDMI_TYPE_A sink that lacks an AMD FreeSync MCCS VCP code. HDMI-Forum VRR (HF-VSDB) sinks advertise VRR without such a VCP code, so the HF-VSDB fallback that set freesync_capable was immediately undone, leaving VRR and passive VRR disabled on those sinks. Skip the MCCS clear when the sink reports HF-VSDB VRR capability, so freesync_capable survives for HDMI-Forum VRR sinks. Signed-off-by: Fangzhi Zuo --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c index 831bfdce20b204..55c160ef328f53 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c @@ -4010,7 +4010,8 @@ void amdgpu_dm_update_freesync_caps(struct drm_connector *connector, if (do_mccs) { dm_helpers_read_mccs_caps(adev->dm.dc->ctx, amdgpu_dm_connector->dc_link, sink); - if (sink->edid_caps.freesync_vcp_code && !sink->mccs_caps.freesync_supported) + if (!connector->display_info.hdmi.vrr_cap.supported && + sink->edid_caps.freesync_vcp_code && !sink->mccs_caps.freesync_supported) freesync_capable = false; if (sink->mccs_caps.freesync_supported && freesync_capable)