diff options
author | Chunming Zhou <David1.Zhou@amd.com> | 2017-07-12 00:36:47 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-07-25 16:30:03 -0400 |
commit | 07306b4f5f7a8ba6a9de96420d3524dcc8698b00 (patch) | |
tree | 4b15bdad81d23c1f525c0f20374acddb81abf1b4 /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |
parent | 2014bc3febef3a40646fb82ea752df2b20e0cecc (diff) |
drm/amdgpu: ttm_bind only when user needs gpu_addr in bo pin
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index a019556a8e71..3ec43cf9ad78 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |||
@@ -735,15 +735,16 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain, | |||
735 | dev_err(adev->dev, "%p pin failed\n", bo); | 735 | dev_err(adev->dev, "%p pin failed\n", bo); |
736 | goto error; | 736 | goto error; |
737 | } | 737 | } |
738 | r = amdgpu_ttm_bind(&bo->tbo, &bo->tbo.mem); | ||
739 | if (unlikely(r)) { | ||
740 | dev_err(adev->dev, "%p bind failed\n", bo); | ||
741 | goto error; | ||
742 | } | ||
743 | 738 | ||
744 | bo->pin_count = 1; | 739 | bo->pin_count = 1; |
745 | if (gpu_addr != NULL) | 740 | if (gpu_addr != NULL) { |
741 | r = amdgpu_ttm_bind(&bo->tbo, &bo->tbo.mem); | ||
742 | if (unlikely(r)) { | ||
743 | dev_err(adev->dev, "%p bind failed\n", bo); | ||
744 | goto error; | ||
745 | } | ||
746 | *gpu_addr = amdgpu_bo_gpu_offset(bo); | 746 | *gpu_addr = amdgpu_bo_gpu_offset(bo); |
747 | } | ||
747 | if (domain == AMDGPU_GEM_DOMAIN_VRAM) { | 748 | if (domain == AMDGPU_GEM_DOMAIN_VRAM) { |
748 | adev->vram_pin_size += amdgpu_bo_size(bo); | 749 | adev->vram_pin_size += amdgpu_bo_size(bo); |
749 | if (bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS) | 750 | if (bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS) |