Lines Matching refs:rx_buffer

1200 	struct igc_rx_buffer *rx_buffer;  in igc_get_rx_buffer()  local
1202 rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean]; in igc_get_rx_buffer()
1203 prefetchw(rx_buffer->page); in igc_get_rx_buffer()
1207 rx_buffer->dma, in igc_get_rx_buffer()
1208 rx_buffer->page_offset, in igc_get_rx_buffer()
1212 rx_buffer->pagecnt_bias--; in igc_get_rx_buffer()
1214 return rx_buffer; in igc_get_rx_buffer()
1227 struct igc_rx_buffer *rx_buffer, in igc_add_rx_frag() argument
1234 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, rx_buffer->page, in igc_add_rx_frag()
1235 rx_buffer->page_offset, size, truesize); in igc_add_rx_frag()
1236 rx_buffer->page_offset ^= truesize; in igc_add_rx_frag()
1241 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, rx_buffer->page, in igc_add_rx_frag()
1242 rx_buffer->page_offset, size, truesize); in igc_add_rx_frag()
1243 rx_buffer->page_offset += truesize; in igc_add_rx_frag()
1248 struct igc_rx_buffer *rx_buffer, in igc_build_skb() argument
1252 void *va = page_address(rx_buffer->page) + rx_buffer->page_offset; in igc_build_skb()
1278 rx_buffer->page_offset ^= truesize; in igc_build_skb()
1280 rx_buffer->page_offset += truesize; in igc_build_skb()
1287 struct igc_rx_buffer *rx_buffer, in igc_construct_skb() argument
1291 void *va = page_address(rx_buffer->page) + rx_buffer->page_offset; in igc_construct_skb()
1322 skb_add_rx_frag(skb, 0, rx_buffer->page, in igc_construct_skb()
1323 (va + headlen) - page_address(rx_buffer->page), in igc_construct_skb()
1326 rx_buffer->page_offset ^= truesize; in igc_construct_skb()
1328 rx_buffer->page_offset += truesize; in igc_construct_skb()
1331 rx_buffer->pagecnt_bias++; in igc_construct_skb()
1371 static bool igc_can_reuse_rx_page(struct igc_rx_buffer *rx_buffer) in igc_can_reuse_rx_page() argument
1373 unsigned int pagecnt_bias = rx_buffer->pagecnt_bias; in igc_can_reuse_rx_page()
1374 struct page *page = rx_buffer->page; in igc_can_reuse_rx_page()
1388 if (rx_buffer->page_offset > IGC_LAST_OFFSET) in igc_can_reuse_rx_page()
1398 rx_buffer->pagecnt_bias = USHRT_MAX; in igc_can_reuse_rx_page()
1468 struct igc_rx_buffer *rx_buffer) in igc_put_rx_buffer() argument
1470 if (igc_can_reuse_rx_page(rx_buffer)) { in igc_put_rx_buffer()
1472 igc_reuse_rx_page(rx_ring, rx_buffer); in igc_put_rx_buffer()
1477 dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma, in igc_put_rx_buffer()
1480 __page_frag_cache_drain(rx_buffer->page, in igc_put_rx_buffer()
1481 rx_buffer->pagecnt_bias); in igc_put_rx_buffer()
1485 rx_buffer->page = NULL; in igc_put_rx_buffer()
1566 struct igc_rx_buffer *rx_buffer; in igc_clean_rx_irq() local
1586 rx_buffer = igc_get_rx_buffer(rx_ring, size); in igc_clean_rx_irq()
1590 igc_add_rx_frag(rx_ring, rx_buffer, skb, size); in igc_clean_rx_irq()
1592 skb = igc_build_skb(rx_ring, rx_buffer, rx_desc, size); in igc_clean_rx_irq()
1594 skb = igc_construct_skb(rx_ring, rx_buffer, in igc_clean_rx_irq()
1600 rx_buffer->pagecnt_bias++; in igc_clean_rx_irq()
1604 igc_put_rx_buffer(rx_ring, rx_buffer); in igc_clean_rx_irq()