drm/amdgpu: use new cursor in amdgpu_ttm_io_mem_pfn
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>
This commit is contained in:
committed by
Alex Deucher
parent
596ee29684
commit
10ebcd953d
@@ -631,12 +631,10 @@ static unsigned long amdgpu_ttm_io_mem_pfn(struct ttm_buffer_object *bo,
|
|||||||
unsigned long page_offset)
|
unsigned long page_offset)
|
||||||
{
|
{
|
||||||
struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);
|
struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);
|
||||||
uint64_t offset = (page_offset << PAGE_SHIFT);
|
struct amdgpu_res_cursor cursor;
|
||||||
struct drm_mm_node *mm;
|
|
||||||
|
|
||||||
mm = amdgpu_find_mm_node(&bo->mem, &offset);
|
amdgpu_res_first(&bo->mem, (u64)page_offset << PAGE_SHIFT, 0, &cursor);
|
||||||
offset += adev->gmc.aper_base;
|
return (adev->gmc.aper_base + cursor.start) >> PAGE_SHIFT;
|
||||||
return mm->start + (offset >> PAGE_SHIFT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user