mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-06-25 02:21:14 -04:00
drm/amd/display: Consult MCCS FreeSync cap only if requested & supported
When the do_mccs parameter is false, we don't call
dm_helpers_read_mccs_caps, so sink->mccs_caps.freesync_supported is
unlikely to be true.
Fixes: 6f71d5dd32 ("drm/amd/display: Read sink freesync support via mccs")
Bug: https://gitlab.freedesktop.org/drm/amd/-/work_items/5286
Signed-off-by: Michel Dänzer <mdaenzer@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
408b17765b
commit
115bf5ca31
@@ -13837,17 +13837,15 @@ void amdgpu_dm_update_freesync_caps(struct drm_connector *connector,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Handle MCCS */
|
/* Handle MCCS */
|
||||||
if (do_mccs)
|
if (do_mccs) {
|
||||||
dm_helpers_read_mccs_caps(adev->dm.dc->ctx, amdgpu_dm_connector->dc_link, sink);
|
dm_helpers_read_mccs_caps(adev->dm.dc->ctx, amdgpu_dm_connector->dc_link, sink);
|
||||||
|
|
||||||
if ((sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A ||
|
if (sink->edid_caps.freesync_vcp_code && !sink->mccs_caps.freesync_supported)
|
||||||
as_type == FREESYNC_TYPE_PCON_IN_WHITELIST) &&
|
freesync_capable = false;
|
||||||
(!sink->edid_caps.freesync_vcp_code ||
|
|
||||||
(sink->edid_caps.freesync_vcp_code && !sink->mccs_caps.freesync_supported)))
|
|
||||||
freesync_capable = false;
|
|
||||||
|
|
||||||
if (do_mccs && sink->mccs_caps.freesync_supported && freesync_capable)
|
if (sink->mccs_caps.freesync_supported && freesync_capable)
|
||||||
dm_helpers_mccs_vcp_set(adev->dm.dc->ctx, amdgpu_dm_connector->dc_link, sink);
|
dm_helpers_mccs_vcp_set(adev->dm.dc->ctx, amdgpu_dm_connector->dc_link, sink);
|
||||||
|
}
|
||||||
|
|
||||||
update:
|
update:
|
||||||
if (dm_con_state)
|
if (dm_con_state)
|
||||||
|
|||||||
Reference in New Issue
Block a user