Lines Matching refs:order

114 	unsigned int order;  member
137 unsigned int order) in ttm_pool_alloc_page() argument
149 if (order) in ttm_pool_alloc_page()
157 if (beneficial_order && order > beneficial_order) in ttm_pool_alloc_page()
161 p = alloc_pages_node(pool->nid, gfp_flags, order); in ttm_pool_alloc_page()
163 p->private = order; in ttm_pool_alloc_page()
171 if (order) in ttm_pool_alloc_page()
174 vaddr = dma_alloc_attrs(pool->dev, (1ULL << order) * PAGE_SIZE, in ttm_pool_alloc_page()
187 dma->vaddr = (unsigned long)vaddr | order; in ttm_pool_alloc_page()
198 unsigned int order, struct page *p) in ttm_pool_free_page() argument
209 set_pages_wb(p, 1 << order); in ttm_pool_free_page()
213 __free_pages(p, order); in ttm_pool_free_page()
217 if (order) in ttm_pool_free_page()
222 dma_free_attrs(pool->dev, (1UL << order) * PAGE_SIZE, vaddr, dma->addr, in ttm_pool_free_page()
250 static int ttm_pool_map(struct ttm_pool *pool, unsigned int order, in ttm_pool_map() argument
260 size_t size = (1ULL << order) * PAGE_SIZE; in ttm_pool_map()
287 unsigned int i, num_pages = 1 << pt->order; in ttm_pool_type_give()
299 atomic_long_add(1 << pt->order, &allocated_pages); in ttm_pool_type_give()
310 atomic_long_sub(1 << pt->order, &allocated_pages); in ttm_pool_type_take()
320 enum ttm_caching caching, unsigned int order) in ttm_pool_type_init() argument
324 pt->order = order; in ttm_pool_type_init()
343 ttm_pool_free_page(pt->pool, pt->caching, pt->order, p); in ttm_pool_type_fini()
349 unsigned int order) in ttm_pool_select_type() argument
352 return &pool->caching[caching].orders[order]; in ttm_pool_select_type()
358 return &pool->caching[caching].orders[order]; in ttm_pool_select_type()
361 return &global_dma32_write_combined[order]; in ttm_pool_select_type()
363 return &global_write_combined[order]; in ttm_pool_select_type()
366 return &pool->caching[caching].orders[order]; in ttm_pool_select_type()
369 return &global_dma32_uncached[order]; in ttm_pool_select_type()
371 return &global_uncached[order]; in ttm_pool_select_type()
395 ttm_pool_free_page(pt->pool, pt->caching, pt->order, p); in ttm_pool_shrink()
396 num_pages = 1 << pt->order; in ttm_pool_shrink()
424 unsigned int order = ttm_pool_page_order(pool, p); in ttm_pool_split_for_swap() local
427 if (!order) in ttm_pool_split_for_swap()
430 split_page(p, order); in ttm_pool_split_for_swap()
431 nr = 1UL << order; in ttm_pool_split_for_swap()
461 return restore && restore->restored_pages < (1 << restore->order); in ttm_pool_restore_valid()
469 unsigned int order; in ttm_pool_unmap_and_free() local
473 order = ttm_pool_page_order(pool, page); in ttm_pool_unmap_and_free()
474 nr = (1UL << order); in ttm_pool_unmap_and_free()
478 pt = ttm_pool_select_type(pool, caching, order); in ttm_pool_unmap_and_free()
480 order = page->private; in ttm_pool_unmap_and_free()
481 nr = (1UL << order); in ttm_pool_unmap_and_free()
487 ttm_pool_free_page(pool, caching, order, page); in ttm_pool_unmap_and_free()
524 pgoff_t i, nr = 1UL << restore->order; in ttm_pool_restore_commit()
591 ttm_pool_page_allocated_restore(struct ttm_pool *pool, unsigned int order, in ttm_pool_page_allocated_restore() argument
599 restore->order = order; in ttm_pool_page_allocated_restore()
614 static int ttm_pool_page_allocated(struct ttm_pool *pool, unsigned int order, in ttm_pool_page_allocated() argument
632 r = ttm_pool_map(pool, order, p, &first_dma); in ttm_pool_page_allocated()
638 ttm_pool_page_allocated_restore(pool, order, p, page_caching, in ttm_pool_page_allocated()
641 ttm_pool_allocated_page_commit(p, first_dma, alloc, 1UL << order); in ttm_pool_page_allocated()
717 unsigned int order; in __ttm_pool_alloc() local
738 for (order = ttm_pool_alloc_find_order(MAX_PAGE_ORDER, alloc); in __ttm_pool_alloc()
740 order = ttm_pool_alloc_find_order(order, alloc)) { in __ttm_pool_alloc()
745 pt = ttm_pool_select_type(pool, page_caching, order); in __ttm_pool_alloc()
757 p = ttm_pool_alloc_page(pool, gfp_flags, order); in __ttm_pool_alloc()
761 if (order) { in __ttm_pool_alloc()
762 --order; in __ttm_pool_alloc()
770 r = ttm_pool_page_allocated(pool, order, p, page_caching, alloc, in __ttm_pool_alloc()
792 ttm_pool_free_page(pool, page_caching, order, p); in __ttm_pool_alloc()
929 restore->restored_pages = 1UL << restore->order; in ttm_pool_drop_backed_up()
1002 unsigned int order; in ttm_pool_backup() local
1010 order = ttm_pool_page_order(pool, page); in ttm_pool_backup()
1011 num_pages = 1UL << order; in ttm_pool_backup()
1018 __free_pages(page, order); in ttm_pool_backup()