diff options
| author | Christian König <christian.koenig@amd.com> | 2015-09-03 11:34:59 -0400 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2015-09-23 17:23:34 -0400 |
| commit | 72d7668b5ba5180b651e8a07dd6ed62e4e26f207 (patch) | |
| tree | 0803bb59805b4847a91c924e073276f2a3c87299 /drivers/gpu/drm/amd/amdgpu | |
| parent | b7d698d7fd7d132c6ebe56d230584f2cae6c94ee (diff) | |
drm/amdgpu: export reservation_object from dmabuf to ttm (v2)
Adds an extra argument to amdgpu_bo_create, which is only used in amdgpu_prime.c.
Port of radeon commit 831b6966a60fe72d85ae3576056b4e4e0775b112.
v2: fix up kfd.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
24 files changed, 70 insertions, 52 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c index 496ed2192eba..84d68d658f8a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | |||
| @@ -183,7 +183,7 @@ int alloc_gtt_mem(struct kgd_dev *kgd, size_t size, | |||
| 183 | return -ENOMEM; | 183 | return -ENOMEM; |
| 184 | 184 | ||
| 185 | r = amdgpu_bo_create(rdev, size, PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_GTT, | 185 | r = amdgpu_bo_create(rdev, size, PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_GTT, |
| 186 | AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, &(*mem)->bo); | 186 | AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, NULL, &(*mem)->bo); |
| 187 | if (r) { | 187 | if (r) { |
| 188 | dev_err(rdev->dev, | 188 | dev_err(rdev->dev, |
| 189 | "failed to allocate BO for amdkfd (%d)\n", r); | 189 | "failed to allocate BO for amdkfd (%d)\n", r); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c index 98d59ee640ce..cd639c362df3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | |||
| @@ -79,7 +79,8 @@ static void amdgpu_benchmark_move(struct amdgpu_device *adev, unsigned size, | |||
| 79 | int time; | 79 | int time; |
| 80 | 80 | ||
| 81 | n = AMDGPU_BENCHMARK_ITERATIONS; | 81 | n = AMDGPU_BENCHMARK_ITERATIONS; |
| 82 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, sdomain, 0, NULL, &sobj); | 82 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, sdomain, 0, NULL, |
| 83 | NULL, &sobj); | ||
| 83 | if (r) { | 84 | if (r) { |
| 84 | goto out_cleanup; | 85 | goto out_cleanup; |
| 85 | } | 86 | } |
| @@ -91,7 +92,8 @@ static void amdgpu_benchmark_move(struct amdgpu_device *adev, unsigned size, | |||
| 91 | if (r) { | 92 | if (r) { |
| 92 | goto out_cleanup; | 93 | goto out_cleanup; |
| 93 | } | 94 | } |
| 94 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, ddomain, 0, NULL, &dobj); | 95 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, ddomain, 0, NULL, |
| 96 | NULL, &dobj); | ||
| 95 | if (r) { | 97 | if (r) { |
| 96 | goto out_cleanup; | 98 | goto out_cleanup; |
| 97 | } | 99 | } |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c index 6b1243f9f86d..1c3fc99c5465 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | |||
| @@ -86,7 +86,7 @@ static int amdgpu_cgs_gmap_kmem(void *cgs_device, void *kmem, | |||
| 86 | 86 | ||
| 87 | struct sg_table *sg = drm_prime_pages_to_sg(&kmem_page, npages); | 87 | struct sg_table *sg = drm_prime_pages_to_sg(&kmem_page, npages); |
| 88 | ret = amdgpu_bo_create(adev, size, PAGE_SIZE, false, | 88 | ret = amdgpu_bo_create(adev, size, PAGE_SIZE, false, |
| 89 | AMDGPU_GEM_DOMAIN_GTT, 0, sg, &bo); | 89 | AMDGPU_GEM_DOMAIN_GTT, 0, sg, NULL, &bo); |
| 90 | if (ret) | 90 | if (ret) |
| 91 | return ret; | 91 | return ret; |
| 92 | ret = amdgpu_bo_reserve(bo, false); | 92 | ret = amdgpu_bo_reserve(bo, false); |
| @@ -197,7 +197,8 @@ static int amdgpu_cgs_alloc_gpu_mem(void *cgs_device, | |||
| 197 | 197 | ||
| 198 | ret = amdgpu_bo_create_restricted(adev, size, PAGE_SIZE, | 198 | ret = amdgpu_bo_create_restricted(adev, size, PAGE_SIZE, |
| 199 | true, domain, flags, | 199 | true, domain, flags, |
| 200 | NULL, &placement, &obj); | 200 | NULL, &placement, NULL, |
| 201 | &obj); | ||
| 201 | if (ret) { | 202 | if (ret) { |
| 202 | DRM_ERROR("(%d) bo create failed\n", ret); | 203 | DRM_ERROR("(%d) bo create failed\n", ret); |
| 203 | return ret; | 204 | return ret; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 6ff6ae945794..2d569eccf41f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |||
| @@ -246,7 +246,7 @@ static int amdgpu_vram_scratch_init(struct amdgpu_device *adev) | |||
| 246 | r = amdgpu_bo_create(adev, AMDGPU_GPU_PAGE_SIZE, | 246 | r = amdgpu_bo_create(adev, AMDGPU_GPU_PAGE_SIZE, |
| 247 | PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM, | 247 | PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM, |
| 248 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 248 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 249 | NULL, &adev->vram_scratch.robj); | 249 | NULL, NULL, &adev->vram_scratch.robj); |
| 250 | if (r) { | 250 | if (r) { |
| 251 | return r; | 251 | return r; |
| 252 | } | 252 | } |
| @@ -449,7 +449,8 @@ static int amdgpu_wb_init(struct amdgpu_device *adev) | |||
| 449 | 449 | ||
| 450 | if (adev->wb.wb_obj == NULL) { | 450 | if (adev->wb.wb_obj == NULL) { |
| 451 | r = amdgpu_bo_create(adev, AMDGPU_MAX_WB * 4, PAGE_SIZE, true, | 451 | r = amdgpu_bo_create(adev, AMDGPU_MAX_WB * 4, PAGE_SIZE, true, |
| 452 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, &adev->wb.wb_obj); | 452 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, |
| 453 | &adev->wb.wb_obj); | ||
| 453 | if (r) { | 454 | if (r) { |
| 454 | dev_warn(adev->dev, "(%d) create WB bo failed\n", r); | 455 | dev_warn(adev->dev, "(%d) create WB bo failed\n", r); |
| 455 | return r; | 456 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c index cbd3a486c5c2..7312d729d300 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | |||
| @@ -127,7 +127,7 @@ int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev) | |||
| 127 | r = amdgpu_bo_create(adev, adev->gart.table_size, | 127 | r = amdgpu_bo_create(adev, adev->gart.table_size, |
| 128 | PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM, | 128 | PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM, |
| 129 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 129 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 130 | NULL, &adev->gart.robj); | 130 | NULL, NULL, &adev->gart.robj); |
| 131 | if (r) { | 131 | if (r) { |
| 132 | return r; | 132 | return r; |
| 133 | } | 133 | } |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c index 5839fab374bf..b75c3b235832 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | |||
| @@ -69,7 +69,8 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size, | |||
| 69 | } | 69 | } |
| 70 | } | 70 | } |
| 71 | retry: | 71 | retry: |
| 72 | r = amdgpu_bo_create(adev, size, alignment, kernel, initial_domain, flags, NULL, &robj); | 72 | r = amdgpu_bo_create(adev, size, alignment, kernel, initial_domain, |
| 73 | flags, NULL, NULL, &robj); | ||
| 73 | if (r) { | 74 | if (r) { |
| 74 | if (r != -ERESTARTSYS) { | 75 | if (r != -ERESTARTSYS) { |
| 75 | if (initial_domain == AMDGPU_GEM_DOMAIN_VRAM) { | 76 | if (initial_domain == AMDGPU_GEM_DOMAIN_VRAM) { |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c index 5c8a803acedc..534fc04e80fd 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | |||
| @@ -43,7 +43,7 @@ static int amdgpu_ih_ring_alloc(struct amdgpu_device *adev) | |||
| 43 | r = amdgpu_bo_create(adev, adev->irq.ih.ring_size, | 43 | r = amdgpu_bo_create(adev, adev->irq.ih.ring_size, |
| 44 | PAGE_SIZE, true, | 44 | PAGE_SIZE, true, |
| 45 | AMDGPU_GEM_DOMAIN_GTT, 0, | 45 | AMDGPU_GEM_DOMAIN_GTT, 0, |
| 46 | NULL, &adev->irq.ih.ring_obj); | 46 | NULL, NULL, &adev->irq.ih.ring_obj); |
| 47 | if (r) { | 47 | if (r) { |
| 48 | DRM_ERROR("amdgpu: failed to create ih ring buffer (%d).\n", r); | 48 | DRM_ERROR("amdgpu: failed to create ih ring buffer (%d).\n", r); |
| 49 | return r; | 49 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 08b09d55b96f..f25cfed33927 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |||
| @@ -215,6 +215,7 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev, | |||
| 215 | bool kernel, u32 domain, u64 flags, | 215 | bool kernel, u32 domain, u64 flags, |
| 216 | struct sg_table *sg, | 216 | struct sg_table *sg, |
| 217 | struct ttm_placement *placement, | 217 | struct ttm_placement *placement, |
| 218 | struct reservation_object *resv, | ||
| 218 | struct amdgpu_bo **bo_ptr) | 219 | struct amdgpu_bo **bo_ptr) |
| 219 | { | 220 | { |
| 220 | struct amdgpu_bo *bo; | 221 | struct amdgpu_bo *bo; |
| @@ -261,7 +262,7 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev, | |||
| 261 | /* Kernel allocation are uninterruptible */ | 262 | /* Kernel allocation are uninterruptible */ |
| 262 | r = ttm_bo_init(&adev->mman.bdev, &bo->tbo, size, type, | 263 | r = ttm_bo_init(&adev->mman.bdev, &bo->tbo, size, type, |
| 263 | &bo->placement, page_align, !kernel, NULL, | 264 | &bo->placement, page_align, !kernel, NULL, |
| 264 | acc_size, sg, NULL, &amdgpu_ttm_bo_destroy); | 265 | acc_size, sg, resv, &amdgpu_ttm_bo_destroy); |
| 265 | if (unlikely(r != 0)) { | 266 | if (unlikely(r != 0)) { |
| 266 | return r; | 267 | return r; |
| 267 | } | 268 | } |
| @@ -275,7 +276,9 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev, | |||
| 275 | int amdgpu_bo_create(struct amdgpu_device *adev, | 276 | int amdgpu_bo_create(struct amdgpu_device *adev, |
| 276 | unsigned long size, int byte_align, | 277 | unsigned long size, int byte_align, |
| 277 | bool kernel, u32 domain, u64 flags, | 278 | bool kernel, u32 domain, u64 flags, |
| 278 | struct sg_table *sg, struct amdgpu_bo **bo_ptr) | 279 | struct sg_table *sg, |
| 280 | struct reservation_object *resv, | ||
| 281 | struct amdgpu_bo **bo_ptr) | ||
| 279 | { | 282 | { |
| 280 | struct ttm_placement placement = {0}; | 283 | struct ttm_placement placement = {0}; |
| 281 | struct ttm_place placements[AMDGPU_GEM_DOMAIN_MAX + 1]; | 284 | struct ttm_place placements[AMDGPU_GEM_DOMAIN_MAX + 1]; |
| @@ -286,11 +289,9 @@ int amdgpu_bo_create(struct amdgpu_device *adev, | |||
| 286 | amdgpu_ttm_placement_init(adev, &placement, | 289 | amdgpu_ttm_placement_init(adev, &placement, |
| 287 | placements, domain, flags); | 290 | placements, domain, flags); |
| 288 | 291 | ||
| 289 | return amdgpu_bo_create_restricted(adev, size, byte_align, | 292 | return amdgpu_bo_create_restricted(adev, size, byte_align, kernel, |
| 290 | kernel, domain, flags, | 293 | domain, flags, sg, &placement, |
| 291 | sg, | 294 | resv, bo_ptr); |
| 292 | &placement, | ||
| 293 | bo_ptr); | ||
| 294 | } | 295 | } |
| 295 | 296 | ||
| 296 | int amdgpu_bo_kmap(struct amdgpu_bo *bo, void **ptr) | 297 | int amdgpu_bo_kmap(struct amdgpu_bo *bo, void **ptr) |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h index 6ea18dcec561..3c2ff4567798 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | |||
| @@ -129,12 +129,14 @@ int amdgpu_bo_create(struct amdgpu_device *adev, | |||
| 129 | unsigned long size, int byte_align, | 129 | unsigned long size, int byte_align, |
| 130 | bool kernel, u32 domain, u64 flags, | 130 | bool kernel, u32 domain, u64 flags, |
| 131 | struct sg_table *sg, | 131 | struct sg_table *sg, |
| 132 | struct reservation_object *resv, | ||
| 132 | struct amdgpu_bo **bo_ptr); | 133 | struct amdgpu_bo **bo_ptr); |
| 133 | int amdgpu_bo_create_restricted(struct amdgpu_device *adev, | 134 | int amdgpu_bo_create_restricted(struct amdgpu_device *adev, |
| 134 | unsigned long size, int byte_align, | 135 | unsigned long size, int byte_align, |
| 135 | bool kernel, u32 domain, u64 flags, | 136 | bool kernel, u32 domain, u64 flags, |
| 136 | struct sg_table *sg, | 137 | struct sg_table *sg, |
| 137 | struct ttm_placement *placement, | 138 | struct ttm_placement *placement, |
| 139 | struct reservation_object *resv, | ||
| 138 | struct amdgpu_bo **bo_ptr); | 140 | struct amdgpu_bo **bo_ptr); |
| 139 | int amdgpu_bo_kmap(struct amdgpu_bo *bo, void **ptr); | 141 | int amdgpu_bo_kmap(struct amdgpu_bo *bo, void **ptr); |
| 140 | void amdgpu_bo_kunmap(struct amdgpu_bo *bo); | 142 | void amdgpu_bo_kunmap(struct amdgpu_bo *bo); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c index d9652fe32d6a..59f735a933a9 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | |||
| @@ -61,12 +61,15 @@ struct drm_gem_object *amdgpu_gem_prime_import_sg_table(struct drm_device *dev, | |||
| 61 | struct dma_buf_attachment *attach, | 61 | struct dma_buf_attachment *attach, |
| 62 | struct sg_table *sg) | 62 | struct sg_table *sg) |
| 63 | { | 63 | { |
| 64 | struct reservation_object *resv = attach->dmabuf->resv; | ||
| 64 | struct amdgpu_device *adev = dev->dev_private; | 65 | struct amdgpu_device *adev = dev->dev_private; |
| 65 | struct amdgpu_bo *bo; | 66 | struct amdgpu_bo *bo; |
| 66 | int ret; | 67 | int ret; |
| 67 | 68 | ||
| 69 | ww_mutex_lock(&resv->lock, NULL); | ||
| 68 | ret = amdgpu_bo_create(adev, attach->dmabuf->size, PAGE_SIZE, false, | 70 | ret = amdgpu_bo_create(adev, attach->dmabuf->size, PAGE_SIZE, false, |
| 69 | AMDGPU_GEM_DOMAIN_GTT, 0, sg, &bo); | 71 | AMDGPU_GEM_DOMAIN_GTT, 0, sg, resv, &bo); |
| 72 | ww_mutex_unlock(&resv->lock); | ||
| 70 | if (ret) | 73 | if (ret) |
| 71 | return ERR_PTR(ret); | 74 | return ERR_PTR(ret); |
| 72 | 75 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index 9bec91484c24..130292dcf243 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | |||
| @@ -407,7 +407,7 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, | |||
| 407 | if (ring->ring_obj == NULL) { | 407 | if (ring->ring_obj == NULL) { |
| 408 | r = amdgpu_bo_create(adev, ring->ring_size, PAGE_SIZE, true, | 408 | r = amdgpu_bo_create(adev, ring->ring_size, PAGE_SIZE, true, |
| 409 | AMDGPU_GEM_DOMAIN_GTT, 0, | 409 | AMDGPU_GEM_DOMAIN_GTT, 0, |
| 410 | NULL, &ring->ring_obj); | 410 | NULL, NULL, &ring->ring_obj); |
| 411 | if (r) { | 411 | if (r) { |
| 412 | dev_err(adev->dev, "(%d) ring create failed\n", r); | 412 | dev_err(adev->dev, "(%d) ring create failed\n", r); |
| 413 | return r; | 413 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c index 74dad270362c..b70ce106ca90 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | |||
| @@ -64,8 +64,8 @@ int amdgpu_sa_bo_manager_init(struct amdgpu_device *adev, | |||
| 64 | INIT_LIST_HEAD(&sa_manager->flist[i]); | 64 | INIT_LIST_HEAD(&sa_manager->flist[i]); |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | r = amdgpu_bo_create(adev, size, align, true, | 67 | r = amdgpu_bo_create(adev, size, align, true, domain, |
| 68 | domain, 0, NULL, &sa_manager->bo); | 68 | 0, NULL, NULL, &sa_manager->bo); |
| 69 | if (r) { | 69 | if (r) { |
| 70 | dev_err(adev->dev, "(%d) failed to allocate bo for manager\n", r); | 70 | dev_err(adev->dev, "(%d) failed to allocate bo for manager\n", r); |
| 71 | return r; | 71 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c index f80b1a43be8a..4865615e9c06 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | |||
| @@ -59,8 +59,9 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev) | |||
| 59 | goto out_cleanup; | 59 | goto out_cleanup; |
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM, 0, | 62 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, |
| 63 | NULL, &vram_obj); | 63 | AMDGPU_GEM_DOMAIN_VRAM, 0, |
| 64 | NULL, NULL, &vram_obj); | ||
| 64 | if (r) { | 65 | if (r) { |
| 65 | DRM_ERROR("Failed to create VRAM object\n"); | 66 | DRM_ERROR("Failed to create VRAM object\n"); |
| 66 | goto out_cleanup; | 67 | goto out_cleanup; |
| @@ -80,7 +81,8 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev) | |||
| 80 | struct fence *fence = NULL; | 81 | struct fence *fence = NULL; |
| 81 | 82 | ||
| 82 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, | 83 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, |
| 83 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, gtt_obj + i); | 84 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, |
| 85 | NULL, gtt_obj + i); | ||
| 84 | if (r) { | 86 | if (r) { |
| 85 | DRM_ERROR("Failed to create GTT object %d\n", i); | 87 | DRM_ERROR("Failed to create GTT object %d\n", i); |
| 86 | goto out_lclean; | 88 | goto out_lclean; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index b5abd5cde413..364cbe975332 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |||
| @@ -861,7 +861,7 @@ int amdgpu_ttm_init(struct amdgpu_device *adev) | |||
| 861 | r = amdgpu_bo_create(adev, 256 * 1024, PAGE_SIZE, true, | 861 | r = amdgpu_bo_create(adev, 256 * 1024, PAGE_SIZE, true, |
| 862 | AMDGPU_GEM_DOMAIN_VRAM, | 862 | AMDGPU_GEM_DOMAIN_VRAM, |
| 863 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 863 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 864 | NULL, &adev->stollen_vga_memory); | 864 | NULL, NULL, &adev->stollen_vga_memory); |
| 865 | if (r) { | 865 | if (r) { |
| 866 | return r; | 866 | return r; |
| 867 | } | 867 | } |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c index 482e66797ae6..5cc95f1a7dab 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | |||
| @@ -247,7 +247,7 @@ int amdgpu_ucode_init_bo(struct amdgpu_device *adev) | |||
| 247 | const struct common_firmware_header *header = NULL; | 247 | const struct common_firmware_header *header = NULL; |
| 248 | 248 | ||
| 249 | err = amdgpu_bo_create(adev, adev->firmware.fw_size, PAGE_SIZE, true, | 249 | err = amdgpu_bo_create(adev, adev->firmware.fw_size, PAGE_SIZE, true, |
| 250 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, bo); | 250 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, bo); |
| 251 | if (err) { | 251 | if (err) { |
| 252 | dev_err(adev->dev, "(%d) Firmware buffer allocate failed\n", err); | 252 | dev_err(adev->dev, "(%d) Firmware buffer allocate failed\n", err); |
| 253 | err = -ENOMEM; | 253 | err = -ENOMEM; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c index 2cf6c6b06e3b..3cc86631d5d6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | |||
| @@ -156,7 +156,7 @@ int amdgpu_uvd_sw_init(struct amdgpu_device *adev) | |||
| 156 | r = amdgpu_bo_create(adev, bo_size, PAGE_SIZE, true, | 156 | r = amdgpu_bo_create(adev, bo_size, PAGE_SIZE, true, |
| 157 | AMDGPU_GEM_DOMAIN_VRAM, | 157 | AMDGPU_GEM_DOMAIN_VRAM, |
| 158 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 158 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 159 | NULL, &adev->uvd.vcpu_bo); | 159 | NULL, NULL, &adev->uvd.vcpu_bo); |
| 160 | if (r) { | 160 | if (r) { |
| 161 | dev_err(adev->dev, "(%d) failed to allocate UVD bo\n", r); | 161 | dev_err(adev->dev, "(%d) failed to allocate UVD bo\n", r); |
| 162 | return r; | 162 | return r; |
| @@ -905,7 +905,7 @@ int amdgpu_uvd_get_create_msg(struct amdgpu_ring *ring, uint32_t handle, | |||
| 905 | r = amdgpu_bo_create(adev, 1024, PAGE_SIZE, true, | 905 | r = amdgpu_bo_create(adev, 1024, PAGE_SIZE, true, |
| 906 | AMDGPU_GEM_DOMAIN_VRAM, | 906 | AMDGPU_GEM_DOMAIN_VRAM, |
| 907 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 907 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 908 | NULL, &bo); | 908 | NULL, NULL, &bo); |
| 909 | if (r) | 909 | if (r) |
| 910 | return r; | 910 | return r; |
| 911 | 911 | ||
| @@ -954,7 +954,7 @@ int amdgpu_uvd_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle, | |||
| 954 | r = amdgpu_bo_create(adev, 1024, PAGE_SIZE, true, | 954 | r = amdgpu_bo_create(adev, 1024, PAGE_SIZE, true, |
| 955 | AMDGPU_GEM_DOMAIN_VRAM, | 955 | AMDGPU_GEM_DOMAIN_VRAM, |
| 956 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 956 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 957 | NULL, &bo); | 957 | NULL, NULL, &bo); |
| 958 | if (r) | 958 | if (r) |
| 959 | return r; | 959 | return r; |
| 960 | 960 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c index 3cab96c42aa8..c90caf810e4a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | |||
| @@ -143,7 +143,7 @@ int amdgpu_vce_sw_init(struct amdgpu_device *adev, unsigned long size) | |||
| 143 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, | 143 | r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, |
| 144 | AMDGPU_GEM_DOMAIN_VRAM, | 144 | AMDGPU_GEM_DOMAIN_VRAM, |
| 145 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 145 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 146 | NULL, &adev->vce.vcpu_bo); | 146 | NULL, NULL, &adev->vce.vcpu_bo); |
| 147 | if (r) { | 147 | if (r) { |
| 148 | dev_err(adev->dev, "(%d) failed to allocate VCE bo\n", r); | 148 | dev_err(adev->dev, "(%d) failed to allocate VCE bo\n", r); |
| 149 | return r; | 149 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index b68dcb9edacd..8927dc6dec7c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | |||
| @@ -1101,7 +1101,7 @@ int amdgpu_vm_bo_map(struct amdgpu_device *adev, | |||
| 1101 | AMDGPU_GPU_PAGE_SIZE, true, | 1101 | AMDGPU_GPU_PAGE_SIZE, true, |
| 1102 | AMDGPU_GEM_DOMAIN_VRAM, | 1102 | AMDGPU_GEM_DOMAIN_VRAM, |
| 1103 | AMDGPU_GEM_CREATE_NO_CPU_ACCESS, | 1103 | AMDGPU_GEM_CREATE_NO_CPU_ACCESS, |
| 1104 | NULL, &pt); | 1104 | NULL, NULL, &pt); |
| 1105 | if (r) | 1105 | if (r) |
| 1106 | goto error_free; | 1106 | goto error_free; |
| 1107 | 1107 | ||
| @@ -1303,7 +1303,7 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm) | |||
| 1303 | r = amdgpu_bo_create(adev, pd_size, align, true, | 1303 | r = amdgpu_bo_create(adev, pd_size, align, true, |
| 1304 | AMDGPU_GEM_DOMAIN_VRAM, | 1304 | AMDGPU_GEM_DOMAIN_VRAM, |
| 1305 | AMDGPU_GEM_CREATE_NO_CPU_ACCESS, | 1305 | AMDGPU_GEM_CREATE_NO_CPU_ACCESS, |
| 1306 | NULL, &vm->page_directory); | 1306 | NULL, NULL, &vm->page_directory); |
| 1307 | if (r) | 1307 | if (r) |
| 1308 | return r; | 1308 | return r; |
| 1309 | 1309 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/cz_smc.c b/drivers/gpu/drm/amd/amdgpu/cz_smc.c index a72ffc7d6c26..e33180d3314a 100644 --- a/drivers/gpu/drm/amd/amdgpu/cz_smc.c +++ b/drivers/gpu/drm/amd/amdgpu/cz_smc.c | |||
| @@ -814,7 +814,8 @@ int cz_smu_init(struct amdgpu_device *adev) | |||
| 814 | * 3. map kernel virtual address | 814 | * 3. map kernel virtual address |
| 815 | */ | 815 | */ |
| 816 | ret = amdgpu_bo_create(adev, priv->toc_buffer.data_size, PAGE_SIZE, | 816 | ret = amdgpu_bo_create(adev, priv->toc_buffer.data_size, PAGE_SIZE, |
| 817 | true, AMDGPU_GEM_DOMAIN_GTT, 0, NULL, toc_buf); | 817 | true, AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, |
| 818 | toc_buf); | ||
| 818 | 819 | ||
| 819 | if (ret) { | 820 | if (ret) { |
| 820 | dev_err(adev->dev, "(%d) SMC TOC buffer allocation failed\n", ret); | 821 | dev_err(adev->dev, "(%d) SMC TOC buffer allocation failed\n", ret); |
| @@ -822,7 +823,8 @@ int cz_smu_init(struct amdgpu_device *adev) | |||
| 822 | } | 823 | } |
| 823 | 824 | ||
| 824 | ret = amdgpu_bo_create(adev, priv->smu_buffer.data_size, PAGE_SIZE, | 825 | ret = amdgpu_bo_create(adev, priv->smu_buffer.data_size, PAGE_SIZE, |
| 825 | true, AMDGPU_GEM_DOMAIN_GTT, 0, NULL, smu_buf); | 826 | true, AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, |
| 827 | smu_buf); | ||
| 826 | 828 | ||
| 827 | if (ret) { | 829 | if (ret) { |
| 828 | dev_err(adev->dev, "(%d) SMC Internal buffer allocation failed\n", ret); | 830 | dev_err(adev->dev, "(%d) SMC Internal buffer allocation failed\n", ret); |
diff --git a/drivers/gpu/drm/amd/amdgpu/fiji_smc.c b/drivers/gpu/drm/amd/amdgpu/fiji_smc.c index 322edea65857..bda1249eb871 100644 --- a/drivers/gpu/drm/amd/amdgpu/fiji_smc.c +++ b/drivers/gpu/drm/amd/amdgpu/fiji_smc.c | |||
| @@ -764,7 +764,7 @@ int fiji_smu_init(struct amdgpu_device *adev) | |||
| 764 | ret = amdgpu_bo_create(adev, image_size, PAGE_SIZE, | 764 | ret = amdgpu_bo_create(adev, image_size, PAGE_SIZE, |
| 765 | true, AMDGPU_GEM_DOMAIN_VRAM, | 765 | true, AMDGPU_GEM_DOMAIN_VRAM, |
| 766 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 766 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 767 | NULL, toc_buf); | 767 | NULL, NULL, toc_buf); |
| 768 | if (ret) { | 768 | if (ret) { |
| 769 | DRM_ERROR("Failed to allocate memory for TOC buffer\n"); | 769 | DRM_ERROR("Failed to allocate memory for TOC buffer\n"); |
| 770 | return -ENOMEM; | 770 | return -ENOMEM; |
| @@ -774,7 +774,7 @@ int fiji_smu_init(struct amdgpu_device *adev) | |||
| 774 | ret = amdgpu_bo_create(adev, smu_internal_buffer_size, PAGE_SIZE, | 774 | ret = amdgpu_bo_create(adev, smu_internal_buffer_size, PAGE_SIZE, |
| 775 | true, AMDGPU_GEM_DOMAIN_VRAM, | 775 | true, AMDGPU_GEM_DOMAIN_VRAM, |
| 776 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 776 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 777 | NULL, smu_buf); | 777 | NULL, NULL, smu_buf); |
| 778 | if (ret) { | 778 | if (ret) { |
| 779 | DRM_ERROR("Failed to allocate memory for SMU internal buffer\n"); | 779 | DRM_ERROR("Failed to allocate memory for SMU internal buffer\n"); |
| 780 | return -ENOMEM; | 780 | return -ENOMEM; |
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c index 4bd1e5cf65ca..392ec10cc475 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | |||
| @@ -3206,7 +3206,7 @@ static int gfx_v7_0_mec_init(struct amdgpu_device *adev) | |||
| 3206 | r = amdgpu_bo_create(adev, | 3206 | r = amdgpu_bo_create(adev, |
| 3207 | adev->gfx.mec.num_mec *adev->gfx.mec.num_pipe * MEC_HPD_SIZE * 2, | 3207 | adev->gfx.mec.num_mec *adev->gfx.mec.num_pipe * MEC_HPD_SIZE * 2, |
| 3208 | PAGE_SIZE, true, | 3208 | PAGE_SIZE, true, |
| 3209 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, | 3209 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, |
| 3210 | &adev->gfx.mec.hpd_eop_obj); | 3210 | &adev->gfx.mec.hpd_eop_obj); |
| 3211 | if (r) { | 3211 | if (r) { |
| 3212 | dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r); | 3212 | dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r); |
| @@ -3373,7 +3373,7 @@ static int gfx_v7_0_cp_compute_resume(struct amdgpu_device *adev) | |||
| 3373 | r = amdgpu_bo_create(adev, | 3373 | r = amdgpu_bo_create(adev, |
| 3374 | sizeof(struct bonaire_mqd), | 3374 | sizeof(struct bonaire_mqd), |
| 3375 | PAGE_SIZE, true, | 3375 | PAGE_SIZE, true, |
| 3376 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, | 3376 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, |
| 3377 | &ring->mqd_obj); | 3377 | &ring->mqd_obj); |
| 3378 | if (r) { | 3378 | if (r) { |
| 3379 | dev_warn(adev->dev, "(%d) create MQD bo failed\n", r); | 3379 | dev_warn(adev->dev, "(%d) create MQD bo failed\n", r); |
| @@ -3788,7 +3788,8 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev) | |||
| 3788 | r = amdgpu_bo_create(adev, dws * 4, PAGE_SIZE, true, | 3788 | r = amdgpu_bo_create(adev, dws * 4, PAGE_SIZE, true, |
| 3789 | AMDGPU_GEM_DOMAIN_VRAM, | 3789 | AMDGPU_GEM_DOMAIN_VRAM, |
| 3790 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 3790 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 3791 | NULL, &adev->gfx.rlc.save_restore_obj); | 3791 | NULL, NULL, |
| 3792 | &adev->gfx.rlc.save_restore_obj); | ||
| 3792 | if (r) { | 3793 | if (r) { |
| 3793 | dev_warn(adev->dev, "(%d) create RLC sr bo failed\n", r); | 3794 | dev_warn(adev->dev, "(%d) create RLC sr bo failed\n", r); |
| 3794 | return r; | 3795 | return r; |
| @@ -3831,7 +3832,8 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev) | |||
| 3831 | r = amdgpu_bo_create(adev, dws * 4, PAGE_SIZE, true, | 3832 | r = amdgpu_bo_create(adev, dws * 4, PAGE_SIZE, true, |
| 3832 | AMDGPU_GEM_DOMAIN_VRAM, | 3833 | AMDGPU_GEM_DOMAIN_VRAM, |
| 3833 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 3834 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 3834 | NULL, &adev->gfx.rlc.clear_state_obj); | 3835 | NULL, NULL, |
| 3836 | &adev->gfx.rlc.clear_state_obj); | ||
| 3835 | if (r) { | 3837 | if (r) { |
| 3836 | dev_warn(adev->dev, "(%d) create RLC c bo failed\n", r); | 3838 | dev_warn(adev->dev, "(%d) create RLC c bo failed\n", r); |
| 3837 | gfx_v7_0_rlc_fini(adev); | 3839 | gfx_v7_0_rlc_fini(adev); |
| @@ -3870,7 +3872,8 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev) | |||
| 3870 | r = amdgpu_bo_create(adev, adev->gfx.rlc.cp_table_size, PAGE_SIZE, true, | 3872 | r = amdgpu_bo_create(adev, adev->gfx.rlc.cp_table_size, PAGE_SIZE, true, |
| 3871 | AMDGPU_GEM_DOMAIN_VRAM, | 3873 | AMDGPU_GEM_DOMAIN_VRAM, |
| 3872 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 3874 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 3873 | NULL, &adev->gfx.rlc.cp_table_obj); | 3875 | NULL, NULL, |
| 3876 | &adev->gfx.rlc.cp_table_obj); | ||
| 3874 | if (r) { | 3877 | if (r) { |
| 3875 | dev_warn(adev->dev, "(%d) create RLC cp table bo failed\n", r); | 3878 | dev_warn(adev->dev, "(%d) create RLC cp table bo failed\n", r); |
| 3876 | gfx_v7_0_rlc_fini(adev); | 3879 | gfx_v7_0_rlc_fini(adev); |
| @@ -4851,21 +4854,21 @@ static int gfx_v7_0_sw_init(void *handle) | |||
| 4851 | r = amdgpu_bo_create(adev, adev->gds.mem.gfx_partition_size, | 4854 | r = amdgpu_bo_create(adev, adev->gds.mem.gfx_partition_size, |
| 4852 | PAGE_SIZE, true, | 4855 | PAGE_SIZE, true, |
| 4853 | AMDGPU_GEM_DOMAIN_GDS, 0, | 4856 | AMDGPU_GEM_DOMAIN_GDS, 0, |
| 4854 | NULL, &adev->gds.gds_gfx_bo); | 4857 | NULL, NULL, &adev->gds.gds_gfx_bo); |
| 4855 | if (r) | 4858 | if (r) |
| 4856 | return r; | 4859 | return r; |
| 4857 | 4860 | ||
| 4858 | r = amdgpu_bo_create(adev, adev->gds.gws.gfx_partition_size, | 4861 | r = amdgpu_bo_create(adev, adev->gds.gws.gfx_partition_size, |
| 4859 | PAGE_SIZE, true, | 4862 | PAGE_SIZE, true, |
| 4860 | AMDGPU_GEM_DOMAIN_GWS, 0, | 4863 | AMDGPU_GEM_DOMAIN_GWS, 0, |
| 4861 | NULL, &adev->gds.gws_gfx_bo); | 4864 | NULL, NULL, &adev->gds.gws_gfx_bo); |
| 4862 | if (r) | 4865 | if (r) |
| 4863 | return r; | 4866 | return r; |
| 4864 | 4867 | ||
| 4865 | r = amdgpu_bo_create(adev, adev->gds.oa.gfx_partition_size, | 4868 | r = amdgpu_bo_create(adev, adev->gds.oa.gfx_partition_size, |
| 4866 | PAGE_SIZE, true, | 4869 | PAGE_SIZE, true, |
| 4867 | AMDGPU_GEM_DOMAIN_OA, 0, | 4870 | AMDGPU_GEM_DOMAIN_OA, 0, |
| 4868 | NULL, &adev->gds.oa_gfx_bo); | 4871 | NULL, NULL, &adev->gds.oa_gfx_bo); |
| 4869 | if (r) | 4872 | if (r) |
| 4870 | return r; | 4873 | return r; |
| 4871 | 4874 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index d6d330bc6daa..78e5900d71cd 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | |||
| @@ -868,7 +868,7 @@ static int gfx_v8_0_mec_init(struct amdgpu_device *adev) | |||
| 868 | r = amdgpu_bo_create(adev, | 868 | r = amdgpu_bo_create(adev, |
| 869 | adev->gfx.mec.num_mec *adev->gfx.mec.num_pipe * MEC_HPD_SIZE * 2, | 869 | adev->gfx.mec.num_mec *adev->gfx.mec.num_pipe * MEC_HPD_SIZE * 2, |
| 870 | PAGE_SIZE, true, | 870 | PAGE_SIZE, true, |
| 871 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, | 871 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, |
| 872 | &adev->gfx.mec.hpd_eop_obj); | 872 | &adev->gfx.mec.hpd_eop_obj); |
| 873 | if (r) { | 873 | if (r) { |
| 874 | dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r); | 874 | dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r); |
| @@ -995,21 +995,21 @@ static int gfx_v8_0_sw_init(void *handle) | |||
| 995 | /* reserve GDS, GWS and OA resource for gfx */ | 995 | /* reserve GDS, GWS and OA resource for gfx */ |
| 996 | r = amdgpu_bo_create(adev, adev->gds.mem.gfx_partition_size, | 996 | r = amdgpu_bo_create(adev, adev->gds.mem.gfx_partition_size, |
| 997 | PAGE_SIZE, true, | 997 | PAGE_SIZE, true, |
| 998 | AMDGPU_GEM_DOMAIN_GDS, 0, | 998 | AMDGPU_GEM_DOMAIN_GDS, 0, NULL, |
| 999 | NULL, &adev->gds.gds_gfx_bo); | 999 | NULL, &adev->gds.gds_gfx_bo); |
| 1000 | if (r) | 1000 | if (r) |
| 1001 | return r; | 1001 | return r; |
| 1002 | 1002 | ||
| 1003 | r = amdgpu_bo_create(adev, adev->gds.gws.gfx_partition_size, | 1003 | r = amdgpu_bo_create(adev, adev->gds.gws.gfx_partition_size, |
| 1004 | PAGE_SIZE, true, | 1004 | PAGE_SIZE, true, |
| 1005 | AMDGPU_GEM_DOMAIN_GWS, 0, | 1005 | AMDGPU_GEM_DOMAIN_GWS, 0, NULL, |
| 1006 | NULL, &adev->gds.gws_gfx_bo); | 1006 | NULL, &adev->gds.gws_gfx_bo); |
| 1007 | if (r) | 1007 | if (r) |
| 1008 | return r; | 1008 | return r; |
| 1009 | 1009 | ||
| 1010 | r = amdgpu_bo_create(adev, adev->gds.oa.gfx_partition_size, | 1010 | r = amdgpu_bo_create(adev, adev->gds.oa.gfx_partition_size, |
| 1011 | PAGE_SIZE, true, | 1011 | PAGE_SIZE, true, |
| 1012 | AMDGPU_GEM_DOMAIN_OA, 0, | 1012 | AMDGPU_GEM_DOMAIN_OA, 0, NULL, |
| 1013 | NULL, &adev->gds.oa_gfx_bo); | 1013 | NULL, &adev->gds.oa_gfx_bo); |
| 1014 | if (r) | 1014 | if (r) |
| 1015 | return r; | 1015 | return r; |
| @@ -3106,7 +3106,7 @@ static int gfx_v8_0_cp_compute_resume(struct amdgpu_device *adev) | |||
| 3106 | sizeof(struct vi_mqd), | 3106 | sizeof(struct vi_mqd), |
| 3107 | PAGE_SIZE, true, | 3107 | PAGE_SIZE, true, |
| 3108 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, | 3108 | AMDGPU_GEM_DOMAIN_GTT, 0, NULL, |
| 3109 | &ring->mqd_obj); | 3109 | NULL, &ring->mqd_obj); |
| 3110 | if (r) { | 3110 | if (r) { |
| 3111 | dev_warn(adev->dev, "(%d) create MQD bo failed\n", r); | 3111 | dev_warn(adev->dev, "(%d) create MQD bo failed\n", r); |
| 3112 | return r; | 3112 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/iceland_smc.c b/drivers/gpu/drm/amd/amdgpu/iceland_smc.c index c900aa942ade..966d4b2ed9da 100644 --- a/drivers/gpu/drm/amd/amdgpu/iceland_smc.c +++ b/drivers/gpu/drm/amd/amdgpu/iceland_smc.c | |||
| @@ -625,7 +625,7 @@ int iceland_smu_init(struct amdgpu_device *adev) | |||
| 625 | ret = amdgpu_bo_create(adev, image_size, PAGE_SIZE, | 625 | ret = amdgpu_bo_create(adev, image_size, PAGE_SIZE, |
| 626 | true, AMDGPU_GEM_DOMAIN_VRAM, | 626 | true, AMDGPU_GEM_DOMAIN_VRAM, |
| 627 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 627 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 628 | NULL, toc_buf); | 628 | NULL, NULL, toc_buf); |
| 629 | if (ret) { | 629 | if (ret) { |
| 630 | DRM_ERROR("Failed to allocate memory for TOC buffer\n"); | 630 | DRM_ERROR("Failed to allocate memory for TOC buffer\n"); |
| 631 | return -ENOMEM; | 631 | return -ENOMEM; |
diff --git a/drivers/gpu/drm/amd/amdgpu/tonga_smc.c b/drivers/gpu/drm/amd/amdgpu/tonga_smc.c index 1f5ac941a610..5421309c1862 100644 --- a/drivers/gpu/drm/amd/amdgpu/tonga_smc.c +++ b/drivers/gpu/drm/amd/amdgpu/tonga_smc.c | |||
| @@ -763,7 +763,7 @@ int tonga_smu_init(struct amdgpu_device *adev) | |||
| 763 | ret = amdgpu_bo_create(adev, image_size, PAGE_SIZE, | 763 | ret = amdgpu_bo_create(adev, image_size, PAGE_SIZE, |
| 764 | true, AMDGPU_GEM_DOMAIN_VRAM, | 764 | true, AMDGPU_GEM_DOMAIN_VRAM, |
| 765 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 765 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 766 | NULL, toc_buf); | 766 | NULL, NULL, toc_buf); |
| 767 | if (ret) { | 767 | if (ret) { |
| 768 | DRM_ERROR("Failed to allocate memory for TOC buffer\n"); | 768 | DRM_ERROR("Failed to allocate memory for TOC buffer\n"); |
| 769 | return -ENOMEM; | 769 | return -ENOMEM; |
| @@ -773,7 +773,7 @@ int tonga_smu_init(struct amdgpu_device *adev) | |||
| 773 | ret = amdgpu_bo_create(adev, smu_internal_buffer_size, PAGE_SIZE, | 773 | ret = amdgpu_bo_create(adev, smu_internal_buffer_size, PAGE_SIZE, |
| 774 | true, AMDGPU_GEM_DOMAIN_VRAM, | 774 | true, AMDGPU_GEM_DOMAIN_VRAM, |
| 775 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, | 775 | AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED, |
| 776 | NULL, smu_buf); | 776 | NULL, NULL, smu_buf); |
| 777 | if (ret) { | 777 | if (ret) { |
| 778 | DRM_ERROR("Failed to allocate memory for SMU internal buffer\n"); | 778 | DRM_ERROR("Failed to allocate memory for SMU internal buffer\n"); |
| 779 | return -ENOMEM; | 779 | return -ENOMEM; |
