Lines Matching refs:bos

151 static int lima_gem_lock_bos(struct lima_bo **bos, u32 nr_bos,  in lima_gem_lock_bos()  argument
165 ret = ww_mutex_lock_interruptible(&bos[i]->gem.resv->lock, ctx); in lima_gem_lock_bos()
177 ww_mutex_unlock(&bos[i]->gem.resv->lock); in lima_gem_lock_bos()
180 ww_mutex_unlock(&bos[slow_locked]->gem.resv->lock); in lima_gem_lock_bos()
185 &bos[contended]->gem.resv->lock, ctx); in lima_gem_lock_bos()
196 static void lima_gem_unlock_bos(struct lima_bo **bos, u32 nr_bos, in lima_gem_unlock_bos() argument
202 ww_mutex_unlock(&bos[i]->gem.resv->lock); in lima_gem_unlock_bos()
239 struct lima_bo **bos = submit->lbos; in lima_gem_submit() local
251 obj = drm_gem_object_lookup(file, submit->bos[i].handle); in lima_gem_submit()
268 bos[i] = bo; in lima_gem_submit()
271 err = lima_gem_lock_bos(bos, submit->nr_bos, &ctx); in lima_gem_submit()
277 bos, submit->nr_bos, vm); 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()
298 if (submit->bos[i].flags & LIMA_SUBMIT_BO_WRITE) in lima_gem_submit()
299 dma_resv_add_excl_fence(bos[i]->gem.resv, fence); in lima_gem_submit()
301 dma_resv_add_shared_fence(bos[i]->gem.resv, fence); in lima_gem_submit()
304 lima_gem_unlock_bos(bos, submit->nr_bos, &ctx); in lima_gem_submit()
307 drm_gem_object_put_unlocked(&bos[i]->gem); in lima_gem_submit()
321 lima_gem_unlock_bos(bos, submit->nr_bos, &ctx); in lima_gem_submit()
324 if (!bos[i]) in lima_gem_submit()
326 lima_vm_bo_del(vm, bos[i]); in lima_gem_submit()
327 drm_gem_object_put_unlocked(&bos[i]->gem); in lima_gem_submit()