]> git.itanic.dy.fi Git - linux-stable/commit
drm/amd/display: fix flickering caused by S/G mode
authorHamza Mahfooz <hamza.mahfooz@amd.com>
Fri, 14 Apr 2023 18:26:27 +0000 (14:26 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 12:02:01 +0000 (14:02 +0200)
commit917680e6056aa288cac288d3afd2745d372beb61
treeef64890ee8d65362e72f1605a9f17eff72399bad
parentecd45aa70f1d417e250482ac288f51da266b7991
drm/amd/display: fix flickering caused by S/G mode

commit 08da182175db4c7f80850354849d95f2670e8cd9 upstream.

Currently, on a handful of ASICs. We allow the framebuffer for a given
plane to exist in either VRAM or GTT. However, if the plane's new
framebuffer is in a different memory domain than it's previous
framebuffer, flipping between them can cause the screen to flicker. So,
to fix this, don't perform an immediate flip in the aforementioned case.

Cc: stable@vger.kernel.org
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2354
Reviewed-by: Roman Li <Roman.Li@amd.com>
Fixes: 81d0bcf99009 ("drm/amdgpu: make display pinning more flexible (v2)")
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c