OSDN Git Service

amdgpu: add bo from user memory to handle table
authorJunwei Zhang <Jerry.Zhang@amd.com>
Wed, 8 Aug 2018 09:56:45 +0000 (17:56 +0800)
committerChristian König <christian.koenig@amd.com>
Wed, 8 Aug 2018 10:37:49 +0000 (12:37 +0200)
When create bo from user memory, add it to handle table
for future query.

Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
amdgpu/amdgpu_bo.c

index 422c7c9..b24e698 100644 (file)
@@ -556,7 +556,16 @@ int amdgpu_create_bo_from_user_mem(amdgpu_device_handle dev,
        bo->alloc_size = size;
        bo->handle = args.handle;
 
-       *buf_handle = bo;
+       pthread_mutex_lock(&bo->dev->bo_table_mutex);
+       r = handle_table_insert(&bo->dev->bo_handles, bo->handle, bo);
+       pthread_mutex_unlock(&bo->dev->bo_table_mutex);
+
+       pthread_mutex_init(&bo->cpu_access_mutex, NULL);
+
+       if (r)
+               amdgpu_bo_free(bo);
+       else
+               *buf_handle = bo;
 
        return r;
 }