Lines Matching full:job
74 /* Used to choose between FIFO and RR job-scheduling */
81 * struct drm_sched_entity - A wrapper around a job queue (typically
179 * The dependency fence of the job which is on the top of the job queue.
200 * Points to the finished fence of the last scheduled job. Only written
207 * @last_user: last group leader pushing a job into the entity.
231 * Marks earliest job waiting in SW queue
268 * struct drm_sched_fence - fences corresponding to the scheduling of a job.
273 * when the job is scheduled.
279 * when the job is completed.
281 * When setting up an out fence for the job, you should use
297 * when scheduling the job on hardware. We signal the
302 * @sched: the scheduler instance to which the job having this struct
311 * @owner: job owner for debugging
319 * struct drm_sched_job - A job to be run by an entity.
322 * @list: a job participates in a "pending" and "done" lists.
323 * @sched: the scheduler instance on which this job is scheduled.
324 * @s_fence: contains the fences for the scheduling of job.
326 * @credits: the number of credits this job contributes to the scheduler
327 * @work: Helper to reschedule job kill to different context.
328 * @id: a unique id assigned to each job scheduled on the scheduler.
329 * @karma: increment on every hang caused by this job. If this exceeds the hang
330 * limit of the scheduler then the job is marked guilty and will not
332 * @s_priority: the priority of the job.
333 * @entity: the entity to which this job belongs.
336 * A job is created by the driver using drm_sched_job_init(), and
338 * to schedule the job.
347 * The scheduler this job is or will be scheduled on. Gets set by
373 * Contains the dependencies as struct dma_fence for this job, see
385 * When the job was pushed into the entity queue.
412 * Called when the scheduler is considering scheduling this job next, to
413 * get another struct dma_fence for this job to block on. Once it
423 * @run_job: Called to execute the job once all of the dependencies
431 * @timedout_job: Called when a job has taken too long to execute,
475 * @free_job: Called once the job's finished fence has been signaled
482 * job for execution.
484 * This callback returns the number of credits the job would take if
486 * the job's credit count. For instance, deduct the number of credits
500 * @timeout: the time after which a job is removed from the scheduler.
508 * @job_id_count: used to assign unique id to the each job.
515 * @pending_list: the list of jobs which are currently in the job queue.
517 * @hang_limit: once the hangs by a job crosses this limit then it is marked
522 * @free_guilty: A hit to time out handler to free the guilty job.
564 int drm_sched_job_init(struct drm_sched_job *job,
567 void drm_sched_job_arm(struct drm_sched_job *job);
568 int drm_sched_job_add_dependency(struct drm_sched_job *job,
570 int drm_sched_job_add_syncobj_dependency(struct drm_sched_job *job,
574 int drm_sched_job_add_resv_dependencies(struct drm_sched_job *job,
577 int drm_sched_job_add_implicit_dependencies(struct drm_sched_job *job,
587 void drm_sched_job_cleanup(struct drm_sched_job *job);