Lines Matching refs:rx_buffer
1644 struct igc_rx_buffer *rx_buffer; in igc_get_rx_buffer() local
1646 rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean]; in igc_get_rx_buffer()
1649 page_count(rx_buffer->page); in igc_get_rx_buffer()
1653 prefetchw(rx_buffer->page); in igc_get_rx_buffer()
1657 rx_buffer->dma, in igc_get_rx_buffer()
1658 rx_buffer->page_offset, in igc_get_rx_buffer()
1662 rx_buffer->pagecnt_bias--; in igc_get_rx_buffer()
1664 return rx_buffer; in igc_get_rx_buffer()
1703 struct igc_rx_buffer *rx_buffer, in igc_add_rx_frag() argument
1716 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, rx_buffer->page, in igc_add_rx_frag()
1717 rx_buffer->page_offset, size, truesize); in igc_add_rx_frag()
1719 igc_rx_buffer_flip(rx_buffer, truesize); in igc_add_rx_frag()
1723 struct igc_rx_buffer *rx_buffer, in igc_build_skb() argument
1745 igc_rx_buffer_flip(rx_buffer, truesize); in igc_build_skb()
1750 struct igc_rx_buffer *rx_buffer, in igc_construct_skb() argument
1790 skb_add_rx_frag(skb, 0, rx_buffer->page, in igc_construct_skb()
1791 (va + headlen) - page_address(rx_buffer->page), in igc_construct_skb()
1793 igc_rx_buffer_flip(rx_buffer, truesize); in igc_construct_skb()
1795 rx_buffer->pagecnt_bias++; in igc_construct_skb()
1830 static bool igc_can_reuse_rx_page(struct igc_rx_buffer *rx_buffer, in igc_can_reuse_rx_page() argument
1833 unsigned int pagecnt_bias = rx_buffer->pagecnt_bias; in igc_can_reuse_rx_page()
1834 struct page *page = rx_buffer->page; in igc_can_reuse_rx_page()
1848 if (rx_buffer->page_offset > IGC_LAST_OFFSET) in igc_can_reuse_rx_page()
1858 rx_buffer->pagecnt_bias = USHRT_MAX; in igc_can_reuse_rx_page()
1930 struct igc_rx_buffer *rx_buffer, in igc_put_rx_buffer() argument
1933 if (igc_can_reuse_rx_page(rx_buffer, rx_buffer_pgcnt)) { in igc_put_rx_buffer()
1935 igc_reuse_rx_page(rx_ring, rx_buffer); in igc_put_rx_buffer()
1940 dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma, in igc_put_rx_buffer()
1943 __page_frag_cache_drain(rx_buffer->page, in igc_put_rx_buffer()
1944 rx_buffer->pagecnt_bias); in igc_put_rx_buffer()
1948 rx_buffer->page = NULL; in igc_put_rx_buffer()
2368 struct igc_rx_buffer *rx_buffer; in igc_clean_rx_irq() local
2392 rx_buffer = igc_get_rx_buffer(rx_ring, size, &rx_buffer_pgcnt); in igc_clean_rx_irq()
2395 pktbuf = page_address(rx_buffer->page) + rx_buffer->page_offset; in igc_clean_rx_irq()
2419 rx_buffer->pagecnt_bias++; in igc_clean_rx_irq()
2423 igc_rx_buffer_flip(rx_buffer, truesize); in igc_clean_rx_irq()
2431 igc_add_rx_frag(rx_ring, rx_buffer, skb, size); in igc_clean_rx_irq()
2433 skb = igc_build_skb(rx_ring, rx_buffer, &xdp); in igc_clean_rx_irq()
2435 skb = igc_construct_skb(rx_ring, rx_buffer, &xdp, in igc_clean_rx_irq()
2441 rx_buffer->pagecnt_bias++; in igc_clean_rx_irq()
2445 igc_put_rx_buffer(rx_ring, rx_buffer, rx_buffer_pgcnt); in igc_clean_rx_irq()