Skip to content

Commit e88ebd8

Browse files
Solomon Chiualexdeucher
authored andcommitted
drm/amdgpu: Add preferred mode in modeset when freesync video mode's enabled.
[Why] With kernel module parameter "freesync_video" is enabled, if the mode is changed to preferred mode(the mode with highest rate), then Freesync fails because the preferred mode is treated as one of freesync video mode, and then be configurated as freesync video mode(fixed refresh rate). [How] Skip freesync fixed rate configurating when modeset to preferred mode. Signed-off-by: Solomon Chiu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent a5467eb commit e88ebd8

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9616,7 +9616,12 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
96169616
} else if (amdgpu_freesync_vid_mode && aconnector &&
96179617
is_freesync_video_mode(&new_crtc_state->mode,
96189618
aconnector)) {
9619-
set_freesync_fixed_config(dm_new_crtc_state);
9619+
struct drm_display_mode *high_mode;
9620+
9621+
high_mode = get_highest_refresh_rate_mode(aconnector, false);
9622+
if (!drm_mode_equal(&new_crtc_state->mode, high_mode)) {
9623+
set_freesync_fixed_config(dm_new_crtc_state);
9624+
}
96209625
}
96219626

96229627
ret = dm_atomic_get_state(state, &dm_state);

0 commit comments

Comments
 (0)