Lines Matching refs:bo

124 		struct qxl_bo *bo;  in qxl_release_free_list()  local
128 bo = to_qxl_bo(entry->tv.bo); in qxl_release_free_list()
129 qxl_bo_unref(&bo); in qxl_release_free_list()
163 struct qxl_bo **bo, in qxl_release_bo_alloc() argument
168 QXL_GEM_DOMAIN_VRAM, priority, NULL, bo); in qxl_release_bo_alloc()
171 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo) in qxl_release_list_add() argument
176 if (entry->tv.bo == &bo->tbo) in qxl_release_list_add()
184 qxl_bo_ref(bo); in qxl_release_list_add()
185 entry->tv.bo = &bo->tbo; in qxl_release_list_add()
191 static int qxl_release_validate_bo(struct qxl_bo *bo) in qxl_release_validate_bo() argument
196 if (!bo->tbo.pin_count) { in qxl_release_validate_bo()
197 qxl_ttm_placement_from_domain(bo, bo->type); in qxl_release_validate_bo()
198 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in qxl_release_validate_bo()
203 ret = dma_resv_reserve_shared(bo->tbo.base.resv, 1); in qxl_release_validate_bo()
208 ret = qxl_bo_check_id(to_qxl(bo->tbo.base.dev), bo); in qxl_release_validate_bo()
230 struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); in qxl_release_reserve_list() local
232 ret = qxl_release_validate_bo(bo); in qxl_release_reserve_list()
258 struct qxl_bo *bo; in qxl_alloc_surface_release_reserved() local
265 bo = create_rel->release_bo; in qxl_alloc_surface_release_reserved()
267 (*release)->release_bo = bo; in qxl_alloc_surface_release_reserved()
270 qxl_release_list_add(*release, bo); in qxl_alloc_surface_release_reserved()
286 struct qxl_bo *bo, *free_bo = NULL; in qxl_alloc_release_reserved() local
335 bo = qxl_bo_ref(qdev->current_release_bo[cur_idx]); in qxl_alloc_release_reserved()
337 (*release)->release_bo = bo; in qxl_alloc_release_reserved()
342 *rbo = bo; in qxl_alloc_release_reserved()
350 ret = qxl_release_list_add(*release, bo); in qxl_alloc_release_reserved()
351 qxl_bo_unref(&bo); in qxl_alloc_release_reserved()
385 struct qxl_bo *bo = release->release_bo; in qxl_release_map() local
387 ptr = qxl_bo_kmap_atomic_page(qdev, bo, release->release_offset & PAGE_MASK); in qxl_release_map()
398 struct qxl_bo *bo = release->release_bo; in qxl_release_unmap() local
402 qxl_bo_kunmap_atomic_page(qdev, bo, ptr); in qxl_release_unmap()
407 struct ttm_buffer_object *bo; in qxl_release_fence_buffer_objects() local
417 bo = list_first_entry(&release->bos, struct ttm_validate_buffer, head)->bo; in qxl_release_fence_buffer_objects()
418 bdev = bo->bdev; in qxl_release_fence_buffer_objects()
430 bo = entry->bo; in qxl_release_fence_buffer_objects()
432 dma_resv_add_shared_fence(bo->base.resv, &release->base); in qxl_release_fence_buffer_objects()
433 ttm_bo_move_to_lru_tail_unlocked(bo); in qxl_release_fence_buffer_objects()
434 dma_resv_unlock(bo->base.resv); in qxl_release_fence_buffer_objects()