Searched refs:_manager (Results 1 - 2 of 2) sorted by relevance

/linux-4.4.14/drivers/gpu/drm/ttm/
H A Dttm_page_alloc.c217 static struct ttm_pool_manager *_manager; variable in typeref:struct:ttm_pool_manager
272 return &_manager->pools[pool_index]; ttm_get_pool()
413 pool = &_manager->pools[(i + pool_offset)%NUM_POOLS]; ttm_pool_shrink_scan()
430 count += _manager->pools[i].npages; ttm_pool_shrink_count()
592 if (count < _manager->options.small ttm_page_pool_fill_locked()
595 unsigned alloc_size = _manager->options.alloc_size; ttm_page_pool_fill_locked()
708 if (pool->npages > _manager->options.max_size) { ttm_put_pages()
709 npages = pool->npages - _manager->options.max_size; ttm_put_pages()
816 WARN_ON(_manager); ttm_page_alloc_init()
820 _manager = kzalloc(sizeof(*_manager), GFP_KERNEL); ttm_page_alloc_init()
822 ttm_page_pool_init_locked(&_manager->wc_pool, GFP_HIGHUSER, "wc"); ttm_page_alloc_init()
824 ttm_page_pool_init_locked(&_manager->uc_pool, GFP_HIGHUSER, "uc"); ttm_page_alloc_init()
826 ttm_page_pool_init_locked(&_manager->wc_pool_dma32, ttm_page_alloc_init()
829 ttm_page_pool_init_locked(&_manager->uc_pool_dma32, ttm_page_alloc_init()
832 _manager->options.max_size = max_pages; ttm_page_alloc_init()
833 _manager->options.small = SMALL_ALLOCATION; ttm_page_alloc_init()
834 _manager->options.alloc_size = NUM_PAGES_TO_ALLOC; ttm_page_alloc_init()
836 ret = kobject_init_and_add(&_manager->kobj, &ttm_pool_kobj_type, ttm_page_alloc_init()
839 kobject_put(&_manager->kobj); ttm_page_alloc_init()
840 _manager = NULL; ttm_page_alloc_init()
844 ttm_pool_mm_shrink_init(_manager); ttm_page_alloc_init()
854 ttm_pool_mm_shrink_fini(_manager); ttm_page_alloc_fini()
858 ttm_page_pool_free(&_manager->pools[i], FREE_ALL_PAGES, true); ttm_page_alloc_fini()
860 kobject_put(&_manager->kobj); ttm_page_alloc_fini()
861 _manager = NULL; ttm_page_alloc_fini()
925 if (!_manager) { ttm_page_alloc_debugfs()
932 p = &_manager->pools[i]; ttm_page_alloc_debugfs()
H A Dttm_page_alloc_dma.c178 static struct ttm_pool_manager *_manager; variable in typeref:struct:ttm_pool_manager
526 mutex_lock(&_manager->lock); ttm_dma_free_pool()
527 list_for_each_entry_reverse(p, &_manager->pools, pools) { ttm_dma_free_pool()
536 _manager->npools--; ttm_dma_free_pool()
554 mutex_unlock(&_manager->lock); ttm_dma_free_pool()
631 mutex_lock(&_manager->lock); ttm_dma_pool_init()
633 list_add(&sec_pool->pools, &_manager->pools); ttm_dma_pool_init()
634 _manager->npools++; ttm_dma_pool_init()
637 mutex_unlock(&_manager->lock); ttm_dma_pool_init()
803 unsigned count = _manager->options.small; ttm_dma_page_pool_fill_locked()
970 if (pool->npages_free >= (_manager->options.max_size + ttm_dma_unpopulate()
972 npages = pool->npages_free - _manager->options.max_size; ttm_dma_unpopulate()
1021 if (list_empty(&_manager->pools)) ttm_dma_pool_shrink_scan()
1024 if (!mutex_trylock(&_manager->lock)) ttm_dma_pool_shrink_scan()
1026 if (!_manager->npools) ttm_dma_pool_shrink_scan()
1028 pool_offset = ++start_pool % _manager->npools; ttm_dma_pool_shrink_scan()
1029 list_for_each_entry(p, &_manager->pools, pools) { ttm_dma_pool_shrink_scan()
1049 mutex_unlock(&_manager->lock); ttm_dma_pool_shrink_scan()
1059 if (!mutex_trylock(&_manager->lock)) ttm_dma_pool_shrink_count()
1061 list_for_each_entry(p, &_manager->pools, pools) ttm_dma_pool_shrink_count()
1063 mutex_unlock(&_manager->lock); ttm_dma_pool_shrink_count()
1084 WARN_ON(_manager); ttm_dma_page_alloc_init()
1088 _manager = kzalloc(sizeof(*_manager), GFP_KERNEL); ttm_dma_page_alloc_init()
1089 if (!_manager) ttm_dma_page_alloc_init()
1092 mutex_init(&_manager->lock); ttm_dma_page_alloc_init()
1093 INIT_LIST_HEAD(&_manager->pools); ttm_dma_page_alloc_init()
1095 _manager->options.max_size = max_pages; ttm_dma_page_alloc_init()
1096 _manager->options.small = SMALL_ALLOCATION; ttm_dma_page_alloc_init()
1097 _manager->options.alloc_size = NUM_PAGES_TO_ALLOC; ttm_dma_page_alloc_init()
1099 /* This takes care of auto-freeing the _manager */ ttm_dma_page_alloc_init()
1100 ret = kobject_init_and_add(&_manager->kobj, &ttm_pool_kobj_type, ttm_dma_page_alloc_init()
1103 kobject_put(&_manager->kobj); ttm_dma_page_alloc_init()
1106 ttm_dma_pool_mm_shrink_init(_manager); ttm_dma_page_alloc_init()
1117 ttm_dma_pool_mm_shrink_fini(_manager); ttm_dma_page_alloc_fini()
1119 list_for_each_entry_safe_reverse(p, t, &_manager->pools, pools) { ttm_dma_page_alloc_fini()
1126 kobject_put(&_manager->kobj); ttm_dma_page_alloc_fini()
1127 _manager = NULL; ttm_dma_page_alloc_fini()
1137 if (!_manager) { ttm_dma_page_alloc_debugfs()
1143 mutex_lock(&_manager->lock); ttm_dma_page_alloc_debugfs()
1144 list_for_each_entry(p, &_manager->pools, pools) { ttm_dma_page_alloc_debugfs()
1155 mutex_unlock(&_manager->lock); ttm_dma_page_alloc_debugfs()

Completed in 218 milliseconds