Skip to content

Commit 3c591fa

Browse files
committed
Reapply "Revert drm/amd/display: Enable Freesync Video Mode by default"
This reverts commit 11b92df. This conflicts with how compositors want to handle VRR. Now that compositors actually handle VRR, we probably don't need freesync video. Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/2985 Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 959143d commit 3c591fa

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6233,7 +6233,8 @@ create_stream_for_sink(struct drm_connector *connector,
62336233
*/
62346234
DRM_DEBUG_DRIVER("No preferred mode found\n");
62356235
} else if (aconnector) {
6236-
recalculate_timing = is_freesync_video_mode(&mode, aconnector);
6236+
recalculate_timing = amdgpu_freesync_vid_mode &&
6237+
is_freesync_video_mode(&mode, aconnector);
62376238
if (recalculate_timing) {
62386239
freesync_mode = get_highest_refresh_rate_mode(aconnector, false);
62396240
drm_mode_copy(&saved_mode, &mode);
@@ -7544,7 +7545,7 @@ static void amdgpu_dm_connector_add_freesync_modes(struct drm_connector *connect
75447545
struct amdgpu_dm_connector *amdgpu_dm_connector =
75457546
to_amdgpu_dm_connector(connector);
75467547

7547-
if (!edid)
7548+
if (!(amdgpu_freesync_vid_mode && edid))
75487549
return;
75497550

75507551
if (amdgpu_dm_connector->max_vfreq - amdgpu_dm_connector->min_vfreq > 10)
@@ -9838,7 +9839,8 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
98389839
* TODO: Refactor this function to allow this check to work
98399840
* in all conditions.
98409841
*/
9841-
if (dm_new_crtc_state->stream &&
9842+
if (amdgpu_freesync_vid_mode &&
9843+
dm_new_crtc_state->stream &&
98429844
is_timing_unchanged_for_freesync(new_crtc_state, old_crtc_state))
98439845
goto skip_modeset;
98449846

@@ -9878,7 +9880,7 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
98789880
}
98799881

98809882
/* Now check if we should set freesync video mode */
9881-
if (dm_new_crtc_state->stream &&
9883+
if (amdgpu_freesync_vid_mode && dm_new_crtc_state->stream &&
98829884
dc_is_stream_unchanged(new_stream, dm_old_crtc_state->stream) &&
98839885
dc_is_stream_scaling_unchanged(new_stream, dm_old_crtc_state->stream) &&
98849886
is_timing_unchanged_for_freesync(new_crtc_state,
@@ -9891,7 +9893,7 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
98919893
set_freesync_fixed_config(dm_new_crtc_state);
98929894

98939895
goto skip_modeset;
9894-
} else if (aconnector &&
9896+
} else if (amdgpu_freesync_vid_mode && aconnector &&
98959897
is_freesync_video_mode(&new_crtc_state->mode,
98969898
aconnector)) {
98979899
struct drm_display_mode *high_mode;

0 commit comments

Comments
 (0)