Lines Matching defs:sched

29 	struct nouveau_sched *sched = args->sched;
36 job->sched = sched;
89 ret = drm_sched_job_init(&job->base, &sched->entity,
121 struct nouveau_sched *sched = job->sched;
123 spin_lock(&sched->job.list.lock);
125 spin_unlock(&sched->job.list.lock);
127 wake_up(&sched->job.wq);
276 struct nouveau_sched *sched = job->sched;
296 mutex_lock(&sched->mutex);
308 spin_lock(&sched->job.list.lock);
309 list_add(&job->entry, &sched->job.list.head);
310 spin_unlock(&sched->job.list.lock);
329 mutex_unlock(&sched->mutex);
339 mutex_unlock(&sched->mutex);
371 struct drm_gpu_scheduler *sched = sched_job->sched;
375 drm_sched_stop(sched, sched_job);
382 drm_sched_start(sched, true);
402 nouveau_sched_init(struct nouveau_sched *sched, struct nouveau_drm *drm,
405 struct drm_gpu_scheduler *drm_sched = &sched->base;
406 struct drm_sched_entity *entity = &sched->entity;
416 sched->wq = wq;
441 mutex_init(&sched->mutex);
442 spin_lock_init(&sched->job.list.lock);
443 INIT_LIST_HEAD(&sched->job.list.head);
444 init_waitqueue_head(&sched->job.wq);
451 if (sched->wq)
452 destroy_workqueue(sched->wq);
460 struct nouveau_sched *sched;
463 sched = kzalloc(sizeof(*sched), GFP_KERNEL);
464 if (!sched)
467 ret = nouveau_sched_init(sched, drm, wq, credit_limit);
469 kfree(sched);
473 *psched = sched;
480 nouveau_sched_fini(struct nouveau_sched *sched)
482 struct drm_gpu_scheduler *drm_sched = &sched->base;
483 struct drm_sched_entity *entity = &sched->entity;
486 wait_event(sched->job.wq, list_empty(&sched->job.list.head));
494 if (sched->wq)
495 destroy_workqueue(sched->wq);
501 struct nouveau_sched *sched = *psched;
503 nouveau_sched_fini(sched);
504 kfree(sched);