diff options
| author | Christian König <christian.koenig@amd.com> | 2021-04-27 10:29:10 +0200 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2021-05-19 22:32:09 -0400 | 
| commit | 2b77ade8b90f292849a5d8fa75c063fdb70bb815 (patch) | |
| tree | 872acd4a971883df86b633a64ca7becad84e8277 /drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | |
| parent | 0ccc3ccf5b3af48161d1ddd088dbca12a9837c70 (diff) | |
drm/amdgpu: use cursor functions in amdgpu_bo_in_cpu_visible_vram
One of the last remaining uses of drm_mm_node.
Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com>
Tested-by: Nirmoy Das <nirmoy.das@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.h')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h index e0ec48d6a3fd..1cebe24cca71 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h @@ -30,6 +30,8 @@  #include <drm/amdgpu_drm.h>  #include "amdgpu.h" +#include "amdgpu_res_cursor.h" +  #ifdef CONFIG_MMU_NOTIFIER  #include <linux/mmu_notifier.h>  #endif @@ -215,18 +217,19 @@ static inline u64 amdgpu_bo_mmap_offset(struct amdgpu_bo *bo)  static inline bool amdgpu_bo_in_cpu_visible_vram(struct amdgpu_bo *bo)  {  	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); -	unsigned fpfn = adev->gmc.visible_vram_size >> PAGE_SHIFT; -	struct drm_mm_node *node = bo->tbo.mem.mm_node; -	unsigned long pages_left; +	struct amdgpu_res_cursor cursor;  	if (bo->tbo.mem.mem_type != TTM_PL_VRAM)  		return false; -	for (pages_left = bo->tbo.mem.num_pages; pages_left; -	     pages_left -= node->size, node++) -		if (node->start < fpfn) +	amdgpu_res_first(&bo->tbo.mem, 0, amdgpu_bo_size(bo), &cursor); +	while (cursor.remaining) { +		if (cursor.start < adev->gmc.visible_vram_size)  			return true; +		amdgpu_res_next(&cursor, cursor.size); +	} +  	return false;  } | 
