diff options
author | Christian König <christian.koenig@amd.com> | 2016-03-01 07:34:49 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-03-08 11:01:48 -0500 |
commit | cffadc83c7016ba68721affe5da537ead279e2d2 (patch) | |
tree | a022cdc4d4dc83138e8bb3c2b621875c9ba4fc41 /drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | |
parent | 364beb2cc45247e980a097e53d0932e143873333 (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.c | 11 |
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); |