diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 6c7d672412b2..c842ce635a88 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -600,7 +600,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,  	if (!amdgpu_gmc_vram_full_visible(&adev->gmc) &&  	    bo->tbo.resource->mem_type == TTM_PL_VRAM && -	    bo->tbo.resource->start < adev->gmc.visible_vram_size >> PAGE_SHIFT) +	    amdgpu_bo_in_cpu_visible_vram(bo))  		amdgpu_cs_report_moved_bytes(adev, ctx.bytes_moved,  					     ctx.bytes_moved);  	else @@ -1346,7 +1346,6 @@ vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)  	struct amdgpu_device *adev = amdgpu_ttm_adev(bo->bdev);  	struct ttm_operation_ctx ctx = { false, false };  	struct amdgpu_bo *abo = ttm_to_amdgpu_bo(bo); -	unsigned long offset;  	int r;  	/* Remember that this BO was accessed by the CPU */ @@ -1355,8 +1354,7 @@ vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)  	if (bo->resource->mem_type != TTM_PL_VRAM)  		return 0; -	offset = bo->resource->start << PAGE_SHIFT; -	if ((offset + bo->base.size) <= adev->gmc.visible_vram_size) +	if (amdgpu_bo_in_cpu_visible_vram(abo))  		return 0;  	/* Can't move a pinned BO to visible VRAM */ @@ -1378,10 +1376,9 @@ vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)  	else if (unlikely(r))  		return VM_FAULT_SIGBUS; -	offset = bo->resource->start << PAGE_SHIFT;  	/* this should never happen */  	if (bo->resource->mem_type == TTM_PL_VRAM && -	    (offset + bo->base.size) > adev->gmc.visible_vram_size) +	    !amdgpu_bo_in_cpu_visible_vram(abo))  		return VM_FAULT_SIGBUS;  	ttm_bo_move_to_lru_tail_unlocked(bo);  | 
