Home
last modified time | relevance | path

Searched refs:s_job (Results 1 – 5 of 5) sorted by relevance

/Linux-v5.15/drivers/gpu/drm/scheduler/
Dsched_main.c170 static void drm_sched_job_done(struct drm_sched_job *s_job) in drm_sched_job_done() argument
172 struct drm_sched_fence *s_fence = s_job->s_fence; in drm_sched_job_done()
193 struct drm_sched_job *s_job = container_of(cb, struct drm_sched_job, cb); in drm_sched_job_done_cb() local
195 drm_sched_job_done(s_job); in drm_sched_job_done_cb()
303 static void drm_sched_job_begin(struct drm_sched_job *s_job) in drm_sched_job_begin() argument
305 struct drm_gpu_scheduler *sched = s_job->sched; in drm_sched_job_begin()
308 list_add_tail(&s_job->list, &sched->pending_list); in drm_sched_job_begin()
391 struct drm_sched_job *s_job, *tmp; in drm_sched_stop() local
415 list_for_each_entry_safe_reverse(s_job, tmp, &sched->pending_list, in drm_sched_stop()
417 if (s_job->s_fence->parent && in drm_sched_stop()
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/amdgpu/
Damdgpu_job.c33 static enum drm_gpu_sched_stat amdgpu_job_timedout(struct drm_sched_job *s_job) in amdgpu_job_timedout() argument
35 struct amdgpu_ring *ring = to_amdgpu_ring(s_job->sched); in amdgpu_job_timedout()
36 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_timedout()
43 __func__, s_job->sched->name); in amdgpu_job_timedout()
52 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout()
54 s_job->sched->name); in amdgpu_job_timedout()
144 static void amdgpu_job_free_cb(struct drm_sched_job *s_job) in amdgpu_job_free_cb() argument
146 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_free_cb()
148 drm_sched_job_cleanup(s_job); in amdgpu_job_free_cb()
281 struct drm_sched_job *s_job; in amdgpu_job_stop_all_jobs_on_sched() local
[all …]
Damdgpu_debugfs.c1373 struct drm_sched_job *s_job; in amdgpu_ib_preempt_job_recovery() local
1377 list_for_each_entry(s_job, &sched->pending_list, list) { in amdgpu_ib_preempt_job_recovery()
1378 fence = sched->ops->run_job(s_job); in amdgpu_ib_preempt_job_recovery()
1387 struct drm_sched_job *s_job, *tmp; in amdgpu_ib_preempt_mark_partial_job() local
1409 list_for_each_entry_safe(s_job, tmp, &sched->pending_list, list) { in amdgpu_ib_preempt_mark_partial_job()
1410 if (dma_fence_is_signaled(&s_job->s_fence->finished)) { in amdgpu_ib_preempt_mark_partial_job()
1412 list_del_init(&s_job->list); in amdgpu_ib_preempt_mark_partial_job()
1413 sched->ops->free_job(s_job); in amdgpu_ib_preempt_mark_partial_job()
1416 job = to_amdgpu_job(s_job); in amdgpu_ib_preempt_mark_partial_job()
Damdgpu_device.c4851 struct drm_sched_job *s_job; in amdgpu_device_recheck_guilty_jobs() local
4856 s_job = list_first_entry_or_null(&ring->sched.pending_list, in amdgpu_device_recheck_guilty_jobs()
4858 if (s_job == NULL) in amdgpu_device_recheck_guilty_jobs()
4862 drm_sched_reset_karma(s_job); in amdgpu_device_recheck_guilty_jobs()
4865 ret = dma_fence_wait_timeout(s_job->s_fence->parent, false, ring->sched.timeout); in amdgpu_device_recheck_guilty_jobs()
4868 ring->sched.name, s_job->id); in amdgpu_device_recheck_guilty_jobs()
4871 drm_sched_increase_karma(s_job); in amdgpu_device_recheck_guilty_jobs()
4898 dma_fence_get(&s_job->s_fence->finished); in amdgpu_device_recheck_guilty_jobs()
4899 dma_fence_signal(&s_job->s_fence->finished); in amdgpu_device_recheck_guilty_jobs()
4900 dma_fence_put(&s_job->s_fence->finished); in amdgpu_device_recheck_guilty_jobs()
[all …]
/Linux-v5.15/include/drm/
Dgpu_scheduler.h203 static inline bool drm_sched_invalidate_job(struct drm_sched_job *s_job, in drm_sched_invalidate_job() argument
206 return s_job && atomic_inc_return(&s_job->karma) > threshold; in drm_sched_invalidate_job()
367 void drm_sched_job_kickout(struct drm_sched_job *s_job);