Lines Matching full:job

170 					  struct amdgpu_job *job)  in amdgpu_vmid_gds_switch_needed()  argument
172 return id->gds_base != job->gds_base || in amdgpu_vmid_gds_switch_needed()
173 id->gds_size != job->gds_size || in amdgpu_vmid_gds_switch_needed()
174 id->gws_base != job->gws_base || in amdgpu_vmid_gds_switch_needed()
175 id->gws_size != job->gws_size || in amdgpu_vmid_gds_switch_needed()
176 id->oa_base != job->oa_base || in amdgpu_vmid_gds_switch_needed()
177 id->oa_size != job->oa_size; in amdgpu_vmid_gds_switch_needed()
180 /* Check if the id is compatible with the job */
182 struct amdgpu_job *job) in amdgpu_vmid_compatible() argument
184 return id->pd_gpu_addr == job->vm_pd_addr && in amdgpu_vmid_compatible()
185 !amdgpu_vmid_gds_switch_needed(id, job); in amdgpu_vmid_compatible()
191 * @ring: ring we want to submit job to
264 * @ring: ring we want to submit job to
265 * @job: job who wants to use the VMID
273 struct amdgpu_job *job, in amdgpu_vmid_grab_reserved() argument
287 !amdgpu_vmid_compatible(*id, job) || in amdgpu_vmid_grab_reserved()
312 r = amdgpu_sync_fence(&(*id)->active, &job->base.s_fence->finished); in amdgpu_vmid_grab_reserved()
316 job->vm_needs_flush = needs_flush; in amdgpu_vmid_grab_reserved()
317 job->spm_update_needed = true; in amdgpu_vmid_grab_reserved()
325 * @ring: ring we want to submit job to
326 * @job: job who wants to use the VMID
334 struct amdgpu_job *job, in amdgpu_vmid_grab_used() argument
345 job->vm_needs_flush = vm->use_cpu_for_update; in amdgpu_vmid_grab_used()
355 if (!amdgpu_vmid_compatible(*id, job)) in amdgpu_vmid_grab_used()
373 &job->base.s_fence->finished); in amdgpu_vmid_grab_used()
377 job->vm_needs_flush |= needs_flush; in amdgpu_vmid_grab_used()
389 * @ring: ring we want to submit job to
390 * @job: job who wants to use the VMID
396 struct amdgpu_job *job, struct dma_fence **fence) in amdgpu_vmid_grab() argument
411 r = amdgpu_vmid_grab_reserved(vm, ring, job, &id, fence); in amdgpu_vmid_grab()
415 r = amdgpu_vmid_grab_used(vm, ring, job, &id, fence); in amdgpu_vmid_grab()
425 &job->base.s_fence->finished); in amdgpu_vmid_grab()
429 job->vm_needs_flush = true; in amdgpu_vmid_grab()
435 job->gds_switch_needed = amdgpu_vmid_gds_switch_needed(id, job); in amdgpu_vmid_grab()
436 if (job->vm_needs_flush) { in amdgpu_vmid_grab()
441 job->vmid = id - id_mgr->ids; in amdgpu_vmid_grab()
442 job->pasid = vm->pasid; in amdgpu_vmid_grab()
444 id->gds_base = job->gds_base; in amdgpu_vmid_grab()
445 id->gds_size = job->gds_size; in amdgpu_vmid_grab()
446 id->gws_base = job->gws_base; in amdgpu_vmid_grab()
447 id->gws_size = job->gws_size; in amdgpu_vmid_grab()
448 id->oa_base = job->oa_base; in amdgpu_vmid_grab()
449 id->oa_size = job->oa_size; in amdgpu_vmid_grab()
450 id->pd_gpu_addr = job->vm_pd_addr; in amdgpu_vmid_grab()
453 trace_amdgpu_vm_grab_id(vm, ring, job); in amdgpu_vmid_grab()