Lines Matching refs:rx_buffer

8548 static bool igb_can_reuse_rx_page(struct igb_rx_buffer *rx_buffer,  in igb_can_reuse_rx_page()  argument
8551 unsigned int pagecnt_bias = rx_buffer->pagecnt_bias; in igb_can_reuse_rx_page()
8552 struct page *page = rx_buffer->page; in igb_can_reuse_rx_page()
8566 if (rx_buffer->page_offset > IGB_LAST_OFFSET) in igb_can_reuse_rx_page()
8576 rx_buffer->pagecnt_bias = USHRT_MAX; in igb_can_reuse_rx_page()
8592 struct igb_rx_buffer *rx_buffer, in igb_add_rx_frag() argument
8603 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, rx_buffer->page, in igb_add_rx_frag()
8604 rx_buffer->page_offset, size, truesize); in igb_add_rx_frag()
8606 rx_buffer->page_offset ^= truesize; in igb_add_rx_frag()
8608 rx_buffer->page_offset += truesize; in igb_add_rx_frag()
8613 struct igb_rx_buffer *rx_buffer, in igb_construct_skb() argument
8649 skb_add_rx_frag(skb, 0, rx_buffer->page, in igb_construct_skb()
8650 (xdp->data + headlen) - page_address(rx_buffer->page), in igb_construct_skb()
8653 rx_buffer->page_offset ^= truesize; in igb_construct_skb()
8655 rx_buffer->page_offset += truesize; in igb_construct_skb()
8658 rx_buffer->pagecnt_bias++; in igb_construct_skb()
8665 struct igb_rx_buffer *rx_buffer, in igb_build_skb() argument
8699 rx_buffer->page_offset ^= truesize; in igb_build_skb()
8701 rx_buffer->page_offset += truesize; in igb_build_skb()
8768 struct igb_rx_buffer *rx_buffer, in igb_rx_buffer_flip() argument
8773 rx_buffer->page_offset ^= truesize; in igb_rx_buffer_flip()
8775 rx_buffer->page_offset += truesize; in igb_rx_buffer_flip()
8940 struct igb_rx_buffer *rx_buffer; in igb_get_rx_buffer() local
8942 rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean]; in igb_get_rx_buffer()
8945 page_count(rx_buffer->page); in igb_get_rx_buffer()
8949 prefetchw(rx_buffer->page); in igb_get_rx_buffer()
8953 rx_buffer->dma, in igb_get_rx_buffer()
8954 rx_buffer->page_offset, in igb_get_rx_buffer()
8958 rx_buffer->pagecnt_bias--; in igb_get_rx_buffer()
8960 return rx_buffer; in igb_get_rx_buffer()
8964 struct igb_rx_buffer *rx_buffer, int rx_buf_pgcnt) in igb_put_rx_buffer() argument
8966 if (igb_can_reuse_rx_page(rx_buffer, rx_buf_pgcnt)) { in igb_put_rx_buffer()
8968 igb_reuse_rx_page(rx_ring, rx_buffer); in igb_put_rx_buffer()
8973 dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma, in igb_put_rx_buffer()
8976 __page_frag_cache_drain(rx_buffer->page, in igb_put_rx_buffer()
8977 rx_buffer->pagecnt_bias); in igb_put_rx_buffer()
8981 rx_buffer->page = NULL; in igb_put_rx_buffer()
9037 struct igb_rx_buffer *rx_buffer; in igb_clean_rx_irq() local
9060 rx_buffer = igb_get_rx_buffer(rx_ring, size, &rx_buf_pgcnt); in igb_clean_rx_irq()
9061 pktbuf = page_address(rx_buffer->page) + rx_buffer->page_offset; in igb_clean_rx_irq()
9091 igb_rx_buffer_flip(rx_ring, rx_buffer, size); in igb_clean_rx_irq()
9093 rx_buffer->pagecnt_bias++; in igb_clean_rx_irq()
9098 igb_add_rx_frag(rx_ring, rx_buffer, skb, size); in igb_clean_rx_irq()
9100 skb = igb_build_skb(rx_ring, rx_buffer, &xdp, in igb_clean_rx_irq()
9103 skb = igb_construct_skb(rx_ring, rx_buffer, in igb_clean_rx_irq()
9109 rx_buffer->pagecnt_bias++; in igb_clean_rx_irq()
9114 igb_put_rx_buffer(rx_ring, rx_buffer, rx_buf_pgcnt); in igb_clean_rx_irq()