aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-07-27 11:24:36 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-08-15 14:45:56 -0400
commita4a02777892c16d98bbcc2ea2add47950bfbf9e0 (patch)
tree8bff3ada728d2eff39876ebe6e70b7a444a18fe7 /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
parent9d903cbd9995bd63e04d71362a8b59ce49437544 (diff)
drm/amdgpu: use amdgpu_bo_create_kernel more often
Saves us quite a bunch of loc. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c34
1 files changed, 5 insertions, 29 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 3cd9df890b00..510188477fe5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -336,35 +336,11 @@ static void amdgpu_block_invalid_wreg(struct amdgpu_device *adev,
336 336
337static int amdgpu_vram_scratch_init(struct amdgpu_device *adev) 337static int amdgpu_vram_scratch_init(struct amdgpu_device *adev)
338{ 338{
339 int r; 339 return amdgpu_bo_create_kernel(adev, AMDGPU_GPU_PAGE_SIZE,
340 340 PAGE_SIZE, AMDGPU_GEM_DOMAIN_VRAM,
341 if (adev->vram_scratch.robj == NULL) { 341 &adev->vram_scratch.robj,
342 r = amdgpu_bo_create(adev, AMDGPU_GPU_PAGE_SIZE, 342 &adev->vram_scratch.gpu_addr,
343 PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM, 343 (void **)&adev->vram_scratch.ptr);
344 AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
345 AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
346 NULL, NULL, &adev->vram_scratch.robj);
347 if (r) {
348 return r;
349 }
350 }
351
352 r = amdgpu_bo_reserve(adev->vram_scratch.robj, false);
353 if (unlikely(r != 0))
354 return r;
355 r = amdgpu_bo_pin(adev->vram_scratch.robj,
356 AMDGPU_GEM_DOMAIN_VRAM, &adev->vram_scratch.gpu_addr);
357 if (r) {
358 amdgpu_bo_unreserve(adev->vram_scratch.robj);
359 return r;
360 }
361 r = amdgpu_bo_kmap(adev->vram_scratch.robj,
362 (void **)&adev->vram_scratch.ptr);
363 if (r)
364 amdgpu_bo_unpin(adev->vram_scratch.robj);
365 amdgpu_bo_unreserve(adev->vram_scratch.robj);
366
367 return r;
368} 344}
369 345
370static void amdgpu_vram_scratch_fini(struct amdgpu_device *adev) 346static void amdgpu_vram_scratch_fini(struct amdgpu_device *adev)