diff options
author | Chunming Zhou <david1.zhou@amd.com> | 2018-04-16 06:27:50 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-05-15 14:43:28 -0400 |
commit | 3216c6b71d1e6a7dce2fd29c531e8c99c1b88c95 (patch) | |
tree | 5c073e948136a4be7a70c64da3d97968747d9aa1 /drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | |
parent | a906dbb1e20f5791d728c7d9e2366b8acb4f1bb2 (diff) |
drm/amdgpu: use amdgpu_bo_param for amdgpu_bo_create v2
After that, we can easily add new parameter when need.
v2:
a) rebase.
b) Initialize struct amdgpu_bo_param, future new
member could only be used in some one case, but all member
should have its own initial value.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com> (v1)
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Cc: christian.koenig@amd.com
Cc: Felix.Kuehling@amd.com
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c index 1d6e1479da38..c1b0cdb401dc 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | |||
@@ -1004,6 +1004,7 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu( | |||
1004 | struct amdgpu_device *adev = get_amdgpu_device(kgd); | 1004 | struct amdgpu_device *adev = get_amdgpu_device(kgd); |
1005 | struct amdgpu_vm *avm = (struct amdgpu_vm *)vm; | 1005 | struct amdgpu_vm *avm = (struct amdgpu_vm *)vm; |
1006 | struct amdgpu_bo *bo; | 1006 | struct amdgpu_bo *bo; |
1007 | struct amdgpu_bo_param bp; | ||
1007 | int byte_align; | 1008 | int byte_align; |
1008 | u32 alloc_domain; | 1009 | u32 alloc_domain; |
1009 | u64 alloc_flags; | 1010 | u64 alloc_flags; |
@@ -1069,8 +1070,14 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu( | |||
1069 | pr_debug("\tcreate BO VA 0x%llx size 0x%llx domain %s\n", | 1070 | pr_debug("\tcreate BO VA 0x%llx size 0x%llx domain %s\n", |
1070 | va, size, domain_string(alloc_domain)); | 1071 | va, size, domain_string(alloc_domain)); |
1071 | 1072 | ||
1072 | ret = amdgpu_bo_create(adev, size, byte_align, | 1073 | memset(&bp, 0, sizeof(bp)); |
1073 | alloc_domain, alloc_flags, ttm_bo_type_device, NULL, &bo); | 1074 | bp.size = size; |
1075 | bp.byte_align = byte_align; | ||
1076 | bp.domain = alloc_domain; | ||
1077 | bp.flags = alloc_flags; | ||
1078 | bp.type = ttm_bo_type_device; | ||
1079 | bp.resv = NULL; | ||
1080 | ret = amdgpu_bo_create(adev, &bp, &bo); | ||
1074 | if (ret) { | 1081 | if (ret) { |
1075 | pr_debug("Failed to create BO on domain %s. ret %d\n", | 1082 | pr_debug("Failed to create BO on domain %s. ret %d\n", |
1076 | domain_string(alloc_domain), ret); | 1083 | domain_string(alloc_domain), ret); |