Jiadong Zhu b7941e2fef 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>
2023-06-09 11:02:05 -04:00
..
2022-11-24 11:05:43 +10:00
2022-04-07 12:53:54 +02:00
2023-06-09 10:56:58 -04:00
2022-04-25 11:17:45 +02:00
2021-05-19 23:50:27 -04:00
2023-01-24 17:36:29 +01:00
2023-01-24 17:36:29 +01:00
2023-01-24 17:36:29 +01:00
2023-01-24 17:36:29 +01:00
2023-02-03 15:37:31 -05:00
2022-05-04 09:53:12 -04:00
2022-05-04 10:43:54 -04:00
2022-05-10 17:53:11 -04:00
2023-03-15 18:45:26 -04:00
2023-03-15 18:45:26 -04:00
2023-03-31 11:18:42 -04:00
2021-10-20 11:43:57 -04:00
2022-03-22 10:53:39 -04:00
2021-05-19 23:50:27 -04:00