summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
diff options
context:
space:
mode:
authorJiadong Zhu <Jiadong.Zhu@amd.com>2023-05-24 11:42:19 +0800
committerAlex Deucher <alexander.deucher@amd.com>2023-06-09 11:02:05 -0400
commitb7941e2fef13baabd3eade31601e70adf729e887 (patch)
treeb80bc3043b0bdc624ccddb5918e6d7adfae35666 /drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
parent24bc366a4309f407ea77110ba15e3581005def6b (diff)
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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
0 files changed, 0 insertions, 0 deletions