Searched refs:_manager (Results 1 - 2 of 2) sorted by relevance
/linux-4.4.14/drivers/gpu/drm/ttm/ |
H A D | ttm_page_alloc.c | 217 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 D | ttm_page_alloc_dma.c | 178 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