Commit 9563e1ec authored by Philip Yang's avatar Philip Yang Committed by Alex Deucher

drm/amdgpu: Correct unlocked update fence handling

To fix two issues with unlocked update fence:

1. vm->last_unlocked store the latest fence without taking refcount.
2. amdgpu_vm_bo_update_mapping returns old fence, not the latest fence.
Signed-off-by: default avatarPhilip Yang <Philip.Yang@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 3222a811
...@@ -109,7 +109,7 @@ static int amdgpu_vm_sdma_commit(struct amdgpu_vm_update_params *p, ...@@ -109,7 +109,7 @@ static int amdgpu_vm_sdma_commit(struct amdgpu_vm_update_params *p,
if (p->unlocked) { if (p->unlocked) {
struct dma_fence *tmp = dma_fence_get(f); struct dma_fence *tmp = dma_fence_get(f);
swap(p->vm->last_unlocked, f); swap(p->vm->last_unlocked, tmp);
dma_fence_put(tmp); dma_fence_put(tmp);
} else { } else {
amdgpu_bo_fence(p->vm->root.bo, f, true); amdgpu_bo_fence(p->vm->root.bo, f, true);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment