Lines Matching refs:tt

360 int ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,  in ttm_pool_alloc()  argument
363 unsigned long num_pages = tt->num_pages; in ttm_pool_alloc()
364 dma_addr_t *dma_addr = tt->dma_address; in ttm_pool_alloc()
365 struct page **caching = tt->pages; in ttm_pool_alloc()
366 struct page **pages = tt->pages; in ttm_pool_alloc()
372 WARN_ON(!num_pages || ttm_tt_is_populated(tt)); in ttm_pool_alloc()
375 if (tt->page_flags & TTM_PAGE_FLAG_ZERO_ALLOC) in ttm_pool_alloc()
392 pt = ttm_pool_select_type(pool, tt->caching, order); in ttm_pool_alloc()
413 tt->caching); in ttm_pool_alloc()
430 r = ttm_pool_apply_caching(caching, pages, tt->caching); in ttm_pool_alloc()
437 ttm_pool_free_page(pool, tt->caching, order, p); in ttm_pool_alloc()
440 num_pages = tt->num_pages - num_pages; in ttm_pool_alloc()
442 order = ttm_pool_page_order(pool, tt->pages[i]); in ttm_pool_alloc()
443 ttm_pool_free_page(pool, tt->caching, order, tt->pages[i]); in ttm_pool_alloc()
459 void ttm_pool_free(struct ttm_pool *pool, struct ttm_tt *tt) in ttm_pool_free() argument
463 for (i = 0; i < tt->num_pages; ) { in ttm_pool_free()
464 struct page *p = tt->pages[i]; in ttm_pool_free()
470 if (tt->dma_address) in ttm_pool_free()
471 ttm_pool_unmap(pool, tt->dma_address[i], num_pages); in ttm_pool_free()
473 pt = ttm_pool_select_type(pool, tt->caching, order); in ttm_pool_free()
475 ttm_pool_type_give(pt, tt->pages[i]); in ttm_pool_free()
477 ttm_pool_free_page(pool, tt->caching, order, in ttm_pool_free()
478 tt->pages[i]); in ttm_pool_free()