/kernel/linux/linux-5.10/drivers/gpu/drm/v3d/ |
H A 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, struc in to_csd_job() 58 v3d_job_free(struct drm_sched_job *sched_job) v3d_job_free() argument 73 v3d_job_dependency(struct drm_sched_job *sched_job, struct drm_sched_entity *s_entity) v3d_job_dependency() argument 88 v3d_bin_job_run(struct drm_sched_job *sched_job) v3d_bin_job_run() argument 141 v3d_render_job_run(struct drm_sched_job *sched_job) v3d_render_job_run() argument 184 v3d_tfu_job_run(struct drm_sched_job *sched_job) v3d_tfu_job_run() argument 221 v3d_csd_job_run(struct drm_sched_job *sched_job) v3d_csd_job_run() argument 252 v3d_cache_clean_job_run(struct drm_sched_job *sched_job) v3d_cache_clean_job_run() argument 263 v3d_gpu_reset_for_timeout(struct v3d_dev *v3d, struct drm_sched_job *sched_job) v3d_gpu_reset_for_timeout() argument 296 v3d_cl_job_timedout(struct drm_sched_job *sched_job, enum v3d_queue q, u32 *timedout_ctca, u32 *timedout_ctra) v3d_cl_job_timedout() argument 314 v3d_bin_job_timedout(struct drm_sched_job *sched_job) v3d_bin_job_timedout() argument 323 v3d_render_job_timedout(struct drm_sched_job *sched_job) v3d_render_job_timedout() argument 332 v3d_generic_job_timedout(struct drm_sched_job *sched_job) v3d_generic_job_timedout() argument 340 v3d_csd_job_timedout(struct drm_sched_job *sched_job) v3d_csd_job_timedout() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/v3d/ |
H A 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, struc in to_csd_job() 58 v3d_sched_job_free(struct drm_sched_job *sched_job) v3d_sched_job_free() argument 75 v3d_bin_job_run(struct drm_sched_job *sched_job) v3d_bin_job_run() argument 130 v3d_render_job_run(struct drm_sched_job *sched_job) v3d_render_job_run() argument 175 v3d_tfu_job_run(struct drm_sched_job *sched_job) v3d_tfu_job_run() argument 212 v3d_csd_job_run(struct drm_sched_job *sched_job) v3d_csd_job_run() argument 245 v3d_cache_clean_job_run(struct drm_sched_job *sched_job) v3d_cache_clean_job_run() argument 256 v3d_gpu_reset_for_timeout(struct v3d_dev *v3d, struct drm_sched_job *sched_job) v3d_gpu_reset_for_timeout() argument 291 v3d_cl_job_timedout(struct drm_sched_job *sched_job, enum v3d_queue q, u32 *timedout_ctca, u32 *timedout_ctra) v3d_cl_job_timedout() argument 309 v3d_bin_job_timedout(struct drm_sched_job *sched_job) v3d_bin_job_timedout() argument 318 v3d_render_job_timedout(struct drm_sched_job *sched_job) v3d_render_job_timedout() argument 327 v3d_generic_job_timedout(struct drm_sched_job *sched_job) v3d_generic_job_timedout() argument 335 v3d_csd_job_timedout(struct drm_sched_job *sched_job) v3d_csd_job_timedout() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/scheduler/ |
H A 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); 63 TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity), 64 TP_ARGS(sched_job, entity), 76 __entry->id = sched_job->id; 77 __entry->fence = &sched_job [all...] |
H A D | sched_entity.c | 33 #define to_drm_sched_job(sched_job) \ 34 container_of((sched_job), struct drm_sched_job, queue_node) 420 struct drm_sched_job *sched_job; in drm_sched_entity_pop_job() local 422 sched_job = to_drm_sched_job(spsc_queue_peek(&entity->job_queue)); in drm_sched_entity_pop_job() 423 if (!sched_job) in drm_sched_entity_pop_job() 427 sched->ops->dependency(sched_job, entity))) { in drm_sched_entity_pop_job() 428 trace_drm_sched_job_wait_dep(sched_job, entity->dependency); in drm_sched_entity_pop_job() 436 dma_fence_set_error(&sched_job->s_fence->finished, -ECANCELED); in drm_sched_entity_pop_job() 439 entity->last_scheduled = dma_fence_get(&sched_job->s_fence->finished); in drm_sched_entity_pop_job() 442 return sched_job; in drm_sched_entity_pop_job() 489 drm_sched_entity_push_job(struct drm_sched_job *sched_job, struct drm_sched_entity *entity) drm_sched_entity_push_job() argument [all...] |
H A D | sched_main.c | 60 #define to_drm_sched_job(sched_job) \ 61 container_of((sched_job), struct drm_sched_job, queue_node) 773 struct drm_sched_job *sched_job; in drm_sched_main() local 792 sched_job = drm_sched_entity_pop_job(entity); in drm_sched_main() 796 if (!sched_job) in drm_sched_main() 799 s_fence = sched_job->s_fence; in drm_sched_main() 802 drm_sched_job_begin(sched_job); in drm_sched_main() 804 trace_drm_run_job(sched_job, entity); in drm_sched_main() 805 fence = sched->ops->run_job(sched_job); in drm_sched_main() 810 r = dma_fence_add_callback(fence, &sched_job in drm_sched_main() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/scheduler/ |
H A 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), 41 __string(name, sched_job->sched->name) 49 __entry->id = sched_job->id; 50 __entry->fence = &sched_job->s_fence->finished; 51 __assign_str(name, sched_job->sched->name); 54 &sched_job->sched->hw_rq_count); 63 TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity), 64 TP_ARGS(sched_job, entity) 68 TP_PROTO(struct drm_sched_job *sched_job, struc [all...] |
H A D | sched_entity.c | 33 #define to_drm_sched_job(sched_job) \ 34 container_of((sched_job), struct drm_sched_job, queue_node) 454 struct drm_sched_job *sched_job; in drm_sched_entity_pop_job() local 456 sched_job = to_drm_sched_job(spsc_queue_peek(&entity->job_queue)); in drm_sched_entity_pop_job() 457 if (!sched_job) in drm_sched_entity_pop_job() 461 drm_sched_job_dependency(sched_job, entity))) { in drm_sched_entity_pop_job() 462 trace_drm_sched_job_wait_dep(sched_job, entity->dependency); in drm_sched_entity_pop_job() 470 dma_fence_set_error(&sched_job->s_fence->finished, -ECANCELED); in drm_sched_entity_pop_job() 474 dma_fence_get(&sched_job->s_fence->finished)); in drm_sched_entity_pop_job() 501 sched_job in drm_sched_entity_pop_job() 558 drm_sched_entity_push_job(struct drm_sched_job *sched_job) drm_sched_entity_push_job() argument [all...] |
H A D | sched_main.c | 67 #define to_drm_sched_job(sched_job) \ 68 container_of((sched_job), struct drm_sched_job, queue_node) 1015 struct drm_sched_job *sched_job; in drm_sched_main() local 1031 sched_job = drm_sched_entity_pop_job(entity); in drm_sched_main() 1033 if (!sched_job) { in drm_sched_main() 1038 s_fence = sched_job->s_fence; in drm_sched_main() 1041 drm_sched_job_begin(sched_job); in drm_sched_main() 1043 trace_drm_run_job(sched_job, entity); in drm_sched_main() 1044 fence = sched->ops->run_job(sched_job); in drm_sched_main() 1052 r = dma_fence_add_callback(fence, &sched_job in drm_sched_main() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_sched.c | 20 static struct dma_fence *etnaviv_sched_run_job(struct drm_sched_job *sched_job) in etnaviv_sched_run_job() argument 22 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_run_job() 25 if (likely(!sched_job->s_fence->finished.error)) in etnaviv_sched_run_job() 34 *sched_job) in etnaviv_sched_timedout_job() 36 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_timedout_job() 42 drm_sched_stop(&gpu->sched, sched_job); in etnaviv_sched_timedout_job() 66 if(sched_job) in etnaviv_sched_timedout_job() 67 drm_sched_increase_karma(sched_job); in etnaviv_sched_timedout_job() 84 static void etnaviv_sched_free_job(struct drm_sched_job *sched_job) in etnaviv_sched_free_job() argument 86 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_free_job() 33 etnaviv_sched_timedout_job(struct drm_sched_job *sched_job) etnaviv_sched_timedout_job() argument [all...] |
H A 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()
|
H A D | etnaviv_gem_submit.c | 189 ret = drm_sched_job_add_implicit_dependencies(&submit->sched_job, in submit_fence_sync() 536 ret = drm_sched_job_init(&submit->sched_job, in etnaviv_ioctl_gem_submit() 560 ret = drm_sched_job_add_dependency(&submit->sched_job, in etnaviv_ioctl_gem_submit() 608 * the sched_job must not be cleaned up. in etnaviv_ioctl_gem_submit() 620 drm_sched_job_cleanup(&submit->sched_job); in etnaviv_ioctl_gem_submit()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/etnaviv/ |
H A 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() 93 drm_sched_stop(&gpu->sched, sched_job); in etnaviv_sched_timedout_job() 116 if(sched_job) in etnaviv_sched_timedout_job() 117 drm_sched_increase_karma(sched_job); in etnaviv_sched_timedout_job() 130 etnaviv_sched_free_job(struct drm_sched_job *sched_job) etnaviv_sched_free_job() argument [all...] |
H A 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()
|
/kernel/linux/linux-5.10/include/drm/ |
H A D | gpu_scheduler.h | 221 struct dma_fence *(*dependency)(struct drm_sched_job *sched_job, 230 struct dma_fence *(*run_job)(struct drm_sched_job *sched_job); 236 void (*timedout_job)(struct drm_sched_job *sched_job); 242 void (*free_job)(struct drm_sched_job *sched_job); 332 void drm_sched_entity_push_job(struct drm_sched_job *sched_job,
|
/kernel/linux/linux-5.10/drivers/gpu/drm/panfrost/ |
H A D | panfrost_job.c | 49 to_panfrost_job(struct drm_sched_job *sched_job) in to_panfrost_job() argument 51 return container_of(sched_job, struct panfrost_job, base); in to_panfrost_job() 307 static void panfrost_job_free(struct drm_sched_job *sched_job) in panfrost_job_free() argument 309 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_free() 311 drm_sched_job_cleanup(sched_job); in panfrost_job_free() 316 static struct dma_fence *panfrost_job_dependency(struct drm_sched_job *sched_job, in panfrost_job_dependency() argument 319 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_dependency() 344 static struct dma_fence *panfrost_job_run(struct drm_sched_job *sched_job) in panfrost_job_run() argument 346 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_run() 435 static void panfrost_job_timedout(struct drm_sched_job *sched_job) in panfrost_job_timedout() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_job.c | 180 static struct dma_fence *amdgpu_job_dependency(struct drm_sched_job *sched_job, in amdgpu_job_dependency() argument 184 struct amdgpu_job *job = to_amdgpu_job(sched_job); in amdgpu_job_dependency() 209 static struct dma_fence *amdgpu_job_run(struct drm_sched_job *sched_job) in amdgpu_job_run() argument 211 struct amdgpu_ring *ring = to_amdgpu_ring(sched_job->sched); in amdgpu_job_run() 216 job = to_amdgpu_job(sched_job); in amdgpu_job_run() 244 #define to_drm_sched_job(sched_job) \ 245 container_of((sched_job), struct drm_sched_job, queue_node)
|
H A D | amdgpu_job.h | 35 #define to_amdgpu_job(sched_job) \ 36 container_of((sched_job), struct amdgpu_job, base)
|
H A D | amdgpu_trace.h | 185 TP_printk("sched_job=%llu, timeline=%s, context=%u, seqno=%u, ring_name=%s, num_ibs=%u", 210 TP_printk("sched_job=%llu, timeline=%s, context=%u, seqno=%u, ring_name=%s, num_ibs=%u", 516 TP_PROTO(struct amdgpu_job *sched_job, struct dma_fence *fence), 517 TP_ARGS(sched_job, fence), 519 __string(ring, sched_job->base.sched->name) 527 __assign_str(ring, sched_job->base.sched->name) 528 __entry->id = sched_job->base.id;
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_job.c | 253 amdgpu_job_prepare_job(struct drm_sched_job *sched_job, in amdgpu_job_prepare_job() argument 257 struct amdgpu_job *job = to_amdgpu_job(sched_job); in amdgpu_job_prepare_job() 284 static struct dma_fence *amdgpu_job_run(struct drm_sched_job *sched_job) in amdgpu_job_run() argument 286 struct amdgpu_ring *ring = to_amdgpu_ring(sched_job->sched); in amdgpu_job_run() 292 job = to_amdgpu_job(sched_job); in amdgpu_job_run() 318 #define to_drm_sched_job(sched_job) \ 319 container_of((sched_job), struct drm_sched_job, queue_node)
|
H A D | amdgpu_job.h | 39 #define to_amdgpu_job(sched_job) \ 40 container_of((sched_job), struct amdgpu_job, base)
|
H A D | amdgpu_trace.h | 187 TP_printk("sched_job=%llu, timeline=%s, context=%u, seqno=%u, ring_name=%s, num_ibs=%u", 212 TP_printk("sched_job=%llu, timeline=%s, context=%u, seqno=%u, ring_name=%s, num_ibs=%u", 518 TP_PROTO(struct amdgpu_job *sched_job, struct dma_fence *fence), 519 TP_ARGS(sched_job, fence), 521 __string(ring, sched_job->base.sched->name) 529 __assign_str(ring, sched_job->base.sched->name); 530 __entry->id = sched_job->base.id;
|
/kernel/linux/linux-6.6/include/drm/ |
H A D | gpu_scheduler.h | 405 struct dma_fence *(*prepare_job)(struct drm_sched_job *sched_job, 414 struct dma_fence *(*run_job)(struct drm_sched_job *sched_job); 458 enum drm_gpu_sched_stat (*timedout_job)(struct drm_sched_job *sched_job); 464 void (*free_job)(struct drm_sched_job *sched_job); 579 void drm_sched_entity_push_job(struct drm_sched_job *sched_job);
|
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/ |
H A D | nouveau_sched.c | 368 nouveau_sched_run_job(struct drm_sched_job *sched_job) in nouveau_sched_run_job() argument 370 struct nouveau_job *job = to_nouveau_job(sched_job); in nouveau_sched_run_job() 376 nouveau_sched_timedout_job(struct drm_sched_job *sched_job) in nouveau_sched_timedout_job() argument 378 struct drm_gpu_scheduler *sched = sched_job->sched; in nouveau_sched_timedout_job() 379 struct nouveau_job *job = to_nouveau_job(sched_job); in nouveau_sched_timedout_job() 382 drm_sched_stop(sched, sched_job); in nouveau_sched_timedout_job() 395 nouveau_sched_free_job(struct drm_sched_job *sched_job) in nouveau_sched_free_job() argument 397 struct nouveau_job *job = to_nouveau_job(sched_job); in nouveau_sched_free_job()
|
H A D | nouveau_sched.h | 13 #define to_nouveau_job(sched_job) \ 14 container_of((sched_job), struct nouveau_job, base)
|
/kernel/linux/linux-6.6/drivers/gpu/drm/panfrost/ |
H A D | panfrost_job.c | 43 to_panfrost_job(struct drm_sched_job *sched_job) in to_panfrost_job() argument 45 return container_of(sched_job, struct panfrost_job, base); in to_panfrost_job() 348 static void panfrost_job_free(struct drm_sched_job *sched_job) in panfrost_job_free() argument 350 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_free() 352 drm_sched_job_cleanup(sched_job); in panfrost_job_free() 357 static struct dma_fence *panfrost_job_run(struct drm_sched_job *sched_job) in panfrost_job_run() argument 359 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_run() 710 *sched_job) in panfrost_job_timedout() 712 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_timedout() 739 dev_err(pfdev->dev, "gpu sched timeout, js=%d, config=0x%x, status=0x%x, head=0x%x, tail=0x%x, sched_job in panfrost_job_timedout() 709 panfrost_job_timedout(struct drm_sched_job *sched_job) panfrost_job_timedout() argument [all...] |