Use the GART helper function introduced in the previous commit
to map the VRAM pages of the transfer window to GART.
No functional changes, just code cleanup.

Split this into a separate commit to make it easier to bisect,
in case there are problems in the future.

Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Christian König <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index e226c3aff7d7..84f9d5a57d03 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -188,7 +188,6 @@ static int amdgpu_ttm_map_buffer(struct ttm_buffer_object 
*bo,
        struct amdgpu_job *job;
        void *cpu_addr;
        uint64_t flags;
-       unsigned int i;
        int r;
 
        BUG_ON(adev->mman.buffer_funcs->copy_max_bytes <
@@ -254,16 +253,9 @@ static int amdgpu_ttm_map_buffer(struct ttm_buffer_object 
*bo,
                dma_addr = &bo->ttm->dma_address[mm_cur->start >> PAGE_SHIFT];
                amdgpu_gart_map(adev, 0, num_pages, dma_addr, flags, cpu_addr);
        } else {
-               dma_addr_t dma_address;
-
-               dma_address = mm_cur->start;
-               dma_address += adev->vm_manager.vram_base_offset;
+               u64 pa = mm_cur->start + adev->vm_manager.vram_base_offset;
 
-               for (i = 0; i < num_pages; ++i) {
-                       amdgpu_gart_map(adev, i << PAGE_SHIFT, 1, &dma_address,
-                                       flags, cpu_addr);
-                       dma_address += PAGE_SIZE;
-               }
+               amdgpu_gart_map_vram_range(adev, pa, 0, num_pages, flags, 
cpu_addr);
        }
 
        dma_fence_put(amdgpu_job_submit(job));
-- 
2.51.0

Reply via email to