Files
linux/drivers/gpu/drm
Jiadong Zhu 1dbcf770cc drm/amdgpu: Reset CP_VMID_PREEMPT after trailing fence signaled
When MEC executes unmap_queue for mid command buffer preemption, it will
kick the write pointer of the gfx ring, set CP_VMID_PREEMPT to trigger the
preemption and wait for CP_VMID_PREEMPT becomes zero after the preemption
done. There is a race condition that PFP may excute the resetting command
before MEC set CP_VMID_PREEMPT. As a result, hang happens as
CP_VMID_PREEMPT is always 0xffff.

To avoid this, we send resetting CP_VMID_PREEMPT command after the trailing
fence is siganled and update gfx write pointer explicitly.

Signed-off-by: Jiadong Zhu <Jiadong.Zhu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org # 6.3.x
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2535
2023-06-13 16:51:05 -04:00
..
2023-03-14 17:07:48 +01:00
2023-06-07 11:53:22 +08:00
2023-03-29 16:00:23 +02:00
2023-03-14 17:07:48 +01:00
2023-03-14 17:07:48 +01:00
2023-03-29 16:00:23 +02:00
2023-03-22 10:24:47 +01:00
2023-03-29 16:00:23 +02:00
2023-05-22 12:23:50 +02:00
2023-02-20 14:56:52 +01:00