Lines Matching refs:bo
32 static inline int qxl_bo_reserve(struct qxl_bo *bo, bool no_wait)
36 r = ttm_bo_reserve(&bo->tbo, true, no_wait, NULL);
39 struct drm_device *ddev = bo->tbo.base.dev;
41 dev_err(ddev->dev, "%p reserve failed\n", bo);
48 static inline void qxl_bo_unreserve(struct qxl_bo *bo)
50 ttm_bo_unreserve(&bo->tbo);
53 static inline u64 qxl_bo_gpu_offset(struct qxl_bo *bo)
55 return bo->tbo.offset;
58 static inline unsigned long qxl_bo_size(struct qxl_bo *bo)
60 return bo->tbo.num_pages << PAGE_SHIFT;
63 static inline u64 qxl_bo_mmap_offset(struct qxl_bo *bo)
65 return drm_vma_node_offset_addr(&bo->tbo.base.vma_node);
68 static inline int qxl_bo_wait(struct qxl_bo *bo, u32 *mem_type,
73 r = ttm_bo_reserve(&bo->tbo, true, no_wait, NULL);
76 struct drm_device *ddev = bo->tbo.base.dev;
79 bo);
84 *mem_type = bo->tbo.mem.mem_type;
86 r = ttm_bo_wait(&bo->tbo, true, no_wait);
87 ttm_bo_unreserve(&bo->tbo);
96 extern int qxl_bo_kmap(struct qxl_bo *bo, void **ptr);
97 extern void qxl_bo_kunmap(struct qxl_bo *bo);
98 void *qxl_bo_kmap_atomic_page(struct qxl_device *qdev, struct qxl_bo *bo, int page_offset);
99 void qxl_bo_kunmap_atomic_page(struct qxl_device *qdev, struct qxl_bo *bo, void *map);
100 extern struct qxl_bo *qxl_bo_ref(struct qxl_bo *bo);
101 extern void qxl_bo_unref(struct qxl_bo **bo);
102 extern int qxl_bo_pin(struct qxl_bo *bo);
103 extern int qxl_bo_unpin(struct qxl_bo *bo);
105 extern bool qxl_ttm_bo_is_qxl_bo(struct ttm_buffer_object *bo);