Lines Matching refs:bdev

132 	struct ttm_device *bdev;
136 list_for_each_entry(bdev, &glob->device_list, device_list) {
137 ret = ttm_device_swapout(bdev, ctx, gfp_flags);
139 list_move_tail(&bdev->device_list, &glob->device_list);
147 int ttm_device_swapout(struct ttm_device *bdev, struct ttm_operation_ctx *ctx,
156 spin_lock(&bdev->lru_lock);
158 man = ttm_manager_type(bdev, i);
178 spin_unlock(&bdev->lru_lock);
186 * @bdev: A pointer to a struct ttm_device to initialize.
198 int ttm_device_init(struct ttm_device *bdev, const struct ttm_device_funcs *funcs,
213 bdev->wq = alloc_workqueue("ttm",
215 if (!bdev->wq) {
220 bdev->funcs = funcs;
222 ttm_sys_man_init(bdev);
229 ttm_pool_init(&bdev->pool, dev, nid, use_dma_alloc, use_dma32);
231 bdev->vma_manager = vma_manager;
232 spin_lock_init(&bdev->lru_lock);
233 INIT_LIST_HEAD(&bdev->pinned);
234 bdev->dev_mapping = mapping;
236 list_add_tail(&bdev->device_list, &glob->device_list);
243 void ttm_device_fini(struct ttm_device *bdev)
249 list_del(&bdev->device_list);
252 drain_workqueue(bdev->wq);
253 destroy_workqueue(bdev->wq);
255 man = ttm_manager_type(bdev, TTM_PL_SYSTEM);
257 ttm_set_driver_manager(bdev, TTM_PL_SYSTEM, NULL);
259 spin_lock(&bdev->lru_lock);
263 spin_unlock(&bdev->lru_lock);
265 ttm_pool_fini(&bdev->pool);
270 static void ttm_device_clear_lru_dma_mappings(struct ttm_device *bdev,
275 spin_lock(&bdev->lru_lock);
284 spin_unlock(&bdev->lru_lock);
287 ttm_tt_unpopulate(bo->bdev, bo->ttm);
290 spin_lock(&bdev->lru_lock);
292 spin_unlock(&bdev->lru_lock);
295 void ttm_device_clear_dma_mappings(struct ttm_device *bdev)
300 ttm_device_clear_lru_dma_mappings(bdev, &bdev->pinned);
303 man = ttm_manager_type(bdev, i);
308 ttm_device_clear_lru_dma_mappings(bdev, &man->lru[j]);