Lines Matching refs:job
169 struct amdgpu_job *job) in amdgpu_vmid_gds_switch_needed() argument
171 return id->gds_base != job->gds_base || in amdgpu_vmid_gds_switch_needed()
172 id->gds_size != job->gds_size || in amdgpu_vmid_gds_switch_needed()
173 id->gws_base != job->gws_base || in amdgpu_vmid_gds_switch_needed()
174 id->gws_size != job->gws_size || in amdgpu_vmid_gds_switch_needed()
175 id->oa_base != job->oa_base || in amdgpu_vmid_gds_switch_needed()
176 id->oa_size != job->oa_size; in amdgpu_vmid_gds_switch_needed()
181 struct amdgpu_job *job) in amdgpu_vmid_compatible() argument
183 return id->pd_gpu_addr == job->vm_pd_addr && in amdgpu_vmid_compatible()
184 !amdgpu_vmid_gds_switch_needed(id, job); in amdgpu_vmid_compatible()
272 struct amdgpu_job *job, in amdgpu_vmid_grab_reserved() argument
286 !amdgpu_vmid_compatible(*id, job) || in amdgpu_vmid_grab_reserved()
297 if (!dma_fence_is_signaled(tmp) && tmp != job->gang_submit) { in amdgpu_vmid_grab_reserved()
305 if (!job->gang_submit || in amdgpu_vmid_grab_reserved()
329 r = amdgpu_sync_fence(&(*id)->active, &job->base.s_fence->finished); in amdgpu_vmid_grab_reserved()
333 job->vm_needs_flush = needs_flush; in amdgpu_vmid_grab_reserved()
334 job->spm_update_needed = true; in amdgpu_vmid_grab_reserved()
350 struct amdgpu_job *job, in amdgpu_vmid_grab_used() argument
360 job->vm_needs_flush = vm->use_cpu_for_update; in amdgpu_vmid_grab_used()
370 if (!amdgpu_vmid_compatible(*id, job)) in amdgpu_vmid_grab_used()
388 &job->base.s_fence->finished); in amdgpu_vmid_grab_used()
392 job->vm_needs_flush |= needs_flush; in amdgpu_vmid_grab_used()
411 struct amdgpu_job *job, struct dma_fence **fence) in amdgpu_vmid_grab() argument
426 r = amdgpu_vmid_grab_reserved(vm, ring, job, &id, fence); in amdgpu_vmid_grab()
430 r = amdgpu_vmid_grab_used(vm, ring, job, &id); in amdgpu_vmid_grab()
440 &job->base.s_fence->finished); in amdgpu_vmid_grab()
444 job->vm_needs_flush = true; in amdgpu_vmid_grab()
450 job->gds_switch_needed = amdgpu_vmid_gds_switch_needed(id, job); in amdgpu_vmid_grab()
451 if (job->vm_needs_flush) { in amdgpu_vmid_grab()
456 job->vmid = id - id_mgr->ids; in amdgpu_vmid_grab()
457 job->pasid = vm->pasid; in amdgpu_vmid_grab()
459 id->gds_base = job->gds_base; in amdgpu_vmid_grab()
460 id->gds_size = job->gds_size; in amdgpu_vmid_grab()
461 id->gws_base = job->gws_base; in amdgpu_vmid_grab()
462 id->gws_size = job->gws_size; in amdgpu_vmid_grab()
463 id->oa_base = job->oa_base; in amdgpu_vmid_grab()
464 id->oa_size = job->oa_size; in amdgpu_vmid_grab()
465 id->pd_gpu_addr = job->vm_pd_addr; in amdgpu_vmid_grab()
468 trace_amdgpu_vm_grab_id(vm, ring, job); in amdgpu_vmid_grab()