aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2016-03-01 07:34:49 -0500
committerAlex Deucher <alexander.deucher@amd.com>2016-03-08 11:01:48 -0500
commitcffadc83c7016ba68721affe5da537ead279e2d2 (patch)
treea022cdc4d4dc83138e8bb3c2b621875c9ba4fc41 /drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
parent364beb2cc45247e980a097e53d0932e143873333 (diff)
drm/amdgpu: move the GDS switch into vm flush as well
After all it's an operation on the VMID. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
index 979c445f8096..e63e57e51db7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
@@ -150,13 +150,10 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
150 150
151 if (vm) { 151 if (vm) {
152 /* do context switch */ 152 /* do context switch */
153 amdgpu_vm_flush(ring, ib->vm_id, ib->vm_pd_addr); 153 amdgpu_vm_flush(ring, ib->vm_id, ib->vm_pd_addr,
154 154 ib->gds_base, ib->gds_size,
155 if (ring->funcs->emit_gds_switch) 155 ib->gws_base, ib->gws_size,
156 amdgpu_ring_emit_gds_switch(ring, ib->vm_id, 156 ib->oa_base, ib->oa_size);
157 ib->gds_base, ib->gds_size,
158 ib->gws_base, ib->gws_size,
159 ib->oa_base, ib->oa_size);
160 157
161 if (ring->funcs->emit_hdp_flush) 158 if (ring->funcs->emit_hdp_flush)
162 amdgpu_ring_emit_hdp_flush(ring); 159 amdgpu_ring_emit_hdp_flush(ring);