Lines Matching refs:rbi
622 struct vmxnet3_rx_buf_info *rbi;
625 rbi = rbi_base + ring->next2fill;
627 rbi->comp_state = VMXNET3_RXD_COMP_PENDING;
629 if (rbi->buf_type == VMXNET3_RX_BUF_XDP) {
631 &rbi->dma_addr,
637 rbi->page = virt_to_page(data);
639 } else if (rbi->buf_type == VMXNET3_RX_BUF_SKB) {
640 if (rbi->skb == NULL) {
641 rbi->skb = __netdev_alloc_skb_ip_align(adapter->netdev,
642 rbi->len,
644 if (unlikely(rbi->skb == NULL)) {
649 rbi->dma_addr = dma_map_single(
651 rbi->skb->data, rbi->len,
654 rbi->dma_addr)) {
655 dev_kfree_skb_any(rbi->skb);
656 rbi->skb = NULL;
665 BUG_ON(rbi->buf_type != VMXNET3_RX_BUF_PAGE ||
666 rbi->len != PAGE_SIZE);
668 if (rbi->page == NULL) {
669 rbi->page = alloc_page(GFP_ATOMIC);
670 if (unlikely(rbi->page == NULL)) {
674 rbi->dma_addr = dma_map_page(
676 rbi->page, 0, PAGE_SIZE,
679 rbi->dma_addr)) {
680 put_page(rbi->page);
681 rbi->page = NULL;
691 gd->rxd.addr = cpu_to_le64(rbi->dma_addr);
693 | val | rbi->len);
698 rbi->comp_state = VMXNET3_RXD_COMP_DONE;
720 struct vmxnet3_rx_buf_info *rbi)
726 skb_frag_fill_page_desc(frag, rbi->page, 0, rcd->len);
1525 struct vmxnet3_rx_buf_info *rbi;
1552 rbi = rq->buf_info[ring_idx] + idx;
1554 BUG_ON(rxd->addr != rbi->dma_addr ||
1555 rxd->len != rbi->len);
1571 if (rbi->buf_type != VMXNET3_RX_BUF_XDP)
1574 act = vmxnet3_process_xdp(adapter, rq, rcd, rbi, rxd,
1595 BUG_ON(rbi->buf_type != VMXNET3_RX_BUF_SKB &&
1596 rbi->buf_type != VMXNET3_RX_BUF_XDP);
1597 BUG_ON(ctx->skb != NULL || rbi->skb == NULL);
1609 ctx->skb = rbi->skb;
1613 len = rxDataRingUsed ? rcd->len : rbi->len;
1656 ctx->skb = rbi->skb;
1660 new_skb->data, rbi->len,
1677 rbi->dma_addr,
1678 rbi->len,
1682 rbi->skb = new_skb;
1683 rbi->dma_addr = new_dma_addr;
1684 rxd->addr = cpu_to_le64(rbi->dma_addr);
1685 rxd->len = rbi->len;
1713 BUG_ON(rbi->buf_type != VMXNET3_RX_BUF_PAGE);
1751 rbi->dma_addr, rbi->len,
1754 vmxnet3_append_frag(ctx->skb, rcd, rbi);
1757 rbi->page = new_page;
1758 rbi->dma_addr = new_dma_addr;
1759 rxd->addr = cpu_to_le64(rbi->dma_addr);
1760 rxd->len = rbi->len;
1846 rbi->comp_state = VMXNET3_RXD_COMP_DONE;
1861 rbi = rq->buf_info[ring_idx] + ring->next2fill;
1866 if (rbi->buf_type != VMXNET3_RX_BUF_SKB)
1869 if (rbi->comp_state == VMXNET3_RXD_COMP_DONE) {
1878 rbi->comp_state = VMXNET3_RXD_COMP_PENDING;
1922 struct vmxnet3_rx_buf_info *rbi;
1927 rbi = &rq->buf_info[ring_idx][i];
1932 rbi->page && rbi->buf_type == VMXNET3_RX_BUF_XDP) {
1934 rbi->page);
1935 rbi->page = NULL;
1937 rbi->skb) {
1940 dev_kfree_skb(rbi->skb);
1941 rbi->skb = NULL;
1943 rbi->page) {
1946 put_page(rbi->page);
1947 rbi->page = NULL;