Lines Matching refs:bdev

126 	struct ttm_device *bdev;  in ttm_global_swapout()  local
130 list_for_each_entry(bdev, &glob->device_list, device_list) { in ttm_global_swapout()
131 ret = ttm_device_swapout(bdev, ctx, gfp_flags); in ttm_global_swapout()
133 list_move_tail(&bdev->device_list, &glob->device_list); in ttm_global_swapout()
142 int ttm_device_swapout(struct ttm_device *bdev, struct ttm_operation_ctx *ctx, in ttm_device_swapout() argument
150 spin_lock(&bdev->lru_lock); in ttm_device_swapout()
152 man = ttm_manager_type(bdev, i); in ttm_device_swapout()
169 spin_unlock(&bdev->lru_lock); in ttm_device_swapout()
176 struct ttm_device *bdev = in ttm_device_delayed_workqueue() local
179 if (!ttm_bo_delayed_delete(bdev, false)) in ttm_device_delayed_workqueue()
180 schedule_delayed_work(&bdev->wq, in ttm_device_delayed_workqueue()
199 int ttm_device_init(struct ttm_device *bdev, struct ttm_device_funcs *funcs, in ttm_device_init() argument
214 bdev->funcs = funcs; in ttm_device_init()
216 ttm_sys_man_init(bdev); in ttm_device_init()
217 ttm_pool_init(&bdev->pool, dev, use_dma_alloc, use_dma32); in ttm_device_init()
219 bdev->vma_manager = vma_manager; in ttm_device_init()
220 INIT_DELAYED_WORK(&bdev->wq, ttm_device_delayed_workqueue); in ttm_device_init()
221 spin_lock_init(&bdev->lru_lock); in ttm_device_init()
222 INIT_LIST_HEAD(&bdev->ddestroy); in ttm_device_init()
223 INIT_LIST_HEAD(&bdev->pinned); in ttm_device_init()
224 bdev->dev_mapping = mapping; in ttm_device_init()
226 list_add_tail(&bdev->device_list, &glob->device_list); in ttm_device_init()
233 void ttm_device_fini(struct ttm_device *bdev) in ttm_device_fini() argument
238 man = ttm_manager_type(bdev, TTM_PL_SYSTEM); in ttm_device_fini()
240 ttm_set_driver_manager(bdev, TTM_PL_SYSTEM, NULL); in ttm_device_fini()
243 list_del(&bdev->device_list); in ttm_device_fini()
246 cancel_delayed_work_sync(&bdev->wq); in ttm_device_fini()
248 if (ttm_bo_delayed_delete(bdev, true)) in ttm_device_fini()
251 spin_lock(&bdev->lru_lock); in ttm_device_fini()
255 spin_unlock(&bdev->lru_lock); in ttm_device_fini()
257 ttm_pool_fini(&bdev->pool); in ttm_device_fini()
262 void ttm_device_clear_dma_mappings(struct ttm_device *bdev) in ttm_device_clear_dma_mappings() argument
268 spin_lock(&bdev->lru_lock); in ttm_device_clear_dma_mappings()
269 while (!list_empty(&bdev->pinned)) { in ttm_device_clear_dma_mappings()
270 bo = list_first_entry(&bdev->pinned, struct ttm_buffer_object, lru); in ttm_device_clear_dma_mappings()
274 spin_unlock(&bdev->lru_lock); in ttm_device_clear_dma_mappings()
277 ttm_tt_unpopulate(bo->bdev, bo->ttm); in ttm_device_clear_dma_mappings()
280 spin_lock(&bdev->lru_lock); in ttm_device_clear_dma_mappings()
285 man = ttm_manager_type(bdev, i); in ttm_device_clear_dma_mappings()
294 spin_unlock(&bdev->lru_lock); in ttm_device_clear_dma_mappings()
297 ttm_tt_unpopulate(bo->bdev, bo->ttm); in ttm_device_clear_dma_mappings()
300 spin_lock(&bdev->lru_lock); in ttm_device_clear_dma_mappings()
305 spin_unlock(&bdev->lru_lock); in ttm_device_clear_dma_mappings()