| /linux/drivers/gpu/drm/etnaviv/ |
| H A D | etnaviv_sched.c | 21 static struct dma_fence *etnaviv_sched_run_job(struct drm_sched_job *sched_job) in etnaviv_sched_run_job() argument 23 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_run_job() 26 if (likely(!sched_job->s_fence->finished.error)) in etnaviv_sched_run_job() 35 *sched_job) in etnaviv_sched_timedout_job() 37 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_timedout_job() 77 drm_sched_stop(&gpu->sched, sched_job); in etnaviv_sched_timedout_job() 79 if(sched_job) in etnaviv_sched_timedout_job() 80 drm_sched_increase_karma(sched_job); in etnaviv_sched_timedout_job() 92 static void etnaviv_sched_free_job(struct drm_sched_job *sched_job) in etnaviv_sched_free_job() argument 94 struct etnaviv_gem_submit *submit = to_etnaviv_submit(sched_job); in etnaviv_sched_free_job() [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 | 188 ret = drm_sched_job_add_implicit_dependencies(&submit->sched_job, in submit_fence_sync() 535 ret = drm_sched_job_init(&submit->sched_job, in etnaviv_ioctl_gem_submit() 559 ret = drm_sched_job_add_dependency(&submit->sched_job, in etnaviv_ioctl_gem_submit() 619 drm_sched_job_cleanup(&submit->sched_job); in etnaviv_ioctl_gem_submit()
|
| H A D | etnaviv_gem.h | 93 struct drm_sched_job sched_job; member
|
| /linux/drivers/gpu/drm/scheduler/ |
| H A D | sched_entity.c | 400 struct drm_sched_job *sched_job) in drm_sched_entity_add_dependency_cb() argument 432 trace_drm_sched_job_unschedulable(sched_job, entity->dependency); in drm_sched_entity_add_dependency_cb() 466 struct drm_sched_job *sched_job; in drm_sched_entity_pop_job() local 468 sched_job = drm_sched_entity_queue_peek(entity); in drm_sched_entity_pop_job() 469 if (!sched_job) in drm_sched_entity_pop_job() 473 drm_sched_job_dependency(sched_job, entity))) { in drm_sched_entity_pop_job() 474 if (drm_sched_entity_add_dependency_cb(entity, sched_job)) in drm_sched_entity_pop_job() 480 dma_fence_set_error(&sched_job->s_fence->finished, -ECANCELED); in drm_sched_entity_pop_job() 484 dma_fence_get(&sched_job->s_fence->finished)); in drm_sched_entity_pop_job() 520 sched_job->entity = NULL; in drm_sched_entity_pop_job() [all …]
|
| H A D | sched_main.c | 1238 struct drm_sched_job *sched_job; in drm_sched_run_job_work() local 1251 sched_job = drm_sched_entity_pop_job(entity); in drm_sched_run_job_work() 1252 if (!sched_job) { in drm_sched_run_job_work() 1258 s_fence = sched_job->s_fence; in drm_sched_run_job_work() 1260 atomic_add(sched_job->credits, &sched->credit_count); in drm_sched_run_job_work() 1261 drm_sched_job_begin(sched_job); in drm_sched_run_job_work() 1263 trace_drm_sched_job_run(sched_job, entity); in drm_sched_run_job_work() 1268 fence = sched->ops->run_job(sched_job); in drm_sched_run_job_work() 1273 r = dma_fence_add_callback(fence, &sched_job->cb, in drm_sched_run_job_work() 1276 drm_sched_job_done(sched_job, fence->error); in drm_sched_run_job_work() [all …]
|
| /linux/drivers/accel/rocket/ |
| H A D | rocket_job.c | 24 to_rocket_job(struct drm_sched_job *sched_job) in to_rocket_job() argument 26 return container_of(sched_job, struct rocket_job, base); in to_rocket_job() 265 static void rocket_job_free(struct drm_sched_job *sched_job) in rocket_job_free() argument 267 struct rocket_job *job = to_rocket_job(sched_job); in rocket_job_free() 269 drm_sched_job_cleanup(sched_job); in rocket_job_free() 287 static struct dma_fence *rocket_job_run(struct drm_sched_job *sched_job) in rocket_job_run() argument 289 struct rocket_job *job = to_rocket_job(sched_job); in rocket_job_run() 291 struct rocket_core *core = sched_to_core(rdev, sched_job->sched); in rocket_job_run() 382 static enum drm_gpu_sched_stat rocket_job_timedout(struct drm_sched_job *sched_job) in rocket_job_timedout() argument 384 struct rocket_job *job = to_rocket_job(sched_job); in rocket_job_timedout() [all …]
|
| /linux/include/trace/events/ |
| H A D | amdxdna.h | 33 TP_PROTO(struct drm_sched_job *sched_job, const char *name, const char *str, u64 seq), 35 TP_ARGS(sched_job, name, str, seq), 45 __entry->fence_context = sched_job->s_fence->finished.context; 46 __entry->fence_seqno = sched_job->s_fence->finished.seqno;
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_sched.c | 360 nouveau_sched_run_job(struct drm_sched_job *sched_job) in nouveau_sched_run_job() argument 362 struct nouveau_job *job = to_nouveau_job(sched_job); in nouveau_sched_run_job() 368 nouveau_sched_timedout_job(struct drm_sched_job *sched_job) in nouveau_sched_timedout_job() argument 370 struct drm_gpu_scheduler *sched = sched_job->sched; in nouveau_sched_timedout_job() 371 struct nouveau_job *job = to_nouveau_job(sched_job); in nouveau_sched_timedout_job() 374 drm_sched_stop(sched, sched_job); in nouveau_sched_timedout_job() 387 nouveau_sched_free_job(struct drm_sched_job *sched_job) in nouveau_sched_free_job() argument 389 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) \ argument 14 container_of((sched_job), struct nouveau_job, base)
|
| /linux/drivers/accel/ethosu/ |
| H A D | ethosu_job.c | 25 static struct ethosu_job *to_ethosu_job(struct drm_sched_job *sched_job) in to_ethosu_job() argument 27 return container_of(sched_job, struct ethosu_job, base); in to_ethosu_job() 176 static void ethosu_job_free(struct drm_sched_job *sched_job) in ethosu_job_free() argument 178 struct ethosu_job *job = to_ethosu_job(sched_job); in ethosu_job_free() 180 drm_sched_job_cleanup(sched_job); in ethosu_job_free() 184 static struct dma_fence *ethosu_job_run(struct drm_sched_job *sched_job) in ethosu_job_run() argument 186 struct ethosu_job *job = to_ethosu_job(sched_job); in ethosu_job_run()
|
| /linux/drivers/gpu/drm/panfrost/ |
| H A D | panfrost_job.c | 48 to_panfrost_job(struct drm_sched_job *sched_job) in to_panfrost_job() argument 50 return container_of(sched_job, struct panfrost_job, base); in to_panfrost_job() 387 static void panfrost_job_free(struct drm_sched_job *sched_job) in panfrost_job_free() argument 389 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_free() 391 drm_sched_job_cleanup(sched_job); in panfrost_job_free() 396 static struct dma_fence *panfrost_job_run(struct drm_sched_job *sched_job) in panfrost_job_run() argument 398 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_run() 761 *sched_job) in panfrost_job_timedout() 763 struct panfrost_job *job = to_panfrost_job(sched_job); in panfrost_job_timedout() 796 sched_job); in panfrost_job_timedout() [all …]
|
| /linux/drivers/accel/amdxdna/ |
| H A D | aie2_ctx.c | 340 aie2_sched_job_run(struct drm_sched_job *sched_job) in aie2_sched_job_run() argument 342 struct amdxdna_sched_job *job = drm_job_to_xdna_job(sched_job); in aie2_sched_job_run() 388 trace_xdna_job(sched_job, hwctx->name, "sent to device", job->seq); in aie2_sched_job_run() 393 static void aie2_sched_job_free(struct drm_sched_job *sched_job) in aie2_sched_job_free() argument 395 struct amdxdna_sched_job *job = drm_job_to_xdna_job(sched_job); in aie2_sched_job_free() 398 trace_xdna_job(sched_job, hwctx->name, "job free", job->seq); in aie2_sched_job_free() 402 drm_sched_job_cleanup(sched_job); in aie2_sched_job_free() 407 aie2_sched_job_timedout(struct drm_sched_job *sched_job) in aie2_sched_job_timedout() argument 409 struct amdxdna_sched_job *job = drm_job_to_xdna_job(sched_job); in aie2_sched_job_timedout() 416 trace_xdna_job(sched_job, hwctx->name, "job timedout", job->seq); in aie2_sched_job_timedout() [all …]
|
| /linux/drivers/gpu/drm/imagination/ |
| H A D | pvr_queue.c | 505 pvr_queue_prepare_job(struct drm_sched_job *sched_job, in pvr_queue_prepare_job() argument 508 struct pvr_job *job = container_of(sched_job, struct pvr_job, base); in pvr_queue_prepare_job() 696 static struct dma_fence *pvr_queue_run_job(struct drm_sched_job *sched_job) in pvr_queue_run_job() argument 698 struct pvr_job *job = container_of(sched_job, struct pvr_job, base); in pvr_queue_run_job() 864 static void pvr_queue_free_job(struct drm_sched_job *sched_job) in pvr_queue_free_job() argument 866 struct pvr_job *job = container_of(sched_job, struct pvr_job, base); in pvr_queue_free_job() 868 drm_sched_job_cleanup(sched_job); in pvr_queue_free_job()
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_mmu.c | 2341 panthor_vm_bind_run_job(struct drm_sched_job *sched_job) in panthor_vm_bind_run_job() argument 2343 struct panthor_vm_bind_job *job = container_of(sched_job, struct panthor_vm_bind_job, base); in panthor_vm_bind_run_job() 2375 void panthor_vm_bind_job_put(struct drm_sched_job *sched_job) in panthor_vm_bind_job_put() argument 2378 container_of(sched_job, struct panthor_vm_bind_job, base); in panthor_vm_bind_job_put() 2380 if (sched_job) in panthor_vm_bind_job_put() 2385 panthor_vm_bind_free_job(struct drm_sched_job *sched_job) in panthor_vm_bind_free_job() argument 2388 container_of(sched_job, struct panthor_vm_bind_job, base); in panthor_vm_bind_free_job() 2390 drm_sched_job_cleanup(sched_job); in panthor_vm_bind_free_job() 2399 panthor_vm_bind_timedout_job(struct drm_sched_job *sched_job) in panthor_vm_bind_timedout_job() argument 2667 struct drm_sched_job *sched_job) in panthor_vm_bind_job_prepare_resvs() argument [all …]
|
| H A D | panthor_sched.c | 3296 queue_run_job(struct drm_sched_job *sched_job) in queue_run_job() argument 3298 struct panthor_job *job = container_of(sched_job, struct panthor_job, base); in queue_run_job() 3398 queue_timedout_job(struct drm_sched_job *sched_job) in queue_timedout_job() argument 3400 struct panthor_job *job = container_of(sched_job, struct panthor_job, base); in queue_timedout_job() 3432 static void queue_free_job(struct drm_sched_job *sched_job) in queue_free_job() argument 3434 drm_sched_job_cleanup(sched_job); in queue_free_job() 3435 panthor_job_put(sched_job); in queue_free_job() 3929 struct drm_sched_job *panthor_job_get(struct drm_sched_job *sched_job) in panthor_job_get() argument 3931 if (sched_job) { in panthor_job_get() 3932 struct panthor_job *job = container_of(sched_job, struct panthor_job, base); in panthor_job_get() [all …]
|