Re: [PATCH] drm/amd/display: Fix artifacting on eDP panels when engaging freesync video mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 5/17/23 15:10, Aurabindo Pillai wrote:
Additional checks are necessary related to stream and scaling changes
before setting freesync video mode when an eDP panel is in use,
otherwise it can create artifacts on the panel.

Hi Jay,

Could you expand the commit message to elaborate more about the bug (when it happens and how it looks like) and describe why the extra DC check is necessary?

Thanks
Siqueira


Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2162
Fixes: 541d54055b75 ("drm/amd/display: Fix hang when skipping modeset")
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@xxxxxxx>
---
  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 14b296e1d0f6..7f322b18eda6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -9285,6 +9285,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;




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux