Home | History | Annotate | Download | only in qxl

Lines Matching refs:bo

45 /* put an alloc/dealloc surface cmd into one bo and round up to 128 */
169 struct qxl_bo *bo;
173 bo = to_qxl_bo(entry->tv.bo);
174 qxl_bo_unref(&bo);
207 struct qxl_bo **bo)
209 /* pin releases bo's they are too messy to evict */
211 QXL_GEM_DOMAIN_VRAM, NULL, bo);
214 int qxl_release_list_add(struct qxl_release *release, struct qxl_bo *bo)
219 if (entry->tv.bo == &bo->tbo)
227 qxl_bo_ref(bo);
228 entry->tv.bo = &bo->tbo;
234 static int qxl_release_validate_bo(struct qxl_bo *bo)
239 if (!bo->pin_count) {
240 qxl_ttm_placement_from_domain(bo, bo->type, false);
241 ret = ttm_bo_validate(&bo->tbo, &bo->placement, &ctx);
246 ret = dma_resv_reserve_shared(bo->tbo.base.resv, 1);
251 ret = qxl_bo_check_id(bo->tbo.base.dev->dev_private, bo);
273 struct qxl_bo *bo = to_qxl_bo(entry->tv.bo);
275 ret = qxl_release_validate_bo(bo);
301 struct qxl_bo *bo;
308 bo = create_rel->release_bo;
310 (*release)->release_bo = bo;
313 qxl_release_list_add(*release, bo);
329 struct qxl_bo *bo;
368 bo = qxl_bo_ref(qdev->current_release_bo[cur_idx]);
370 (*release)->release_bo = bo;
375 *rbo = bo;
379 ret = qxl_release_list_add(*release, bo);
380 qxl_bo_unref(&bo);
414 struct qxl_bo *bo = release->release_bo;
416 ptr = qxl_bo_kmap_atomic_page(qdev, bo, release->release_offset & PAGE_MASK);
427 struct qxl_bo *bo = release->release_bo;
431 qxl_bo_kunmap_atomic_page(qdev, bo, ptr);
436 struct ttm_buffer_object *bo;
446 bo = list_first_entry(&release->bos, struct ttm_validate_buffer, head)->bo;
447 bdev = bo->bdev;
461 bo = entry->bo;
463 dma_resv_add_shared_fence(bo->base.resv, &release->base);
464 ttm_bo_move_to_lru_tail(bo, NULL);
465 dma_resv_unlock(bo->base.resv);