From: jsg Date: Thu, 20 Jul 2023 08:42:20 +0000 (+0000) Subject: drm/amd/display: Fix artifacting on eDP panels when engaging freesync video mode X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=d5494d7d2503e062cdf48c2c690da474d042b9b4;p=openbsd drm/amd/display: Fix artifacting on eDP panels when engaging freesync video mode From Aurabindo Pillai c1164aeb9691817d23c8e8ed886c91ea1bdca76e in linux-6.1.y/6.1.39 b18f05a0666aecd5cb19c26a8305bcfa4e9d6502 in mainline linux --- diff --git a/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 9f59a07112a..21e07a101aa 100644 --- a/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/sys/dev/pci/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -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;