Searched refs:s_job (Results 1 – 5 of 5) sorted by relevance
| /Linux-v5.15/drivers/gpu/drm/scheduler/ |
| D | sched_main.c | 170 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/ |
| D | amdgpu_job.c | 33 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 …]
|
| D | amdgpu_debugfs.c | 1373 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()
|
| D | amdgpu_device.c | 4851 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/ |
| D | gpu_scheduler.h | 203 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);
|