Lines Matching refs:fence
98 f = job->base.s_fence ? &job->base.s_fence->finished : job->fence; in amdgpu_job_free_resources()
110 dma_fence_put(job->fence); in amdgpu_job_free_cb()
120 dma_fence_put(job->fence); in amdgpu_job_free()
153 struct dma_fence **fence) in amdgpu_job_submit_direct() argument
158 r = amdgpu_ib_schedule(ring, job->num_ibs, job->ibs, NULL, fence); in amdgpu_job_submit_direct()
159 job->fence = dma_fence_get(*fence); in amdgpu_job_submit_direct()
173 struct dma_fence *fence; in amdgpu_job_dependency() local
177 fence = amdgpu_sync_get_fence(&job->sync, &explicit); in amdgpu_job_dependency()
178 if (fence && explicit) { in amdgpu_job_dependency()
179 if (drm_sched_dependency_optimized(fence, s_entity)) { in amdgpu_job_dependency()
181 fence, false); in amdgpu_job_dependency()
187 while (fence == NULL && vm && !job->vmid) { in amdgpu_job_dependency()
194 fence = amdgpu_sync_get_fence(&job->sync, NULL); in amdgpu_job_dependency()
197 return fence; in amdgpu_job_dependency()
203 struct dma_fence *fence = NULL, *finished; in amdgpu_job_run() local
221 &fence); in amdgpu_job_run()
226 dma_fence_put(job->fence); in amdgpu_job_run()
227 job->fence = dma_fence_get(fence); in amdgpu_job_run()
230 return fence; in amdgpu_job_run()