aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-06-28 09:41:17 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-07-14 11:05:57 -0400
commitdf264f9e08081c8c79523fd9e9f5241ed23ee7e8 (patch)
treee4ec93583462e2c4d749a14a43a2c2a2623ecc8f /drivers/gpu/drm/amd/amdgpu
parent369421cbfabf0650b73571d7d1c026fc3830e74d (diff)
drm/amdgpu: allow flushing VMID0 before IB execution as well
This allows us to queue IBs which needs an up to date system domain as well. 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')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c2
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_job.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
index f774b3f497d2..1b30d2ab9c51 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
@@ -172,7 +172,7 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs,
172 if (ring->funcs->insert_start) 172 if (ring->funcs->insert_start)
173 ring->funcs->insert_start(ring); 173 ring->funcs->insert_start(ring);
174 174
175 if (vm) { 175 if (job) {
176 r = amdgpu_vm_flush(ring, job); 176 r = amdgpu_vm_flush(ring, job);
177 if (r) { 177 if (r) {
178 amdgpu_ring_undo(ring); 178 amdgpu_ring_undo(ring);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index 3d641e10e6b6..4510627ae83e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -81,6 +81,8 @@ int amdgpu_job_alloc_with_ib(struct amdgpu_device *adev, unsigned size,
81 r = amdgpu_ib_get(adev, NULL, size, &(*job)->ibs[0]); 81 r = amdgpu_ib_get(adev, NULL, size, &(*job)->ibs[0]);
82 if (r) 82 if (r)
83 kfree(*job); 83 kfree(*job);
84 else
85 (*job)->vm_pd_addr = adev->gart.table_addr;
84 86
85 return r; 87 return r;
86} 88}