Lines Matching refs:job
123 struct amdgpu_ib *ibs, struct amdgpu_job *job, in amdgpu_ib_schedule() argument
144 if (job) { in amdgpu_ib_schedule()
145 vm = job->vm; in amdgpu_ib_schedule()
146 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule()
147 job->base.s_fence->scheduled.context : 0; in amdgpu_ib_schedule()
158 if (vm && !job->vmid) { in amdgpu_ib_schedule()
173 if (ring->funcs->emit_pipeline_sync && job && in amdgpu_ib_schedule()
174 ((tmp = amdgpu_sync_get_fence(&job->sched_sync, NULL)) || in amdgpu_ib_schedule()
176 amdgpu_vm_need_pipeline_sync(ring, job))) { in amdgpu_ib_schedule()
180 trace_amdgpu_ib_pipe_sync(job, tmp); in amdgpu_ib_schedule()
188 if (job) { in amdgpu_ib_schedule()
189 r = amdgpu_vm_flush(ring, job, need_pipe_sync); in amdgpu_ib_schedule()
196 if (job && ring->funcs->init_cond_exec) in amdgpu_ib_schedule()
213 if (job && ring->funcs->emit_cntxcntl) { in amdgpu_ib_schedule()
214 status |= job->preamble_status; in amdgpu_ib_schedule()
215 status |= job->preemption_status; in amdgpu_ib_schedule()
230 amdgpu_ring_emit_ib(ring, job, ib, status); in amdgpu_ib_schedule()
246 if (job && job->uf_addr) { in amdgpu_ib_schedule()
247 amdgpu_ring_emit_fence(ring, job->uf_addr, job->uf_sequence, in amdgpu_ib_schedule()
254 if (job && job->vmid) in amdgpu_ib_schedule()
255 amdgpu_vmid_reset(adev, ring->funcs->vmhub, job->vmid); in amdgpu_ib_schedule()