Lines Matching refs:rx_buffer
1762 struct igc_rx_buffer *rx_buffer; in igc_get_rx_buffer() local
1764 rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean]; in igc_get_rx_buffer()
1767 page_count(rx_buffer->page); in igc_get_rx_buffer()
1771 prefetchw(rx_buffer->page); in igc_get_rx_buffer()
1775 rx_buffer->dma, in igc_get_rx_buffer()
1776 rx_buffer->page_offset, in igc_get_rx_buffer()
1780 rx_buffer->pagecnt_bias--; in igc_get_rx_buffer()
1782 return rx_buffer; in igc_get_rx_buffer()
1821 struct igc_rx_buffer *rx_buffer, in igc_add_rx_frag() argument
1834 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, rx_buffer->page, in igc_add_rx_frag()
1835 rx_buffer->page_offset, size, truesize); in igc_add_rx_frag()
1837 igc_rx_buffer_flip(rx_buffer, truesize); in igc_add_rx_frag()
1841 struct igc_rx_buffer *rx_buffer, in igc_build_skb() argument
1863 igc_rx_buffer_flip(rx_buffer, truesize); in igc_build_skb()
1868 struct igc_rx_buffer *rx_buffer, in igc_construct_skb() argument
1908 skb_add_rx_frag(skb, 0, rx_buffer->page, in igc_construct_skb()
1909 (va + headlen) - page_address(rx_buffer->page), in igc_construct_skb()
1911 igc_rx_buffer_flip(rx_buffer, truesize); in igc_construct_skb()
1913 rx_buffer->pagecnt_bias++; in igc_construct_skb()
1948 static bool igc_can_reuse_rx_page(struct igc_rx_buffer *rx_buffer, in igc_can_reuse_rx_page() argument
1951 unsigned int pagecnt_bias = rx_buffer->pagecnt_bias; in igc_can_reuse_rx_page()
1952 struct page *page = rx_buffer->page; in igc_can_reuse_rx_page()
1966 if (rx_buffer->page_offset > IGC_LAST_OFFSET) in igc_can_reuse_rx_page()
1976 rx_buffer->pagecnt_bias = USHRT_MAX; in igc_can_reuse_rx_page()
2048 struct igc_rx_buffer *rx_buffer, in igc_put_rx_buffer() argument
2051 if (igc_can_reuse_rx_page(rx_buffer, rx_buffer_pgcnt)) { in igc_put_rx_buffer()
2053 igc_reuse_rx_page(rx_ring, rx_buffer); in igc_put_rx_buffer()
2058 dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma, in igc_put_rx_buffer()
2061 __page_frag_cache_drain(rx_buffer->page, in igc_put_rx_buffer()
2062 rx_buffer->pagecnt_bias); in igc_put_rx_buffer()
2066 rx_buffer->page = NULL; in igc_put_rx_buffer()
2486 struct igc_rx_buffer *rx_buffer; in igc_clean_rx_irq() local
2510 rx_buffer = igc_get_rx_buffer(rx_ring, size, &rx_buffer_pgcnt); in igc_clean_rx_irq()
2513 pktbuf = page_address(rx_buffer->page) + rx_buffer->page_offset; in igc_clean_rx_irq()
2537 rx_buffer->pagecnt_bias++; in igc_clean_rx_irq()
2541 igc_rx_buffer_flip(rx_buffer, truesize); in igc_clean_rx_irq()
2549 igc_add_rx_frag(rx_ring, rx_buffer, skb, size); in igc_clean_rx_irq()
2551 skb = igc_build_skb(rx_ring, rx_buffer, &xdp); in igc_clean_rx_irq()
2553 skb = igc_construct_skb(rx_ring, rx_buffer, &xdp, in igc_clean_rx_irq()
2559 rx_buffer->pagecnt_bias++; in igc_clean_rx_irq()
2563 igc_put_rx_buffer(rx_ring, rx_buffer, rx_buffer_pgcnt); in igc_clean_rx_irq()