Lines Matching refs:rx_info

531 			       struct ena_rx_buffer *rx_info)  in ena_alloc_rx_buffer()  argument
540 rx_info->buf_offset = headroom; in ena_alloc_rx_buffer()
543 if (unlikely(rx_info->page)) in ena_alloc_rx_buffer()
552 "Allocate page %p, rx_info %p\n", page, rx_info); in ena_alloc_rx_buffer()
556 rx_info->page = page; in ena_alloc_rx_buffer()
557 rx_info->dma_addr = dma; in ena_alloc_rx_buffer()
558 rx_info->page_offset = 0; in ena_alloc_rx_buffer()
559 ena_buf = &rx_info->ena_buf; in ena_alloc_rx_buffer()
567 struct ena_rx_buffer *rx_info, in ena_unmap_rx_buff_attrs() argument
570 dma_unmap_page_attrs(rx_ring->dev, rx_info->dma_addr, ENA_PAGE_SIZE, DMA_BIDIRECTIONAL, in ena_unmap_rx_buff_attrs()
575 struct ena_rx_buffer *rx_info) in ena_free_rx_page() argument
577 struct page *page = rx_info->page; in ena_free_rx_page()
585 ena_unmap_rx_buff_attrs(rx_ring, rx_info, 0); in ena_free_rx_page()
588 rx_info->page = NULL; in ena_free_rx_page()
600 struct ena_rx_buffer *rx_info; in ena_refill_rx_bufs() local
604 rx_info = &rx_ring->rx_buffer_info[req_id]; in ena_refill_rx_bufs()
606 rc = ena_alloc_rx_buffer(rx_ring, rx_info); in ena_refill_rx_bufs()
614 &rx_info->ena_buf, in ena_refill_rx_bufs()
650 struct ena_rx_buffer *rx_info = &rx_ring->rx_buffer_info[i]; in ena_free_rx_bufs() local
652 if (rx_info->page) in ena_free_rx_bufs()
653 ena_free_rx_page(rx_ring, rx_info); in ena_free_rx_bufs()
940 static bool ena_try_rx_buf_page_reuse(struct ena_rx_buffer *rx_info, u16 buf_len, in ena_try_rx_buf_page_reuse() argument
943 struct ena_com_buf *ena_buf = &rx_info->ena_buf; in ena_try_rx_buf_page_reuse()
949 page_ref_inc(rx_info->page); in ena_try_rx_buf_page_reuse()
950 rx_info->page_offset += buf_len; in ena_try_rx_buf_page_reuse()
966 struct ena_rx_buffer *rx_info; in ena_rx_skb() local
980 rx_info = &rx_ring->rx_buffer_info[req_id]; in ena_rx_skb()
982 if (unlikely(!rx_info->page)) { in ena_rx_skb()
993 rx_info, rx_info->page); in ena_rx_skb()
995 buf_offset = rx_info->buf_offset; in ena_rx_skb()
997 page_offset = rx_info->page_offset; in ena_rx_skb()
998 buf_addr = page_address(rx_info->page) + page_offset; in ena_rx_skb()
1007 dma_unmap_addr(&rx_info->ena_buf, paddr) + pkt_offset, in ena_rx_skb()
1025 ena_try_rx_buf_page_reuse(rx_info, buf_len, len, pkt_offset); in ena_rx_skb()
1028 ena_unmap_rx_buff_attrs(rx_ring, rx_info, DMA_ATTR_SKIP_CPU_SYNC); in ena_rx_skb()
1045 rx_info->page = NULL; in ena_rx_skb()
1058 rx_info = &rx_ring->rx_buffer_info[req_id]; in ena_rx_skb()
1061 buf_offset = rx_info->buf_offset; in ena_rx_skb()
1064 page_offset = rx_info->page_offset; in ena_rx_skb()
1066 pre_reuse_paddr = dma_unmap_addr(&rx_info->ena_buf, paddr); in ena_rx_skb()
1069 ena_try_rx_buf_page_reuse(rx_info, buf_len, len, pkt_offset); in ena_rx_skb()
1077 ena_unmap_rx_buff_attrs(rx_ring, rx_info, DMA_ATTR_SKIP_CPU_SYNC); in ena_rx_skb()
1079 skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, rx_info->page, in ena_rx_skb()
1173 struct ena_rx_buffer *rx_info; in ena_xdp_handle_buff() local
1184 rx_info = &rx_ring->rx_buffer_info[rx_ring->ena_bufs[0].req_id]; in ena_xdp_handle_buff()
1185 xdp_prepare_buff(xdp, page_address(rx_info->page), in ena_xdp_handle_buff()
1186 rx_info->buf_offset, in ena_xdp_handle_buff()
1193 rx_info->buf_offset = xdp->data - xdp->data_hard_start; in ena_xdp_handle_buff()
1212 struct ena_rx_buffer *rx_info; in ena_clean_rx_irq() local
1249 rx_info = &rx_ring->rx_buffer_info[rx_ring->ena_bufs[0].req_id]; in ena_clean_rx_irq()
1251 rx_info->buf_offset += pkt_offset; in ena_clean_rx_irq()
1259 dma_unmap_addr(&rx_info->ena_buf, paddr) + pkt_offset, in ena_clean_rx_irq()