Lines Matching refs:rx_info

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