Lines Matching refs:_manager

266 static struct ttm_pool_manager *_manager;  variable
319 return &_manager->pools[pool_index]; in ttm_get_pool()
433 total += _manager->pools[i].npages; in ttm_pool_get_num_unused_pages()
455 pool = &_manager->pools[(i + pool_offset)%NUM_POOLS]; in ttm_pool_mm_shrink()
613 if (count < _manager->options.small in ttm_page_pool_fill_locked()
616 unsigned alloc_size = _manager->options.alloc_size; in ttm_page_pool_fill_locked()
711 if (pool->npages > _manager->options.max_size) { in ttm_put_pages()
712 npages = pool->npages - _manager->options.max_size; in ttm_put_pages()
805 if (_manager != NULL) in ttm_page_alloc_init()
809 _manager = malloc(sizeof(*_manager), M_TTM_POOLMGR, M_WAITOK | M_ZERO); in ttm_page_alloc_init()
811 ttm_page_pool_init_locked(&_manager->wc_pool, 0, "wc"); in ttm_page_alloc_init()
812 ttm_page_pool_init_locked(&_manager->uc_pool, 0, "uc"); in ttm_page_alloc_init()
813 ttm_page_pool_init_locked(&_manager->wc_pool_dma32, in ttm_page_alloc_init()
815 ttm_page_pool_init_locked(&_manager->uc_pool_dma32, in ttm_page_alloc_init()
818 _manager->options.max_size = max_pages; in ttm_page_alloc_init()
819 _manager->options.small = SMALL_ALLOCATION; in ttm_page_alloc_init()
820 _manager->options.alloc_size = NUM_PAGES_TO_ALLOC; in ttm_page_alloc_init()
822 refcount_init(&_manager->kobj_ref, 1); in ttm_page_alloc_init()
823 ttm_pool_mm_shrink_init(_manager); in ttm_page_alloc_init()
833 ttm_pool_mm_shrink_fini(_manager); in ttm_page_alloc_fini()
836 ttm_page_pool_free(&_manager->pools[i], FREE_ALL_PAGES); in ttm_page_alloc_fini()
838 if (refcount_release(&_manager->kobj_ref)) in ttm_page_alloc_fini()
839 ttm_pool_kobj_release(_manager); in ttm_page_alloc_fini()
840 _manager = NULL; in ttm_page_alloc_fini()
904 if (!_manager) {
911 p = &_manager->pools[i];