Lines Matching refs:bo
166 struct qxl_bo *bo; in qxl_release_free_list() local
170 bo = to_qxl_bo(entry->tv.bo); in qxl_release_free_list()
171 qxl_bo_unref(&bo); in qxl_release_free_list()
204 struct qxl_bo **bo) in qxl_release_bo_alloc() argument
210 bo); in qxl_release_bo_alloc()
214 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo) in qxl_release_list_add() argument
219 if (entry->tv.bo == &bo->tbo) in qxl_release_list_add()
227 qxl_bo_ref(bo); in qxl_release_list_add()
228 entry->tv.bo = &bo->tbo; in qxl_release_list_add()
234 static int qxl_release_validate_bo(struct qxl_bo *bo) in qxl_release_validate_bo() argument
238 if (!bo->pin_count) { in qxl_release_validate_bo()
239 qxl_ttm_placement_from_domain(bo, bo->type, false); in qxl_release_validate_bo()
240 ret = ttm_bo_validate(&bo->tbo, &bo->placement, in qxl_release_validate_bo()
246 ret = reservation_object_reserve_shared(bo->tbo.resv); in qxl_release_validate_bo()
251 ret = qxl_bo_check_id(bo->gem_base.dev->dev_private, bo); in qxl_release_validate_bo()
273 struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); in qxl_release_reserve_list() local
275 ret = qxl_release_validate_bo(bo); in qxl_release_reserve_list()
303 struct qxl_bo *bo; in qxl_alloc_surface_release_reserved() local
310 bo = qxl_bo_ref(to_qxl_bo(entry->tv.bo)); in qxl_alloc_surface_release_reserved()
314 qxl_release_list_add(*release, bo); in qxl_alloc_surface_release_reserved()
320 qxl_bo_unref(&bo); in qxl_alloc_surface_release_reserved()
332 struct qxl_bo *bo; in qxl_alloc_release_reserved() local
370 bo = qxl_bo_ref(qdev->current_release_bo[cur_idx]); in qxl_alloc_release_reserved()
376 *rbo = bo; in qxl_alloc_release_reserved()
380 qxl_release_list_add(*release, bo); in qxl_alloc_release_reserved()
386 qxl_bo_unref(&bo); in qxl_alloc_release_reserved()
412 struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); in qxl_release_map() local
414 ptr = qxl_bo_kmap_atomic_page(qdev, bo, release->release_offset & PAGE_SIZE); in qxl_release_map()
426 struct qxl_bo *bo = to_qxl_bo(entry->tv.bo); in qxl_release_unmap() local
430 qxl_bo_kunmap_atomic_page(qdev, bo, ptr); in qxl_release_unmap()
435 struct ttm_buffer_object *bo; in qxl_release_fence_buffer_objects() local
448 bo = list_first_entry(&release->bos, struct ttm_validate_buffer, head)->bo; in qxl_release_fence_buffer_objects()
449 bdev = bo->bdev; in qxl_release_fence_buffer_objects()
461 glob = bo->glob; in qxl_release_fence_buffer_objects()
466 bo = entry->bo; in qxl_release_fence_buffer_objects()
467 qbo = to_qxl_bo(bo); in qxl_release_fence_buffer_objects()
469 reservation_object_add_shared_fence(bo->resv, &release->base); in qxl_release_fence_buffer_objects()
470 ttm_bo_add_to_lru(bo); in qxl_release_fence_buffer_objects()
471 __ttm_bo_unreserve(bo); in qxl_release_fence_buffer_objects()