Signed-off-by: Fabian Grünbichler <[email protected]> --- Confirmed to fix the issue by the reporter on BZ
...reset-compute-ring-wptr-on-the-GPU-o.patch | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 patches/kernel/0021-drm-amdgpu-gfx8-reset-compute-ring-wptr-on-the-GPU-o.patch diff --git a/patches/kernel/0021-drm-amdgpu-gfx8-reset-compute-ring-wptr-on-the-GPU-o.patch b/patches/kernel/0021-drm-amdgpu-gfx8-reset-compute-ring-wptr-on-the-GPU-o.patch new file mode 100644 index 0000000..179e66e --- /dev/null +++ b/patches/kernel/0021-drm-amdgpu-gfx8-reset-compute-ring-wptr-on-the-GPU-o.patch @@ -0,0 +1,41 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Eeli Haapalainen <[email protected]> +Date: Mon, 14 Jul 2025 08:13:09 +0300 +Subject: [PATCH] drm/amdgpu/gfx8: reset compute ring wptr on the GPU on resume +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit 83261934015c434fabb980a3e613b01d9976e877 upstream. + +Commit 42cdf6f687da ("drm/amdgpu/gfx8: always restore kcq MQDs") made the +ring pointer always to be reset on resume from suspend. This caused compute +rings to fail since the reset was done without also resetting it for the +firmware. Reset wptr on the GPU to avoid a disconnect between the driver +and firmware wptr. + +Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3911 +Fixes: 42cdf6f687da ("drm/amdgpu/gfx8: always restore kcq MQDs") +Signed-off-by: Eeli Haapalainen <[email protected]> +Signed-off-by: Alex Deucher <[email protected]> +(cherry picked from commit 2becafc319db3d96205320f31cc0de4ee5a93747) +Cc: [email protected] +Signed-off-by: Greg Kroah-Hartman <[email protected]> +(cherry picked from commit 07ed3ff608bd7840d99bae26598ded0c49f319f4) +Signed-off-by: Fabian Grünbichler <[email protected]> +--- + drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +index 6a025438f9d041abcc3eb6bbc9eb98a79cd57ab9..e0d1b623e75e673f07b9ef7ab7fbf4f2fd0fa33a 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +@@ -4666,6 +4666,7 @@ static int gfx_v8_0_kcq_init_queue(struct amdgpu_ring *ring) + memcpy(mqd, adev->gfx.mec.mqd_backup[mqd_idx], sizeof(struct vi_mqd_allocation)); + /* reset ring buffer */ + ring->wptr = 0; ++ atomic64_set((atomic64_t *)ring->wptr_cpu_addr, 0); + amdgpu_ring_clear_ring(ring); + } + return 0; -- 2.47.3 _______________________________________________ pve-devel mailing list [email protected] https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
