diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index 38dade421d46..94126dc39688 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -515,6 +515,15 @@ static int amdgpu_bo_move(struct ttm_buffer_object *bo, bool evict,  		goto out;  	} +	if (bo->type == ttm_bo_type_device && +	    new_mem->mem_type == TTM_PL_VRAM && +	    old_mem->mem_type != TTM_PL_VRAM) { +		/* amdgpu_bo_fault_reserve_notify will re-set this if the CPU +		 * accesses the BO after it's moved. +		 */ +		abo->flags &= ~AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; +	} +  	if (adev->mman.buffer_funcs_enabled) {  		if (((old_mem->mem_type == TTM_PL_SYSTEM &&  		      new_mem->mem_type == TTM_PL_VRAM) || @@ -545,15 +554,6 @@ static int amdgpu_bo_move(struct ttm_buffer_object *bo, bool evict,  			return r;  	} -	if (bo->type == ttm_bo_type_device && -	    new_mem->mem_type == TTM_PL_VRAM && -	    old_mem->mem_type != TTM_PL_VRAM) { -		/* amdgpu_bo_fault_reserve_notify will re-set this if the CPU -		 * accesses the BO after it's moved. -		 */ -		abo->flags &= ~AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED; -	} -  out:  	/* update statistics */  	atomic64_add(bo->base.size, &adev->num_bytes_moved);  | 
