Lines Matching refs:bos
34 sz = struct_size(submit, bos, nr_bos) + in submit_create()
54 submit->cmd = (void *)&submit->bos[nr_bos]; in submit_create()
101 u64_to_user_ptr(args->bos + (i * sizeof(submit_bo))); in submit_lookup_objects()
106 submit->bos[i].flags = 0; in submit_lookup_objects()
125 submit->bos[i].handle = submit_bo.handle; in submit_lookup_objects()
126 submit->bos[i].flags = submit_bo.flags; in submit_lookup_objects()
128 submit->bos[i].iova = submit_bo.presumed; in submit_lookup_objects()
139 obj = idr_find(&file->object_idr, submit->bos[i].handle); in submit_lookup_objects()
141 DRM_ERROR("invalid handle %u at index %u\n", submit->bos[i].handle, i); in submit_lookup_objects()
148 submit->bos[i].obj = to_msm_bo(obj); in submit_lookup_objects()
230 struct drm_gem_object *obj = &submit->bos[i].obj->base; in submit_cleanup_bo()
231 unsigned flags = submit->bos[i].flags & cleanup_flags; in submit_cleanup_bo()
238 submit->bos[i].flags &= ~cleanup_flags; in submit_cleanup_bo()
241 msm_gem_unpin_vma(submit->bos[i].vma); in submit_cleanup_bo()
255 if (!(submit->bos[i].flags & BO_VALID)) in submit_unlock_unpin_bo()
256 submit->bos[i].iova = 0; in submit_unlock_unpin_bo()
266 struct msm_gem_object *msm_obj = submit->bos[i].obj; in submit_lock_objects()
273 if (!(submit->bos[i].flags & BO_LOCKED)) { in submit_lock_objects()
278 submit->bos[i].flags |= BO_LOCKED; in submit_lock_objects()
289 submit->bos[i].handle, i); in submit_lock_objects()
300 struct msm_gem_object *msm_obj = submit->bos[contended].obj; in submit_lock_objects()
305 submit->bos[contended].flags |= BO_LOCKED; in submit_lock_objects()
325 struct drm_gem_object *obj = &submit->bos[i].obj->base; in submit_fence_sync()
326 bool write = submit->bos[i].flags & MSM_SUBMIT_BO_WRITE; in submit_fence_sync()
358 struct drm_gem_object *obj = &submit->bos[i].obj->base; in submit_pin_objects()
372 submit->bos[i].flags |= BO_OBJ_PINNED | BO_VMA_PINNED; in submit_pin_objects()
373 submit->bos[i].vma = vma; in submit_pin_objects()
375 if (vma->iova == submit->bos[i].iova) { in submit_pin_objects()
376 submit->bos[i].flags |= BO_VALID; in submit_pin_objects()
378 submit->bos[i].iova = vma->iova; in submit_pin_objects()
380 submit->bos[i].flags &= ~BO_VALID; in submit_pin_objects()
393 struct drm_gem_object *obj = &submit->bos[i].obj->base; in submit_attach_object_fences()
395 if (submit->bos[i].flags & MSM_SUBMIT_BO_WRITE) in submit_attach_object_fences()
398 else if (submit->bos[i].flags & MSM_SUBMIT_BO_READ) in submit_attach_object_fences()
414 *obj = submit->bos[idx].obj; in submit_bo()
416 *iova = submit->bos[idx].iova; in submit_bo()
418 *valid = !!(submit->bos[idx].flags & BO_VALID); in submit_bo()
511 struct msm_gem_object *msm_obj = submit->bos[i].obj; in submit_cleanup()
523 struct drm_gem_object *obj = &submit->bos[i].obj->base; in msm_submit_retire()