From: Greg Kroah-Hartman Date: Sat, 13 May 2023 08:37:09 +0000 (+0900) Subject: drop queue-5.10/drm-amd-display-fix-flickering-caused-by-s-g-mode.patch X-Git-Tag: v4.14.315~71 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=883799fe0bc206218408e79bcf79d7cf75f2703c;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-5.10/drm-amd-display-fix-flickering-caused-by-s-g-mode.patch --- diff --git a/queue-5.10/drm-amd-display-fix-flickering-caused-by-s-g-mode.patch b/queue-5.10/drm-amd-display-fix-flickering-caused-by-s-g-mode.patch deleted file mode 100644 index 69c91a75b35..00000000000 --- a/queue-5.10/drm-amd-display-fix-flickering-caused-by-s-g-mode.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 08da182175db4c7f80850354849d95f2670e8cd9 Mon Sep 17 00:00:00 2001 -From: Hamza Mahfooz -Date: Fri, 14 Apr 2023 14:26:27 -0400 -Subject: drm/amd/display: fix flickering caused by S/G mode - -From: Hamza Mahfooz - -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 -Fixes: 81d0bcf99009 ("drm/amdgpu: make display pinning more flexible (v2)") -Signed-off-by: Hamza Mahfooz -Signed-off-by: Alex Deucher -Signed-off-by: Greg Kroah-Hartman ---- - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -7180,6 +7180,13 @@ static void amdgpu_dm_commit_cursors(str - handle_cursor_update(plane, old_plane_state); - } - -+static inline uint32_t get_mem_type(struct drm_framebuffer *fb) -+{ -+ struct amdgpu_bo *abo = gem_to_amdgpu_bo(fb->obj[0]); -+ -+ return abo->tbo.resource ? abo->tbo.resource->mem_type : 0; -+} -+ - static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, - struct dc_state *dc_state, - struct drm_device *dev, -@@ -7300,11 +7307,13 @@ static void amdgpu_dm_commit_planes(stru - - /* - * Only allow immediate flips for fast updates that don't -- * change FB pitch, DCC state, rotation or mirroing. -+ * change memory domain, FB pitch, DCC state, rotation or -+ * mirroring. - */ - bundle->flip_addrs[planes_count].flip_immediate = - crtc->state->async_flip && -- acrtc_state->update_type == UPDATE_TYPE_FAST; -+ acrtc_state->update_type == UPDATE_TYPE_FAST && -+ get_mem_type(old_plane_state->fb) == get_mem_type(fb); - - timestamp_ns = ktime_get_ns(); - bundle->flip_addrs[planes_count].flip_timestamp_in_us = div_u64(timestamp_ns, 1000); diff --git a/queue-5.10/series b/queue-5.10/series index 7280b57b53d..b8ba1b0f07e 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -352,7 +352,6 @@ arm-dts-exynos-fix-wm8960-clock-name-in-itop-elite.patch arm-dts-s5pv210-correct-mipi-csis-clock-name.patch f2fs-fix-potential-corruption-when-moving-a-directory.patch drm-panel-otm8009a-set-backlight-parent-to-panel-device.patch -drm-amd-display-fix-flickering-caused-by-s-g-mode.patch drm-amdgpu-fix-an-amdgpu_irq_put-issue-in-gmc_v9_0_hw_fini.patch drm-amdgpu-gfx-disable-gfx9-cp_ecc_error_irq-only-when-enabling-legacy-gfx-ras.patch drm-amdgpu-disable-sdma-ecc-irq-only-when-sdma-ras-is-enabled-in-suspend.patch