diff options
author | Chunming Zhou <david1.zhou@amd.com> | 2015-07-30 05:59:43 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-08-17 16:50:43 -0400 |
commit | d1ff9086c1b8e67390161599006a34056b437a72 (patch) | |
tree | aaaf8b04c136fb05fd9d863f501450974ac5cfcf /drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | |
parent | 51b9db27d07869cf565ba135e97e2ed5f858612e (diff) |
drm/amdgpu: fix seq in ctx_add_fence
if enabling scheduler, then the queued seq is assigned
when pushing job before emitting job.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian K?nig <christian.koenig@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c index 42d6298eb9d7..eed409c59492 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | |||
@@ -143,6 +143,7 @@ int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, | |||
143 | struct amdgpu_ring *ring; | 143 | struct amdgpu_ring *ring; |
144 | struct amdgpu_ctx *ctx, *old_ctx; | 144 | struct amdgpu_ctx *ctx, *old_ctx; |
145 | struct amdgpu_vm *vm; | 145 | struct amdgpu_vm *vm; |
146 | uint64_t sequence; | ||
146 | unsigned i; | 147 | unsigned i; |
147 | int r = 0; | 148 | int r = 0; |
148 | 149 | ||
@@ -215,9 +216,12 @@ int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, | |||
215 | return r; | 216 | return r; |
216 | } | 217 | } |
217 | 218 | ||
219 | sequence = amdgpu_enable_scheduler ? ib->sequence : 0; | ||
220 | |||
218 | if (ib->ctx) | 221 | if (ib->ctx) |
219 | ib->sequence = amdgpu_ctx_add_fence(ib->ctx, ring, | 222 | ib->sequence = amdgpu_ctx_add_fence(ib->ctx, ring, |
220 | &ib->fence->base); | 223 | &ib->fence->base, |
224 | sequence); | ||
221 | 225 | ||
222 | /* wrap the last IB with fence */ | 226 | /* wrap the last IB with fence */ |
223 | if (ib->user) { | 227 | if (ib->user) { |