|
@@ -252,11 +252,13 @@ int amdgpu_bo_create_reserved(struct amdgpu_device *adev,
|
|
|
goto error_free;
|
|
|
}
|
|
|
|
|
|
- r = amdgpu_bo_pin(*bo_ptr, domain, gpu_addr);
|
|
|
+ r = amdgpu_bo_pin(*bo_ptr, domain);
|
|
|
if (r) {
|
|
|
dev_err(adev->dev, "(%d) kernel bo pin failed\n", r);
|
|
|
goto error_unreserve;
|
|
|
}
|
|
|
+ if (gpu_addr)
|
|
|
+ *gpu_addr = amdgpu_bo_gpu_offset(*bo_ptr);
|
|
|
|
|
|
if (cpu_addr) {
|
|
|
r = amdgpu_bo_kmap(*bo_ptr, cpu_addr);
|
|
@@ -817,7 +819,6 @@ void amdgpu_bo_unref(struct amdgpu_bo **bo)
|
|
|
* @domain: domain to be pinned to
|
|
|
* @min_offset: the start of requested address range
|
|
|
* @max_offset: the end of requested address range
|
|
|
- * @gpu_addr: GPU offset of the &amdgpu_bo buffer object
|
|
|
*
|
|
|
* Pins the buffer object according to requested domain and address range. If
|
|
|
* the memory is unbound gart memory, binds the pages into gart table. Adjusts
|
|
@@ -835,8 +836,7 @@ void amdgpu_bo_unref(struct amdgpu_bo **bo)
|
|
|
* 0 for success or a negative error code on failure.
|
|
|
*/
|
|
|
int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
|
|
|
- u64 min_offset, u64 max_offset,
|
|
|
- u64 *gpu_addr)
|
|
|
+ u64 min_offset, u64 max_offset)
|
|
|
{
|
|
|
struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
|
|
|
struct ttm_operation_ctx ctx = { false, false };
|
|
@@ -868,8 +868,6 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
|
|
|
return -EINVAL;
|
|
|
|
|
|
bo->pin_count++;
|
|
|
- if (gpu_addr)
|
|
|
- *gpu_addr = amdgpu_bo_gpu_offset(bo);
|
|
|
|
|
|
if (max_offset != 0) {
|
|
|
u64 domain_start = bo->tbo.bdev->man[mem_type].gpu_offset;
|
|
@@ -912,8 +910,6 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
|
|
|
}
|
|
|
|
|
|
bo->pin_count = 1;
|
|
|
- if (gpu_addr != NULL)
|
|
|
- *gpu_addr = amdgpu_bo_gpu_offset(bo);
|
|
|
|
|
|
domain = amdgpu_mem_type_to_domain(bo->tbo.mem.mem_type);
|
|
|
if (domain == AMDGPU_GEM_DOMAIN_VRAM) {
|
|
@@ -931,7 +927,6 @@ error:
|
|
|
* amdgpu_bo_pin - pin an &amdgpu_bo buffer object
|
|
|
* @bo: &amdgpu_bo buffer object to be pinned
|
|
|
* @domain: domain to be pinned to
|
|
|
- * @gpu_addr: GPU offset of the &amdgpu_bo buffer object
|
|
|
*
|
|
|
* A simple wrapper to amdgpu_bo_pin_restricted().
|
|
|
* Provides a simpler API for buffers that do not have any strict restrictions
|
|
@@ -940,9 +935,9 @@ error:
|
|
|
* Returns:
|
|
|
* 0 for success or a negative error code on failure.
|
|
|
*/
|
|
|
-int amdgpu_bo_pin(struct amdgpu_bo *bo, u32 domain, u64 *gpu_addr)
|
|
|
+int amdgpu_bo_pin(struct amdgpu_bo *bo, u32 domain)
|
|
|
{
|
|
|
- return amdgpu_bo_pin_restricted(bo, domain, 0, 0, gpu_addr);
|
|
|
+ return amdgpu_bo_pin_restricted(bo, domain, 0, 0);
|
|
|
}
|
|
|
|
|
|
/**
|