Lines Matching refs:page

204   struct pci_page  *page;  in pool_alloc_page()  local
211 page = (struct pci_page *) kmalloc (mapsize + sizeof(struct pci_page), mem_flags); in pool_alloc_page()
212 INIT_LIST_HEAD(&page->page_list); in pool_alloc_page()
213 if (!page) in pool_alloc_page()
216 page->vaddr = ncmem_alloc_page(&page->dma); in pool_alloc_page()
218 if (page->vaddr) { in pool_alloc_page()
219 memset (page->bitmap, ((U32)-1), mapsize); // bit set == free in pool_alloc_page()
220 list_add (&page->page_list, &pool->page_list); in pool_alloc_page()
222 kfree (page); in pool_alloc_page()
223 page = 0; in pool_alloc_page()
225 return page; in pool_alloc_page()
248 struct pci_page *page; in pci_pool_alloc() local
259 page = (struct pci_page *)( (char *)__mptr - (char *)offsetof(struct pci_page,page_list)); in pci_pool_alloc()
265 if (page->bitmap [map] == 0) in pci_pool_alloc()
267 block = ffz (~ page->bitmap [map]); in pci_pool_alloc()
269 clear_bit ( block, &page->bitmap [map],U32); in pci_pool_alloc()
293 if (!(page = pool_alloc_page (pool, mem_flags))) { in pci_pool_alloc()
313 clear_bit (0, &page->bitmap [0],U32); in pci_pool_alloc()
333 retval = (void*) (offset + (size_t) ( page->vaddr )); in pci_pool_alloc()
334 *handle = offset + page->dma; in pci_pool_alloc()
337 …r is %p, block size is %d ,bit_map[%d] is 0x%08X",retval, pool->size ,map,(U32)page->bitmap [map]); in pci_pool_alloc()
342 pool_free_page (struct pci_pool *pool, struct pci_page *page) in pool_free_page() argument
345 ncmem_free_page((U32)page->vaddr); in pool_free_page()
346 list_del (&page->page_list); in pool_free_page()
347 kfree (page); in pool_free_page()
357 struct pci_page *page; in pci_pool_destroy() local
361 page = (struct pci_page *)( (char *)__mptr - (char *)offsetof(struct pci_page,page_list) ); 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()
384 list_del (&page->page_list); in pci_pool_destroy()
385 kfree (page); in pci_pool_destroy()
387 pool_free_page (pool, page); in pci_pool_destroy()
415 struct pci_page *page; in pool_find_page() local
422 page = (struct pci_page *)( (char *)__mptr - (char *)offsetof(struct pci_page,page_list) ); in pool_find_page()
440 if (dma < page->dma) in pool_find_page()
442 if (dma < (page->dma + pool->allocation)) in pool_find_page()
445 page = 0; in pool_find_page()
448 return page; in pool_find_page()
471 struct pci_page *page; in pci_pool_free() local
475 if ((page = pool_find_page (pool, dma)) == 0) { in pci_pool_free()
498 block = dma - page->dma; in pci_pool_free()
504 set_bit (block, &page->bitmap [map], U32); in pci_pool_free()
505 kdbg("Free Block: addr=0x%08X bitmap is 0x%08X",dma,(U32)page->bitmap [map]); in pci_pool_free()