Lines Matching refs:ring

380 		 * instead of less, tx ring entries avail, the worst case is
382 * insufficient tx ring entries.
529 /* reset the tx ring contents to 0 and reset the tx ring states */
538 /* reset the tx comp ring contents to 0 and reset comp ring states */
564 netdev_err(adapter->netdev, "failed to allocate tx ring\n");
572 netdev_err(adapter->netdev, "failed to allocate tx data ring\n");
580 netdev_err(adapter->netdev, "failed to allocate tx comp ring\n");
607 * starting from ring->next2fill, allocate rx buffers for the given ring
618 struct vmxnet3_cmd_ring *ring = &rq->rx_ring[ring_idx];
625 rbi = rbi_base + ring->next2fill;
626 gd = ring->base + ring->next2fill;
692 gd->dword[2] = cpu_to_le32((!ring->gen << VMXNET3_RXD_GEN_SHIFT)
702 gd->dword[2] |= cpu_to_le32(ring->gen << VMXNET3_RXD_GEN_SHIFT);
704 vmxnet3_cmd_ring_adv_next2fill(ring);
709 num_allocated, ring->next2fill, ring->next2comp);
711 /* so that the device can distinguish a full ring and an empty ring */
712 BUG_ON(num_allocated != 0 && ring->next2fill == ring->next2comp);
991 * copy relevant protocol headers to the transmit ring:
1072 * NETDEV_TX_BUSY: tx ring is full, queue is stopped
1075 * 1. tx ring may be changed
1532 struct vmxnet3_cmd_ring *ring = NULL;
1549 ring = rq->rx_ring + ring_idx;
1845 ring = rq->rx_ring + ring_idx;
1848 comp_offset = vmxnet3_cmd_ring_desc_avail(ring);
1849 fill_offset = (idx > ring->next2fill ? 0 : ring->size) +
1850 idx - ring->next2fill - 1;
1851 if (!ring->isOutOfOrder || fill_offset >= comp_offset)
1852 ring->next2comp = idx;
1853 num_to_alloc = vmxnet3_cmd_ring_desc_avail(ring);
1861 rbi = rq->buf_info[ring_idx] + ring->next2fill;
1871 vmxnet3_getRxDesc(rxd, &ring->base[ring->next2fill].rxd,
1876 rxd->gen = ring->gen;
1877 vmxnet3_cmd_ring_adv_next2fill(ring);
1882 ring->isOutOfOrder = 1;
1888 ring->isOutOfOrder = 0;
1892 if (unlikely(rq->shared->updateRxProd) && (ring->next2fill & 0xf) == 0) {
1895 ring->next2fill);
1916 /* ring has already been cleaned up */
2088 /* at least has 1 rx buffer for the 1st ring */
2093 /* reset the comp ring */
2142 "failed to allocate rx ring %d\n", i);
2155 "rx data ring will be disabled\n");
2168 netdev_err(adapter->netdev, "failed to allocate rx comp ring\n");
3016 " ring sizes %u %u %u\n", adapter->netdev->name,
3268 /* For v7 and later, keep ring size power of 2 for UPT */