]> www.infradead.org Git - nvme.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)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 23 Jul 2024 21:07:09 +0000 (17:07 -0400)
[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>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 7e7929f24ae44705c3b6e14b14e09ecfd48c268d..ea1e2d8dcd8c35075422695be8c3a917b978d0b1 100644 (file)
@@ -12145,6 +12145,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);