Lines Matching refs:rx_buf
79 struct efx_rx_buffer *rx_buf) in efx_recycle_rx_page() argument
83 struct page *page = rx_buf->page; in efx_recycle_rx_page()
87 if (!(rx_buf->flags & EFX_RX_BUF_LAST_IN_PAGE)) in efx_recycle_rx_page()
106 efx_unmap_rx_buffer(efx, rx_buf); in efx_recycle_rx_page()
107 put_page(rx_buf->page); in efx_recycle_rx_page()
112 struct efx_rx_buffer *rx_buf, in efx_recycle_rx_pages() argument
118 efx_recycle_rx_page(channel, rx_buf); in efx_recycle_rx_pages()
119 rx_buf = efx_rx_buf_next(rx_queue, rx_buf); in efx_recycle_rx_pages()
124 struct efx_rx_buffer *rx_buf, in efx_discard_rx_packet() argument
129 efx_recycle_rx_pages(channel, rx_buf, n_frags); in efx_discard_rx_packet()
131 efx_free_rx_buffers(rx_queue, rx_buf, n_frags); in efx_discard_rx_packet()
180 struct efx_rx_buffer *rx_buf) in efx_fini_rx_buffer() argument
183 if (rx_buf->page) in efx_fini_rx_buffer()
184 put_page(rx_buf->page); in efx_fini_rx_buffer()
187 if (rx_buf->flags & EFX_RX_BUF_LAST_IN_PAGE) { in efx_fini_rx_buffer()
188 efx_unmap_rx_buffer(rx_queue->efx, rx_buf); in efx_fini_rx_buffer()
189 efx_free_rx_buffers(rx_queue, rx_buf, 1); in efx_fini_rx_buffer()
191 rx_buf->page = NULL; in efx_fini_rx_buffer()
282 struct efx_rx_buffer *rx_buf; in efx_fini_rx_queue() local
296 rx_buf = efx_rx_buffer(rx_queue, index); in efx_fini_rx_queue()
297 efx_fini_rx_buffer(rx_queue, rx_buf); in efx_fini_rx_queue()
324 struct efx_rx_buffer *rx_buf) in efx_unmap_rx_buffer() argument
326 struct page *page = rx_buf->page; in efx_unmap_rx_buffer()
339 struct efx_rx_buffer *rx_buf, in efx_free_rx_buffers() argument
343 if (rx_buf->page) { in efx_free_rx_buffers()
344 put_page(rx_buf->page); in efx_free_rx_buffers()
345 rx_buf->page = NULL; in efx_free_rx_buffers()
347 rx_buf = efx_rx_buf_next(rx_queue, rx_buf); in efx_free_rx_buffers()
379 struct efx_rx_buffer *rx_buf; in efx_init_rx_buffers() local
413 rx_buf = efx_rx_buffer(rx_queue, index); in efx_init_rx_buffers()
414 rx_buf->dma_addr = dma_addr + efx->rx_ip_align + in efx_init_rx_buffers()
416 rx_buf->page = page; in efx_init_rx_buffers()
417 rx_buf->page_offset = page_offset + efx->rx_ip_align + in efx_init_rx_buffers()
419 rx_buf->len = efx->rx_dma_len; in efx_init_rx_buffers()
420 rx_buf->flags = 0; in efx_init_rx_buffers()
427 rx_buf->flags = EFX_RX_BUF_LAST_IN_PAGE; in efx_init_rx_buffers()
512 efx_rx_packet_gro(struct efx_channel *channel, struct efx_rx_buffer *rx_buf, in efx_rx_packet_gro() argument
524 efx_free_rx_buffers(rx_queue, rx_buf, n_frags); in efx_rx_packet_gro()
536 skb->ip_summed = ((rx_buf->flags & EFX_RX_PKT_CSUMMED) ? in efx_rx_packet_gro()
539 skb->csum_level = !!(rx_buf->flags & EFX_RX_PKT_CSUM_LEVEL); in efx_rx_packet_gro()
543 rx_buf->page, rx_buf->page_offset, in efx_rx_packet_gro()
544 rx_buf->len); in efx_rx_packet_gro()
545 rx_buf->page = NULL; in efx_rx_packet_gro()
546 skb->len += rx_buf->len; in efx_rx_packet_gro()
550 rx_buf = efx_rx_buf_next(&channel->rx_queue, rx_buf); in efx_rx_packet_gro()