Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: use amdgpu_bo_[create|free]_kernel for wb

Rather than open coding it.

Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

+7 -30
+7 -30
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
··· 443 443 static void amdgpu_wb_fini(struct amdgpu_device *adev) 444 444 { 445 445 if (adev->wb.wb_obj) { 446 - if (!amdgpu_bo_reserve(adev->wb.wb_obj, false)) { 447 - amdgpu_bo_kunmap(adev->wb.wb_obj); 448 - amdgpu_bo_unpin(adev->wb.wb_obj); 449 - amdgpu_bo_unreserve(adev->wb.wb_obj); 450 - } 451 - amdgpu_bo_unref(&adev->wb.wb_obj); 452 - adev->wb.wb = NULL; 446 + amdgpu_bo_free_kernel(&adev->wb.wb_obj, 447 + &adev->wb.gpu_addr, 448 + (void **)&adev->wb.wb); 453 449 adev->wb.wb_obj = NULL; 454 450 } 455 451 } ··· 464 468 int r; 465 469 466 470 if (adev->wb.wb_obj == NULL) { 467 - r = amdgpu_bo_create(adev, AMDGPU_MAX_WB * 4, PAGE_SIZE, true, 468 - AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL, 469 - &adev->wb.wb_obj); 471 + r = amdgpu_bo_create_kernel(adev, AMDGPU_MAX_WB * 4, 472 + PAGE_SIZE, AMDGPU_GEM_DOMAIN_GTT, 473 + &adev->wb.wb_obj, &adev->wb.gpu_addr, 474 + (void **)&adev->wb.wb); 470 475 if (r) { 471 476 dev_warn(adev->dev, "(%d) create WB bo failed\n", r); 472 - return r; 473 - } 474 - r = amdgpu_bo_reserve(adev->wb.wb_obj, false); 475 - if (unlikely(r != 0)) { 476 - amdgpu_wb_fini(adev); 477 - return r; 478 - } 479 - r = amdgpu_bo_pin(adev->wb.wb_obj, AMDGPU_GEM_DOMAIN_GTT, 480 - &adev->wb.gpu_addr); 481 - if (r) { 482 - amdgpu_bo_unreserve(adev->wb.wb_obj); 483 - dev_warn(adev->dev, "(%d) pin WB bo failed\n", r); 484 - amdgpu_wb_fini(adev); 485 - return r; 486 - } 487 - r = amdgpu_bo_kmap(adev->wb.wb_obj, (void **)&adev->wb.wb); 488 - amdgpu_bo_unreserve(adev->wb.wb_obj); 489 - if (r) { 490 - dev_warn(adev->dev, "(%d) map WB bo failed\n", r); 491 - amdgpu_wb_fini(adev); 492 477 return r; 493 478 } 494 479