Lines Matching refs:job

23 #include "job.h"
270 * Start timer that tracks the time spent by the job.
274 struct host1x_job *job)
283 cdma->timeout.client = job->client;
284 cdma->timeout.syncpt = host1x_syncpt_get(host, job->syncpt_id);
285 cdma->timeout.syncpt_val = job->syncpt_end;
289 msecs_to_jiffies(job->timeout));
316 struct host1x_job *job, *n;
326 list_for_each_entry_safe(job, n, &cdma->sync_queue, list) {
328 host1x_syncpt_get(host1x, job->syncpt_id);
331 if (!host1x_syncpt_is_expired(sp, job->syncpt_end)) {
333 if (job->timeout)
334 cdma_start_timer_locked(cdma, job);
344 host1x_job_unpin(job);
347 if (job->num_slots) {
350 host1x_pushbuffer_pop(pb, job->num_slots);
356 list_del(&job->list);
357 host1x_job_put(job);
375 struct host1x_job *job, *next_job = NULL;
392 list_for_each_entry(job, &cdma->sync_queue, list) {
393 if (syncpt_val < job->syncpt_end) {
395 if (!list_is_last(&job->list, &cdma->sync_queue))
396 next_job = list_next_entry(job, list);
401 host1x_job_dump(dev, job);
405 job = NULL;
410 * Increment with CPU the remaining syncpts of a partially executed job.
412 * CDMA will continue execution starting with the next job or will get
421 if (job) {
426 job->timeout = 0;
428 syncpt_incrs = job->syncpt_end - syncpt_val;
431 host1x_job_dump(dev, job);
434 host1x_hw_cdma_timeout_cpu_incr(host1x, cdma, job->first_get,
435 syncpt_incrs, job->syncpt_end,
436 job->num_slots);
491 int host1x_cdma_begin(struct host1x_cdma *cdma, struct host1x_job *job)
497 if (job->timeout) {
503 job->syncpt_id);
518 trace_host1x_cdma_begin(dev_name(job->channel->dev));
602 * Kick off DMA, add job to the sync queue, and a number of slots to be freed
607 struct host1x_job *job)
614 job->first_get = cdma->first_get;
615 job->num_slots = cdma->slots_used;
616 host1x_job_get(job);
617 list_add_tail(&job->list, &cdma->sync_queue);
620 if (job->timeout && idle)
621 cdma_start_timer_locked(cdma, job);
623 trace_host1x_cdma_end(dev_name(job->channel->dev));