diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 24 | 
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index b4236572eae1..55e0284b2bdd 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -695,8 +695,19 @@ out_unlock:  	return r;  } +/* amdgpu_ttm_tt_discard_user_pages - Discard range and pfn array allocations + */ +void amdgpu_ttm_tt_discard_user_pages(struct ttm_tt *ttm, +				      struct hmm_range *range) +{ +	struct amdgpu_ttm_tt *gtt = (void *)ttm; + +	if (gtt && gtt->userptr && range) +		amdgpu_hmm_range_get_pages_done(range); +} +  /* - * amdgpu_ttm_tt_userptr_range_done - stop HMM track the CPU page table change + * amdgpu_ttm_tt_get_user_pages_done - stop HMM track the CPU page table change   * Check if the pages backing this ttm range have been invalidated   *   * Returns: true if pages are still valid @@ -714,10 +725,6 @@ bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm,  	WARN_ONCE(!range->hmm_pfns, "No user pages to check\n"); -	/* -	 * FIXME: Must always hold notifier_lock for this, and must -	 * not ignore the return code. -	 */  	return !amdgpu_hmm_range_get_pages_done(range);  }  #endif @@ -1569,7 +1576,6 @@ static int amdgpu_ttm_fw_reserve_vram_init(struct amdgpu_device *adev)  	return amdgpu_bo_create_kernel_at(adev,  					  adev->mman.fw_vram_usage_start_offset,  					  adev->mman.fw_vram_usage_size, -					  AMDGPU_GEM_DOMAIN_VRAM,  					  &adev->mman.fw_vram_usage_reserved_bo,  					  &adev->mman.fw_vram_usage_va);  } @@ -1595,7 +1601,6 @@ static int amdgpu_ttm_drv_reserve_vram_init(struct amdgpu_device *adev)  	return amdgpu_bo_create_kernel_at(adev,  					  adev->mman.drv_vram_usage_start_offset,  					  adev->mman.drv_vram_usage_size, -					  AMDGPU_GEM_DOMAIN_VRAM,  					  &adev->mman.drv_vram_usage_reserved_bo,  					  &adev->mman.drv_vram_usage_va);  } @@ -1676,7 +1681,6 @@ static int amdgpu_ttm_reserve_tmr(struct amdgpu_device *adev)  		ret = amdgpu_bo_create_kernel_at(adev,  					 ctx->c2p_train_data_offset,  					 ctx->train_data_size, -					 AMDGPU_GEM_DOMAIN_VRAM,  					 &ctx->c2p_bo,  					 NULL);  		if (ret) { @@ -1690,7 +1694,6 @@ static int amdgpu_ttm_reserve_tmr(struct amdgpu_device *adev)  	ret = amdgpu_bo_create_kernel_at(adev,  				adev->gmc.real_vram_size - adev->mman.discovery_tmr_size,  				adev->mman.discovery_tmr_size, -				AMDGPU_GEM_DOMAIN_VRAM,  				&adev->mman.discovery_memory,  				NULL);  	if (ret) { @@ -1791,21 +1794,18 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)  	 * avoid display artifacts while transitioning between pre-OS  	 * and driver.  */  	r = amdgpu_bo_create_kernel_at(adev, 0, adev->mman.stolen_vga_size, -				       AMDGPU_GEM_DOMAIN_VRAM,  				       &adev->mman.stolen_vga_memory,  				       NULL);  	if (r)  		return r;  	r = amdgpu_bo_create_kernel_at(adev, adev->mman.stolen_vga_size,  				       adev->mman.stolen_extended_size, -				       AMDGPU_GEM_DOMAIN_VRAM,  				       &adev->mman.stolen_extended_memory,  				       NULL);  	if (r)  		return r;  	r = amdgpu_bo_create_kernel_at(adev, adev->mman.stolen_reserved_offset,  				       adev->mman.stolen_reserved_size, -				       AMDGPU_GEM_DOMAIN_VRAM,  				       &adev->mman.stolen_reserved_memory,  				       NULL);  	if (r)  | 
