Lines Matching defs:page
38 /* This driver wants to store a link to a "next page" within the
39 * page struct itself by overloading the content of the "mapping"
40 * member. This is not expected by the page API, but does currently
48 struct page page;
52 struct page *next; /* alias of "mapping" */
55 #define niu_next_page(p) container_of(p, union niu_page, page)->next
3279 static void niu_rx_skb_append(struct sk_buff *skb, struct page *page,
3282 skb_fill_page_desc(skb, skb_shinfo(skb)->nr_frags, page, offset, size);
3297 static struct page *niu_find_rxpage(struct rx_ring_info *rp, u64 addr,
3298 struct page ***link)
3301 struct page *p, **pp;
3317 static void niu_hash_page(struct rx_ring_info *rp, struct page *page, u64 base)
3321 page->index = base;
3322 niu_next_page(page) = rp->rxhash[h];
3323 rp->rxhash[h] = page;
3329 struct page *page;
3333 page = alloc_page(mask);
3334 if (!page)
3337 addr = np->ops->map_page(np->device, page, 0,
3340 __free_page(page);
3344 niu_hash_page(rp, page, addr);
3346 page_ref_add(page, rp->rbr_blocks_per_page - 1);
3390 struct page *page, **link;
3399 page = niu_find_rxpage(rp, addr, &link);
3403 if ((page->index + PAGE_SIZE) - rcr_size == addr) {
3404 *link = niu_next_page(page);
3405 np->ops->unmap_page(np->device, page->index,
3407 page->index = 0;
3408 niu_next_page(page) = NULL;
3409 __free_page(page);
3437 struct page *page, **link;
3451 page = niu_find_rxpage(rp, addr, &link);
3471 niu_rx_skb_append(skb, page, off, append_size, rcr_size);
3472 if ((page->index + rp->rbr_block_size) - rcr_size == addr) {
3473 *link = niu_next_page(page);
3474 np->ops->unmap_page(np->device, page->index,
3476 page->index = 0;
3477 niu_next_page(page) = NULL;
3480 get_page(page);
3536 struct page *page;
3538 page = rp->rxhash[i];
3539 while (page) {
3540 struct page *next = niu_next_page(page);
3541 u64 base = page->index;
3545 page->index = 0;
3546 niu_next_page(page) = NULL;
3548 __free_page(page);
3550 page = next;
4344 rp->rxhash = kcalloc(MAX_RBR_RING_SIZE, sizeof(struct page *),
6458 struct page *page;
6460 page = rp->rxhash[j];
6461 while (page) {
6462 struct page *next = niu_next_page(page);
6463 u64 base = page->index;
6466 page = next;
9612 static u64 niu_pci_map_page(struct device *dev, struct page *page,
9616 return dma_map_page(dev, page, offset, size, direction);
9967 unsigned long page = __get_free_pages(flag, order);
9969 if (page == 0UL)
9971 memset((char *)page, 0, PAGE_SIZE << order);
9972 *dma_addr = __pa(page);
9974 return (void *) page;
9985 static u64 niu_phys_map_page(struct device *dev, struct page *page,
9989 return page_to_phys(page) + offset;
10197 BUILD_BUG_ON(offsetof(struct page, mapping) !=