summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorZhenGuo Yin <zhenguo.yin@amd.com>2024-04-02 11:41:05 +0800
committerAlex Deucher <alexander.deucher@amd.com>2024-04-09 22:09:21 -0400
commit05e40141685fd6aaedbde334b404c8dfbbd83fd6 (patch)
tree972c21bfd85fb155eeb391e810cec80f57dfc00b /drivers
parent4b0cb230bdb71c23981acfa5e7b367c7dde02a41 (diff)
downloadlinux-stable-05e40141685fd6aaedbde334b404c8dfbbd83fd6.tar.gz
linux-stable-05e40141685fd6aaedbde334b404c8dfbbd83fd6.tar.bz2
linux-stable-05e40141685fd6aaedbde334b404c8dfbbd83fd6.zip
drm/amdgpu: clear set_q_mode_offs when VM changed
[Why] set_q_mode_offs don't get cleared after GPU reset, nexting SET_Q_MODE packet to init shadow memory will be skiped, hence there has a page fault. [How] VM flush is needed after GPU reset, clear set_q_mode_offs when emitting VM flush. Fixes: 8bc75586ea01 ("drm/amdgpu: workaround to avoid SET_Q_MODE packets v2") Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: ZhenGuo Yin <zhenguo.yin@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
index 7a906318e451..c11c6299711e 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
@@ -5465,6 +5465,7 @@ static void gfx_v11_0_ring_emit_vm_flush(struct amdgpu_ring *ring,
/* Make sure that we can't skip the SET_Q_MODE packets when the VM
* changed in any way.
*/
+ ring->set_q_mode_offs = 0;
ring->set_q_mode_ptr = NULL;
}