diff options
| author | Dave Airlie <airlied@redhat.com> | 2021-05-21 15:59:04 +1000 | 
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2021-05-21 15:59:05 +1000 | 
| commit | 9a91e5e0af5e03940d0eec72c36364a1701de240 (patch) | |
| tree | 9231cabe7aecb0d57876c7c8b17892d90dc0156d /drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | |
| parent | c99c4d0ca57c978dcc2a2f41ab8449684ea154cc (diff) | |
| parent | 81db370c88196400972acd6ebbaa73a1d1e4145f (diff) | |
Merge tag 'amd-drm-next-5.14-2021-05-21' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
amd-drm-next-5.14-2021-05-21:
amdgpu:
- RAS fixes
- SR-IOV fixes
- More BO management cleanups
- Aldebaran fixes
- Display fixes
- Support for new GPU, Beige Goby
- Backlight fixes
amdkfd:
- RAS fixes
- DMA mapping fixes
- HMM SVM fixes
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210521045743.4047-1-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 46d22ab85492..a44779d3e0a7 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;  } | 
