From: Fangzhi Zuo <[email protected]> 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 <[email protected]> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_connector.c | 1 + 1 file changed, 1 insertion(+) 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 8b2eec1a683d..e4b53086f312 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 @@ -3973,6 +3973,7 @@ void amdgpu_dm_update_freesync_caps(struct drm_connector *connector, if ((sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A || as_type == FREESYNC_TYPE_PCON_IN_WHITELIST) && + !connector->display_info.hdmi.vrr_cap.supported && (!sink->edid_caps.freesync_vcp_code || (sink->edid_caps.freesync_vcp_code && !sink->mccs_caps.freesync_supported))) freesync_capable = false; -- 2.53.0
