diff options
author | Christian König <christian.koenig@amd.com> | 2017-06-29 05:46:15 -0400 |
---|---|---|
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, | |||
318 | 318 | ||
319 | r = amdgpu_copy_buffer(ring, old_start, new_start, | 319 | r = amdgpu_copy_buffer(ring, old_start, new_start, |
320 | cur_pages * PAGE_SIZE, | 320 | cur_pages * PAGE_SIZE, |
321 | bo->resv, &next, false); | 321 | bo->resv, &next, false, false); |
322 | if (r) | 322 | if (r) |
323 | goto error; | 323 | goto error; |
324 | 324 | ||
@@ -1256,12 +1256,11 @@ int amdgpu_mmap(struct file *filp, struct vm_area_struct *vma) | |||
1256 | return ttm_bo_mmap(filp, vma, &adev->mman.bdev); | 1256 | return ttm_bo_mmap(filp, vma, &adev->mman.bdev); |
1257 | } | 1257 | } |
1258 | 1258 | ||
1259 | int amdgpu_copy_buffer(struct amdgpu_ring *ring, | 1259 | int amdgpu_copy_buffer(struct amdgpu_ring *ring, uint64_t src_offset, |
1260 | uint64_t src_offset, | 1260 | uint64_t dst_offset, uint32_t byte_count, |
1261 | uint64_t dst_offset, | ||
1262 | uint32_t byte_count, | ||
1263 | struct reservation_object *resv, | 1261 | struct reservation_object *resv, |
1264 | struct dma_fence **fence, bool direct_submit) | 1262 | struct dma_fence **fence, bool direct_submit, |
1263 | bool vm_needs_flush) | ||
1265 | { | 1264 | { |
1266 | struct amdgpu_device *adev = ring->adev; | 1265 | struct amdgpu_device *adev = ring->adev; |
1267 | struct amdgpu_job *job; | 1266 | struct amdgpu_job *job; |
@@ -1283,6 +1282,7 @@ int amdgpu_copy_buffer(struct amdgpu_ring *ring, | |||
1283 | if (r) | 1282 | if (r) |
1284 | return r; | 1283 | return r; |
1285 | 1284 | ||
1285 | job->vm_needs_flush = vm_needs_flush; | ||
1286 | if (resv) { | 1286 | if (resv) { |
1287 | r = amdgpu_sync_resv(adev, &job->sync, resv, | 1287 | r = amdgpu_sync_resv(adev, &job->sync, resv, |
1288 | AMDGPU_FENCE_OWNER_UNDEFINED); | 1288 | AMDGPU_FENCE_OWNER_UNDEFINED); |