drm/amd/display: Fix artifacting on eDP panels when engaging freesync video mode
authorjsg <jsg@openbsd.org>
Thu, 20 Jul 2023 08:42:20 +0000 (08:42 +0000)
committerjsg <jsg@openbsd.org>
Thu, 20 Jul 2023 08:42:20 +0000 (08:42 +0000)
From Aurabindo Pillai
c1164aeb9691817d23c8e8ed886c91ea1bdca76e in linux-6.1.y/6.1.39
b18f05a0666aecd5cb19c26a8305bcfa4e9d6502 in mainline linux

sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 9f59a07..21e07a1 100644 (file)
@@ -8877,6 +8877,8 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
 
                /* Now check if we should set freesync video mode */
                if (amdgpu_freesync_vid_mode && dm_new_crtc_state->stream &&
+                   dc_is_stream_unchanged(new_stream, dm_old_crtc_state->stream) &&
+                   dc_is_stream_scaling_unchanged(new_stream, dm_old_crtc_state->stream) &&
                    is_timing_unchanged_for_freesync(new_crtc_state,
                                                     old_crtc_state)) {
                        new_crtc_state->mode_changed = false;