]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu/ttm: Use GART helper to map VRAM pages (v2)
authorTimur Kristóf <timur.kristof@gmail.com>
Fri, 7 Nov 2025 15:57:36 +0000 (16:57 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 12 Nov 2025 02:54:17 +0000 (21:54 -0500)
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 <timur.kristof@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index 9777c5c9cb2677720af73ee0de46dc291f96392f..838a51b6098b45ee9838865379dd79a2143c3a7b 100644 (file)
@@ -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 <
@@ -255,16 +254,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));