Home | History | Annotate | Download | only in vmwgfx

Lines Matching refs:bo

56  * @bo: Pointer to the TTM buffer object.
61 vmw_buffer_object(struct ttm_buffer_object *bo)
63 return container_of(bo, struct vmw_buffer_object, base);
71 * @bo: Pointer to the TTM buffer object.
76 vmw_user_buffer_object(struct ttm_buffer_object *bo)
78 struct vmw_buffer_object *vmw_bo = vmw_buffer_object(bo);
100 struct ttm_buffer_object *bo = &buf->base;
110 ret = ttm_bo_reserve(bo, interruptible, false, NULL);
115 ret = ttm_bo_mem_compat(placement, &bo->mem,
118 ret = ttm_bo_validate(bo, placement, &ctx);
123 ttm_bo_unreserve(bo);
135 * Flushes and unpins the query bo to avoid failures.
149 struct ttm_buffer_object *bo = &buf->base;
159 ret = ttm_bo_reserve(bo, interruptible, false, NULL);
164 ret = ttm_bo_mem_compat(&vmw_vram_gmr_placement, &bo->mem,
169 ret = ttm_bo_validate(bo, &vmw_vram_gmr_placement, &ctx);
173 ret = ttm_bo_validate(bo, &vmw_vram_placement, &ctx);
179 ttm_bo_unreserve(bo);
190 * Flushes and unpins the query bo to avoid failures.
211 * Flushes and unpins the query bo to avoid failures.
224 struct ttm_buffer_object *bo = &buf->base;
231 place.lpfn = bo->num_pages;
242 ret = ttm_bo_reserve(bo, interruptible, false, NULL);
251 if (bo->mem.mem_type == TTM_PL_VRAM &&
252 bo->mem.start < bo->num_pages &&
253 bo->mem.start > 0 &&
256 (void) ttm_bo_validate(bo, &vmw_sys_placement, &ctx);
260 ret = ttm_bo_mem_compat(&placement, &bo->mem,
263 ret = ttm_bo_validate(bo, &placement, &ctx);
266 WARN_ON(ret == 0 && bo->offset != 0);
270 ttm_bo_unreserve(bo);
293 struct ttm_buffer_object *bo = &buf->base;
300 ret = ttm_bo_reserve(bo, interruptible, false, NULL);
306 ttm_bo_unreserve(bo);
317 * @bo: Pointer to a struct ttm_buffer_object. Must be pinned or reserved.
320 void vmw_bo_get_guest_ptr(const struct ttm_buffer_object *bo,
323 if (bo->mem.mem_type == TTM_PL_VRAM) {
325 ptr->offset = bo->offset;
327 ptr->gmrId = bo->mem.start;
345 struct ttm_buffer_object *bo = &vbo->base;
346 uint32_t old_mem_type = bo->mem.mem_type;
349 dma_resv_assert_held(bo->base.resv);
371 ret = ttm_bo_validate(bo, &placement, &ctx);
373 BUG_ON(ret != 0 || bo->mem.mem_type != old_mem_type);
394 struct ttm_buffer_object *bo = &vbo->base;
403 ret = ttm_bo_kmap(bo, 0, bo->num_pages, &vbo->map);
421 if (vbo->map.bo == NULL)
464 * @bo: Pointer to the embedded struct ttm_buffer_object
466 void vmw_bo_bo_free(struct ttm_buffer_object *bo)
468 struct vmw_buffer_object *vmw_bo = vmw_buffer_object(bo);
480 * @bo: Pointer to the embedded struct ttm_buffer_object
482 static void vmw_user_bo_destroy(struct ttm_buffer_object *bo)
484 struct vmw_user_buffer_object *vmw_user_bo = vmw_user_buffer_object(bo);
514 void (*bo_free)(struct ttm_buffer_object *bo))
660 * @bo: Pointer to the buffer object being accessed
663 int vmw_user_bo_verify_access(struct ttm_buffer_object *bo,
668 if (unlikely(bo->destroy != vmw_user_bo_destroy))
671 vmw_user_bo = vmw_user_buffer_object(bo);
702 struct ttm_buffer_object *bo = &user_bo->vbo.base;
710 (bo->base.resv, true, true,
719 ret = ttm_bo_reserve(bo, true, nonblock, NULL);
723 ret = ttm_bo_wait(bo, true, nonblock);
727 ttm_bo_unreserve(bo);
837 * struct vmw_user_buffer_object bo.
1016 * @bo: Pointer to the struct ttm_buffer_object to fence.
1024 void vmw_bo_fence_single(struct ttm_buffer_object *bo,
1027 struct ttm_bo_device *bdev = bo->bdev;
1034 dma_resv_add_excl_fence(bo->base.resv, &fence->base);
1037 dma_resv_add_excl_fence(bo->base.resv, &fence->base);
1132 * @bo: The buffer object to be swapped out.
1134 void vmw_bo_swap_notify(struct ttm_buffer_object *bo)
1136 /* Is @bo embedded in a struct vmw_buffer_object? */
1137 if (bo->destroy != vmw_bo_bo_free &&
1138 bo->destroy != vmw_user_bo_destroy)
1142 vmw_bo_unmap(vmw_buffer_object(bo));
1149 * @bo: The TTM buffer object about to move.
1156 void vmw_bo_move_notify(struct ttm_buffer_object *bo,
1164 /* Make sure @bo is embedded in a struct vmw_buffer_object? */
1165 if (bo->destroy != vmw_bo_bo_free &&
1166 bo->destroy != vmw_user_bo_destroy)
1169 vbo = container_of(bo, struct vmw_buffer_object, base);
1176 if (mem->mem_type == TTM_PL_VRAM || bo->mem.mem_type == TTM_PL_VRAM)
1184 if (mem->mem_type != VMW_PL_MOB && bo->mem.mem_type == VMW_PL_MOB)