aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 5cadf4f1ee2c..d9f3201c9e5c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -345,7 +345,7 @@ static uint64_t amdgpu_mm_node_addr(struct ttm_buffer_object *bo,
345{ 345{
346 uint64_t addr = 0; 346 uint64_t addr = 0;
347 347
348 if (mem->mem_type != TTM_PL_TT || amdgpu_gtt_mgr_has_gart_addr(mem)) { 348 if (mm_node->start != AMDGPU_BO_INVALID_OFFSET) {
349 addr = mm_node->start << PAGE_SHIFT; 349 addr = mm_node->start << PAGE_SHIFT;
350 addr += bo->bdev->man[mem->mem_type].gpu_offset; 350 addr += bo->bdev->man[mem->mem_type].gpu_offset;
351 } 351 }
@@ -433,8 +433,7 @@ int amdgpu_ttm_copy_mem_to_mem(struct amdgpu_device *adev,
433 /* Map only what needs to be accessed. Map src to window 0 and 433 /* Map only what needs to be accessed. Map src to window 0 and
434 * dst to window 1 434 * dst to window 1
435 */ 435 */
436 if (src->mem->mem_type == TTM_PL_TT && 436 if (src->mem->start == AMDGPU_BO_INVALID_OFFSET) {
437 !amdgpu_gtt_mgr_has_gart_addr(src->mem)) {
438 r = amdgpu_map_buffer(src->bo, src->mem, 437 r = amdgpu_map_buffer(src->bo, src->mem,
439 PFN_UP(cur_size + src_page_offset), 438 PFN_UP(cur_size + src_page_offset),
440 src_node_start, 0, ring, 439 src_node_start, 0, ring,
@@ -447,8 +446,7 @@ int amdgpu_ttm_copy_mem_to_mem(struct amdgpu_device *adev,
447 from += src_page_offset; 446 from += src_page_offset;
448 } 447 }
449 448
450 if (dst->mem->mem_type == TTM_PL_TT && 449 if (dst->mem->start == AMDGPU_BO_INVALID_OFFSET) {
451 !amdgpu_gtt_mgr_has_gart_addr(dst->mem)) {
452 r = amdgpu_map_buffer(dst->bo, dst->mem, 450 r = amdgpu_map_buffer(dst->bo, dst->mem,
453 PFN_UP(cur_size + dst_page_offset), 451 PFN_UP(cur_size + dst_page_offset),
454 dst_node_start, 1, ring, 452 dst_node_start, 1, ring,
@@ -1086,11 +1084,10 @@ int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo)
1086 uint64_t flags; 1084 uint64_t flags;
1087 int r; 1085 int r;
1088 1086
1089 if (bo->mem.mem_type != TTM_PL_TT || 1087 if (bo->mem.start != AMDGPU_BO_INVALID_OFFSET)
1090 amdgpu_gtt_mgr_has_gart_addr(&bo->mem))
1091 return 0; 1088 return 0;
1092 1089
1093 /* allocate GTT space */ 1090 /* allocate GART space */
1094 tmp = bo->mem; 1091 tmp = bo->mem;
1095 tmp.mm_node = NULL; 1092 tmp.mm_node = NULL;
1096 placement.num_placement = 1; 1093 placement.num_placement = 1;