]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: always call connector_update when parsing freesync_caps
authorMelissa Wen <mwen@igalia.com>
Fri, 27 Sep 2024 23:05:58 +0000 (18:05 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 7 Oct 2024 18:32:08 +0000 (14:32 -0400)
Update connector caps with drm_edid data before parsing info for
freesync.

Signed-off-by: Melissa Wen <mwen@igalia.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: Alex Hung <alex.hung@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 4c58ac768c934783fbcc1e6f5532fcee77801ebb..35e24a958d98e9e108be6067dd338cee77a600ee 100644 (file)
@@ -3600,13 +3600,11 @@ void amdgpu_dm_update_connector_after_detect(
                                        "failed to create aconnector->requested_timing\n");
                }
 
-               drm_edid_connector_update(connector, aconnector->drm_edid);
                amdgpu_dm_update_freesync_caps(connector, aconnector->drm_edid);
                update_connector_ext_caps(aconnector);
        } else {
                drm_dp_cec_unset_edid(&aconnector->dm_dp_aux.aux);
                amdgpu_dm_update_freesync_caps(connector, NULL);
-               drm_edid_connector_update(connector, NULL);
                aconnector->num_modes = 0;
                dc_sink_release(aconnector->dc_sink);
                aconnector->dc_sink = NULL;
@@ -12158,6 +12156,8 @@ void amdgpu_dm_update_freesync_caps(struct drm_connector *connector,
                amdgpu_dm_connector->dc_sink :
                amdgpu_dm_connector->dc_em_sink;
 
+       drm_edid_connector_update(connector, drm_edid);
+
        if (!drm_edid || !sink) {
                dm_con_state = to_dm_connector_state(connector->state);