Lines Matching refs:xe_bo
68 struct xe_bo *xe_bo_alloc(void);
69 void xe_bo_free(struct xe_bo *bo);
71 struct xe_bo *___xe_bo_create_locked(struct xe_device *xe, struct xe_bo *bo,
76 struct xe_bo *
81 struct xe_bo *xe_bo_create_locked(struct xe_device *xe, struct xe_tile *tile,
84 struct xe_bo *xe_bo_create(struct xe_device *xe, struct xe_tile *tile,
87 struct xe_bo *xe_bo_create_user(struct xe_device *xe, struct xe_tile *tile,
91 struct xe_bo *xe_bo_create_pin_map(struct xe_device *xe, struct xe_tile *tile,
94 struct xe_bo *xe_bo_create_pin_map_at(struct xe_device *xe, struct xe_tile *tile,
97 struct xe_bo *xe_bo_create_from_data(struct xe_device *xe, struct xe_tile *tile,
100 struct xe_bo *xe_managed_bo_create_pin_map(struct xe_device *xe, struct xe_tile *tile,
102 struct xe_bo *xe_managed_bo_create_from_data(struct xe_device *xe, struct xe_tile *tile,
104 int xe_managed_bo_reinit_in_vram(struct xe_device *xe, struct xe_tile *tile, struct xe_bo **src);
106 int xe_bo_placement_for_flags(struct xe_device *xe, struct xe_bo *bo,
109 static inline struct xe_bo *ttm_to_xe_bo(const struct ttm_buffer_object *bo) in ttm_to_xe_bo()
111 return container_of(bo, struct xe_bo, ttm); in ttm_to_xe_bo()
114 static inline struct xe_bo *gem_to_xe_bo(const struct drm_gem_object *obj) in gem_to_xe_bo()
116 return container_of(obj, struct xe_bo, ttm.base); in gem_to_xe_bo()
121 static inline struct xe_bo *xe_bo_get(struct xe_bo *bo) in xe_bo_get()
129 void xe_bo_put(struct xe_bo *bo);
131 static inline void __xe_bo_unset_bulk_move(struct xe_bo *bo) in __xe_bo_unset_bulk_move()
137 static inline void xe_bo_assert_held(struct xe_bo *bo) in xe_bo_assert_held()
143 int xe_bo_lock(struct xe_bo *bo, bool intr);
145 void xe_bo_unlock(struct xe_bo *bo);
147 static inline void xe_bo_unlock_vm_held(struct xe_bo *bo) in xe_bo_unlock_vm_held()
158 int xe_bo_pin_external(struct xe_bo *bo);
159 int xe_bo_pin(struct xe_bo *bo);
160 void xe_bo_unpin_external(struct xe_bo *bo);
161 void xe_bo_unpin(struct xe_bo *bo);
162 int xe_bo_validate(struct xe_bo *bo, struct xe_vm *vm, bool allow_res_evict);
164 static inline bool xe_bo_is_pinned(struct xe_bo *bo) in xe_bo_is_pinned()
169 static inline void xe_bo_unpin_map_no_vm(struct xe_bo *bo) in xe_bo_unpin_map_no_vm()
181 dma_addr_t __xe_bo_addr(struct xe_bo *bo, u64 offset, size_t page_size);
182 dma_addr_t xe_bo_addr(struct xe_bo *bo, u64 offset, size_t page_size);
185 xe_bo_main_addr(struct xe_bo *bo, size_t page_size) in xe_bo_main_addr()
191 xe_bo_ggtt_addr(struct xe_bo *bo) in xe_bo_ggtt_addr()
201 int xe_bo_vmap(struct xe_bo *bo);
202 void xe_bo_vunmap(struct xe_bo *bo);
205 bool xe_bo_is_vram(struct xe_bo *bo);
206 bool xe_bo_is_stolen(struct xe_bo *bo);
207 bool xe_bo_is_stolen_devmem(struct xe_bo *bo);
208 bool xe_bo_has_single_placement(struct xe_bo *bo);
211 bool xe_bo_can_migrate(struct xe_bo *bo, u32 mem_type);
213 int xe_bo_migrate(struct xe_bo *bo, u32 mem_type);
214 int xe_bo_evict(struct xe_bo *bo, bool force_alloc);
216 int xe_bo_evict_pinned(struct xe_bo *bo);
217 int xe_bo_restore_pinned(struct xe_bo *bo);
226 void xe_bo_runtime_pm_release_mmap_offset(struct xe_bo *bo);
232 bool xe_bo_needs_ccs_pages(struct xe_bo *bo);
234 static inline size_t xe_bo_ccs_pages_start(struct xe_bo *bo) in xe_bo_ccs_pages_start()
239 static inline bool xe_bo_has_pages(struct xe_bo *bo) in xe_bo_has_pages()
274 xe_bo_put_deferred(struct xe_bo *bo, struct llist_head *deferred) in xe_bo_put_deferred()
289 struct sg_table *xe_bo_sg(struct xe_bo *bo);
326 static inline bool xe_bo_is_mem_type(struct xe_bo *bo, u32 mem_type) in xe_bo_is_mem_type()