[PATCH v2 1/3] drm/amdgpu: Correct unlocked update fence handling
Christian König
christian.koenig at amd.com
Mon Mar 28 13:14:11 UTC 2022
Am 28.03.22 um 15:06 schrieb Philip Yang:
> 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.
NAK, that code here is perfectly correct.
vm->last_unlocked gets a reference to the last unlocked operation.
Otherwise the last locked operation is added directly to the root resv
object.
Regards,
Christian.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
> index dbb551762805..69fba68ff88e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c
> @@ -109,7 +109,7 @@ static int amdgpu_vm_sdma_commit(struct amdgpu_vm_update_params *p,
> if (p->unlocked) {
> struct dma_fence *tmp = dma_fence_get(f);
>
> - swap(p->vm->last_unlocked, f);
> + swap(p->vm->last_unlocked, tmp);
> dma_fence_put(tmp);
> } else {
> amdgpu_bo_fence(p->vm->root.bo, f, true);
More information about the amd-gfx
mailing list