diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 13 |
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; |