Lines Matching refs:pool

202 pool_alloc_page (struct pci_pool *pool, int mem_flags)  in pool_alloc_page()  argument
207 mapsize = pool->blocks_per_page; in pool_alloc_page()
220 list_add (&page->page_list, &pool->page_list); in pool_alloc_page()
244 void *pci_pool_alloc (struct pci_pool *pool, int mem_flags, dma_addr_t *handle) in pci_pool_alloc() argument
254 spin_lock_irqsave (&pool->lock, flags); in pci_pool_alloc()
255 list_for_each (entry, &pool->page_list) { in pci_pool_alloc()
263 i < pool->blocks_per_page; in pci_pool_alloc()
268 if ((i + block) < pool->blocks_per_page) { in pci_pool_alloc()
271 offset *= pool->size; in pci_pool_alloc()
293 if (!(page = pool_alloc_page (pool, mem_flags))) { in pci_pool_alloc()
336 spin_unlock_irqrestore (&pool->lock, flags); in pci_pool_alloc()
337 …kdbg("The allocated addr is %p, block size is %d ,bit_map[%d] is 0x%08X",retval, pool->size ,map,(… in pci_pool_alloc()
342 pool_free_page (struct pci_pool *pool, struct pci_page *page) in pool_free_page() argument
352 pci_pool_destroy (struct pci_pool *pool) in pci_pool_destroy() argument
355 spin_lock_irqsave (&pool->lock, flags); in pci_pool_destroy()
356 while (!list_empty (&pool->page_list)) { in pci_pool_destroy()
360 const struct list_head *__mptr = pool->page_list.next; in pci_pool_destroy()
380 if (is_page_busy (pool->blocks_per_page, page->bitmap)) { in pci_pool_destroy()
382 pool->name, page->vaddr); in pci_pool_destroy()
387 pool_free_page (pool, page); in pci_pool_destroy()
389 spin_unlock_irqrestore (&pool->lock, flags); in pci_pool_destroy()
390 kfree (pool); in pci_pool_destroy()
411 pool_find_page (struct pci_pool *pool, dma_addr_t dma) in pool_find_page() argument
417 spin_lock_irqsave (&pool->lock, flags); in pool_find_page()
418 list_for_each (entry, &pool->page_list) { in pool_find_page()
442 if (dma < (page->dma + pool->allocation)) in pool_find_page()
447 spin_unlock_irqrestore (&pool->lock, flags); in pool_find_page()
469 pci_pool_free (struct pci_pool *pool, void *vaddr, dma_addr_t dma) in pci_pool_free() argument
475 if ((page = pool_find_page (pool, dma)) == 0) { in pci_pool_free()
477 pool->name, vaddr, in pci_pool_free()
499 block /= pool->size; in pci_pool_free()
503 spin_lock_irqsave (&pool->lock, flags); in pci_pool_free()
532 spin_unlock_irqrestore (&pool->lock, flags); in pci_pool_free()