[PATCH 2/4] drm/amdgpu: use amdgpu_bo_create_dmabuf()
Nirmoy Das
nirmoy.das at amd.com
Wed Mar 17 07:47:14 UTC 2021
Modify amdgpu_gem_object_create() to allocate
amdgpu_bo_dmabuf BO for ttm_bo_type_sg.
Signed-off-by: Nirmoy Das <nirmoy.das at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 311bcdc59eda..5366a806be2b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -59,6 +59,7 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,
{
struct amdgpu_bo *bo;
struct amdgpu_bo_user *ubo;
+ struct amdgpu_bo_dmabuf *dbo;
struct amdgpu_bo_param bp;
int r;
@@ -74,11 +75,18 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,
bp.domain = initial_domain;
bp.bo_ptr_size = sizeof(struct amdgpu_bo);
- r = amdgpu_bo_create_user(adev, &bp, &ubo);
+ if (type != ttm_bo_type_sg)
+ r = amdgpu_bo_create_user(adev, &bp, &ubo);
+ else
+ r = amdgpu_bo_create_dmabuf(adev, &bp, &dbo);
if (r)
return r;
- bo = &ubo->bo;
+ if (type != ttm_bo_type_sg)
+ bo = &ubo->bo;
+ else
+ bo = &dbo->bo;
+
*obj = &bo->tbo.base;
(*obj)->funcs = &amdgpu_gem_object_funcs;
--
2.30.1
More information about the amd-gfx
mailing list