Home
last modified time | relevance | path

Searched refs:sched_job (Results 1 – 16 of 16) sorted by relevance

/linux/drivers/gpu/drm/etnaviv/
H A Detnaviv_sched.c21 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 Detnaviv_sched.h14 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 Detnaviv_gem_submit.c188 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 Detnaviv_gem.h93 struct drm_sched_job sched_job; member
/linux/drivers/gpu/drm/scheduler/
H A Dsched_entity.c400 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 Dsched_main.c1238 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 Drocket_job.c24 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 Damdxdna.h33 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 Dnouveau_sched.c360 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 Dnouveau_sched.h13 #define to_nouveau_job(sched_job) \ argument
14 container_of((sched_job), struct nouveau_job, base)
/linux/drivers/accel/ethosu/
H A Dethosu_job.c25 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 Dpanfrost_job.c48 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 Daie2_ctx.c340 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 Dpvr_queue.c505 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 Dpanthor_mmu.c2341 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 Dpanthor_sched.c3296 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 …]