diff options
author | Christian König <christian.koenig@amd.com> | 2021-06-09 13:51:36 +0200 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2021-06-22 11:05:05 +0200 |
commit | 8c505bdc9c8b955223b054e34a0be9c3d841cd20 (patch) | |
tree | 8c250885aa9872de706787183d97fdac3bd059a1 /drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h | |
parent | 22f0463ae606a34134fdabacd27ede59e535a7cc (diff) | |
download | linux-8c505bdc9c8b955223b054e34a0be9c3d841cd20.tar.gz linux-8c505bdc9c8b955223b054e34a0be9c3d841cd20.tar.bz2 linux-8c505bdc9c8b955223b054e34a0be9c3d841cd20.zip |
drm/amdgpu: rework dma_resv handling v3
Drop the workaround and instead implement a better solution.
Basically we are now chaining all submissions using a dma_fence_chain
container and adding them as exclusive fence to the dma_resv object.
This way other drivers can still sync to the single exclusive fence
while amdgpu only sync to fences from different processes.
v3: add the shared fence first before the exclusive one
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210614174536.5188-2-christian.koenig@amd.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h index a130e766cbdb..c905a4cfc173 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h @@ -34,6 +34,7 @@ struct amdgpu_fpriv; struct amdgpu_bo_list_entry { struct ttm_validate_buffer tv; struct amdgpu_bo_va *bo_va; + struct dma_fence_chain *chain; uint32_t priority; struct page **user_pages; bool user_invalidated; |