diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 15 |
1 files changed, 8 insertions, 7 deletions
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) |