diff options
| author | Christian König <christian.koenig@amd.com> | 2017-06-29 11:46:15 +0200 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2017-07-14 11:05:57 -0400 | 
| commit | fc9c8f5459f2dfa7f83bee3f388faaf570ef96ed (patch) | |
| tree | 549af39b8bb1671c1fd915a2d953438177165e42 /drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | |
| parent | df264f9e08081c8c79523fd9e9f5241ed23ee7e8 (diff) | |
drm/amdgpu: add vm_needs_flush parameter to amdgpu_copy_buffer
This allows us to flush the system VM here.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index c9b131b13ef7..8c5f75d29f32 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -318,7 +318,7 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo,  		r = amdgpu_copy_buffer(ring, old_start, new_start,  				       cur_pages * PAGE_SIZE, -				       bo->resv, &next, false); +				       bo->resv, &next, false, false);  		if (r)  			goto error; @@ -1256,12 +1256,11 @@ int amdgpu_mmap(struct file *filp, struct vm_area_struct *vma)  	return ttm_bo_mmap(filp, vma, &adev->mman.bdev);  } -int amdgpu_copy_buffer(struct amdgpu_ring *ring, -		       uint64_t src_offset, -		       uint64_t dst_offset, -		       uint32_t byte_count, +int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset, +		       uint64_t dst_offset, uint32_t byte_count,  		       struct reservation_object *resv, -		       struct dma_fence **fence, bool direct_submit) +		       struct dma_fence **fence, bool direct_submit, +		       bool vm_needs_flush)  {  	struct amdgpu_device *adev = ring->adev;  	struct amdgpu_job *job; @@ -1283,6 +1282,7 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring,  	if (r)  		return r; +	job->vm_needs_flush = vm_needs_flush;  	if (resv) {  		r = amdgpu_sync_resv(adev, &job->sync, resv,  				     AMDGPU_FENCE_OWNER_UNDEFINED); | 
