diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c index d79ab1da9e07..5e8bdded265f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c @@ -251,7 +251,9 @@ int amdgpu_gart_unbind(struct amdgpu_device *adev, uint64_t offset,  	}  	mb();  	amdgpu_asic_flush_hdp(adev, NULL); -	amdgpu_gmc_flush_gpu_tlb(adev, 0, 0); +	for (i = 0; i < adev->num_vmhubs; i++) +		amdgpu_gmc_flush_gpu_tlb(adev, 0, i, 0); +  	return 0;  } @@ -310,9 +312,9 @@ int amdgpu_gart_bind(struct amdgpu_device *adev, uint64_t offset,  		     uint64_t flags)  {  #ifdef CONFIG_DRM_AMDGPU_GART_DEBUGFS -	unsigned i,t,p; +	unsigned t,p;  #endif -	int r; +	int r, i;  	if (!adev->gart.ready) {  		WARN(1, "trying to bind memory to uninitialized GART !\n"); @@ -336,7 +338,8 @@ int amdgpu_gart_bind(struct amdgpu_device *adev, uint64_t offset,  	mb();  	amdgpu_asic_flush_hdp(adev, NULL); -	amdgpu_gmc_flush_gpu_tlb(adev, 0, 0); +	for (i = 0; i < adev->num_vmhubs; i++) +		amdgpu_gmc_flush_gpu_tlb(adev, 0, i, 0);  	return 0;  }  |