[PATCH libdrm 1/6] amdgpu: always add all BOs to lockup table
Christian König
ckoenig.leichtzumerken at gmail.com
Thu Aug 2 14:04:47 UTC 2018
This way we can always find a BO structure by its handle.
Signed-off-by: Christian König <christian.koenig at amd.com>
---
amdgpu/amdgpu_bo.c | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/amdgpu/amdgpu_bo.c b/amdgpu/amdgpu_bo.c
index d29be244..39228620 100644
--- a/amdgpu/amdgpu_bo.c
+++ b/amdgpu/amdgpu_bo.c
@@ -88,6 +88,11 @@ int amdgpu_bo_alloc(amdgpu_device_handle dev,
bo->handle = args.out.handle;
+ pthread_mutex_lock(&bo->dev->bo_table_mutex);
+ util_hash_table_set(bo->dev->bo_handles,
+ (void*)(uintptr_t)bo->handle, bo);
+ pthread_mutex_unlock(&bo->dev->bo_table_mutex);
+
pthread_mutex_init(&bo->cpu_access_mutex, NULL);
*buf_handle = bo;
@@ -168,14 +173,6 @@ int amdgpu_bo_query_info(amdgpu_bo_handle bo,
return 0;
}
-static void amdgpu_add_handle_to_table(amdgpu_bo_handle bo)
-{
- pthread_mutex_lock(&bo->dev->bo_table_mutex);
- util_hash_table_set(bo->dev->bo_handles,
- (void*)(uintptr_t)bo->handle, bo);
- pthread_mutex_unlock(&bo->dev->bo_table_mutex);
-}
-
static int amdgpu_bo_export_flink(amdgpu_bo_handle bo)
{
struct drm_gem_flink flink;
@@ -240,14 +237,11 @@ int amdgpu_bo_export(amdgpu_bo_handle bo,
return 0;
case amdgpu_bo_handle_type_kms:
- amdgpu_add_handle_to_table(bo);
- /* fall through */
case amdgpu_bo_handle_type_kms_noimport:
*shared_handle = bo->handle;
return 0;
case amdgpu_bo_handle_type_dma_buf_fd:
- amdgpu_add_handle_to_table(bo);
return drmPrimeHandleToFD(bo->dev->fd, bo->handle,
DRM_CLOEXEC | DRM_RDWR,
(int*)shared_handle);
--
2.14.1
More information about the amd-gfx
mailing list