Lines Matching refs:bo

164 		struct qxl_bo *bo;  in qxl_release_free_list()  local
168 bo = to_qxl_bo(entry->tv.bo); in qxl_release_free_list()
169 qxl_bo_unref(&bo); in qxl_release_free_list()
202 struct qxl_bo **bo, in qxl_release_bo_alloc() argument
207 QXL_GEM_DOMAIN_VRAM, priority, NULL, bo); in qxl_release_bo_alloc()
210 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo) in qxl_release_list_add() argument
215 if (entry->tv.bo == &bo->tbo) in qxl_release_list_add()
223 qxl_bo_ref(bo); in qxl_release_list_add()
224 entry->tv.bo = &bo->tbo; in qxl_release_list_add()
230 static int qxl_release_validate_bo(struct qxl_bo *bo) in qxl_release_validate_bo() argument
235 if (!bo->pin_count) { in qxl_release_validate_bo()
236 qxl_ttm_placement_from_domain(bo, bo->type, false); in qxl_release_validate_bo()
237 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx); in qxl_release_validate_bo()
242 ret = dma_resv_reserve_shared(bo->tbo.base.resv, 1); in qxl_release_validate_bo()
247 ret = qxl_bo_check_id(to_qxl(bo->tbo.base.dev), bo); in qxl_release_validate_bo()
269 struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); in qxl_release_reserve_list() local
271 ret = qxl_release_validate_bo(bo); in qxl_release_reserve_list()
297 struct qxl_bo *bo; in qxl_alloc_surface_release_reserved() local
304 bo = create_rel->release_bo; in qxl_alloc_surface_release_reserved()
306 (*release)->release_bo = bo; in qxl_alloc_surface_release_reserved()
309 qxl_release_list_add(*release, bo); in qxl_alloc_surface_release_reserved()
325 struct qxl_bo *bo; in qxl_alloc_release_reserved() local
369 bo = qxl_bo_ref(qdev->current_release_bo[cur_idx]); in qxl_alloc_release_reserved()
371 (*release)->release_bo = bo; in qxl_alloc_release_reserved()
376 *rbo = bo; in qxl_alloc_release_reserved()
380 ret = qxl_release_list_add(*release, bo); in qxl_alloc_release_reserved()
381 qxl_bo_unref(&bo); in qxl_alloc_release_reserved()
415 struct qxl_bo *bo = release->release_bo; in qxl_release_map() local
417 ptr = qxl_bo_kmap_atomic_page(qdev, bo, release->release_offset & PAGE_MASK); in qxl_release_map()
428 struct qxl_bo *bo = release->release_bo; in qxl_release_unmap() local
432 qxl_bo_kunmap_atomic_page(qdev, bo, ptr); in qxl_release_unmap()
437 struct ttm_buffer_object *bo; in qxl_release_fence_buffer_objects() local
447 bo = list_first_entry(&release->bos, struct ttm_validate_buffer, head)->bo; in qxl_release_fence_buffer_objects()
448 bdev = bo->bdev; in qxl_release_fence_buffer_objects()
462 bo = entry->bo; in qxl_release_fence_buffer_objects()
464 dma_resv_add_shared_fence(bo->base.resv, &release->base); in qxl_release_fence_buffer_objects()
465 ttm_bo_move_to_lru_tail(bo, NULL); in qxl_release_fence_buffer_objects()
466 dma_resv_unlock(bo->base.resv); in qxl_release_fence_buffer_objects()