Lines Matching refs:submit
273 static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit)
277 for (i = 0; i < ARRAY_SIZE(submit->in_sync); i++) {
280 if (!submit->in_sync[i])
283 err = drm_syncobj_find_fence(file, submit->in_sync[i],
288 err = drm_gem_fence_array_add(&submit->task->deps, fence);
298 int lima_gem_submit(struct drm_file *file, struct lima_submit *submit)
306 struct lima_bo **bos = submit->lbos;
308 if (submit->out_sync) {
309 out_sync = drm_syncobj_find(file, submit->out_sync);
314 for (i = 0; i < submit->nr_bos; i++) {
318 obj = drm_gem_object_lookup(file, submit->bos[i].handle);
339 submit->nr_bos, &ctx);
344 submit->task, submit->ctx->context + submit->pipe,
345 bos, submit->nr_bos, vm);
349 err = lima_gem_add_deps(file, submit);
353 for (i = 0; i < submit->nr_bos; i++) {
355 submit->task, bos[i],
356 submit->bos[i].flags & LIMA_SUBMIT_BO_WRITE,
357 submit->flags & LIMA_SUBMIT_FLAG_EXPLICIT_FENCE);
363 submit->ctx->context + submit->pipe, submit->task);
365 for (i = 0; i < submit->nr_bos; i++) {
366 if (submit->bos[i].flags & LIMA_SUBMIT_BO_WRITE)
373 submit->nr_bos, &ctx);
375 for (i = 0; i < submit->nr_bos; i++)
388 lima_sched_task_fini(submit->task);
391 submit->nr_bos, &ctx);
393 for (i = 0; i < submit->nr_bos; i++) {