Lines Matching refs:job
127 struct amdgpu_ib *ibs, struct amdgpu_job *job, in amdgpu_ib_schedule() argument
149 if (job) { in amdgpu_ib_schedule()
150 vm = job->vm; in amdgpu_ib_schedule()
151 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule()
152 job->base.s_fence->scheduled.context : 0; in amdgpu_ib_schedule()
163 if (vm && !job->vmid && !ring->is_mes_queue) { in amdgpu_ib_schedule()
184 if (ring->funcs->emit_pipeline_sync && job && in amdgpu_ib_schedule()
185 ((tmp = amdgpu_sync_get_fence(&job->explicit_sync)) || in amdgpu_ib_schedule()
187 amdgpu_vm_need_pipeline_sync(ring, job))) { in amdgpu_ib_schedule()
191 trace_amdgpu_ib_pipe_sync(job, tmp); in amdgpu_ib_schedule()
206 if (job) { in amdgpu_ib_schedule()
207 r = amdgpu_vm_flush(ring, job, need_pipe_sync); in amdgpu_ib_schedule()
215 if (job && ring->funcs->init_cond_exec) in amdgpu_ib_schedule()
223 if (job && ring->funcs->emit_cntxcntl) { in amdgpu_ib_schedule()
224 status |= job->preamble_status; in amdgpu_ib_schedule()
225 status |= job->preemption_status; in amdgpu_ib_schedule()
232 if (job && ring->funcs->emit_frame_cntl) { in amdgpu_ib_schedule()
240 if (job && ring->funcs->emit_frame_cntl) { in amdgpu_ib_schedule()
248 amdgpu_ring_emit_ib(ring, job, ib, status); in amdgpu_ib_schedule()
252 if (job && ring->funcs->emit_frame_cntl) in amdgpu_ib_schedule()
261 if (job && job->uf_addr) { in amdgpu_ib_schedule()
262 amdgpu_ring_emit_fence(ring, job->uf_addr, job->uf_sequence, in amdgpu_ib_schedule()
266 r = amdgpu_fence_emit(ring, f, job, fence_flags); in amdgpu_ib_schedule()
269 if (job && job->vmid) in amdgpu_ib_schedule()
270 amdgpu_vmid_reset(adev, ring->funcs->vmhub, job->vmid); in amdgpu_ib_schedule()