Lines Matching refs:rx_buffer
1640 struct igc_rx_buffer *rx_buffer; in igc_get_rx_buffer() local
1642 rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean]; in igc_get_rx_buffer()
1645 page_count(rx_buffer->page); in igc_get_rx_buffer()
1649 prefetchw(rx_buffer->page); in igc_get_rx_buffer()
1653 rx_buffer->dma, in igc_get_rx_buffer()
1654 rx_buffer->page_offset, in igc_get_rx_buffer()
1658 rx_buffer->pagecnt_bias--; in igc_get_rx_buffer()
1660 return rx_buffer; in igc_get_rx_buffer()
1699 struct igc_rx_buffer *rx_buffer, in igc_add_rx_frag() argument
1712 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, rx_buffer->page, in igc_add_rx_frag()
1713 rx_buffer->page_offset, size, truesize); in igc_add_rx_frag()
1715 igc_rx_buffer_flip(rx_buffer, truesize); in igc_add_rx_frag()
1719 struct igc_rx_buffer *rx_buffer, in igc_build_skb() argument
1723 void *va = page_address(rx_buffer->page) + rx_buffer->page_offset; in igc_build_skb()
1739 igc_rx_buffer_flip(rx_buffer, truesize); in igc_build_skb()
1744 struct igc_rx_buffer *rx_buffer, in igc_construct_skb() argument
1776 skb_add_rx_frag(skb, 0, rx_buffer->page, in igc_construct_skb()
1777 (va + headlen) - page_address(rx_buffer->page), in igc_construct_skb()
1779 igc_rx_buffer_flip(rx_buffer, truesize); in igc_construct_skb()
1781 rx_buffer->pagecnt_bias++; in igc_construct_skb()
1816 static bool igc_can_reuse_rx_page(struct igc_rx_buffer *rx_buffer, in igc_can_reuse_rx_page() argument
1819 unsigned int pagecnt_bias = rx_buffer->pagecnt_bias; in igc_can_reuse_rx_page()
1820 struct page *page = rx_buffer->page; in igc_can_reuse_rx_page()
1834 if (rx_buffer->page_offset > IGC_LAST_OFFSET) in igc_can_reuse_rx_page()
1844 rx_buffer->pagecnt_bias = USHRT_MAX; in igc_can_reuse_rx_page()
1916 struct igc_rx_buffer *rx_buffer, in igc_put_rx_buffer() argument
1919 if (igc_can_reuse_rx_page(rx_buffer, rx_buffer_pgcnt)) { in igc_put_rx_buffer()
1921 igc_reuse_rx_page(rx_ring, rx_buffer); in igc_put_rx_buffer()
1926 dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma, in igc_put_rx_buffer()
1929 __page_frag_cache_drain(rx_buffer->page, in igc_put_rx_buffer()
1930 rx_buffer->pagecnt_bias); in igc_put_rx_buffer()
1934 rx_buffer->page = NULL; in igc_put_rx_buffer()
2317 struct igc_rx_buffer *rx_buffer; in igc_clean_rx_irq() local
2341 rx_buffer = igc_get_rx_buffer(rx_ring, size, &rx_buffer_pgcnt); in igc_clean_rx_irq()
2344 pktbuf = page_address(rx_buffer->page) + rx_buffer->page_offset; in igc_clean_rx_irq()
2366 rx_buffer->pagecnt_bias++; in igc_clean_rx_irq()
2370 igc_rx_buffer_flip(rx_buffer, truesize); in igc_clean_rx_irq()
2378 igc_add_rx_frag(rx_ring, rx_buffer, skb, size); in igc_clean_rx_irq()
2380 skb = igc_build_skb(rx_ring, rx_buffer, rx_desc, size); in igc_clean_rx_irq()
2382 skb = igc_construct_skb(rx_ring, rx_buffer, &xdp, in igc_clean_rx_irq()
2388 rx_buffer->pagecnt_bias++; in igc_clean_rx_irq()
2392 igc_put_rx_buffer(rx_ring, rx_buffer, rx_buffer_pgcnt); in igc_clean_rx_irq()