Lines Matching defs:job
67 * DRM_NOUVEAU_EXEC ioctl is called to submit an exec job.
69 * A VM_BIND job can be executed either synchronously or asynchronously. If
70 * exectued asynchronously, userspace may provide a list of syncobjs this job
72 * VM_BIND job finished execution. If executed synchronously the ioctl will
73 * block until the bind job is finished. For synchronous jobs the kernel will
82 * Since VM_BIND jobs update the GPU's VA space on job submit, EXEC jobs do have
89 nouveau_exec_job_submit(struct nouveau_job *job,
92 struct nouveau_exec_job *exec_job = to_nouveau_exec_job(job);
93 struct nouveau_cli *cli = job->cli;
120 nouveau_exec_job_armed_submit(struct nouveau_job *job,
123 drm_gpuvm_exec_resv_add_fence(vme, job->done_fence,
124 job->resv_usage, job->resv_usage);
129 nouveau_exec_job_run(struct nouveau_job *job)
131 struct nouveau_exec_job *exec_job = to_nouveau_exec_job(job);
138 NV_PRINTK(err, job->cli, "nv50cal_space: %d\n", ret);
154 NV_PRINTK(err, job->cli, "error fencing pushbuf: %d\n", ret);
159 /* The fence was emitted successfully, set the job's fence pointer to
160 * NULL in order to avoid freeing it up when the job is cleaned up.
168 nouveau_exec_job_free(struct nouveau_job *job)
170 struct nouveau_exec_job *exec_job = to_nouveau_exec_job(job);
172 nouveau_job_done(job);
173 nouveau_job_free(job);
181 nouveau_exec_job_timeout(struct nouveau_job *job)
183 struct nouveau_exec_job *exec_job = to_nouveau_exec_job(job);
189 NV_PRINTK(warn, job->cli, "job timeout, channel %d killed!\n",
207 struct nouveau_exec_job *job;
222 job = *pjob = kzalloc(sizeof(*job), GFP_KERNEL);
223 if (!job)
226 job->push.count = __args->push.count;
228 job->push.s = kmemdup(__args->push.s,
232 if (!job->push.s) {
239 job->chan = __args->chan;
243 args.credits = job->push.count + 1;
254 ret = nouveau_job_init(&job->base, &args);
261 kfree(job->push.s);
263 kfree(job);
272 struct nouveau_exec_job *job;
275 ret = nouveau_exec_job_init(&job, args);
279 ret = nouveau_job_submit(&job->base);
286 nouveau_job_fini(&job->base);