| /Linux-v5.4/drivers/gpu/drm/v3d/ |
| D | v3d_sched.c | 28 to_v3d_job(struct drm_sched_job *sched_job) in to_v3d_job() argument 30 return container_of(sched_job, struct v3d_job, base); in to_v3d_job() 34 to_bin_job(struct drm_sched_job *sched_job) in to_bin_job() argument 36 return container_of(sched_job, struct v3d_bin_job, base.base); in to_bin_job() 40 to_render_job(struct drm_sched_job *sched_job) in to_render_job() argument 42 return container_of(sched_job, struct v3d_render_job, base.base); in to_render_job() 46 to_tfu_job(struct drm_sched_job *sched_job) in to_tfu_job() argument 48 return container_of(sched_job, struct v3d_tfu_job, base.base); in to_tfu_job() 52 to_csd_job(struct drm_sched_job *sched_job) in to_csd_job() argument 54 return container_of(sched_job, struct v3d_csd_job, base.base); in to_csd_job() [all …]
|
| /Linux-v5.4/drivers/gpu/drm/etnaviv/ |
| D | etnaviv_sched.c | 21 etnaviv_sched_dependency(struct drm_sched_job *sched_job, in etnaviv_sched_dependency() argument 24 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_dependency() 72 static struct dma_fence *etnaviv_sched_run_job(struct drm_sched_job *sched_job) in etnaviv_sched_run_job() argument 74 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_run_job() 77 if (likely(!sched_job->s_fence->finished.error)) in etnaviv_sched_run_job() 85 static void etnaviv_sched_timedout_job(struct drm_sched_job *sched_job) in etnaviv_sched_timedout_job() argument 87 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_timedout_job() 112 drm_sched_stop(&gpu->sched, sched_job); in etnaviv_sched_timedout_job() 114 if(sched_job) in etnaviv_sched_timedout_job() 115 drm_sched_increase_karma(sched_job); in etnaviv_sched_timedout_job() [all …]
|
| D | etnaviv_sched.h | 14 struct etnaviv_gem_submit *to_etnaviv_submit(struct drm_sched_job *sched_job) in to_etnaviv_submit() argument 16 return container_of(sched_job, struct etnaviv_gem_submit, sched_job); in to_etnaviv_submit()
|
| D | etnaviv_gem.h | 93 struct drm_sched_job sched_job; member
|
| /Linux-v5.4/drivers/gpu/drm/scheduler/ |
| D | gpu_scheduler_trace.h | 36 TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity), 37 TP_ARGS(sched_job, entity), 49 __entry->id = sched_job->id; 50 __entry->fence = &sched_job->s_fence->finished; 51 __entry->name = sched_job->sched->name; 54 &sched_job->sched->hw_rq_count); 76 TP_PROTO(struct drm_sched_job *sched_job, struct dma_fence *fence), 77 TP_ARGS(sched_job, fence), 87 __entry->name = sched_job->sched->name; 88 __entry->id = sched_job->id;
|
| D | sched_entity.c | 32 #define to_drm_sched_job(sched_job) \ argument 33 container_of((sched_job), struct drm_sched_job, queue_node) 451 struct drm_sched_job *sched_job; in drm_sched_entity_pop_job() local 453 sched_job = to_drm_sched_job(spsc_queue_peek(&entity->job_queue)); in drm_sched_entity_pop_job() 454 if (!sched_job) in drm_sched_entity_pop_job() 458 sched->ops->dependency(sched_job, entity))) { in drm_sched_entity_pop_job() 459 trace_drm_sched_job_wait_dep(sched_job, entity->dependency); in drm_sched_entity_pop_job() 467 dma_fence_set_error(&sched_job->s_fence->finished, -ECANCELED); in drm_sched_entity_pop_job() 470 entity->last_scheduled = dma_fence_get(&sched_job->s_fence->finished); in drm_sched_entity_pop_job() 473 return sched_job; in drm_sched_entity_pop_job() [all …]
|
| D | sched_main.c | 59 #define to_drm_sched_job(sched_job) \ argument 60 container_of((sched_job), struct drm_sched_job, queue_node) 709 struct drm_sched_job *sched_job; in drm_sched_main() local 721 sched_job = drm_sched_entity_pop_job(entity); in drm_sched_main() 722 if (!sched_job) in drm_sched_main() 725 s_fence = sched_job->s_fence; in drm_sched_main() 728 drm_sched_job_begin(sched_job); in drm_sched_main() 730 fence = sched->ops->run_job(sched_job); in drm_sched_main() 735 r = dma_fence_add_callback(fence, &sched_job->cb, in drm_sched_main() 738 drm_sched_process_job(fence, &sched_job->cb); in drm_sched_main() [all …]
|
| /Linux-v5.4/drivers/gpu/drm/panfrost/ |
| D | panfrost_job.c | 39 to_panfrost_job(struct drm_sched_job *sched_job) in to_panfrost_job() argument 41 return container_of(sched_job, struct panfrost_job, base); in to_panfrost_job() 286 static void panfrost_job_free(struct drm_sched_job *sched_job) in panfrost_job_free() argument 288 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_free() 290 drm_sched_job_cleanup(sched_job); in panfrost_job_free() 295 static struct dma_fence *panfrost_job_dependency(struct drm_sched_job *sched_job, in panfrost_job_dependency() argument 298 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_dependency() 323 static struct dma_fence *panfrost_job_run(struct drm_sched_job *sched_job) in panfrost_job_run() argument 325 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_run() 361 static void panfrost_job_timedout(struct drm_sched_job *sched_job) in panfrost_job_timedout() argument [all …]
|
| /Linux-v5.4/include/drm/ |
| D | gpu_scheduler.h | 214 struct dma_fence *(*dependency)(struct drm_sched_job *sched_job, 223 struct dma_fence *(*run_job)(struct drm_sched_job *sched_job); 229 void (*timedout_job)(struct drm_sched_job *sched_job); 235 void (*free_job)(struct drm_sched_job *sched_job); 320 void drm_sched_entity_push_job(struct drm_sched_job *sched_job,
|
| /Linux-v5.4/drivers/gpu/drm/amd/amdgpu/ |
| D | amdgpu_job.c | 183 static struct dma_fence *amdgpu_job_dependency(struct drm_sched_job *sched_job, in amdgpu_job_dependency() argument 187 struct amdgpu_job *job = to_amdgpu_job(sched_job); in amdgpu_job_dependency() 216 static struct dma_fence *amdgpu_job_run(struct drm_sched_job *sched_job) in amdgpu_job_run() argument 218 struct amdgpu_ring *ring = to_amdgpu_ring(sched_job->sched); in amdgpu_job_run() 223 job = to_amdgpu_job(sched_job); in amdgpu_job_run()
|
| D | amdgpu_job.h | 35 #define to_amdgpu_job(sched_job) \ argument 36 container_of((sched_job), struct amdgpu_job, base)
|
| D | amdgpu_trace.h | 468 TP_PROTO(struct amdgpu_job *sched_job, struct dma_fence *fence), 469 TP_ARGS(sched_job, fence), 479 __entry->name = sched_job->base.sched->name; 480 __entry->id = sched_job->base.id;
|