diff options
| author | Felix Kuehling <[email protected]> | 2023-07-17 19:28:52 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2023-10-19 22:56:57 +0000 |
| commit | 316baf09d355aec1179981b6dfe28eba50c5ee5b (patch) | |
| tree | b75e859c2e05cbac928f35d2693677e051c86a8a /drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | |
| parent | drm/amdgpu: Fix possible null pointer dereference (diff) | |
| download | kernel-316baf09d355aec1179981b6dfe28eba50c5ee5b.tar.gz kernel-316baf09d355aec1179981b6dfe28eba50c5ee5b.zip | |
drm/amdgpu: Reserve fences for VM update
In amdgpu_dma_buf_move_notify reserve fences for the page table updates
in amdgpu_vm_clear_freed and amdgpu_vm_handle_moved. This fixes a BUG_ON
in dma_resv_add_fence when using SDMA for page table updates.
Signed-off-by: Felix Kuehling <[email protected]>
Reviewed-by: Christian König <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c index 12210598e5b8..ba3a87cb88cc 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c @@ -403,7 +403,10 @@ amdgpu_dma_buf_move_notify(struct dma_buf_attachment *attach) continue; } - r = amdgpu_vm_clear_freed(adev, vm, NULL); + /* Reserve fences for two SDMA page table updates */ + r = dma_resv_reserve_fences(resv, 2); + if (!r) + r = amdgpu_vm_clear_freed(adev, vm, NULL); if (!r) r = amdgpu_vm_handle_moved(adev, vm); |
