]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Disable replay if VRR capability is false
authorTom Chung <chiahsuan.chung@amd.com>
Wed, 26 Jun 2024 08:14:24 +0000 (16:14 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:03:05 +0000 (12:03 +0200)
[ Upstream commit b68417613d4134b9e39fff95e72ca726268b47db ]

[Why]
The VRR need to be supported for panel replay feature.
If VRR capability is false, panel replay capability also
need to be disabled.

[How]
After update the vrr capability, the panel replay capability
also need to be check if need.

Reviewed-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Jerry Zuo <jerry.zuo@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 74bb1e0e913487256a31463fa8939b92e2a05826..a705e7fa18c0676b2f1ad95f2ac31a4a49a347ca 100644 (file)
@@ -12240,6 +12240,12 @@ update:
        if (dm_con_state)
                dm_con_state->freesync_capable = freesync_capable;
 
+       if (connector->state && amdgpu_dm_connector->dc_link && !freesync_capable &&
+           amdgpu_dm_connector->dc_link->replay_settings.config.replay_supported) {
+               amdgpu_dm_connector->dc_link->replay_settings.config.replay_supported = false;
+               amdgpu_dm_connector->dc_link->replay_settings.replay_feature_enabled = false;
+       }
+
        if (connector->vrr_capable_property)
                drm_connector_set_vrr_capable_property(connector,
                                                       freesync_capable);