diff options
author | Christian König <christian.koenig@amd.com> | 2017-06-28 09:41:17 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-07-14 11:05:57 -0400 |
commit | df264f9e08081c8c79523fd9e9f5241ed23ee7e8 (patch) | |
tree | e4ec93583462e2c4d749a14a43a2c2a2623ecc8f /drivers/gpu/drm/amd/amdgpu | |
parent | 369421cbfabf0650b73571d7d1c026fc3830e74d (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.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 2 |
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 | } |