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

Rodrigo Siqueira Jordao Rodrigo.Siqueira at amd.com
Thu May 18 14:59:06 UTC 2023



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 at amd.com>
> ---
>   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;



More information about the amd-gfx mailing list