Lines Matching refs:submit

206 static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit)  in lima_gem_add_deps()  argument
210 for (i = 0; i < ARRAY_SIZE(submit->in_sync); i++) { in lima_gem_add_deps()
213 if (!submit->in_sync[i]) in lima_gem_add_deps()
216 err = drm_syncobj_find_fence(file, submit->in_sync[i], in lima_gem_add_deps()
221 err = drm_gem_fence_array_add(&submit->task->deps, fence); in lima_gem_add_deps()
231 int lima_gem_submit(struct drm_file *file, struct lima_submit *submit) in lima_gem_submit() argument
239 struct lima_bo **bos = submit->lbos; in lima_gem_submit()
241 if (submit->out_sync) { in lima_gem_submit()
242 out_sync = drm_syncobj_find(file, submit->out_sync); in lima_gem_submit()
247 for (i = 0; i < submit->nr_bos; i++) { in lima_gem_submit()
251 obj = drm_gem_object_lookup(file, submit->bos[i].handle); in lima_gem_submit()
271 err = lima_gem_lock_bos(bos, submit->nr_bos, &ctx); in lima_gem_submit()
276 submit->task, submit->ctx->context + submit->pipe, in lima_gem_submit()
277 bos, submit->nr_bos, vm); in lima_gem_submit()
281 err = lima_gem_add_deps(file, submit); in lima_gem_submit()
285 for (i = 0; i < submit->nr_bos; i++) { in lima_gem_submit()
287 submit->task, bos[i], in lima_gem_submit()
288 submit->bos[i].flags & LIMA_SUBMIT_BO_WRITE, in lima_gem_submit()
289 submit->flags & LIMA_SUBMIT_FLAG_EXPLICIT_FENCE); in lima_gem_submit()
295 submit->ctx->context + submit->pipe, submit->task); in lima_gem_submit()
297 for (i = 0; i < submit->nr_bos; i++) { in lima_gem_submit()
298 if (submit->bos[i].flags & LIMA_SUBMIT_BO_WRITE) in lima_gem_submit()
304 lima_gem_unlock_bos(bos, submit->nr_bos, &ctx); in lima_gem_submit()
306 for (i = 0; i < submit->nr_bos; i++) in lima_gem_submit()
319 lima_sched_task_fini(submit->task); in lima_gem_submit()
321 lima_gem_unlock_bos(bos, submit->nr_bos, &ctx); in lima_gem_submit()
323 for (i = 0; i < submit->nr_bos; i++) { in lima_gem_submit()