drm/amdgpu: use new cursor in amdgpu_ttm_io_mem_pfn
authorChristian König <christian.koenig@amd.com>
Wed, 17 Feb 2021 12:50:49 +0000 (13:50 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 Mar 2021 03:29:51 +0000 (23:29 -0400)
Separate the drm_mm_node walking from the actual handling.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Oak Zeng <Oak.Zeng@amd.com>
Tested-by: Nirmoy Das <nirmoy.das@amd.com>
Reviewed-by: Arunpravin <Arunpravin.PaneerSelvam@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index f42dca455b9cb4e6915653fbb9818ad514d903ca..ebd192199c013f80883244b06a9e6c8aa478cd69 100644 (file)
@@ -631,12 +631,10 @@ static unsigned long amdgpu_ttm_io_mem_pfn(struct ttm_buffer_object *bo,
                                           unsigned long page_offset)
 {
        struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);
-       uint64_t offset = (page_offset << PAGE_SHIFT);
-       struct drm_mm_node *mm;
+       struct amdgpu_res_cursor cursor;
 
-       mm = amdgpu_find_mm_node(&bo->mem, &offset);
-       offset += adev->gmc.aper_base;
-       return mm->start + (offset >> PAGE_SHIFT);
+       amdgpu_res_first(&bo->mem, (u64)page_offset << PAGE_SHIFT, 0, &cursor);
+       return (adev->gmc.aper_base + cursor.start) >> PAGE_SHIFT;
 }
 
 /**