Lines Matching refs:pMem_pool

139 pool_alloc_page (struct ms_mem_pool *pMem_pool, int iFlags)  in pool_alloc_page()  argument
144 mapsize = pMem_pool->blocks_per_page; in pool_alloc_page()
158 ms_insert_list_after (&pPage->page_list, &pMem_pool->page_list); in pool_alloc_page()
179 void *ms_mem_pool_alloc (struct ms_mem_pool *pMem_pool, int iFlags, dma_addr_t *pDma_addr) in ms_mem_pool_alloc() argument
188 osapi_spin_lock_irqsave (&pMem_pool->lock, u32flag); in ms_mem_pool_alloc()
189 list_for_loop (entry, &pMem_pool->page_list) in ms_mem_pool_alloc()
197 for (iMap = 0, i = 0; i < pMem_pool->blocks_per_page; i += BITS_PER_LONG, iMap++) in ms_mem_pool_alloc()
202 if ((i + iBlock) < pMem_pool->blocks_per_page) in ms_mem_pool_alloc()
206 u32Offset *= pMem_pool->size; in ms_mem_pool_alloc()
212 if (!(ms_page = pool_alloc_page (pMem_pool, iFlags))) in ms_mem_pool_alloc()
225 osapi_spin_unlock_irqrestore (&pMem_pool->lock, u32flag); in ms_mem_pool_alloc()
249 void ms_mem_pool_destroy (struct ms_mem_pool *pMem_pool) in ms_mem_pool_destroy() argument
253 osapi_spin_lock_irqsave (&pMem_pool->lock, u32flag); in ms_mem_pool_destroy()
254 while (!ms_is_empty_list (&pMem_pool->page_list)) in ms_mem_pool_destroy()
258 const struct list_head *__mptr = pMem_pool->page_list.next; in ms_mem_pool_destroy()
261 if (__is_page_busy (pMem_pool->blocks_per_page, ms_page->bitmap)) in ms_mem_pool_destroy()
264 pMem_pool->name, ms_page->vaddr); in ms_mem_pool_destroy()
277 osapi_spin_unlock_irqrestore (&pMem_pool->lock, u32flag); in ms_mem_pool_destroy()
278 kfree (pMem_pool); in ms_mem_pool_destroy()
292 MS_BOOL ms_mem_pool_free (struct ms_mem_pool *pMem_pool, void *pVirt_addr, dma_addr_t dma_addr) in ms_mem_pool_free() argument
300 osapi_spin_lock_irqsave (&pMem_pool->lock, u32flag); in ms_mem_pool_free()
301 list_for_loop (pEntry, &pMem_pool->page_list) in ms_mem_pool_free()
309 if (dma_addr < (ms_page->dma + pMem_pool->allocation)) in ms_mem_pool_free()
314 osapi_spin_unlock_irqrestore (&pMem_pool->lock, u32flag); in ms_mem_pool_free()
315 …ms_usbhost_debug ("ms_mem_pool_free %s, %p/%lx (bad dma)\n", pMem_pool->name, pVirt_addr, (U32) dm… in ms_mem_pool_free()
320 osapi_spin_unlock_irqrestore (&pMem_pool->lock, u32flag); in ms_mem_pool_free()
323 iBlock /= pMem_pool->size; in ms_mem_pool_free()
327 osapi_spin_lock_irqsave (&pMem_pool->lock, u32flag); in ms_mem_pool_free()
334 osapi_spin_unlock_irqrestore (&pMem_pool->lock, u32flag); in ms_mem_pool_free()