Lines Matching refs:submit
280 static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit)
284 for (i = 0; i < ARRAY_SIZE(submit->in_sync); i++) {
285 if (!submit->in_sync[i])
288 err = drm_sched_job_add_syncobj_dependency(&submit->task->base, file,
289 submit->in_sync[i], 0);
297 int lima_gem_submit(struct drm_file *file, struct lima_submit *submit)
305 struct lima_bo **bos = submit->lbos;
307 if (submit->out_sync) {
308 out_sync = drm_syncobj_find(file, submit->out_sync);
313 for (i = 0; i < submit->nr_bos; i++) {
317 obj = drm_gem_object_lookup(file, submit->bos[i].handle);
338 submit->nr_bos, &ctx);
343 submit->task, submit->ctx->context + submit->pipe,
344 bos, submit->nr_bos, vm);
348 err = lima_gem_add_deps(file, submit);
352 for (i = 0; i < submit->nr_bos; i++) {
354 submit->task, bos[i],
355 submit->bos[i].flags & LIMA_SUBMIT_BO_WRITE,
356 submit->flags & LIMA_SUBMIT_FLAG_EXPLICIT_FENCE);
361 fence = lima_sched_context_queue_task(submit->task);
363 for (i = 0; i < submit->nr_bos; i++) {
365 submit->bos[i].flags & LIMA_SUBMIT_BO_WRITE ?
370 submit->nr_bos, &ctx);
372 for (i = 0; i < submit->nr_bos; i++)
385 lima_sched_task_fini(submit->task);
388 submit->nr_bos, &ctx);
390 for (i = 0; i < submit->nr_bos; i++) {