Home
last modified time | relevance | path

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

/linux-6.1.9/drivers/gpu/drm/scheduler/
Dsched_main.c172 static void drm_sched_job_done(struct drm_sched_job *s_job) in drm_sched_job_done() argument
174 struct drm_sched_fence *s_fence = s_job->s_fence; in drm_sched_job_done()
195 struct drm_sched_job *s_job = container_of(cb, struct drm_sched_job, cb); in drm_sched_job_done_cb() local
197 drm_sched_job_done(s_job); in drm_sched_job_done_cb()
305 static void drm_sched_job_begin(struct drm_sched_job *s_job) in drm_sched_job_begin() argument
307 struct drm_gpu_scheduler *sched = s_job->sched; in drm_sched_job_begin()
310 list_add_tail(&s_job->list, &sched->pending_list); in drm_sched_job_begin()
393 struct drm_sched_job *s_job, *tmp; in drm_sched_stop() local
417 list_for_each_entry_safe_reverse(s_job, tmp, &sched->pending_list, in drm_sched_stop()
419 if (s_job->s_fence->parent && in drm_sched_stop()
[all …]
/linux-6.1.9/drivers/gpu/drm/amd/amdgpu/
Damdgpu_job.c34 static enum drm_gpu_sched_stat amdgpu_job_timedout(struct drm_sched_job *s_job) in amdgpu_job_timedout() argument
36 struct amdgpu_ring *ring = to_amdgpu_ring(s_job->sched); in amdgpu_job_timedout()
37 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_timedout()
45 __func__, s_job->sched->name); in amdgpu_job_timedout()
55 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout()
57 s_job->sched->name); in amdgpu_job_timedout()
169 static void amdgpu_job_free_cb(struct drm_sched_job *s_job) in amdgpu_job_free_cb() argument
171 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_free_cb()
173 drm_sched_job_cleanup(s_job); in amdgpu_job_free_cb()
324 struct drm_sched_job *s_job; in amdgpu_job_stop_all_jobs_on_sched() local
[all …]
Damdgpu_debugfs.c1667 struct drm_sched_job *s_job; in amdgpu_ib_preempt_job_recovery() local
1671 list_for_each_entry(s_job, &sched->pending_list, list) { in amdgpu_ib_preempt_job_recovery()
1672 fence = sched->ops->run_job(s_job); in amdgpu_ib_preempt_job_recovery()
1681 struct drm_sched_job *s_job, *tmp; in amdgpu_ib_preempt_mark_partial_job() local
1703 list_for_each_entry_safe(s_job, tmp, &sched->pending_list, list) { in amdgpu_ib_preempt_mark_partial_job()
1704 if (dma_fence_is_signaled(&s_job->s_fence->finished)) { in amdgpu_ib_preempt_mark_partial_job()
1706 list_del_init(&s_job->list); in amdgpu_ib_preempt_mark_partial_job()
1707 sched->ops->free_job(s_job); in amdgpu_ib_preempt_mark_partial_job()
1710 job = to_amdgpu_job(s_job); in amdgpu_ib_preempt_mark_partial_job()
Damdgpu_device.c5105 struct drm_sched_job *s_job; in amdgpu_device_recheck_guilty_jobs() local
5110 s_job = list_first_entry_or_null(&ring->sched.pending_list, in amdgpu_device_recheck_guilty_jobs()
5112 if (s_job == NULL) in amdgpu_device_recheck_guilty_jobs()
5116 drm_sched_reset_karma(s_job); in amdgpu_device_recheck_guilty_jobs()
5119 if (!s_job->s_fence->parent) { in amdgpu_device_recheck_guilty_jobs()
5124 ret = dma_fence_wait_timeout(s_job->s_fence->parent, false, ring->sched.timeout); in amdgpu_device_recheck_guilty_jobs()
5127 ring->sched.name, s_job->id); in amdgpu_device_recheck_guilty_jobs()
5140 dma_fence_put(s_job->s_fence->parent); in amdgpu_device_recheck_guilty_jobs()
5141 s_job->s_fence->parent = NULL; in amdgpu_device_recheck_guilty_jobs()
5144 drm_sched_increase_karma(s_job); in amdgpu_device_recheck_guilty_jobs()
[all …]
/linux-6.1.9/include/drm/
Dgpu_scheduler.h328 static inline bool drm_sched_invalidate_job(struct drm_sched_job *s_job, in drm_sched_invalidate_job() argument
331 return s_job && atomic_inc_return(&s_job->karma) > threshold; in drm_sched_invalidate_job()
508 void drm_sched_job_kickout(struct drm_sched_job *s_job);