From: Michel Dänzer <[email protected]>

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: 6f71d5dd3206 ("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 <[email protected]>
---

I suspect this logic might not be quite right yet, it fixes the
regression and should be a step in the right direction though.

 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

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 e0d209d016cd..9d4692e4ea26 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -13468,17 +13468,15 @@ void amdgpu_dm_update_freesync_caps(struct 
drm_connector *connector,
        }
 
        /* Handle MCCS */
-       if (do_mccs)
+       if (do_mccs) {
                dm_helpers_read_mccs_caps(adev->dm.dc->ctx, 
amdgpu_dm_connector->dc_link, sink);
 
-       if ((sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A ||
-               as_type == FREESYNC_TYPE_PCON_IN_WHITELIST) &&
-               (!sink->edid_caps.freesync_vcp_code ||
-               (sink->edid_caps.freesync_vcp_code && 
!sink->mccs_caps.freesync_supported)))
-               freesync_capable = false;
+               if (sink->edid_caps.freesync_vcp_code && 
!sink->mccs_caps.freesync_supported)
+                       freesync_capable = false;
 
-       if (do_mccs && sink->mccs_caps.freesync_supported && freesync_capable)
-               dm_helpers_mccs_vcp_set(adev->dm.dc->ctx, 
amdgpu_dm_connector->dc_link, sink);
+               if (sink->mccs_caps.freesync_supported && freesync_capable)
+                       dm_helpers_mccs_vcp_set(adev->dm.dc->ctx, 
amdgpu_dm_connector->dc_link, sink);
+       }
 
 update:
        if (dm_con_state)
-- 
2.53.0

Reply via email to