Symbol: rx_ring
drivers/dma/ti/k3-udma.c
2043
int rx_ring = k3_ringacc_get_ring_id(uc->rflow->r_ring);
drivers/dma/ti/k3-udma.c
2062
req_rx.rxcq_qnum = rx_ring;
drivers/dma/ti/k3-udma.c
2099
flow_req.rx_dest_qnum = rx_ring;
drivers/dma/xgene-dma.c
1180
xgene_dma_delete_ring_one(&chan->rx_ring);
drivers/dma/xgene-dma.c
1218
struct xgene_dma_ring *rx_ring = &chan->rx_ring;
drivers/dma/xgene-dma.c
1223
rx_ring->owner = XGENE_DMA_RING_OWNER_CPU;
drivers/dma/xgene-dma.c
1224
rx_ring->buf_num = XGENE_DMA_CPU_BUFNUM + chan->id;
drivers/dma/xgene-dma.c
1226
ret = xgene_dma_create_ring_one(chan, rx_ring,
drivers/dma/xgene-dma.c
1232
rx_ring->id, rx_ring->num, rx_ring->desc_vaddr);
drivers/dma/xgene-dma.c
1241
xgene_dma_delete_ring_one(rx_ring);
drivers/dma/xgene-dma.c
1245
tx_ring->dst_ring_num = XGENE_DMA_RING_DST_ID(rx_ring->num);
drivers/dma/xgene-dma.c
286
struct xgene_dma_ring rx_ring;
drivers/dma/xgene-dma.c
689
struct xgene_dma_ring *ring = &chan->rx_ring;
drivers/infiniband/ulp/ipoib/ipoib.h
237
struct ipoib_cm_rx_buf *rx_ring;
drivers/infiniband/ulp/ipoib/ipoib.h
371
struct ipoib_rx_buf *rx_ring;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
127
sge[i].addr = rx->rx_ring[id].mapping[i];
drivers/infiniband/ulp/ipoib/ipoib_cm.c
133
rx->rx_ring[id].mapping);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
134
dev_kfree_skb_any(rx->rx_ring[id].skb);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
135
rx->rx_ring[id].skb = NULL;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
142
struct ipoib_cm_rx_buf *rx_ring,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
181
rx_ring[id].skb = skb;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
196
struct ipoib_cm_rx_buf *rx_ring)
drivers/infiniband/ulp/ipoib/ipoib_cm.c
202
if (rx_ring[i].skb) {
drivers/infiniband/ulp/ipoib/ipoib_cm.c
204
rx_ring[i].mapping);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
205
dev_kfree_skb_any(rx_ring[i].skb);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
208
vfree(rx_ring);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
358
rx->rx_ring = vzalloc(array_size(ipoib_recvq_size,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
359
sizeof(*rx->rx_ring)));
drivers/infiniband/ulp/ipoib/ipoib_cm.c
360
if (!rx->rx_ring)
drivers/infiniband/ulp/ipoib/ipoib_cm.c
384
if (!ipoib_cm_alloc_rx_skb(dev, rx->rx_ring, i, IPOIB_CM_RX_SG - 1,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
385
rx->rx_ring[i].mapping,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
415
ipoib_cm_free_rx_ring(dev, rx->rx_ring);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
563
struct ipoib_cm_rx_buf *rx_ring;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
592
rx_ring = has_srq ? priv->cm.srq_ring : p->rx_ring;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
594
skb = rx_ring[wr_id].skb;
drivers/infiniband/ulp/ipoib/ipoib_cm.c
632
ib_dma_sync_single_for_cpu(priv->ca, rx_ring[wr_id].mapping[0],
drivers/infiniband/ulp/ipoib/ipoib_cm.c
635
ib_dma_sync_single_for_device(priv->ca, rx_ring[wr_id].mapping[0],
drivers/infiniband/ulp/ipoib/ipoib_cm.c
647
newskb = ipoib_cm_alloc_rx_skb(dev, rx_ring, wr_id, frags,
drivers/infiniband/ulp/ipoib/ipoib_cm.c
659
ipoib_cm_dma_unmap_rx(priv, frags, rx_ring[wr_id].mapping);
drivers/infiniband/ulp/ipoib/ipoib_cm.c
660
memcpy(rx_ring[wr_id].mapping, mapping, (frags + 1) * sizeof(*mapping));
drivers/infiniband/ulp/ipoib/ipoib_cm.c
918
ipoib_cm_free_rx_ring(priv->dev, rx->rx_ring);
drivers/infiniband/ulp/ipoib/ipoib_ib.c
108
priv->rx_sge[0].addr = priv->rx_ring[id].mapping[0];
drivers/infiniband/ulp/ipoib/ipoib_ib.c
109
priv->rx_sge[1].addr = priv->rx_ring[id].mapping[1];
drivers/infiniband/ulp/ipoib/ipoib_ib.c
115
ipoib_ud_dma_unmap_rx(priv, priv->rx_ring[id].mapping);
drivers/infiniband/ulp/ipoib/ipoib_ib.c
116
dev_kfree_skb_any(priv->rx_ring[id].skb);
drivers/infiniband/ulp/ipoib/ipoib_ib.c
117
priv->rx_ring[id].skb = NULL;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
142
mapping = priv->rx_ring[id].mapping;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
148
priv->rx_ring[id].skb = skb;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
192
skb = priv->rx_ring[wr_id].skb;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
199
ipoib_ud_dma_unmap_rx(priv, priv->rx_ring[wr_id].mapping);
drivers/infiniband/ulp/ipoib/ipoib_ib.c
201
priv->rx_ring[wr_id].skb = NULL;
drivers/infiniband/ulp/ipoib/ipoib_ib.c
205
memcpy(mapping, priv->rx_ring[wr_id].mapping,
drivers/infiniband/ulp/ipoib/ipoib_ib.c
754
if (priv->rx_ring[i].skb)
drivers/infiniband/ulp/ipoib/ipoib_ib.c
848
rx_req = &priv->rx_ring[i];
drivers/infiniband/ulp/ipoib/ipoib_ib.c
852
priv->rx_ring[i].mapping);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1761
kfree(priv->rx_ring);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1764
priv->rx_ring = NULL;
drivers/infiniband/ulp/ipoib/ipoib_main.c
1776
priv->rx_ring = kzalloc_objs(*priv->rx_ring, ipoib_recvq_size);
drivers/infiniband/ulp/ipoib/ipoib_main.c
1777
if (!priv->rx_ring)
drivers/infiniband/ulp/ipoib/ipoib_main.c
1808
kfree(priv->rx_ring);
drivers/infiniband/ulp/srp/ib_srp.c
2260
ch->rx_ring = kzalloc_objs(*ch->rx_ring, target->queue_size);
drivers/infiniband/ulp/srp/ib_srp.c
2261
if (!ch->rx_ring)
drivers/infiniband/ulp/srp/ib_srp.c
2268
ch->rx_ring[i] = srp_alloc_iu(target->srp_host,
drivers/infiniband/ulp/srp/ib_srp.c
2271
if (!ch->rx_ring[i])
drivers/infiniband/ulp/srp/ib_srp.c
2289
srp_free_iu(target->srp_host, ch->rx_ring[i]);
drivers/infiniband/ulp/srp/ib_srp.c
2297
kfree(ch->rx_ring);
drivers/infiniband/ulp/srp/ib_srp.c
2298
ch->rx_ring = NULL;
drivers/infiniband/ulp/srp/ib_srp.c
2372
if (!ch->rx_ring) {
drivers/infiniband/ulp/srp/ib_srp.c
2379
struct srp_iu *iu = ch->rx_ring[i];
drivers/infiniband/ulp/srp/ib_srp.c
682
if (ch->rx_ring) {
drivers/infiniband/ulp/srp/ib_srp.c
684
srp_free_iu(target->srp_host, ch->rx_ring[i]);
drivers/infiniband/ulp/srp/ib_srp.c
685
kfree(ch->rx_ring);
drivers/infiniband/ulp/srp/ib_srp.c
686
ch->rx_ring = NULL;
drivers/infiniband/ulp/srp/ib_srp.h
186
struct srp_iu **rx_ring;
drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c
108
mcp251xfd_for_each_rx_ring(priv, rx_ring, n) {
drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c
109
err = mcp251xfd_chip_rx_fifo_init_one(priv, rx_ring);
drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c
113
err = mcp251xfd_chip_rx_filter_init_one(priv, rx_ring);
drivers/net/can/spi/mcp251xfd/mcp251xfd-chip-fifo.c
66
const struct mcp251xfd_rx_ring *rx_ring;
drivers/net/can/spi/mcp251xfd/mcp251xfd-dump.c
187
struct mcp251xfd_rx_ring *rx_ring;
drivers/net/can/spi/mcp251xfd/mcp251xfd-dump.c
190
mcp251xfd_for_each_rx_ring(priv, rx_ring, i)
drivers/net/can/spi/mcp251xfd/mcp251xfd-dump.c
191
mcp251xfd_dump_rx_ring_one(priv, iter, rx_ring);
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
201
struct mcp251xfd_rx_ring *rx_ring;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
208
mcp251xfd_for_each_rx_ring(priv, rx_ring, i) {
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
209
rx_ring->last_valid = timecounter_read(&priv->tc);
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
210
rx_ring->head = 0;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
211
rx_ring->tail = 0;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
212
rx_ring->base = *base;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
213
rx_ring->nr = i;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
214
rx_ring->fifo_nr = *fifo_nr;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
216
*base = mcp251xfd_get_rx_obj_addr(rx_ring, rx_ring->obj_num);
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
220
addr = MCP251XFD_REG_FIFOCON(rx_ring->fifo_nr);
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
223
len = mcp251xfd_cmd_prepare_write_reg(priv, &rx_ring->irq_enable_buf,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
225
rx_ring->irq_enable_xfer.tx_buf = &rx_ring->irq_enable_buf;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
226
rx_ring->irq_enable_xfer.len = len;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
227
spi_message_init_with_transfers(&rx_ring->irq_enable_msg,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
228
&rx_ring->irq_enable_xfer, 1);
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
232
len = mcp251xfd_cmd_prepare_write_reg(priv, &rx_ring->uinc_buf,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
235
for (j = 0; j < ARRAY_SIZE(rx_ring->uinc_xfer); j++) {
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
236
xfer = &rx_ring->uinc_xfer[j];
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
237
xfer->tx_buf = &rx_ring->uinc_buf;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
269
if (rx_ring->nr == 0 && (priv->rx_coalesce_usecs_irq ||
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
274
if (priv->rx_obj_num_coalesce_irq == rx_ring->obj_num)
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
280
&rx_ring->uinc_irq_disable_buf,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
282
xfer->tx_buf = &rx_ring->uinc_irq_disable_buf;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
290
const struct mcp251xfd_rx_ring *rx_ring;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
343
mcp251xfd_for_each_rx_ring(priv, rx_ring, i) {
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
344
if (rx_ring->nr == 0 && priv->rx_obj_num_coalesce_irq) {
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
347
rx_ring->nr, rx_ring->fifo_nr,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
348
mcp251xfd_get_rx_obj_addr(rx_ring, 0),
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
349
priv->rx_obj_num_coalesce_irq, rx_ring->obj_size,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
350
priv->rx_obj_num_coalesce_irq * rx_ring->obj_size);
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
357
mcp251xfd_get_rx_obj_addr(rx_ring,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
359
rx_ring->obj_num - priv->rx_obj_num_coalesce_irq,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
360
rx_ring->obj_size,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
361
(rx_ring->obj_num - priv->rx_obj_num_coalesce_irq) *
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
362
rx_ring->obj_size);
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
366
rx_ring->nr, rx_ring->fifo_nr,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
367
mcp251xfd_get_rx_obj_addr(rx_ring, 0),
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
368
rx_ring->obj_num, rx_ring->obj_size,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
369
rx_ring->obj_num * rx_ring->obj_size);
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
474
struct mcp251xfd_rx_ring *rx_ring;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
529
rx_ring = kzalloc(sizeof(*rx_ring) + rx_obj_size * rx_obj_num,
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
531
if (!rx_ring) {
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
536
rx_ring->obj_num = rx_obj_num;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
537
rx_ring->obj_num_shift_to_u8 = BITS_PER_TYPE(rx_ring->obj_num_shift_to_u8) -
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
539
rx_ring->obj_size = rx_obj_size;
drivers/net/can/spi/mcp251xfd/mcp251xfd-ring.c
540
priv->rx[i] = rx_ring;
drivers/net/ethernet/3com/3c515.c
1327
while ((rx_status = vp->rx_ring[entry].status) & RxDComplete) {
drivers/net/ethernet/3com/3c515.c
1361
isa_bus_to_virt(vp->rx_ring[entry].addr),
drivers/net/ethernet/3com/3c515.c
1371
if (isa_bus_to_virt(vp->rx_ring[entry].addr) != temp)
drivers/net/ethernet/3com/3c515.c
1374
isa_bus_to_virt(vp->rx_ring[entry].addr),
drivers/net/ethernet/3com/3c515.c
1393
vp->rx_ring[entry].addr = isa_virt_to_bus(skb->data);
drivers/net/ethernet/3com/3c515.c
1396
vp->rx_ring[entry].status = 0; /* Clear complete bit. */
drivers/net/ethernet/3com/3c515.c
298
struct boom_rx_desc rx_ring[RX_RING_SIZE];
drivers/net/ethernet/3com/3c515.c
810
vp->rx_ring[i].next =
drivers/net/ethernet/3com/3c515.c
811
isa_virt_to_bus(&vp->rx_ring[i + 1]);
drivers/net/ethernet/3com/3c515.c
813
vp->rx_ring[i].next = 0;
drivers/net/ethernet/3com/3c515.c
814
vp->rx_ring[i].status = 0; /* Clear complete bit. */
drivers/net/ethernet/3com/3c515.c
815
vp->rx_ring[i].length = PKT_BUF_SZ | 0x80000000;
drivers/net/ethernet/3com/3c515.c
821
vp->rx_ring[i].addr = isa_virt_to_bus(skb->data);
drivers/net/ethernet/3com/3c515.c
824
vp->rx_ring[i - 1].next =
drivers/net/ethernet/3com/3c515.c
825
isa_virt_to_bus(&vp->rx_ring[0]); /* Wrap the ring. */
drivers/net/ethernet/3com/3c515.c
826
outl(isa_virt_to_bus(&vp->rx_ring[0]), ioaddr + UpListPtr);
drivers/net/ethernet/3com/3c59x.c
1211
vp->rx_ring = dma_alloc_coherent(gendev, sizeof(struct boom_rx_desc) * RX_RING_SIZE
drivers/net/ethernet/3com/3c59x.c
1215
if (!vp->rx_ring)
drivers/net/ethernet/3com/3c59x.c
1218
vp->tx_ring = (struct boom_tx_desc *)(vp->rx_ring + RX_RING_SIZE);
drivers/net/ethernet/3com/3c59x.c
1479
vp->rx_ring, vp->rx_ring_dma);
drivers/net/ethernet/3com/3c59x.c
1684
vp->rx_ring[i].status = 0;
drivers/net/ethernet/3com/3c59x.c
1738
vp->rx_ring[i].next = cpu_to_le32(vp->rx_ring_dma + sizeof(struct boom_rx_desc) * (i+1));
drivers/net/ethernet/3com/3c59x.c
1739
vp->rx_ring[i].status = 0; /* Clear complete bit. */
drivers/net/ethernet/3com/3c59x.c
1740
vp->rx_ring[i].length = cpu_to_le32(PKT_BUF_SZ | LAST_FRAG);
drivers/net/ethernet/3com/3c59x.c
1753
vp->rx_ring[i].addr = cpu_to_le32(dma);
drivers/net/ethernet/3com/3c59x.c
1761
vp->rx_ring[i-1].next = cpu_to_le32(vp->rx_ring_dma);
drivers/net/ethernet/3com/3c59x.c
2602
while ((rx_status = le32_to_cpu(vp->rx_ring[entry].status)) & RxDComplete){
drivers/net/ethernet/3com/3c59x.c
2620
dma_addr_t dma = le32_to_cpu(vp->rx_ring[entry].addr);
drivers/net/ethernet/3com/3c59x.c
2658
vp->rx_ring[entry].addr = cpu_to_le32(newdma);
drivers/net/ethernet/3com/3c59x.c
2678
vp->rx_ring[entry].status = 0; /* Clear complete bit. */
drivers/net/ethernet/3com/3c59x.c
2757
dma_unmap_single(vp->gendev, le32_to_cpu(vp->rx_ring[i].addr),
drivers/net/ethernet/3com/3c59x.c
3287
vp->rx_ring, vp->rx_ring_dma);
drivers/net/ethernet/3com/3c59x.c
597
struct boom_rx_desc* rx_ring;
drivers/net/ethernet/actions/owl-emac.c
1010
(u32)(priv->rx_ring.descs_dma));
drivers/net/ethernet/actions/owl-emac.c
1497
ret = owl_emac_ring_alloc(dev, &priv->rx_ring, OWL_EMAC_RX_RING_SIZE);
drivers/net/ethernet/actions/owl-emac.c
181
struct owl_emac_ring *ring = &priv->rx_ring;
drivers/net/ethernet/actions/owl-emac.c
243
struct owl_emac_ring *ring = &priv->rx_ring;
drivers/net/ethernet/actions/owl-emac.c
748
struct owl_emac_ring *ring = &priv->rx_ring;
drivers/net/ethernet/actions/owl-emac.h
261
struct owl_emac_ring rx_ring;
drivers/net/ethernet/adaptec/starfire.c
1145
np->rx_ring[i].rxaddr = cpu_to_dma(np->rx_info[i].mapping | RxDescValid);
drivers/net/ethernet/adaptec/starfire.c
1152
np->rx_ring[i].rxaddr = 0;
drivers/net/ethernet/adaptec/starfire.c
1157
np->rx_ring[RX_RING_SIZE - 1].rxaddr |= cpu_to_dma(RxDescEndRing);
drivers/net/ethernet/adaptec/starfire.c
1597
np->rx_ring[entry].rxaddr =
drivers/net/ethernet/adaptec/starfire.c
1601
np->rx_ring[entry].rxaddr |= cpu_to_dma(RxDescEndRing);
drivers/net/ethernet/adaptec/starfire.c
1955
i, (long long) dma_to_cpu(np->rx_ring[i].rxaddr), le32_to_cpu(np->rx_done_q[i].status));
drivers/net/ethernet/adaptec/starfire.c
1963
np->rx_ring[i].rxaddr = cpu_to_dma(0xBADF00D0); /* An invalid address. */
drivers/net/ethernet/adaptec/starfire.c
517
struct starfire_rx_desc *rx_ring;
drivers/net/ethernet/adaptec/starfire.c
897
np->rx_ring = (void *) np->tx_ring + tx_ring_size;
drivers/net/ethernet/agere/et131x.c
1539
struct rx_ring *rx_local = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
1865
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
1869
rx_ring->fbr[0] = kzalloc_obj(*fbr);
drivers/net/ethernet/agere/et131x.c
1870
if (rx_ring->fbr[0] == NULL)
drivers/net/ethernet/agere/et131x.c
1872
rx_ring->fbr[1] = kzalloc_obj(*fbr);
drivers/net/ethernet/agere/et131x.c
1873
if (rx_ring->fbr[1] == NULL)
drivers/net/ethernet/agere/et131x.c
1894
rx_ring->fbr[0]->buffsize = 256;
drivers/net/ethernet/agere/et131x.c
1895
rx_ring->fbr[0]->num_entries = 512;
drivers/net/ethernet/agere/et131x.c
1896
rx_ring->fbr[1]->buffsize = 2048;
drivers/net/ethernet/agere/et131x.c
1897
rx_ring->fbr[1]->num_entries = 512;
drivers/net/ethernet/agere/et131x.c
1899
rx_ring->fbr[0]->buffsize = 512;
drivers/net/ethernet/agere/et131x.c
1900
rx_ring->fbr[0]->num_entries = 1024;
drivers/net/ethernet/agere/et131x.c
1901
rx_ring->fbr[1]->buffsize = 4096;
drivers/net/ethernet/agere/et131x.c
1902
rx_ring->fbr[1]->num_entries = 512;
drivers/net/ethernet/agere/et131x.c
1904
rx_ring->fbr[0]->buffsize = 1024;
drivers/net/ethernet/agere/et131x.c
1905
rx_ring->fbr[0]->num_entries = 768;
drivers/net/ethernet/agere/et131x.c
1906
rx_ring->fbr[1]->buffsize = 16384;
drivers/net/ethernet/agere/et131x.c
1907
rx_ring->fbr[1]->num_entries = 128;
drivers/net/ethernet/agere/et131x.c
1910
rx_ring->psr_entries = rx_ring->fbr[0]->num_entries +
drivers/net/ethernet/agere/et131x.c
1911
rx_ring->fbr[1]->num_entries;
drivers/net/ethernet/agere/et131x.c
1914
fbr = rx_ring->fbr[id];
drivers/net/ethernet/agere/et131x.c
1930
fbr = rx_ring->fbr[id];
drivers/net/ethernet/agere/et131x.c
1970
psr_size = sizeof(struct pkt_stat_desc) * rx_ring->psr_entries;
drivers/net/ethernet/agere/et131x.c
1972
rx_ring->ps_ring_virtaddr = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1974
&rx_ring->ps_ring_physaddr,
drivers/net/ethernet/agere/et131x.c
1977
if (!rx_ring->ps_ring_virtaddr) {
drivers/net/ethernet/agere/et131x.c
1984
rx_ring->rx_status_block = dma_alloc_coherent(&adapter->pdev->dev,
drivers/net/ethernet/agere/et131x.c
1986
&rx_ring->rx_status_bus,
drivers/net/ethernet/agere/et131x.c
1988
if (!rx_ring->rx_status_block) {
drivers/net/ethernet/agere/et131x.c
1993
rx_ring->num_rfd = NIC_DEFAULT_NUM_RFD;
drivers/net/ethernet/agere/et131x.c
1998
INIT_LIST_HEAD(&rx_ring->recv_list);
drivers/net/ethernet/agere/et131x.c
2009
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2013
WARN_ON(rx_ring->num_ready_recv != rx_ring->num_rfd);
drivers/net/ethernet/agere/et131x.c
2015
while (!list_empty(&rx_ring->recv_list)) {
drivers/net/ethernet/agere/et131x.c
2016
rfd = list_entry(rx_ring->recv_list.next,
drivers/net/ethernet/agere/et131x.c
2026
fbr = rx_ring->fbr[id];
drivers/net/ethernet/agere/et131x.c
2056
if (rx_ring->ps_ring_virtaddr) {
drivers/net/ethernet/agere/et131x.c
2057
psr_size = sizeof(struct pkt_stat_desc) * rx_ring->psr_entries;
drivers/net/ethernet/agere/et131x.c
2060
rx_ring->ps_ring_virtaddr,
drivers/net/ethernet/agere/et131x.c
2061
rx_ring->ps_ring_physaddr);
drivers/net/ethernet/agere/et131x.c
2063
rx_ring->ps_ring_virtaddr = NULL;
drivers/net/ethernet/agere/et131x.c
2067
if (rx_ring->rx_status_block) {
drivers/net/ethernet/agere/et131x.c
2070
rx_ring->rx_status_block,
drivers/net/ethernet/agere/et131x.c
2071
rx_ring->rx_status_bus);
drivers/net/ethernet/agere/et131x.c
2072
rx_ring->rx_status_block = NULL;
drivers/net/ethernet/agere/et131x.c
2076
kfree(rx_ring->fbr[0]);
drivers/net/ethernet/agere/et131x.c
2077
kfree(rx_ring->fbr[1]);
drivers/net/ethernet/agere/et131x.c
2080
rx_ring->num_ready_recv = 0;
drivers/net/ethernet/agere/et131x.c
2088
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2091
for (rfdct = 0; rfdct < rx_ring->num_rfd; rfdct++) {
drivers/net/ethernet/agere/et131x.c
2099
list_add_tail(&rfd->list_node, &rx_ring->recv_list);
drivers/net/ethernet/agere/et131x.c
2102
rx_ring->num_ready_recv++;
drivers/net/ethernet/agere/et131x.c
2125
struct rx_ring *rx_local = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2184
struct rx_ring *rx_local = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2298
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
2305
if (list_empty(&rx_ring->recv_list)) {
drivers/net/ethernet/agere/et131x.c
2306
WARN_ON(rx_ring->num_ready_recv != 0);
drivers/net/ethernet/agere/et131x.c
2328
if (rx_ring->num_ready_recv < RFD_LOW_WATER_MARK)
drivers/net/ethernet/agere/et131x.c
2335
rx_ring->unfinished_receives = true;
drivers/net/ethernet/agere/et131x.c
2340
rx_ring->unfinished_receives = false;
drivers/net/ethernet/agere/et131x.c
3400
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
3434
if (rx_ring->unfinished_receives)
drivers/net/ethernet/agere/et131x.c
492
struct rx_ring rx_ring;
drivers/net/ethernet/agere/et131x.c
740
struct rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/agere/et131x.c
742
if (rx_ring->fbr[1]->buffsize == 4096)
drivers/net/ethernet/agere/et131x.c
744
else if (rx_ring->fbr[1]->buffsize == 8192)
drivers/net/ethernet/agere/et131x.c
746
else if (rx_ring->fbr[1]->buffsize == 16384)
drivers/net/ethernet/agere/et131x.c
750
if (rx_ring->fbr[0]->buffsize == 256)
drivers/net/ethernet/agere/et131x.c
752
else if (rx_ring->fbr[0]->buffsize == 512)
drivers/net/ethernet/agere/et131x.c
754
else if (rx_ring->fbr[0]->buffsize == 1024)
drivers/net/ethernet/altera/altera_tse.h
417
struct tse_buffer *rx_ring;
drivers/net/ethernet/altera/altera_tse_main.c
261
priv->rx_ring = kzalloc_objs(struct tse_buffer, rx_descs);
drivers/net/ethernet/altera/altera_tse_main.c
262
if (!priv->rx_ring)
drivers/net/ethernet/altera/altera_tse_main.c
275
ret = tse_init_rx_buffer(priv, &priv->rx_ring[i],
drivers/net/ethernet/altera/altera_tse_main.c
287
tse_free_rx_buffer(priv, &priv->rx_ring[i]);
drivers/net/ethernet/altera/altera_tse_main.c
290
kfree(priv->rx_ring);
drivers/net/ethernet/altera/altera_tse_main.c
304
tse_free_rx_buffer(priv, &priv->rx_ring[i]);
drivers/net/ethernet/altera/altera_tse_main.c
323
if (likely(priv->rx_ring[entry].skb == NULL)) {
drivers/net/ethernet/altera/altera_tse_main.c
324
ret = tse_init_rx_buffer(priv, &priv->rx_ring[entry],
drivers/net/ethernet/altera/altera_tse_main.c
328
priv->dmaops->add_rx_desc(priv, &priv->rx_ring[entry]);
drivers/net/ethernet/altera/altera_tse_main.c
385
skb = priv->rx_ring[entry].skb;
drivers/net/ethernet/altera/altera_tse_main.c
393
priv->rx_ring[entry].skb = NULL;
drivers/net/ethernet/altera/altera_tse_main.c
397
dma_unmap_single(priv->device, priv->rx_ring[entry].dma_addr,
drivers/net/ethernet/altera/altera_tse_main.c
398
priv->rx_ring[entry].len, DMA_FROM_DEVICE);
drivers/net/ethernet/altera/altera_tse_main.c
947
priv->dmaops->add_rx_desc(priv, &priv->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_ethtool.c
241
ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_ethtool.c
530
adapter->rx_ring[i].smoothed_interval = val;
drivers/net/ethernet/amazon/ena/ena_ethtool.c
627
ring->rx_pending = adapter->rx_ring[0].ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1005
ena_unmap_rx_buff_attrs(rx_ring, rx_info, DMA_ATTR_SKIP_CPU_SYNC);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1007
skb = ena_alloc_skb(rx_ring, buf_addr, buf_len);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1014
skb->protocol = eth_type_trans(skb, rx_ring->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1017
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1024
rx_ring->free_ids[*next_to_clean] = req_id;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1027
rx_ring->ring_size);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1035
rx_info = &rx_ring->rx_buffer_info[req_id];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1039
pkt_offset = buf_offset - rx_ring->rx_headroom;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1048
dma_sync_single_for_cpu(rx_ring->dev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1054
ena_unmap_rx_buff_attrs(rx_ring, rx_info, DMA_ATTR_SKIP_CPU_SYNC);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1069
static void ena_rx_checksum(struct ena_ring *rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1074
if (unlikely(!(rx_ring->netdev->features & NETIF_F_RXCSUM))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
1090
ena_increase_stat(&rx_ring->rx_stats.csum_bad, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1091
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1092
netif_dbg(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1102
ena_increase_stat(&rx_ring->rx_stats.csum_bad, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1103
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1104
netif_dbg(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1112
ena_increase_stat(&rx_ring->rx_stats.csum_good, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1113
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1115
ena_increase_stat(&rx_ring->rx_stats.csum_unchecked, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1116
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1126
static void ena_set_rx_hash(struct ena_ring *rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1132
if (likely(rx_ring->netdev->features & NETIF_F_RXHASH)) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
1148
static int ena_xdp_handle_buff(struct ena_ring *rx_ring, struct xdp_buff *xdp, u16 num_descs)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1155
netdev_err_once(rx_ring->adapter->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1157
ena_increase_stat(&rx_ring->rx_stats.xdp_drop, 1, &rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1161
rx_info = &rx_ring->rx_buffer_info[rx_ring->ena_bufs[0].req_id];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1164
rx_ring->ena_bufs[0].len, false);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1166
ret = ena_xdp_execute(rx_ring, xdp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1171
rx_ring->ena_bufs[0].len = xdp->data_end - xdp->data;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1184
static int ena_clean_rx_irq(struct ena_ring *rx_ring, struct napi_struct *napi,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1187
u16 next_to_clean = rx_ring->next_to_clean;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1204
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1205
"%s qid %d\n", __func__, rx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1207
xdp_init_buff(&xdp, ENA_PAGE_SIZE, &rx_ring->xdp_rxq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1212
ena_rx_ctx.ena_bufs = rx_ring->ena_bufs;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1213
ena_rx_ctx.max_bufs = rx_ring->sgl_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1216
rc = ena_com_rx_pkt(rx_ring->ena_com_io_cq,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1217
rx_ring->ena_com_io_sq,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1226
rx_info = &rx_ring->rx_buffer_info[rx_ring->ena_bufs[0].req_id];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1230
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1232
rx_ring->qid, ena_rx_ctx.descs, ena_rx_ctx.l3_proto,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1235
dma_sync_single_for_cpu(rx_ring->dev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1237
rx_ring->ena_bufs[0].len,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1240
if (ena_xdp_present_ring(rx_ring))
drivers/net/ethernet/amazon/ena/ena_netdev.c
1241
xdp_verdict = ena_xdp_handle_buff(rx_ring, &xdp, ena_rx_ctx.descs);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1245
skb = ena_rx_skb(rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1246
rx_ring->ena_bufs,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1252
int req_id = rx_ring->ena_bufs[i].req_id;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1254
rx_ring->free_ids[next_to_clean] = req_id;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1257
rx_ring->ring_size);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1263
ena_unmap_rx_buff_attrs(rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1264
&rx_ring->rx_buffer_info[req_id],
drivers/net/ethernet/amazon/ena/ena_netdev.c
1266
rx_ring->rx_buffer_info[req_id].page = NULL;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1278
ena_rx_checksum(rx_ring, &ena_rx_ctx, skb);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1280
ena_set_rx_hash(rx_ring, &ena_rx_ctx, skb);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1282
skb_record_rx_queue(skb, rx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1284
if (rx_ring->ena_bufs[0].len <= rx_ring->rx_copybreak)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1295
rx_ring->per_napi_packets += work_done;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1296
u64_stats_update_begin(&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1297
rx_ring->rx_stats.bytes += total_len;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1298
rx_ring->rx_stats.cnt += work_done;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1299
rx_ring->rx_stats.rx_copybreak_pkt += rx_copybreak_pkt;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1300
u64_stats_update_end(&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1302
rx_ring->next_to_clean = next_to_clean;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1304
refill_required = ena_com_free_q_entries(rx_ring->ena_com_io_sq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1306
min_t(int, rx_ring->ring_size / ENA_RX_REFILL_THRESH_DIVIDER,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1311
ena_refill_rx_bufs(rx_ring, refill_required);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1322
adapter = netdev_priv(rx_ring->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1325
ena_increase_stat(&rx_ring->rx_stats.bad_desc_num, 1, &rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1330
ena_increase_stat(&rx_ring->rx_stats.bad_req_id, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1331
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1344
ena_napi->rx_ring->smoothed_interval = cur_moder.usec;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1351
struct ena_ring *rx_ring = ena_napi->rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1353
if (!rx_ring->per_napi_packets)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1356
rx_ring->non_empty_napi_events++;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1358
dim_update_sample(rx_ring->non_empty_napi_events,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1359
rx_ring->rx_stats.cnt,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1360
rx_ring->rx_stats.bytes,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1365
rx_ring->per_napi_packets = 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1369
struct ena_ring *rx_ring)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1377
if (rx_ring)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1378
rx_interval = ena_com_get_adaptive_moderation_enabled(rx_ring->ena_dev) ?
drivers/net/ethernet/amazon/ena/ena_netdev.c
1379
rx_ring->smoothed_interval :
drivers/net/ethernet/amazon/ena/ena_netdev.c
1380
ena_com_get_nonadaptive_moderation_interval_rx(rx_ring->ena_dev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1402
struct ena_ring *rx_ring)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1412
if (rx_ring)
drivers/net/ethernet/amazon/ena/ena_netdev.c
1413
rx_ring->cpu = cpu;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1425
if (rx_ring) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
1426
rx_ring->numa_node = numa_node;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1427
ena_com_update_numa_node(rx_ring->ena_com_io_cq,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1440
struct ena_ring *tx_ring, *rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1448
rx_ring = ena_napi->rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1463
rx_work_done = ena_clean_rx_irq(rx_ring, napi, budget);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1486
if (ena_com_get_adaptive_moderation_enabled(rx_ring->ena_dev))
drivers/net/ethernet/amazon/ena/ena_netdev.c
1489
ena_update_ring_numa_node(tx_ring, rx_ring);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1490
ena_unmask_interrupt(tx_ring, rx_ring);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1761
adapter->ena_napi[i].rx_ring);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1773
struct ena_ring *rx_ring, *tx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1777
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1787
napi->rx_ring = rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
194
rxr = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1961
struct ena_ring *rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1968
rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
1978
ctx.queue_size = rx_ring->ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1979
ctx.numa_node = rx_ring->numa_node;
drivers/net/ethernet/amazon/ena/ena_netdev.c
1990
&rx_ring->ena_com_io_sq,
drivers/net/ethernet/amazon/ena/ena_netdev.c
1991
&rx_ring->ena_com_io_cq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
1999
ena_com_update_numa_node(rx_ring->ena_com_io_cq, ctx.numa_node);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2018
ena_xdp_register_rxq_info(&adapter->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2025
ena_xdp_unregister_rxq_info(&adapter->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2041
adapter->rx_ring[i].ring_size = new_rx_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2115
cur_rx_ring_size = adapter->rx_ring[0].ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2195
&adapter->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2365
struct ena_ring *rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2374
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2375
rx_ring->rx_copybreak = rx_copybreak;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2810
struct ena_ring *rx_ring, *tx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2838
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
2841
start = u64_stats_fetch_begin(&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
2842
packets = rx_ring->rx_stats.cnt;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2843
bytes = rx_ring->rx_stats.bytes;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2844
xdp_rx_drops = rx_ring->rx_stats.xdp_drop;
drivers/net/ethernet/amazon/ena/ena_netdev.c
2845
} while (u64_stats_fetch_retry(&rx_ring->syncp, start));
drivers/net/ethernet/amazon/ena/ena_netdev.c
2903
if (adapter->rx_ring->ring_size)
drivers/net/ethernet/amazon/ena/ena_netdev.c
2904
rx_queue_size = adapter->rx_ring->ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3392
struct ena_ring *rx_ring)
drivers/net/ethernet/amazon/ena/ena_netdev.c
3394
struct ena_napi *ena_napi = container_of(rx_ring->napi, struct ena_napi, napi);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3399
if (ena_com_cq_empty(rx_ring->ena_com_io_cq))
drivers/net/ethernet/amazon/ena/ena_netdev.c
3402
rx_ring->no_interrupt_event_cnt++;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3404
if (rx_ring->no_interrupt_event_cnt == ENA_MAX_NO_INTERRUPT_ITERATIONS) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3407
rx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3509
struct ena_ring *rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3535
rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3542
check_for_rx_interrupt_queue(adapter, rx_ring) : 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3570
struct ena_ring *rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3580
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
3582
refill_required = ena_com_free_q_entries(rx_ring->ena_com_io_sq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3583
if (unlikely(refill_required == (rx_ring->ring_size - 1))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3584
rx_ring->empty_rx_queue++;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3586
if (rx_ring->empty_rx_queue >= EMPTY_RX_REFILL) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
3587
ena_increase_stat(&rx_ring->rx_stats.empty_rx_ring, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
3588
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3593
napi_schedule(rx_ring->napi);
drivers/net/ethernet/amazon/ena/ena_netdev.c
3594
rx_ring->empty_rx_queue = 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
3597
rx_ring->empty_rx_queue = 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
370
struct ena_ring *rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
374
if (rx_ring->rx_buffer_info) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
383
size = sizeof(struct ena_rx_buffer) * (rx_ring->ring_size + 1);
drivers/net/ethernet/amazon/ena/ena_netdev.c
386
rx_ring->rx_buffer_info = vzalloc_node(size, node);
drivers/net/ethernet/amazon/ena/ena_netdev.c
387
if (!rx_ring->rx_buffer_info) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
388
rx_ring->rx_buffer_info = vzalloc(size);
drivers/net/ethernet/amazon/ena/ena_netdev.c
389
if (!rx_ring->rx_buffer_info)
drivers/net/ethernet/amazon/ena/ena_netdev.c
393
size = sizeof(u16) * rx_ring->ring_size;
drivers/net/ethernet/amazon/ena/ena_netdev.c
394
rx_ring->free_ids = vzalloc_node(size, node);
drivers/net/ethernet/amazon/ena/ena_netdev.c
395
if (!rx_ring->free_ids) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
396
rx_ring->free_ids = vzalloc(size);
drivers/net/ethernet/amazon/ena/ena_netdev.c
397
if (!rx_ring->free_ids) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
398
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/amazon/ena/ena_netdev.c
399
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/amazon/ena/ena_netdev.c
405
for (i = 0; i < rx_ring->ring_size; i++)
drivers/net/ethernet/amazon/ena/ena_netdev.c
406
rx_ring->free_ids[i] = i;
drivers/net/ethernet/amazon/ena/ena_netdev.c
409
memset(&rx_ring->rx_stats, 0x0, sizeof(rx_ring->rx_stats));
drivers/net/ethernet/amazon/ena/ena_netdev.c
411
rx_ring->next_to_clean = 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
412
rx_ring->next_to_use = 0;
drivers/net/ethernet/amazon/ena/ena_netdev.c
413
rx_ring->cpu = ena_irq->cpu;
drivers/net/ethernet/amazon/ena/ena_netdev.c
414
rx_ring->numa_node = node;
drivers/net/ethernet/amazon/ena/ena_netdev.c
428
struct ena_ring *rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
430
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/amazon/ena/ena_netdev.c
431
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/amazon/ena/ena_netdev.c
433
vfree(rx_ring->free_ids);
drivers/net/ethernet/amazon/ena/ena_netdev.c
434
rx_ring->free_ids = NULL;
drivers/net/ethernet/amazon/ena/ena_netdev.c
478
static struct page *ena_alloc_map_page(struct ena_ring *rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
488
ena_increase_stat(&rx_ring->rx_stats.page_alloc_fail, 1, &rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
495
*dma = dma_map_page(rx_ring->dev, page, 0, ENA_PAGE_SIZE,
drivers/net/ethernet/amazon/ena/ena_netdev.c
497
if (unlikely(dma_mapping_error(rx_ring->dev, *dma))) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
498
ena_increase_stat(&rx_ring->rx_stats.dma_mapping_err, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
499
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
507
static int ena_alloc_rx_buffer(struct ena_ring *rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
510
int headroom = rx_ring->rx_headroom;
drivers/net/ethernet/amazon/ena/ena_netdev.c
524
page = ena_alloc_map_page(rx_ring, &dma);
drivers/net/ethernet/amazon/ena/ena_netdev.c
528
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
543
static void ena_unmap_rx_buff_attrs(struct ena_ring *rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
547
dma_unmap_page_attrs(rx_ring->dev, rx_info->dma_addr, ENA_PAGE_SIZE, DMA_BIDIRECTIONAL,
drivers/net/ethernet/amazon/ena/ena_netdev.c
551
static void ena_free_rx_page(struct ena_ring *rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
557
netif_warn(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
562
ena_unmap_rx_buff_attrs(rx_ring, rx_info, 0);
drivers/net/ethernet/amazon/ena/ena_netdev.c
568
static int ena_refill_rx_bufs(struct ena_ring *rx_ring, u32 num)
drivers/net/ethernet/amazon/ena/ena_netdev.c
574
next_to_use = rx_ring->next_to_use;
drivers/net/ethernet/amazon/ena/ena_netdev.c
579
req_id = rx_ring->free_ids[next_to_use];
drivers/net/ethernet/amazon/ena/ena_netdev.c
581
rx_info = &rx_ring->rx_buffer_info[req_id];
drivers/net/ethernet/amazon/ena/ena_netdev.c
583
rc = ena_alloc_rx_buffer(rx_ring, rx_info);
drivers/net/ethernet/amazon/ena/ena_netdev.c
585
netif_warn(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
587
rx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
590
rc = ena_com_add_single_rx_desc(rx_ring->ena_com_io_sq,
drivers/net/ethernet/amazon/ena/ena_netdev.c
594
netif_warn(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
596
rx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_netdev.c
600
rx_ring->ring_size);
drivers/net/ethernet/amazon/ena/ena_netdev.c
604
ena_increase_stat(&rx_ring->rx_stats.refil_partial, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
605
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
606
netif_warn(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
608
rx_ring->qid, i, num);
drivers/net/ethernet/amazon/ena/ena_netdev.c
613
ena_com_write_sq_doorbell(rx_ring->ena_com_io_sq);
drivers/net/ethernet/amazon/ena/ena_netdev.c
615
rx_ring->next_to_use = next_to_use;
drivers/net/ethernet/amazon/ena/ena_netdev.c
623
struct ena_ring *rx_ring = &adapter->rx_ring[qid];
drivers/net/ethernet/amazon/ena/ena_netdev.c
626
for (i = 0; i < rx_ring->ring_size; i++) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
627
struct ena_rx_buffer *rx_info = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
630
ena_free_rx_page(rx_ring, rx_info);
drivers/net/ethernet/amazon/ena/ena_netdev.c
639
struct ena_ring *rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.c
643
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_netdev.c
644
bufs_num = rx_ring->ring_size - 1;
drivers/net/ethernet/amazon/ena/ena_netdev.c
645
rc = ena_refill_rx_bufs(rx_ring, bufs_num);
drivers/net/ethernet/amazon/ena/ena_netdev.c
648
netif_warn(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
763
ena_xdp_unregister_rxq_info(&adapter->rx_ring[i]);
drivers/net/ethernet/amazon/ena/ena_netdev.c
896
static struct sk_buff *ena_alloc_skb(struct ena_ring *rx_ring, void *first_frag, u16 len)
drivers/net/ethernet/amazon/ena/ena_netdev.c
901
skb = napi_alloc_skb(rx_ring->napi, len);
drivers/net/ethernet/amazon/ena/ena_netdev.c
906
ena_increase_stat(&rx_ring->rx_stats.skb_alloc_fail, 1,
drivers/net/ethernet/amazon/ena/ena_netdev.c
907
&rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
909
netif_dbg(rx_ring->adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
936
static struct sk_buff *ena_rx_skb(struct ena_ring *rx_ring,
drivers/net/ethernet/amazon/ena/ena_netdev.c
942
bool is_xdp_loaded = ena_xdp_present_ring(rx_ring);
drivers/net/ethernet/amazon/ena/ena_netdev.c
957
rx_info = &rx_ring->rx_buffer_info[req_id];
drivers/net/ethernet/amazon/ena/ena_netdev.c
96
adapter->rx_ring[i].mtu = mtu;
drivers/net/ethernet/amazon/ena/ena_netdev.c
960
adapter = rx_ring->adapter;
drivers/net/ethernet/amazon/ena/ena_netdev.c
961
netif_err(adapter, rx_err, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
962
"Page is NULL. qid %u req_id %u\n", rx_ring->qid, req_id);
drivers/net/ethernet/amazon/ena/ena_netdev.c
963
ena_increase_stat(&rx_ring->rx_stats.bad_req_id, 1, &rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_netdev.c
968
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
973
pkt_offset = buf_offset - rx_ring->rx_headroom;
drivers/net/ethernet/amazon/ena/ena_netdev.c
977
if (len <= rx_ring->rx_copybreak) {
drivers/net/ethernet/amazon/ena/ena_netdev.c
978
skb = ena_alloc_skb(rx_ring, NULL, len);
drivers/net/ethernet/amazon/ena/ena_netdev.c
983
dma_sync_single_for_device(rx_ring->dev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
989
netif_dbg(rx_ring->adapter, rx_status, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_netdev.c
991
skb->protocol = eth_type_trans(skb, rx_ring->netdev);
drivers/net/ethernet/amazon/ena/ena_netdev.c
992
rx_ring->free_ids[*next_to_clean] = req_id;
drivers/net/ethernet/amazon/ena/ena_netdev.c
994
rx_ring->ring_size);
drivers/net/ethernet/amazon/ena/ena_netdev.h
130
struct ena_ring *rx_ring;
drivers/net/ethernet/amazon/ena/ena_netdev.h
362
struct ena_ring rx_ring[ENA_MAX_NUM_IO_QUEUES]
drivers/net/ethernet/amazon/ena/ena_netdev.h
466
void ena_unmask_interrupt(struct ena_ring *tx_ring, struct ena_ring *rx_ring);
drivers/net/ethernet/amazon/ena/ena_netdev.h
468
struct ena_ring *rx_ring);
drivers/net/ethernet/amazon/ena/ena_xdp.c
135
if (!READ_ONCE(adapter->rx_ring->xdp_bpf_prog))
drivers/net/ethernet/amazon/ena/ena_xdp.c
196
int ena_xdp_register_rxq_info(struct ena_ring *rx_ring)
drivers/net/ethernet/amazon/ena/ena_xdp.c
200
rc = xdp_rxq_info_reg(&rx_ring->xdp_rxq, rx_ring->netdev, rx_ring->qid, 0);
drivers/net/ethernet/amazon/ena/ena_xdp.c
202
netif_dbg(rx_ring->adapter, ifup, rx_ring->netdev, "Registering RX info for queue %d",
drivers/net/ethernet/amazon/ena/ena_xdp.c
203
rx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_xdp.c
205
netif_err(rx_ring->adapter, ifup, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
207
rx_ring->qid, rc);
drivers/net/ethernet/amazon/ena/ena_xdp.c
211
rc = xdp_rxq_info_reg_mem_model(&rx_ring->xdp_rxq, MEM_TYPE_PAGE_SHARED, NULL);
drivers/net/ethernet/amazon/ena/ena_xdp.c
214
netif_err(rx_ring->adapter, ifup, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
216
rx_ring->qid, rc);
drivers/net/ethernet/amazon/ena/ena_xdp.c
217
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/amazon/ena/ena_xdp.c
224
void ena_xdp_unregister_rxq_info(struct ena_ring *rx_ring)
drivers/net/ethernet/amazon/ena/ena_xdp.c
226
netif_dbg(rx_ring->adapter, ifdown, rx_ring->netdev,
drivers/net/ethernet/amazon/ena/ena_xdp.c
228
rx_ring->qid);
drivers/net/ethernet/amazon/ena/ena_xdp.c
229
xdp_rxq_info_unreg_mem_model(&rx_ring->xdp_rxq);
drivers/net/ethernet/amazon/ena/ena_xdp.c
230
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/amazon/ena/ena_xdp.c
238
struct ena_ring *rx_ring;
drivers/net/ethernet/amazon/ena/ena_xdp.c
242
rx_ring = &adapter->rx_ring[i];
drivers/net/ethernet/amazon/ena/ena_xdp.c
243
old_bpf_prog = xchg(&rx_ring->xdp_bpf_prog, prog);
drivers/net/ethernet/amazon/ena/ena_xdp.c
246
rx_ring->rx_headroom = XDP_PACKET_HEADROOM;
drivers/net/ethernet/amazon/ena/ena_xdp.c
248
rx_ring->rx_headroom = NET_SKB_PAD;
drivers/net/ethernet/amazon/ena/ena_xdp.h
105
xdp_ring = rx_ring->xdp_ring;
drivers/net/ethernet/amazon/ena/ena_xdp.h
110
if (ena_xdp_xmit_frame(xdp_ring, rx_ring->adapter, xdpf,
drivers/net/ethernet/amazon/ena/ena_xdp.h
115
xdp_stat = &rx_ring->rx_stats.xdp_tx;
drivers/net/ethernet/amazon/ena/ena_xdp.h
119
if (likely(!xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog))) {
drivers/net/ethernet/amazon/ena/ena_xdp.h
120
xdp_stat = &rx_ring->rx_stats.xdp_redirect;
drivers/net/ethernet/amazon/ena/ena_xdp.h
124
trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict);
drivers/net/ethernet/amazon/ena/ena_xdp.h
125
xdp_stat = &rx_ring->rx_stats.xdp_aborted;
drivers/net/ethernet/amazon/ena/ena_xdp.h
129
trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict);
drivers/net/ethernet/amazon/ena/ena_xdp.h
130
xdp_stat = &rx_ring->rx_stats.xdp_aborted;
drivers/net/ethernet/amazon/ena/ena_xdp.h
134
xdp_stat = &rx_ring->rx_stats.xdp_drop;
drivers/net/ethernet/amazon/ena/ena_xdp.h
138
xdp_stat = &rx_ring->rx_stats.xdp_pass;
drivers/net/ethernet/amazon/ena/ena_xdp.h
142
bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, verdict);
drivers/net/ethernet/amazon/ena/ena_xdp.h
143
xdp_stat = &rx_ring->rx_stats.xdp_invalid;
drivers/net/ethernet/amazon/ena/ena_xdp.h
147
ena_increase_stat(xdp_stat, 1, &rx_ring->syncp);
drivers/net/ethernet/amazon/ena/ena_xdp.h
45
int ena_xdp_register_rxq_info(struct ena_ring *rx_ring);
drivers/net/ethernet/amazon/ena/ena_xdp.h
46
void ena_xdp_unregister_rxq_info(struct ena_ring *rx_ring);
drivers/net/ethernet/amazon/ena/ena_xdp.h
82
static inline int ena_xdp_execute(struct ena_ring *rx_ring, struct xdp_buff *xdp)
drivers/net/ethernet/amazon/ena/ena_xdp.h
90
xdp_prog = READ_ONCE(rx_ring->xdp_bpf_prog);
drivers/net/ethernet/amazon/ena/ena_xdp.h
98
trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict);
drivers/net/ethernet/amazon/ena/ena_xdp.h
99
xdp_stat = &rx_ring->rx_stats.xdp_aborted;
drivers/net/ethernet/amd/amd8111e.c
299
lp->rx_ring = dma_alloc_coherent(&lp->pci_dev->dev,
drivers/net/ethernet/amd/amd8111e.c
302
if (!lp->rx_ring)
drivers/net/ethernet/amd/amd8111e.c
328
lp->rx_ring[i].buff_phy_addr = cpu_to_le32(lp->rx_dma_addr[i]);
drivers/net/ethernet/amd/amd8111e.c
329
lp->rx_ring[i].buff_count = cpu_to_le16(lp->rx_buff_len-2);
drivers/net/ethernet/amd/amd8111e.c
331
lp->rx_ring[i].rx_flags = cpu_to_le16(OWN_BIT);
drivers/net/ethernet/amd/amd8111e.c
347
lp->rx_ring, lp->rx_ring_dma_addr);
drivers/net/ethernet/amd/amd8111e.c
618
if (lp->rx_ring) {
drivers/net/ethernet/amd/amd8111e.c
621
lp->rx_ring, lp->rx_ring_dma_addr);
drivers/net/ethernet/amd/amd8111e.c
622
lp->rx_ring = NULL;
drivers/net/ethernet/amd/amd8111e.c
696
status = le16_to_cpu(lp->rx_ring[rx_index].rx_flags);
drivers/net/ethernet/amd/amd8111e.c
708
lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
drivers/net/ethernet/amd/amd8111e.c
714
lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
drivers/net/ethernet/amd/amd8111e.c
717
pkt_len = le16_to_cpu(lp->rx_ring[rx_index].msg_count) - 4;
drivers/net/ethernet/amd/amd8111e.c
729
lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
drivers/net/ethernet/amd/amd8111e.c
738
lp->rx_ring[rx_index].rx_flags &= RESET_RX_FLAGS;
drivers/net/ethernet/amd/amd8111e.c
758
u16 vlan_tag = le16_to_cpu(lp->rx_ring[rx_index].tag_ctrl_info);
drivers/net/ethernet/amd/amd8111e.c
769
lp->rx_ring[rx_index].buff_phy_addr
drivers/net/ethernet/amd/amd8111e.c
771
lp->rx_ring[rx_index].buff_count =
drivers/net/ethernet/amd/amd8111e.c
774
lp->rx_ring[rx_index].rx_flags |= cpu_to_le16(OWN_BIT);
drivers/net/ethernet/amd/amd8111e.h
736
struct amd8111e_rx_dr* rx_ring;
drivers/net/ethernet/amd/ariadne.c
101
struct RDRE rx_ring[RX_RING_SIZE];
drivers/net/ethernet/amd/ariadne.c
146
volatile struct RDRE *r = &lancedata->rx_ring[i];
drivers/net/ethernet/amd/ariadne.c
154
priv->rx_ring[i] = &lancedata->rx_ring[i];
drivers/net/ethernet/amd/ariadne.c
157
i, &lancedata->rx_ring[i], lancedata->rx_buff[i]);
drivers/net/ethernet/amd/ariadne.c
168
while (!(lowb(priv->rx_ring[entry]->RMD1) & RF_OWN)) {
drivers/net/ethernet/amd/ariadne.c
169
int status = lowb(priv->rx_ring[entry]->RMD1);
drivers/net/ethernet/amd/ariadne.c
189
priv->rx_ring[entry]->RMD1 &= 0xff00 | RF_STP | RF_ENP;
drivers/net/ethernet/amd/ariadne.c
192
short pkt_len = swapw(priv->rx_ring[entry]->RMD3);
drivers/net/ethernet/amd/ariadne.c
198
if (lowb(priv->rx_ring[(entry + i) % RX_RING_SIZE]->RMD1) & RF_OWN)
drivers/net/ethernet/amd/ariadne.c
203
priv->rx_ring[entry]->RMD1 |= RF_OWN;
drivers/net/ethernet/amd/ariadne.c
226
priv->rx_ring[entry]->RMD1 |= RF_OWN;
drivers/net/ethernet/amd/ariadne.c
462
lance->RDP = swloww(ARIADNE_RAM + offsetof(struct lancedata, rx_ring));
drivers/net/ethernet/amd/ariadne.c
464
lance->RDP = swhighw(ARIADNE_RAM + offsetof(struct lancedata, rx_ring));
drivers/net/ethernet/amd/ariadne.c
89
volatile struct RDRE *rx_ring[RX_RING_SIZE];
drivers/net/ethernet/amd/atarilance.c
151
struct ringdesc rx_ring;
drivers/net/ethernet/amd/atarilance.c
617
MEM->init.rx_ring.adr_lo = offsetof( struct lance_memory, rx_head );
drivers/net/ethernet/amd/atarilance.c
618
MEM->init.rx_ring.adr_hi = 0;
drivers/net/ethernet/amd/atarilance.c
619
MEM->init.rx_ring.len = RX_RING_LEN_BITS;
drivers/net/ethernet/amd/lance.c
1157
while (lp->rx_ring[entry].base >= 0) {
drivers/net/ethernet/amd/lance.c
1158
int status = lp->rx_ring[entry].base >> 24;
drivers/net/ethernet/amd/lance.c
1175
lp->rx_ring[entry].base &= 0x03ffffff;
drivers/net/ethernet/amd/lance.c
1180
short pkt_len = (lp->rx_ring[entry].msg_length & 0xfff)-4;
drivers/net/ethernet/amd/lance.c
1195
if (lp->rx_ring[(entry+i) & RX_RING_MOD_MASK].base < 0)
drivers/net/ethernet/amd/lance.c
1201
lp->rx_ring[entry].base |= 0x80000000;
drivers/net/ethernet/amd/lance.c
1209
(unsigned char *)isa_bus_to_virt((lp->rx_ring[entry].base & 0x00ffffff)),
drivers/net/ethernet/amd/lance.c
1219
lp->rx_ring[entry].buf_length = -PKT_BUF_SZ;
drivers/net/ethernet/amd/lance.c
1220
lp->rx_ring[entry].base |= 0x80000000;
drivers/net/ethernet/amd/lance.c
232
u32 rx_ring; /* Tx and Rx ring base pointers */
drivers/net/ethernet/amd/lance.c
238
struct lance_rx_head rx_ring[RX_RING_SIZE];
drivers/net/ethernet/amd/lance.c
580
lp->init_block.rx_ring = ((u32)isa_virt_to_bus(lp->rx_ring) & 0xffffff) | RX_RING_LEN_BITS;
drivers/net/ethernet/amd/lance.c
795
(u32) isa_virt_to_bus(lp->rx_ring),
drivers/net/ethernet/amd/lance.c
852
lp->rx_ring[i].base = 0; /* Not owned by LANCE chip. */
drivers/net/ethernet/amd/lance.c
886
lp->rx_ring[i].base = 0;
drivers/net/ethernet/amd/lance.c
888
lp->rx_ring[i].base = (u32)isa_virt_to_bus(rx_buff) | 0x80000000;
drivers/net/ethernet/amd/lance.c
889
lp->rx_ring[i].buf_length = -PKT_BUF_SZ;
drivers/net/ethernet/amd/lance.c
903
lp->init_block.rx_ring = ((u32)isa_virt_to_bus(lp->rx_ring) & 0xffffff) | RX_RING_LEN_BITS;
drivers/net/ethernet/amd/lance.c
940
lp->rx_ring[i].base, -lp->rx_ring[i].buf_length,
drivers/net/ethernet/amd/lance.c
941
lp->rx_ring[i].msg_length);
drivers/net/ethernet/amd/pcnet32.c
1066
while ((lp->rx_ring[x].status & teststatus) && (ticks < 200)) {
drivers/net/ethernet/amd/pcnet32.c
1283
struct pcnet32_rx_head *rxp = &lp->rx_ring[entry];
drivers/net/ethernet/amd/pcnet32.c
1298
rxp = &lp->rx_ring[entry];
drivers/net/ethernet/amd/pcnet32.c
1914
lp->init_block->rx_ring = cpu_to_le32(lp->rx_ring_dma_addr);
drivers/net/ethernet/amd/pcnet32.c
2030
lp->rx_ring = dma_alloc_coherent(&lp->pci_dev->dev,
drivers/net/ethernet/amd/pcnet32.c
2033
if (!lp->rx_ring) {
drivers/net/ethernet/amd/pcnet32.c
2080
if (lp->rx_ring) {
drivers/net/ethernet/amd/pcnet32.c
2083
lp->rx_ring, lp->rx_ring_dma_addr);
drivers/net/ethernet/amd/pcnet32.c
2084
lp->rx_ring = NULL;
drivers/net/ethernet/amd/pcnet32.c
236
__le32 rx_ring;
drivers/net/ethernet/amd/pcnet32.c
2396
lp->rx_ring[i].base = cpu_to_le32(lp->rx_dma_addr[i]);
drivers/net/ethernet/amd/pcnet32.c
2397
lp->rx_ring[i].buf_length = cpu_to_le16(NEG_BUF_SIZE);
drivers/net/ethernet/amd/pcnet32.c
2399
lp->rx_ring[i].status = cpu_to_le16(0x8000);
drivers/net/ethernet/amd/pcnet32.c
2414
lp->init_block->rx_ring = cpu_to_le32(lp->rx_ring_dma_addr);
drivers/net/ethernet/amd/pcnet32.c
2473
le32_to_cpu(lp->rx_ring[i].base),
drivers/net/ethernet/amd/pcnet32.c
2474
(-le16_to_cpu(lp->rx_ring[i].buf_length)) &
drivers/net/ethernet/amd/pcnet32.c
2475
0xffff, le32_to_cpu(lp->rx_ring[i].msg_length),
drivers/net/ethernet/amd/pcnet32.c
2476
le16_to_cpu(lp->rx_ring[i].status));
drivers/net/ethernet/amd/pcnet32.c
258
struct pcnet32_rx_head *rx_ring;
drivers/net/ethernet/amd/pcnet32.c
564
new_rx_ring[new] = lp->rx_ring[new];
drivers/net/ethernet/amd/pcnet32.c
610
lp->rx_ring, lp->rx_ring_dma_addr);
drivers/net/ethernet/amd/pcnet32.c
615
lp->rx_ring = new_rx_ring;
drivers/net/ethernet/amd/pcnet32.c
648
lp->rx_ring[i].status = 0; /* CPU owns buffer */
drivers/net/ethernet/amd/xgbe/xgbe-desc.c
159
ret = xgbe_init_ring(pdata, channel->rx_ring,
drivers/net/ethernet/amd/xgbe/xgbe-desc.c
337
ring = channel->rx_ring;
drivers/net/ethernet/amd/xgbe/xgbe-desc.c
73
xgbe_free_ring(pdata, channel->rx_ring);
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
1530
struct xgbe_ring *ring = channel->rx_ring;
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
162
if (!pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
182
if (!pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
1829
struct xgbe_ring *ring = channel->rx_ring;
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
207
if (!pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
222
if (!pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
3299
if (!pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
3337
if (!pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
3386
if (!pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
3399
if (!pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
610
if (channel->rx_ring) {
drivers/net/ethernet/amd/xgbe/xgbe-dev.c
92
if (pdata->channel[i]->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
1099
ring = pdata->channel[i]->rx_ring;
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
132
channel->rx_ring = ring;
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
141
channel->tx_ring, channel->rx_ring);
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
2055
struct xgbe_ring *ring = channel->rx_ring;
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
206
if (channel->tx_ring && channel->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
210
else if (channel->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
2221
struct xgbe_ring *ring = channel->rx_ring;
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
232
if (channel->tx_ring && channel->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
236
else if (channel->rx_ring)
drivers/net/ethernet/amd/xgbe/xgbe-drv.c
71
kfree(pdata->channel[i]->rx_ring);
drivers/net/ethernet/amd/xgbe/xgbe.h
442
struct xgbe_ring *rx_ring;
drivers/net/ethernet/apm/xgene-v2/main.c
287
struct xge_desc_ring *rx_ring;
drivers/net/ethernet/apm/xgene-v2/main.c
297
rx_ring = pdata->rx_ring;
drivers/net/ethernet/apm/xgene-v2/main.c
298
head = rx_ring->head;
drivers/net/ethernet/apm/xgene-v2/main.c
305
raw_desc = &rx_ring->raw_desc[head];
drivers/net/ethernet/apm/xgene-v2/main.c
312
skb = rx_ring->pkt_info[head].skb;
drivers/net/ethernet/apm/xgene-v2/main.c
313
rx_ring->pkt_info[head].skb = NULL;
drivers/net/ethernet/apm/xgene-v2/main.c
314
dma_addr = rx_ring->pkt_info[head].dma_addr;
drivers/net/ethernet/apm/xgene-v2/main.c
344
rx_ring->head = head;
drivers/net/ethernet/apm/xgene-v2/main.c
370
struct xge_desc_ring *ring = pdata->rx_ring;
drivers/net/ethernet/apm/xgene-v2/main.c
398
xge_delete_desc_ring(ndev, pdata->rx_ring);
drivers/net/ethernet/apm/xgene-v2/main.c
453
pdata->rx_ring = ring;
drivers/net/ethernet/apm/xgene-v2/main.c
65
struct xge_desc_ring *ring = pdata->rx_ring;
drivers/net/ethernet/apm/xgene-v2/main.h
54
struct xge_desc_ring *rx_ring;
drivers/net/ethernet/apm/xgene-v2/ring.c
48
struct xge_desc_ring *ring = pdata->rx_ring;
drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
705
pool_id = pdata->rx_ring[idx]->buf_pool->id;
drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
707
dstqid = xgene_enet_dst_ring_num(pdata->rx_ring[idx]);
drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
709
if (pdata->rx_ring[idx]->page_pool) {
drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
710
pool_id = pdata->rx_ring[idx]->page_pool->id;
drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
782
def_qid = xgene_enet_dst_ring_num(pdata->rx_ring[0]);
drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
783
pool_id = pdata->rx_ring[0]->buf_pool->id;
drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
786
if (pdata->rx_ring[0]->page_pool) {
drivers/net/ethernet/apm/xgene/xgene_enet_cle.c
787
pool_id = pdata->rx_ring[0]->page_pool->id;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1044
xgene_enet_process_ring(pdata->rx_ring[i], -1);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1079
ring = pdata->rx_ring[i];
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1094
pdata->rx_ring[i] = NULL;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1170
ring = pdata->rx_ring[i];
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1307
struct xgene_enet_desc_ring *rx_ring, *tx_ring, *cp_ring;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1328
rx_ring = xgene_enet_create_desc_ring(ndev, ring_num++,
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1331
if (!rx_ring) {
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1347
rx_ring->nbufpool = NUM_BUFPOOL;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1348
rx_ring->npagepool = NUM_NXTBUFPOOL;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1349
rx_ring->irq = pdata->irqs[i];
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1359
rx_ring->buf_pool = buf_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1360
pdata->rx_ring[i] = rx_ring;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1396
rx_ring->page_pool = page_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1423
cp_ring = pdata->rx_ring[i];
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1491
ring = pdata->rx_ring[i];
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1833
buf_pool = pdata->rx_ring[i]->buf_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1835
page_pool = pdata->rx_ring[i]->page_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1849
dst_ring_num = xgene_enet_dst_ring_num(pdata->rx_ring[0]);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1850
buf_pool = pdata->rx_ring[0]->buf_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1867
dst_ring_num = xgene_enet_dst_ring_num(pdata->rx_ring[0]);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1868
buf_pool = pdata->rx_ring[0]->buf_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1869
page_pool = pdata->rx_ring[0]->page_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
1981
napi = &pdata->rx_ring[i]->napi;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
215
struct xgene_enet_desc_ring *rx_ring = data;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
217
if (napi_schedule_prep(&rx_ring->napi)) {
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
219
__napi_schedule(&rx_ring->napi);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
668
static int xgene_enet_rx_frame(struct xgene_enet_desc_ring *rx_ring,
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
686
ndev = rx_ring->ndev;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
688
dev = ndev_to_dev(rx_ring->ndev);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
689
buf_pool = rx_ring->buf_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
690
page_pool = rx_ring->page_pool;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
720
xgene_enet_parse_error(rx_ring, status);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
721
rx_ring->rx_dropped++;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
752
rx_ring->npagepool -= skb_shinfo(skb)->nr_frags;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
758
rx_ring->rx_packets++;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
759
rx_ring->rx_bytes += datalen;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
760
napi_gro_receive(&rx_ring->napi, skb);
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
763
if (rx_ring->npagepool <= 0) {
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
765
rx_ring->npagepool = NUM_NXTBUFPOOL;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
770
if (--rx_ring->nbufpool == 0) {
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
772
rx_ring->nbufpool = NUM_BUFPOOL;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
886
ring = pdata->rx_ring[i];
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
912
ring = pdata->rx_ring[i];
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
947
ring = pdata->rx_ring[i];
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
965
napi = &pdata->rx_ring[i]->napi;
drivers/net/ethernet/apm/xgene/xgene_enet_main.c
981
napi = &pdata->rx_ring[i]->napi;
drivers/net/ethernet/apm/xgene/xgene_enet_main.h
192
struct xgene_enet_desc_ring *rx_ring[XGENE_NUM_RX_RING];
drivers/net/ethernet/apple/macmace.c
394
mp->rx_ring = dma_alloc_coherent(mp->device,
drivers/net/ethernet/apple/macmace.c
397
if (mp->rx_ring == NULL)
drivers/net/ethernet/apple/macmace.c
60
unsigned char *rx_ring;
drivers/net/ethernet/apple/macmace.c
706
mace_dma_rx_frame(dev, (struct mace_frame*) (mp->rx_ring
drivers/net/ethernet/apple/macmace.c
753
mp->rx_ring, mp->rx_ring_phys);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
407
struct aq_ring_s *rx_ring,
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
417
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
418
++rx_ring->stats.rx.packets;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
419
rx_ring->stats.rx.bytes += xdp_get_buff_len(xdp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
420
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
422
prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
438
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
439
++rx_ring->stats.rx.xdp_pass;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
440
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
446
tx_ring = aq_nic->aq_ring_tx[rx_ring->idx];
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
450
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
451
++rx_ring->stats.rx.xdp_tx;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
452
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
459
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
460
++rx_ring->stats.rx.xdp_redirect;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
461
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
468
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
469
++rx_ring->stats.rx.xdp_aborted;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
470
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
475
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
476
++rx_ring->stats.rx.xdp_drop;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
477
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
52
static int aq_alloc_rxpages(struct aq_rxpage *rxpage, struct aq_ring_s *rx_ring)
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
54
struct device *dev = aq_nic_get_dev(rx_ring->aq_nic);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
55
unsigned int order = rx_ring->page_order;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
703
static int __aq_ring_xdp_clean(struct aq_ring_s *rx_ring,
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
707
int frame_sz = rx_ring->page_offset + rx_ring->frame_max +
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
708
rx_ring->tail_size;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
709
struct aq_nic_s *aq_nic = rx_ring->aq_nic;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
715
for (; (rx_ring->sw_head != rx_ring->hw_head) && budget;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
716
rx_ring->sw_head = aq_ring_next_dx(rx_ring, rx_ring->sw_head),
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
718
struct aq_ring_buff_s *buff = &rx_ring->buff_ring[rx_ring->sw_head];
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
719
bool is_ptp_ring = aq_ptp_ring(rx_ring->aq_nic, rx_ring);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
73
rxpage->pg_off = rx_ring->page_offset;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
734
if (buff_->next >= rx_ring->size) {
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
739
buff_ = &rx_ring->buff_ring[next_];
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
741
aq_ring_dx_in_range(rx_ring->sw_head,
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
743
rx_ring->hw_head);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
760
if (buff_->next >= rx_ring->size) {
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
765
buff_ = &rx_ring->buff_ring[next_];
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
770
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
771
++rx_ring->stats.rx.errors;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
772
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
778
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
779
++rx_ring->stats.rx.errors;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
780
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
789
buff->rxdata.pg_off - rx_ring->page_offset;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
792
ptp_hwtstamp_len = aq_ptp_extract_ts(rx_ring->aq_nic, &shhwtstamps,
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
798
xdp_init_buff(&xdp, frame_sz, &rx_ring->xdp_rxq);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
799
xdp_prepare_buff(&xdp, hard_start, rx_ring->page_offset,
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
802
if (aq_add_rx_fragment(dev, rx_ring, buff, &xdp)) {
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
803
u64_stats_update_begin(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
804
++rx_ring->stats.rx.packets;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
805
rx_ring->stats.rx.bytes += xdp_get_buff_len(&xdp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
806
++rx_ring->stats.rx.xdp_aborted;
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
807
u64_stats_update_end(&rx_ring->stats.rx.syncp);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
812
skb = aq_xdp_run_prog(aq_nic, &xdp, rx_ring, buff);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
823
aq_rx_checksum(rx_ring, buff, skb);
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
831
: AQ_NIC_RING2QMAP(rx_ring->aq_nic,
drivers/net/ethernet/aquantia/atlantic/aq_ring.c
832
rx_ring->idx));
drivers/net/ethernet/atheros/ag71xx.c
1177
struct ag71xx_ring *ring = &ag->rx_ring;
drivers/net/ethernet/atheros/ag71xx.c
1203
struct ag71xx_ring *ring = &ag->rx_ring;
drivers/net/ethernet/atheros/ag71xx.c
1227
struct ag71xx_ring *ring = &ag->rx_ring;
drivers/net/ethernet/atheros/ag71xx.c
1268
struct ag71xx_ring *ring = &ag->rx_ring;
drivers/net/ethernet/atheros/ag71xx.c
1302
struct ag71xx_ring *rx = &ag->rx_ring;
drivers/net/ethernet/atheros/ag71xx.c
1332
struct ag71xx_ring *rx = &ag->rx_ring;
drivers/net/ethernet/atheros/ag71xx.c
1385
ag71xx_wr(ag, AG71XX_REG_RX_DESC, ag->rx_ring.descs_dma);
drivers/net/ethernet/atheros/ag71xx.c
1613
ring = &ag->rx_ring;
drivers/net/ethernet/atheros/ag71xx.c
1681
struct ag71xx_ring *rx_ring = &ag->rx_ring;
drivers/net/ethernet/atheros/ag71xx.c
1682
int rx_ring_size = BIT(rx_ring->order);
drivers/net/ethernet/atheros/ag71xx.c
1692
if (!rx_ring->buf[rx_ring->dirty % rx_ring_size].rx.rx_buf)
drivers/net/ethernet/atheros/ag71xx.c
1874
ag->rx_ring.order = ag71xx_ring_size_order(AG71XX_RX_RING_SIZE_DEFAULT);
drivers/net/ethernet/atheros/ag71xx.c
352
struct ag71xx_ring rx_ring ____cacheline_aligned;
drivers/net/ethernet/atheros/atl1e/atl1e.h
445
struct atl1e_rx_ring rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1391
(struct atl1e_rx_page_desc *) adapter->rx_ring.rx_page_desc;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1401
struct atl1e_rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1403
(struct atl1e_rx_page_desc *) rx_ring->rx_page_desc;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
1480
if (rx_page->read_offset >= rx_ring->page_size) {
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
687
struct atl1e_rx_ring *rx_ring =
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
688
&adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
689
struct atl1e_rx_page_desc *rx_page_desc = rx_ring->rx_page_desc;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
700
rx_ring->real_page_size);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
711
+ adapter->rx_ring.real_page_size * AT_PAGE_NUM_PER_QUEUE *
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
721
struct atl1e_rx_ring *rx_ring = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
723
rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
725
rx_ring->real_page_size = adapter->rx_ring.page_size
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
729
rx_ring->real_page_size = roundup(rx_ring->real_page_size, 32);
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
733
adapter->rx_ring.desc = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
743
struct atl1e_rx_ring *rx_ring = NULL;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
748
rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
749
rx_page_desc = rx_ring->rx_page_desc;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
799
struct atl1e_rx_ring *rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
809
rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
823
rx_page_desc = rx_ring->rx_page_desc;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
846
offset += rx_ring->real_page_size;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
889
struct atl1e_rx_ring *rx_ring = &adapter->rx_ring;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
902
rx_page_desc = rx_ring->rx_page_desc;
drivers/net/ethernet/atheros/atl1e/atl1e_main.c
924
AT_WRITE_REG(hw, REG_HOST_RXFPAGE_SIZE, rx_ring->page_size);
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
212
adapter->rx_ring.page_size = (u32)val * 1024;
drivers/net/ethernet/atheros/atl1e/atl1e_param.c
214
adapter->rx_ring.page_size = (u32)opt.def * 1024;
drivers/net/ethernet/broadcom/b44.c
1110
memset(bp->rx_ring, 0, B44_RX_RING_BYTES);
drivers/net/ethernet/broadcom/b44.c
1137
if (bp->rx_ring) {
drivers/net/ethernet/broadcom/b44.c
1141
kfree(bp->rx_ring);
drivers/net/ethernet/broadcom/b44.c
1144
bp->rx_ring, bp->rx_ring_dma);
drivers/net/ethernet/broadcom/b44.c
1145
bp->rx_ring = NULL;
drivers/net/ethernet/broadcom/b44.c
1180
bp->rx_ring = dma_alloc_coherent(bp->sdev->dma_dev, size,
drivers/net/ethernet/broadcom/b44.c
1182
if (!bp->rx_ring) {
drivers/net/ethernet/broadcom/b44.c
1186
struct dma_desc *rx_ring;
drivers/net/ethernet/broadcom/b44.c
1189
rx_ring = kzalloc(size, gfp);
drivers/net/ethernet/broadcom/b44.c
1190
if (!rx_ring)
drivers/net/ethernet/broadcom/b44.c
1193
rx_ring_dma = dma_map_single(bp->sdev->dma_dev, rx_ring,
drivers/net/ethernet/broadcom/b44.c
1199
kfree(rx_ring);
drivers/net/ethernet/broadcom/b44.c
1203
bp->rx_ring = rx_ring;
drivers/net/ethernet/broadcom/b44.c
696
dp = &bp->rx_ring[dest_idx];
drivers/net/ethernet/broadcom/b44.c
717
dest_desc = &bp->rx_ring[dest_idx];
drivers/net/ethernet/broadcom/b44.c
719
src_desc = &bp->rx_ring[src_idx];
drivers/net/ethernet/broadcom/b44.h
363
struct dma_desc *rx_ring, *tx_ring;
drivers/net/ethernet/broadcom/bcm4908_enet.c
199
struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
drivers/net/ethernet/broadcom/bcm4908_enet.c
203
size = rx_ring->length * sizeof(struct bcm4908_enet_dma_ring_bd);
drivers/net/ethernet/broadcom/bcm4908_enet.c
204
if (rx_ring->cpu_addr)
drivers/net/ethernet/broadcom/bcm4908_enet.c
205
dma_free_coherent(dev, size, rx_ring->cpu_addr, rx_ring->dma_addr);
drivers/net/ethernet/broadcom/bcm4908_enet.c
206
kfree(rx_ring->slots);
drivers/net/ethernet/broadcom/bcm4908_enet.c
217
struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
drivers/net/ethernet/broadcom/bcm4908_enet.c
231
rx_ring->length = ENET_RX_BDS_NUM;
drivers/net/ethernet/broadcom/bcm4908_enet.c
232
rx_ring->is_tx = 0;
drivers/net/ethernet/broadcom/bcm4908_enet.c
233
rx_ring->cfg_block = ENET_DMA_CH_RX_CFG;
drivers/net/ethernet/broadcom/bcm4908_enet.c
234
rx_ring->st_ram_block = ENET_DMA_CH_RX_STATE_RAM;
drivers/net/ethernet/broadcom/bcm4908_enet.c
235
err = bcm4908_dma_alloc_buf_descs(enet, rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
247
struct bcm4908_enet_dma_ring *rings[] = { &enet->rx_ring, &enet->tx_ring };
drivers/net/ethernet/broadcom/bcm4908_enet.c
268
struct bcm4908_enet_dma_ring_bd *buf_desc = &enet->rx_ring.buf_desc[idx];
drivers/net/ethernet/broadcom/bcm4908_enet.c
269
struct bcm4908_enet_dma_ring_slot *slot = &enet->rx_ring.slots[idx];
drivers/net/ethernet/broadcom/bcm4908_enet.c
290
if (idx == enet->rx_ring.length - 1)
drivers/net/ethernet/broadcom/bcm4908_enet.c
321
struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
drivers/net/ethernet/broadcom/bcm4908_enet.c
326
for (i = rx_ring->length - 1; i >= 0; i--) {
drivers/net/ethernet/broadcom/bcm4908_enet.c
327
slot = &rx_ring->slots[i];
drivers/net/ethernet/broadcom/bcm4908_enet.c
338
struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
drivers/net/ethernet/broadcom/bcm4908_enet.c
343
for (i = 0; i < rx_ring->length; i++) {
drivers/net/ethernet/broadcom/bcm4908_enet.c
353
bcm4908_enet_dma_ring_init(enet, &enet->rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
438
ring = (irq == enet->irq_tx) ? &enet->tx_ring : &enet->rx_ring;
drivers/net/ethernet/broadcom/bcm4908_enet.c
452
struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
drivers/net/ethernet/broadcom/bcm4908_enet.c
488
bcm4908_enet_dma_rx_ring_enable(enet, rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
489
napi_enable(&rx_ring->napi);
drivers/net/ethernet/broadcom/bcm4908_enet.c
492
bcm4908_enet_dma_ring_intrs_ack(enet, rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
493
bcm4908_enet_dma_ring_intrs_on(enet, rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
502
struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring;
drivers/net/ethernet/broadcom/bcm4908_enet.c
506
napi_disable(&rx_ring->napi);
drivers/net/ethernet/broadcom/bcm4908_enet.c
510
bcm4908_enet_dma_rx_ring_disable(enet, &enet->rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
583
struct bcm4908_enet_dma_ring *rx_ring = container_of(napi, struct bcm4908_enet_dma_ring, napi);
drivers/net/ethernet/broadcom/bcm4908_enet.c
584
struct bcm4908_enet *enet = container_of(rx_ring, struct bcm4908_enet, rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
596
buf_desc = &enet->rx_ring.buf_desc[enet->rx_ring.read_idx];
drivers/net/ethernet/broadcom/bcm4908_enet.c
601
slot = enet->rx_ring.slots[enet->rx_ring.read_idx];
drivers/net/ethernet/broadcom/bcm4908_enet.c
604
err = bcm4908_enet_dma_alloc_rx_buf(enet, enet->rx_ring.read_idx);
drivers/net/ethernet/broadcom/bcm4908_enet.c
608
if (++enet->rx_ring.read_idx == enet->rx_ring.length)
drivers/net/ethernet/broadcom/bcm4908_enet.c
609
enet->rx_ring.read_idx = 0;
drivers/net/ethernet/broadcom/bcm4908_enet.c
642
bcm4908_enet_dma_ring_intrs_on(enet, rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
646
bcm4908_enet_dma_rx_ring_enable(enet, &enet->rx_ring);
drivers/net/ethernet/broadcom/bcm4908_enet.c
755
netif_napi_add(netdev, &enet->rx_ring.napi, bcm4908_enet_poll_rx);
drivers/net/ethernet/broadcom/bcm4908_enet.c
776
netif_napi_del(&enet->rx_ring.napi);
drivers/net/ethernet/broadcom/bcm4908_enet.c
86
struct bcm4908_enet_dma_ring rx_ring;
drivers/net/ethernet/broadcom/bgmac.c
1157
handled += bgmac_dma_rx_read(bgmac, &bgmac->rx_ring[0], weight);
drivers/net/ethernet/broadcom/bgmac.c
596
bgmac_dma_rx_ring_free(bgmac, &bgmac->rx_ring[i]);
drivers/net/ethernet/broadcom/bgmac.c
608
bgmac_dma_ring_desc_free(bgmac, &bgmac->rx_ring[i],
drivers/net/ethernet/broadcom/bgmac.c
657
ring = &bgmac->rx_ring[i];
drivers/net/ethernet/broadcom/bgmac.c
710
ring = &bgmac->rx_ring[i];
drivers/net/ethernet/broadcom/bgmac.c
924
bgmac_dma_rx_reset(bgmac, &bgmac->rx_ring[i]);
drivers/net/ethernet/broadcom/bgmac.h
463
struct bgmac_dma_ring rx_ring[BGMAC_MAX_RX_RINGS];
drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c
808
struct bnge_rx_ring_info *rxr = &bn->rx_ring[0];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
1235
struct bnge_rx_ring_info *rxr = &bn->rx_ring[ring_nr];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
1318
rxr = &bn->rx_ring[ring_nr];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
1595
struct bnge_rx_ring_info *rxr = &bn->rx_ring[i];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
1625
rc = bnge_hwrm_rx_agg_ring_alloc(bn, &bn->rx_ring[i]);
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
1647
rxr = &bn->rx_ring[j];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
2133
bnge_hwrm_rx_ring_free(bn, &bn->rx_ring[i], close_path);
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
2134
bnge_hwrm_rx_agg_ring_free(bn, &bn->rx_ring[i], close_path);
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
307
bn->rx_ring[i].rx_cpr = cpr;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
416
if (!bn->rx_ring)
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
420
bnge_free_one_rx_ring_pair_bufs(bn, &bn->rx_ring[i]);
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
485
struct bnge_rx_ring_info *rxr = &bn->rx_ring[i];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
510
struct bnge_rx_ring_info *rxr = &bn->rx_ring[i];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
542
struct bnge_rx_ring_info *rxr = &bn->rx_ring[i];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
633
struct bnge_rx_ring_info *rxr = &bn->rx_ring[i];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
868
kfree(bn->rx_ring);
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
869
bn->rx_ring = NULL;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
900
bn->rx_ring = kzalloc_objs(struct bnge_rx_ring_info, bd->rx_nr_rings);
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
901
if (!bn->rx_ring)
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
905
struct bnge_rx_ring_info *rxr = &bn->rx_ring[i];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.c
912
bn->bnapi[i]->rx_ring = &bn->rx_ring[i];
drivers/net/ethernet/broadcom/bnge/bnge_netdev.h
261
struct bnge_rx_ring_info *rx_ring;
drivers/net/ethernet/broadcom/bnge/bnge_netdev.h
474
struct bnge_rx_ring_info *rx_ring;
drivers/net/ethernet/broadcom/bnge/bnge_rmem.c
464
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
1115
struct bnge_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
176
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
604
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
78
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
825
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
3143
struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
3388
struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
3482
struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
5119
rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
5194
bnx2_init_rxbd_rings(struct bnx2_rx_bd *rx_ring[], dma_addr_t dma[],
drivers/net/ethernet/broadcom/bnx2.c
5203
rxbd = &rx_ring[i][0];
drivers/net/ethernet/broadcom/bnx2.c
5224
struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
5463
struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
5805
rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
717
struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.c
771
struct bnx2_rx_ring_info *rxr = &bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnx2.h
6781
struct bnx2_rx_ring_info rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
1086
struct bnxt_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11764
rmap && bp->bnapi[i]->rx_ring) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
11894
if (bnapi->rx_ring) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
1260
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
14109
struct bnxt_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
14155
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[ring_nr];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
14314
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
16033
if (!bp->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
16036
rxr = &bp->rx_ring[idx];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
16207
rxr = &bp->rx_ring[idx];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
16293
rxr = &bp->rx_ring[idx];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
1852
struct bnxt_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
2108
struct bnxt_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
2461
u16 grp_idx = bp->rx_ring[i].bnapi->index;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
2873
rxr = bp->bnapi[grp_idx]->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3129
struct bnxt_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3135
struct bnxt_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3165
struct bnxt_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3578
if (!bp->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3582
bnxt_free_one_rx_ring_skbs(bp, &bp->rx_ring[i]);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3745
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3788
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3801
if (!bp->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3806
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3920
if (!bp->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
3927
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4248
bp->rx_ring[i].rx_cpr = cpr2;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4348
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4472
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[ring_nr];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
4534
rxr = &bp->rx_ring[ring_nr];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
5328
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
5475
kfree(bp->rx_ring);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
5476
bp->rx_ring = NULL;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
5515
bp->rx_ring = kzalloc_objs(struct bnxt_rx_ring_info,
drivers/net/ethernet/broadcom/bnxt/bnxt.c
5517
if (!bp->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
5521
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
5532
bp->bnapi[i]->rx_ring = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
6637
rxr = &bp->rx_ring[j];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
6844
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[0];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
6885
grp_idx = bp->rx_ring[ring].bnapi->index;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
6947
grp_idx = bp->rx_ring[i].bnapi->index;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7051
unsigned int grp_idx = bp->rx_ring[i].bnapi->index;
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7442
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7459
rc = bnxt_hwrm_rx_agg_ring_alloc(bp, &bp->rx_ring[i]);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7481
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[i];
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7622
bnxt_hwrm_rx_ring_free(bp, &bp->rx_ring[i], close_path);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
7623
bnxt_hwrm_rx_agg_ring_free(bp, &bp->rx_ring[i], close_path);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8367
if (!bnapi->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8376
req_rx->ring_id = cpu_to_le16(bnxt_cp_ring_for_rx(bp, bnapi->rx_ring));
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8385
u16 ring_id = bnxt_cp_ring_for_rx(bp, bnapi->rx_ring);
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8436
if (!bnapi->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8446
if (bnapi->rx_ring && bnapi->tx_ring[0]) {
drivers/net/ethernet/broadcom/bnxt/bnxt.c
8451
if (bnapi->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt.h
1227
struct bnxt_rx_ring_info *rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt.h
2358
struct bnxt_rx_ring_info *rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt_debugfs.c
86
if (cpr && bp->bnapi[i]->rx_ring)
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
5068
rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
5128
struct bnxt_rx_ring_info *rxr = &bp->rx_ring[0];
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
124
struct bnxt_rx_ring_info *rxr = bnapi->rx_ring;
drivers/net/ethernet/broadcom/cnic.c
5241
void *rx_ring;
drivers/net/ethernet/broadcom/cnic.c
5278
rx_ring = udev->l2_ring + CNIC_PAGE_SIZE;
drivers/net/ethernet/broadcom/cnic.c
5279
memset(rx_ring, 0, CNIC_PAGE_SIZE);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3165
struct bcmgenet_rx_ring *rx_ring;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3184
rx_ring = &priv->rx_rings[index];
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3185
rx_ring->dim.event_ctr++;
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3187
if (likely(napi_schedule_prep(&rx_ring->napi))) {
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3188
bcmgenet_rx_ring_int_disable(rx_ring);
drivers/net/ethernet/broadcom/genet/bcmgenet.c
3189
__napi_schedule_irqoff(&rx_ring->napi);
drivers/net/ethernet/cadence/macb.h
1264
struct macb_dma_desc *rx_ring;
drivers/net/ethernet/cadence/macb_main.c
185
return &queue->rx_ring[index];
drivers/net/ethernet/cadence/macb_main.c
2551
dma_free_coherent(dev, size, bp->queues[0].rx_ring, bp->queues[0].rx_ring_dma);
drivers/net/ethernet/cadence/macb_main.c
2557
queue->rx_ring = NULL;
drivers/net/ethernet/cadence/macb_main.c
2631
queue->rx_ring = rx + macb_rx_ring_size_per_queue(bp) * q;
drivers/net/ethernet/cadence/macb_main.c
4759
q->rx_ring = dma_alloc_coherent(&lp->pdev->dev,
drivers/net/ethernet/cadence/macb_main.c
4763
if (!q->rx_ring)
drivers/net/ethernet/cadence/macb_main.c
4774
q->rx_ring, q->rx_ring_dma);
drivers/net/ethernet/cadence/macb_main.c
4775
q->rx_ring = NULL;
drivers/net/ethernet/cadence/macb_main.c
4786
if (q->rx_ring) {
drivers/net/ethernet/cadence/macb_main.c
4790
q->rx_ring, q->rx_ring_dma);
drivers/net/ethernet/cadence/macb_main.c
4791
q->rx_ring = NULL;
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
1231
kfree(p->rx_ring);
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
1265
kfree(p->rx_ring);
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
134
u64 *rx_ring;
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
236
p->rx_ring[p->rx_next_fill] = re.d64;
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
378
re.d64 = p->rx_ring[p->rx_next];
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
993
p->rx_ring = kzalloc(ring_size_to_bytes(OCTEON_MGMT_RX_RING_SIZE),
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
995
if (!p->rx_ring)
drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
998
dma_map_single(p->dev, p->rx_ring,
drivers/net/ethernet/dec/tulip/de2104x.c
1293
de->rx_ring[i].opts1 = cpu_to_le32(DescOwn);
drivers/net/ethernet/dec/tulip/de2104x.c
1295
de->rx_ring[i].opts2 =
drivers/net/ethernet/dec/tulip/de2104x.c
1298
de->rx_ring[i].opts2 = cpu_to_le32(de->rx_buf_sz);
drivers/net/ethernet/dec/tulip/de2104x.c
1299
de->rx_ring[i].addr1 = cpu_to_le32(de->rx_skb[i].mapping);
drivers/net/ethernet/dec/tulip/de2104x.c
1300
de->rx_ring[i].addr2 = 0;
drivers/net/ethernet/dec/tulip/de2104x.c
1323
de->rx_ring = dma_alloc_coherent(&de->pdev->dev, DE_RING_BYTES,
drivers/net/ethernet/dec/tulip/de2104x.c
1325
if (!de->rx_ring)
drivers/net/ethernet/dec/tulip/de2104x.c
1327
de->tx_ring = &de->rx_ring[DE_RX_RING_SIZE];
drivers/net/ethernet/dec/tulip/de2104x.c
1335
memset(de->rx_ring, 0, sizeof(struct de_desc) * DE_RX_RING_SIZE);
drivers/net/ethernet/dec/tulip/de2104x.c
1336
de->rx_ring[DE_RX_RING_SIZE - 1].opts2 = cpu_to_le32(RingEnd);
drivers/net/ethernet/dec/tulip/de2104x.c
1376
dma_free_coherent(&de->pdev->dev, DE_RING_BYTES, de->rx_ring,
drivers/net/ethernet/dec/tulip/de2104x.c
1378
de->rx_ring = NULL;
drivers/net/ethernet/dec/tulip/de2104x.c
300
struct de_desc *rx_ring;
drivers/net/ethernet/dec/tulip/de2104x.c
410
status = le32_to_cpu(de->rx_ring[rx_tail].opts1);
drivers/net/ethernet/dec/tulip/de2104x.c
478
de->rx_ring[rx_tail].opts2 =
drivers/net/ethernet/dec/tulip/de2104x.c
481
de->rx_ring[rx_tail].opts2 = cpu_to_le32(de->rx_buf_sz);
drivers/net/ethernet/dec/tulip/de2104x.c
482
de->rx_ring[rx_tail].addr1 = cpu_to_le32(mapping);
drivers/net/ethernet/dec/tulip/de2104x.c
484
de->rx_ring[rx_tail].opts1 = cpu_to_le32(DescOwn);
drivers/net/ethernet/dec/tulip/interrupt.c
132
entry, tp->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
144
while ( ! (tp->rx_ring[entry].status & cpu_to_le32(DescOwned))) {
drivers/net/ethernet/dec/tulip/interrupt.c
145
s32 status = le32_to_cpu(tp->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
236
le32_to_cpu(tp->rx_ring[entry].buffer1)) {
drivers/net/ethernet/dec/tulip/interrupt.c
239
le32_to_cpu(tp->rx_ring[entry].buffer1),
drivers/net/ethernet/dec/tulip/interrupt.c
378
entry, tp->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
380
while ( ! (tp->rx_ring[entry].status & cpu_to_le32(DescOwned))) {
drivers/net/ethernet/dec/tulip/interrupt.c
381
s32 status = le32_to_cpu(tp->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/interrupt.c
466
le32_to_cpu(tp->rx_ring[entry].buffer1)) {
drivers/net/ethernet/dec/tulip/interrupt.c
469
le32_to_cpu(tp->rx_ring[entry].buffer1),
drivers/net/ethernet/dec/tulip/interrupt.c
87
tp->rx_ring[entry].buffer1 = cpu_to_le32(mapping);
drivers/net/ethernet/dec/tulip/interrupt.c
90
tp->rx_ring[entry].status = cpu_to_le32(DescOwned);
drivers/net/ethernet/dec/tulip/tulip.h
404
struct tulip_rx_desc *rx_ring;
drivers/net/ethernet/dec/tulip/tulip_core.c
1429
tp->rx_ring = dmam_alloc_coherent(&pdev->dev,
drivers/net/ethernet/dec/tulip/tulip_core.c
1433
if (!tp->rx_ring)
drivers/net/ethernet/dec/tulip/tulip_core.c
1435
tp->tx_ring = (struct tulip_tx_desc *)(tp->rx_ring + RX_RING_SIZE);
drivers/net/ethernet/dec/tulip/tulip_core.c
568
u8 *buf = (u8 *)(tp->rx_ring[i].buffer1);
drivers/net/ethernet/dec/tulip/tulip_core.c
573
(unsigned int)tp->rx_ring[i].status,
drivers/net/ethernet/dec/tulip/tulip_core.c
574
(unsigned int)tp->rx_ring[i].length,
drivers/net/ethernet/dec/tulip/tulip_core.c
575
(unsigned int)tp->rx_ring[i].buffer1,
drivers/net/ethernet/dec/tulip/tulip_core.c
576
(unsigned int)tp->rx_ring[i].buffer2,
drivers/net/ethernet/dec/tulip/tulip_core.c
583
printk(KERN_DEBUG " Rx ring %p: ", tp->rx_ring);
drivers/net/ethernet/dec/tulip/tulip_core.c
585
pr_cont(" %08x", (unsigned int)tp->rx_ring[i].status);
drivers/net/ethernet/dec/tulip/tulip_core.c
613
tp->rx_ring[i].status = 0x00000000;
drivers/net/ethernet/dec/tulip/tulip_core.c
614
tp->rx_ring[i].length = cpu_to_le32(PKT_BUF_SZ);
drivers/net/ethernet/dec/tulip/tulip_core.c
615
tp->rx_ring[i].buffer2 = cpu_to_le32(tp->rx_ring_dma + sizeof(struct tulip_rx_desc) * (i + 1));
drivers/net/ethernet/dec/tulip/tulip_core.c
620
tp->rx_ring[i-1].length = cpu_to_le32(PKT_BUF_SZ | DESC_RING_WRAP);
drivers/net/ethernet/dec/tulip/tulip_core.c
621
tp->rx_ring[i-1].buffer2 = cpu_to_le32(tp->rx_ring_dma);
drivers/net/ethernet/dec/tulip/tulip_core.c
636
tp->rx_ring[i].status = cpu_to_le32(DescOwned); /* Owned by Tulip chip */
drivers/net/ethernet/dec/tulip/tulip_core.c
637
tp->rx_ring[i].buffer1 = cpu_to_le32(mapping);
drivers/net/ethernet/dec/tulip/tulip_core.c
794
tp->rx_ring[i].status = 0; /* Not owned by Tulip chip. */
drivers/net/ethernet/dec/tulip/tulip_core.c
795
tp->rx_ring[i].length = 0;
drivers/net/ethernet/dec/tulip/tulip_core.c
797
tp->rx_ring[i].buffer1 = cpu_to_le32(0xBADF00D0);
drivers/net/ethernet/dec/tulip/winbond-840.c
1169
entry, np->rx_ring[entry].status);
drivers/net/ethernet/dec/tulip/winbond-840.c
1248
np->rx_head_desc = &np->rx_ring[entry];
drivers/net/ethernet/dec/tulip/winbond-840.c
1264
np->rx_ring[entry].buffer1 = np->rx_addr[entry];
drivers/net/ethernet/dec/tulip/winbond-840.c
1267
np->rx_ring[entry].status = DescOwned;
drivers/net/ethernet/dec/tulip/winbond-840.c
1503
printk(KERN_DEBUG " Rx ring %p:\n", np->rx_ring);
drivers/net/ethernet/dec/tulip/winbond-840.c
1506
i, np->rx_ring[i].length,
drivers/net/ethernet/dec/tulip/winbond-840.c
1507
np->rx_ring[i].status, np->rx_ring[i].buffer1);
drivers/net/ethernet/dec/tulip/winbond-840.c
285
struct w840_rx_desc *rx_ring;
drivers/net/ethernet/dec/tulip/winbond-840.c
786
np->rx_head_desc = &np->rx_ring[0];
drivers/net/ethernet/dec/tulip/winbond-840.c
787
np->tx_ring = (struct w840_tx_desc*)&np->rx_ring[RX_RING_SIZE];
drivers/net/ethernet/dec/tulip/winbond-840.c
791
np->rx_ring[i].length = np->rx_buf_sz;
drivers/net/ethernet/dec/tulip/winbond-840.c
792
np->rx_ring[i].status = 0;
drivers/net/ethernet/dec/tulip/winbond-840.c
796
np->rx_ring[i-1].length |= DescEndRing;
drivers/net/ethernet/dec/tulip/winbond-840.c
808
np->rx_ring[i].buffer1 = np->rx_addr[i];
drivers/net/ethernet/dec/tulip/winbond-840.c
809
np->rx_ring[i].status = DescOwned;
drivers/net/ethernet/dec/tulip/winbond-840.c
834
np->rx_ring[i].status = 0;
drivers/net/ethernet/dec/tulip/winbond-840.c
922
printk(KERN_DEBUG " Rx ring %p: ", np->rx_ring);
drivers/net/ethernet/dec/tulip/winbond-840.c
924
printk(KERN_CONT " %08x", (unsigned int)np->rx_ring[i].status);
drivers/net/ethernet/dec/tulip/winbond-840.c
964
np->rx_ring = dma_alloc_coherent(&np->pci_dev->dev,
drivers/net/ethernet/dec/tulip/winbond-840.c
968
if(!np->rx_ring)
drivers/net/ethernet/dec/tulip/winbond-840.c
979
np->rx_ring, np->ring_dma_addr);
drivers/net/ethernet/dlink/dl2k.c
1020
np->rx_ring[entry].fraginfo = 0;
drivers/net/ethernet/dlink/dl2k.c
1028
np->rx_ring[entry].fraginfo =
drivers/net/ethernet/dlink/dl2k.c
1032
np->rx_ring[entry].fraginfo |=
drivers/net/ethernet/dlink/dl2k.c
1034
np->rx_ring[entry].status = 0;
drivers/net/ethernet/dlink/dl2k.c
1822
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, np->rx_ring,
drivers/net/ethernet/dlink/dl2k.c
249
np->rx_ring = ring_space;
drivers/net/ethernet/dlink/dl2k.c
294
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, np->rx_ring,
drivers/net/ethernet/dlink/dl2k.c
451
desc_to_dma(&np->rx_ring[i]),
drivers/net/ethernet/dlink/dl2k.c
456
np->rx_ring[i].status = 0;
drivers/net/ethernet/dlink/dl2k.c
457
np->rx_ring[i].fraginfo = 0;
drivers/net/ethernet/dlink/dl2k.c
484
np->rx_ring[i].status = 0;
drivers/net/ethernet/dlink/dl2k.c
520
np->rx_ring[i].next_desc = cpu_to_le64(np->rx_ring_dma +
drivers/net/ethernet/dlink/dl2k.c
524
np->rx_ring[i].fraginfo = cpu_to_le64(addr);
drivers/net/ethernet/dlink/dl2k.c
525
np->rx_ring[i].fraginfo |= cpu_to_le64((u64)np->rx_buf_sz << 48);
drivers/net/ethernet/dlink/dl2k.c
689
np->rx_ring[entry].fraginfo = 0;
drivers/net/ethernet/dlink/dl2k.c
696
np->rx_ring[entry].fraginfo =
drivers/net/ethernet/dlink/dl2k.c
700
np->rx_ring[entry].fraginfo |=
drivers/net/ethernet/dlink/dl2k.c
702
np->rx_ring[entry].status = 0;
drivers/net/ethernet/dlink/dl2k.c
945
struct netdev_desc *desc = &np->rx_ring[entry];
drivers/net/ethernet/dlink/dl2k.h
366
struct netdev_desc *rx_ring;
drivers/net/ethernet/dlink/sundance.c
1027
np->rx_ring[i].next_desc = cpu_to_le32(np->rx_ring_dma +
drivers/net/ethernet/dlink/sundance.c
1028
((i+1)%RX_RING_SIZE)*sizeof(*np->rx_ring));
drivers/net/ethernet/dlink/sundance.c
1029
np->rx_ring[i].status = 0;
drivers/net/ethernet/dlink/sundance.c
1030
np->rx_ring[i].frag.length = 0;
drivers/net/ethernet/dlink/sundance.c
1051
np->rx_ring[i].frag.addr = cpu_to_le32(addr);
drivers/net/ethernet/dlink/sundance.c
1052
np->rx_ring[i].frag.length = cpu_to_le32(np->rx_buf_sz | LastFrag);
drivers/net/ethernet/dlink/sundance.c
1332
struct netdev_desc *desc = &(np->rx_ring[entry]);
drivers/net/ethernet/dlink/sundance.c
1442
np->rx_ring[entry].frag.addr = cpu_to_le32(addr);
drivers/net/ethernet/dlink/sundance.c
1445
np->rx_ring[entry].frag.length =
drivers/net/ethernet/dlink/sundance.c
1447
np->rx_ring[entry].status = 0;
drivers/net/ethernet/dlink/sundance.c
1882
i, np->rx_ring[i].status, np->rx_ring[i].frag.addr,
drivers/net/ethernet/dlink/sundance.c
1883
np->rx_ring[i].frag.length);
drivers/net/ethernet/dlink/sundance.c
1894
np->rx_ring[i].status = 0;
drivers/net/ethernet/dlink/sundance.c
1898
le32_to_cpu(np->rx_ring[i].frag.addr),
drivers/net/ethernet/dlink/sundance.c
1903
np->rx_ring[i].frag.addr = cpu_to_le32(0xBADF00D0); /* poison */
drivers/net/ethernet/dlink/sundance.c
1928
np->rx_ring, np->rx_ring_dma);
drivers/net/ethernet/dlink/sundance.c
363
struct netdev_desc *rx_ring;
drivers/net/ethernet/dlink/sundance.c
558
np->rx_ring = (struct netdev_desc *)ring_space;
drivers/net/ethernet/dlink/sundance.c
694
np->rx_ring, np->rx_ring_dma);
drivers/net/ethernet/fealnx.c
1148
iowrite32(np->rx_ring_dma + ((char*)np->cur_rx - (char*)np->rx_ring),
drivers/net/ethernet/fealnx.c
1200
printk(KERN_DEBUG " Rx ring %p: ", np->rx_ring);
drivers/net/ethernet/fealnx.c
1203
(unsigned int) np->rx_ring[i].status);
drivers/net/ethernet/fealnx.c
1233
np->cur_rx = &np->rx_ring[0];
drivers/net/ethernet/fealnx.c
1234
np->lack_rxbuf = np->rx_ring;
drivers/net/ethernet/fealnx.c
1239
np->rx_ring[i].status = 0;
drivers/net/ethernet/fealnx.c
1240
np->rx_ring[i].control = np->rx_buf_sz << RBSShift;
drivers/net/ethernet/fealnx.c
1241
np->rx_ring[i].next_desc = np->rx_ring_dma +
drivers/net/ethernet/fealnx.c
1243
np->rx_ring[i].next_desc_logical = &np->rx_ring[i + 1];
drivers/net/ethernet/fealnx.c
1244
np->rx_ring[i].skbuff = NULL;
drivers/net/ethernet/fealnx.c
1248
np->rx_ring[i - 1].next_desc = np->rx_ring_dma;
drivers/net/ethernet/fealnx.c
1249
np->rx_ring[i - 1].next_desc_logical = np->rx_ring;
drivers/net/ethernet/fealnx.c
1256
np->lack_rxbuf = &np->rx_ring[i];
drivers/net/ethernet/fealnx.c
1261
np->rx_ring[i].skbuff = skb;
drivers/net/ethernet/fealnx.c
1262
np->rx_ring[i].buffer = dma_map_single(&np->pci_dev->dev,
drivers/net/ethernet/fealnx.c
1266
np->rx_ring[i].status = RXOWN;
drivers/net/ethernet/fealnx.c
1267
np->rx_ring[i].control |= RXIC;
drivers/net/ethernet/fealnx.c
1420
iowrite32(np->rx_ring_dma + ((char*)np->cur_rx - (char*)np->rx_ring),
drivers/net/ethernet/fealnx.c
1910
struct sk_buff *skb = np->rx_ring[i].skbuff;
drivers/net/ethernet/fealnx.c
1912
np->rx_ring[i].status = 0;
drivers/net/ethernet/fealnx.c
1915
np->rx_ring[i].buffer, np->rx_buf_sz,
drivers/net/ethernet/fealnx.c
1918
np->rx_ring[i].skbuff = NULL;
drivers/net/ethernet/fealnx.c
370
struct fealnx_desc *rx_ring;
drivers/net/ethernet/fealnx.c
554
np->rx_ring = ring_space;
drivers/net/ethernet/fealnx.c
666
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, np->rx_ring,
drivers/net/ethernet/fealnx.c
687
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, np->rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1105
struct enetc_ndev_priv *priv = netdev_priv(v->rx_ring.ndev);
drivers/net/ethernet/freescale/enetc/enetc.c
1121
v->rx_ring.stats.packets,
drivers/net/ethernet/freescale/enetc/enetc.c
1122
v->rx_ring.stats.bytes,
drivers/net/ethernet/freescale/enetc/enetc.c
1139
static void enetc_reuse_page(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1144
new = &rx_ring->rx_swbd[rx_ring->next_to_alloc];
drivers/net/ethernet/freescale/enetc/enetc.c
1147
enetc_bdr_idx_inc(rx_ring, &rx_ring->next_to_alloc);
drivers/net/ethernet/freescale/enetc/enetc.c
1189
struct enetc_bdr *rx_ring;
drivers/net/ethernet/freescale/enetc/enetc.c
1191
rx_ring = enetc_rx_ring_from_xdp_tx_ring(priv, tx_ring);
drivers/net/ethernet/freescale/enetc/enetc.c
1193
if (likely(enetc_swbd_unused(rx_ring))) {
drivers/net/ethernet/freescale/enetc/enetc.c
1194
enetc_reuse_page(rx_ring, &rx_swbd);
drivers/net/ethernet/freescale/enetc/enetc.c
1197
dma_sync_single_range_for_device(rx_ring->dev, rx_swbd.dma,
drivers/net/ethernet/freescale/enetc/enetc.c
1202
rx_ring->stats.recycles++;
drivers/net/ethernet/freescale/enetc/enetc.c
1207
rx_ring->stats.recycle_failures++;
drivers/net/ethernet/freescale/enetc/enetc.c
1209
dma_unmap_page(rx_ring->dev, rx_swbd.dma, PAGE_SIZE,
drivers/net/ethernet/freescale/enetc/enetc.c
1214
rx_ring->xdp.xdp_tx_in_flight--;
drivers/net/ethernet/freescale/enetc/enetc.c
1319
static bool enetc_new_page(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1322
bool xdp = !!(rx_ring->xdp.prog);
drivers/net/ethernet/freescale/enetc/enetc.c
1333
addr = dma_map_page(rx_ring->dev, page, 0, PAGE_SIZE, rx_swbd->dir);
drivers/net/ethernet/freescale/enetc/enetc.c
1334
if (unlikely(dma_mapping_error(rx_ring->dev, addr))) {
drivers/net/ethernet/freescale/enetc/enetc.c
1342
rx_swbd->page_offset = rx_ring->buffer_offset;
drivers/net/ethernet/freescale/enetc/enetc.c
1347
static int enetc_refill_rx_ring(struct enetc_bdr *rx_ring, const int buff_cnt)
drivers/net/ethernet/freescale/enetc/enetc.c
1353
i = rx_ring->next_to_use;
drivers/net/ethernet/freescale/enetc/enetc.c
1354
rx_swbd = &rx_ring->rx_swbd[i];
drivers/net/ethernet/freescale/enetc/enetc.c
1355
rxbd = enetc_rxbd(rx_ring, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1360
if (unlikely(!enetc_new_page(rx_ring, rx_swbd))) {
drivers/net/ethernet/freescale/enetc/enetc.c
1361
rx_ring->stats.rx_alloc_errs++;
drivers/net/ethernet/freescale/enetc/enetc.c
1372
enetc_rxbd_next(rx_ring, &rxbd, &i);
drivers/net/ethernet/freescale/enetc/enetc.c
1373
rx_swbd = &rx_ring->rx_swbd[i];
drivers/net/ethernet/freescale/enetc/enetc.c
1377
rx_ring->next_to_alloc = i; /* keep track from page reuse */
drivers/net/ethernet/freescale/enetc/enetc.c
1378
rx_ring->next_to_use = i;
drivers/net/ethernet/freescale/enetc/enetc.c
1381
enetc_wr_reg_hot(rx_ring->rcir, rx_ring->next_to_use);
drivers/net/ethernet/freescale/enetc/enetc.c
1411
static void enetc_get_offloads(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1414
struct enetc_ndev_priv *priv = netdev_priv(rx_ring->ndev);
drivers/net/ethernet/freescale/enetc/enetc.c
1417
if (rx_ring->ndev->features & NETIF_F_RXCSUM) {
drivers/net/ethernet/freescale/enetc/enetc.c
1448
enetc_get_rx_tstamp(rx_ring->ndev, rxbd, skb);
drivers/net/ethernet/freescale/enetc/enetc.c
1455
static struct enetc_rx_swbd *enetc_get_rx_buff(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1458
struct enetc_rx_swbd *rx_swbd = &rx_ring->rx_swbd[i];
drivers/net/ethernet/freescale/enetc/enetc.c
1460
dma_sync_single_range_for_cpu(rx_ring->dev, rx_swbd->dma,
drivers/net/ethernet/freescale/enetc/enetc.c
1467
static void enetc_put_rx_buff(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1470
size_t buffer_size = ENETC_RXB_TRUESIZE - rx_ring->buffer_offset;
drivers/net/ethernet/freescale/enetc/enetc.c
1472
enetc_reuse_page(rx_ring, rx_swbd);
drivers/net/ethernet/freescale/enetc/enetc.c
1474
dma_sync_single_range_for_device(rx_ring->dev, rx_swbd->dma,
drivers/net/ethernet/freescale/enetc/enetc.c
1482
static void enetc_flip_rx_buff(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1489
enetc_put_rx_buff(rx_ring, rx_swbd);
drivers/net/ethernet/freescale/enetc/enetc.c
1491
dma_unmap_page(rx_ring->dev, rx_swbd->dma, PAGE_SIZE,
drivers/net/ethernet/freescale/enetc/enetc.c
1497
static struct sk_buff *enetc_map_rx_buff_to_skb(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1500
struct enetc_rx_swbd *rx_swbd = enetc_get_rx_buff(rx_ring, i, size);
drivers/net/ethernet/freescale/enetc/enetc.c
1505
skb = build_skb(ba - rx_ring->buffer_offset, ENETC_RXB_TRUESIZE);
drivers/net/ethernet/freescale/enetc/enetc.c
1507
rx_ring->stats.rx_alloc_errs++;
drivers/net/ethernet/freescale/enetc/enetc.c
1511
skb_reserve(skb, rx_ring->buffer_offset);
drivers/net/ethernet/freescale/enetc/enetc.c
1514
enetc_flip_rx_buff(rx_ring, rx_swbd);
drivers/net/ethernet/freescale/enetc/enetc.c
1519
static void enetc_add_rx_buff_to_skb(struct enetc_bdr *rx_ring, int i,
drivers/net/ethernet/freescale/enetc/enetc.c
1522
struct enetc_rx_swbd *rx_swbd = enetc_get_rx_buff(rx_ring, i, size);
drivers/net/ethernet/freescale/enetc/enetc.c
1527
enetc_flip_rx_buff(rx_ring, rx_swbd);
drivers/net/ethernet/freescale/enetc/enetc.c
1530
static bool enetc_check_bd_errors_and_consume(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1537
enetc_put_rx_buff(rx_ring, &rx_ring->rx_swbd[*i]);
drivers/net/ethernet/freescale/enetc/enetc.c
1538
enetc_rxbd_next(rx_ring, rxbd, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1544
enetc_put_rx_buff(rx_ring, &rx_ring->rx_swbd[*i]);
drivers/net/ethernet/freescale/enetc/enetc.c
1545
enetc_rxbd_next(rx_ring, rxbd, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1548
rx_ring->ndev->stats.rx_dropped++;
drivers/net/ethernet/freescale/enetc/enetc.c
1549
rx_ring->ndev->stats.rx_errors++;
drivers/net/ethernet/freescale/enetc/enetc.c
1554
static struct sk_buff *enetc_build_skb(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1562
skb = enetc_map_rx_buff_to_skb(rx_ring, *i, size);
drivers/net/ethernet/freescale/enetc/enetc.c
1566
enetc_get_offloads(rx_ring, *rxbd, skb);
drivers/net/ethernet/freescale/enetc/enetc.c
1570
enetc_rxbd_next(rx_ring, rxbd, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1582
enetc_add_rx_buff_to_skb(rx_ring, *i, size, skb);
drivers/net/ethernet/freescale/enetc/enetc.c
1586
enetc_rxbd_next(rx_ring, rxbd, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1589
skb_record_rx_queue(skb, rx_ring->index);
drivers/net/ethernet/freescale/enetc/enetc.c
1590
skb->protocol = eth_type_trans(skb, rx_ring->ndev);
drivers/net/ethernet/freescale/enetc/enetc.c
1597
static int enetc_clean_rx_ring(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1603
cleaned_cnt = enetc_bd_unused(rx_ring);
drivers/net/ethernet/freescale/enetc/enetc.c
1605
i = rx_ring->next_to_clean;
drivers/net/ethernet/freescale/enetc/enetc.c
1615
cleaned_cnt -= enetc_refill_rx_ring(rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1618
rxbd = enetc_rxbd(rx_ring, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1623
enetc_wr_reg_hot(rx_ring->idr, BIT(rx_ring->index));
drivers/net/ethernet/freescale/enetc/enetc.c
1626
if (enetc_check_bd_errors_and_consume(rx_ring, bd_status,
drivers/net/ethernet/freescale/enetc/enetc.c
1630
skb = enetc_build_skb(rx_ring, bd_status, &rxbd, &i,
drivers/net/ethernet/freescale/enetc/enetc.c
1649
rx_ring->next_to_clean = i;
drivers/net/ethernet/freescale/enetc/enetc.c
1651
rx_ring->stats.packets += rx_frm_cnt;
drivers/net/ethernet/freescale/enetc/enetc.c
1652
rx_ring->stats.bytes += rx_byte_cnt;
drivers/net/ethernet/freescale/enetc/enetc.c
1830
static void enetc_map_rx_buff_to_xdp(struct enetc_bdr *rx_ring, int i,
drivers/net/ethernet/freescale/enetc/enetc.c
1833
struct enetc_rx_swbd *rx_swbd = enetc_get_rx_buff(rx_ring, i, size);
drivers/net/ethernet/freescale/enetc/enetc.c
1839
xdp_prepare_buff(xdp_buff, hard_start - rx_ring->buffer_offset,
drivers/net/ethernet/freescale/enetc/enetc.c
1840
rx_ring->buffer_offset, size, false);
drivers/net/ethernet/freescale/enetc/enetc.c
1843
static void enetc_add_rx_buff_to_xdp(struct enetc_bdr *rx_ring, int i,
drivers/net/ethernet/freescale/enetc/enetc.c
1847
struct enetc_rx_swbd *rx_swbd = enetc_get_rx_buff(rx_ring, i, size);
drivers/net/ethernet/freescale/enetc/enetc.c
1871
static void enetc_build_xdp_buff(struct enetc_bdr *rx_ring, u32 bd_status,
drivers/net/ethernet/freescale/enetc/enetc.c
1877
xdp_init_buff(xdp_buff, ENETC_RXB_TRUESIZE, &rx_ring->xdp.rxq);
drivers/net/ethernet/freescale/enetc/enetc.c
1879
enetc_map_rx_buff_to_xdp(rx_ring, *i, xdp_buff, size);
drivers/net/ethernet/freescale/enetc/enetc.c
1881
enetc_rxbd_next(rx_ring, rxbd, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1893
enetc_add_rx_buff_to_xdp(rx_ring, *i, size, xdp_buff);
drivers/net/ethernet/freescale/enetc/enetc.c
1895
enetc_rxbd_next(rx_ring, rxbd, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1903
struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1909
n++, enetc_bdr_idx_inc(rx_ring, &rx_ring_first)) {
drivers/net/ethernet/freescale/enetc/enetc.c
1910
struct enetc_rx_swbd *rx_swbd = &rx_ring->rx_swbd[rx_ring_first];
drivers/net/ethernet/freescale/enetc/enetc.c
1930
static void enetc_xdp_drop(struct enetc_bdr *rx_ring, int rx_ring_first,
drivers/net/ethernet/freescale/enetc/enetc.c
1934
enetc_put_rx_buff(rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1935
&rx_ring->rx_swbd[rx_ring_first]);
drivers/net/ethernet/freescale/enetc/enetc.c
1936
enetc_bdr_idx_inc(rx_ring, &rx_ring_first);
drivers/net/ethernet/freescale/enetc/enetc.c
1940
static void enetc_bulk_flip_buff(struct enetc_bdr *rx_ring, int rx_ring_first,
drivers/net/ethernet/freescale/enetc/enetc.c
1944
enetc_flip_rx_buff(rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1945
&rx_ring->rx_swbd[rx_ring_first]);
drivers/net/ethernet/freescale/enetc/enetc.c
1946
enetc_bdr_idx_inc(rx_ring, &rx_ring_first);
drivers/net/ethernet/freescale/enetc/enetc.c
1950
static int enetc_clean_rx_ring_xdp(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
1956
struct enetc_ndev_priv *priv = netdev_priv(rx_ring->ndev);
drivers/net/ethernet/freescale/enetc/enetc.c
1962
cleaned_cnt = enetc_bd_unused(rx_ring);
drivers/net/ethernet/freescale/enetc/enetc.c
1964
i = rx_ring->next_to_clean;
drivers/net/ethernet/freescale/enetc/enetc.c
1975
rxbd = enetc_rxbd(rx_ring, i);
drivers/net/ethernet/freescale/enetc/enetc.c
1980
enetc_wr_reg_hot(rx_ring->idr, BIT(rx_ring->index));
drivers/net/ethernet/freescale/enetc/enetc.c
1983
if (enetc_check_bd_errors_and_consume(rx_ring, bd_status,
drivers/net/ethernet/freescale/enetc/enetc.c
1990
enetc_build_xdp_buff(rx_ring, bd_status, &rxbd, &i,
drivers/net/ethernet/freescale/enetc/enetc.c
2005
bpf_warn_invalid_xdp_action(rx_ring->ndev, prog, xdp_act);
drivers/net/ethernet/freescale/enetc/enetc.c
2008
trace_xdp_exception(rx_ring->ndev, prog, xdp_act);
drivers/net/ethernet/freescale/enetc/enetc.c
2011
enetc_xdp_drop(rx_ring, orig_i, i);
drivers/net/ethernet/freescale/enetc/enetc.c
2012
rx_ring->stats.xdp_drops++;
drivers/net/ethernet/freescale/enetc/enetc.c
2018
enetc_xdp_drop(rx_ring, orig_i, i);
drivers/net/ethernet/freescale/enetc/enetc.c
2019
rx_ring->stats.xdp_drops++;
drivers/net/ethernet/freescale/enetc/enetc.c
2023
enetc_get_offloads(rx_ring, orig_rxbd, skb);
drivers/net/ethernet/freescale/enetc/enetc.c
2029
enetc_bulk_flip_buff(rx_ring, orig_i, i);
drivers/net/ethernet/freescale/enetc/enetc.c
2036
tx_ring = priv->xdp_tx_ring[rx_ring->index];
drivers/net/ethernet/freescale/enetc/enetc.c
2038
enetc_xdp_drop(rx_ring, orig_i, i);
drivers/net/ethernet/freescale/enetc/enetc.c
2044
rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
2048
enetc_xdp_drop(rx_ring, orig_i, i);
drivers/net/ethernet/freescale/enetc/enetc.c
2052
rx_ring->xdp.xdp_tx_in_flight += xdp_tx_bd_cnt;
drivers/net/ethernet/freescale/enetc/enetc.c
2062
rx_ring->rx_swbd[orig_i].page = NULL;
drivers/net/ethernet/freescale/enetc/enetc.c
2063
enetc_bdr_idx_inc(rx_ring, &orig_i);
drivers/net/ethernet/freescale/enetc/enetc.c
2069
err = xdp_do_redirect(rx_ring->ndev, &xdp_buff, prog);
drivers/net/ethernet/freescale/enetc/enetc.c
2072
enetc_xdp_drop(rx_ring, orig_i, i);
drivers/net/ethernet/freescale/enetc/enetc.c
2073
rx_ring->stats.xdp_redirect_failures++;
drivers/net/ethernet/freescale/enetc/enetc.c
2075
enetc_bulk_flip_buff(rx_ring, orig_i, i);
drivers/net/ethernet/freescale/enetc/enetc.c
2077
rx_ring->stats.xdp_redirect++;
drivers/net/ethernet/freescale/enetc/enetc.c
2085
rx_ring->next_to_clean = i;
drivers/net/ethernet/freescale/enetc/enetc.c
2087
rx_ring->stats.packets += rx_frm_cnt;
drivers/net/ethernet/freescale/enetc/enetc.c
2088
rx_ring->stats.bytes += rx_byte_cnt;
drivers/net/ethernet/freescale/enetc/enetc.c
2099
if (cleaned_cnt > rx_ring->xdp.xdp_tx_in_flight)
drivers/net/ethernet/freescale/enetc/enetc.c
2100
enetc_refill_rx_ring(rx_ring, enetc_bd_unused(rx_ring) -
drivers/net/ethernet/freescale/enetc/enetc.c
2101
rx_ring->xdp.xdp_tx_in_flight);
drivers/net/ethernet/freescale/enetc/enetc.c
2112
struct enetc_bdr *rx_ring = &v->rx_ring;
drivers/net/ethernet/freescale/enetc/enetc.c
2125
prog = rx_ring->xdp.prog;
drivers/net/ethernet/freescale/enetc/enetc.c
2127
work_done = enetc_clean_rx_ring_xdp(rx_ring, napi, budget, prog);
drivers/net/ethernet/freescale/enetc/enetc.c
2129
work_done = enetc_clean_rx_ring(rx_ring, napi, budget);
drivers/net/ethernet/freescale/enetc/enetc.c
2348
struct enetc_bdr *rx_ring = priv->rx_ring[i];
drivers/net/ethernet/freescale/enetc/enetc.c
2350
err = enetc_alloc_rx_resource(&rx_res[i], rx_ring->dev,
drivers/net/ethernet/freescale/enetc/enetc.c
2351
rx_ring->bd_count, extended);
drivers/net/ethernet/freescale/enetc/enetc.c
2388
static void enetc_assign_rx_resource(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
2391
rx_ring->bd_base = res ? res->bd_base : NULL;
drivers/net/ethernet/freescale/enetc/enetc.c
2392
rx_ring->bd_dma_base = res ? res->bd_dma_base : 0;
drivers/net/ethernet/freescale/enetc/enetc.c
2393
rx_ring->rx_swbd = res ? res->rx_swbd : NULL;
drivers/net/ethernet/freescale/enetc/enetc.c
2421
enetc_assign_rx_resource(priv->rx_ring[i],
drivers/net/ethernet/freescale/enetc/enetc.c
2439
static void enetc_free_rx_ring(struct enetc_bdr *rx_ring)
drivers/net/ethernet/freescale/enetc/enetc.c
2443
for (i = 0; i < rx_ring->bd_count; i++) {
drivers/net/ethernet/freescale/enetc/enetc.c
2444
struct enetc_rx_swbd *rx_swbd = &rx_ring->rx_swbd[i];
drivers/net/ethernet/freescale/enetc/enetc.c
2449
dma_unmap_page(rx_ring->dev, rx_swbd->dma, PAGE_SIZE,
drivers/net/ethernet/freescale/enetc/enetc.c
2461
enetc_free_rx_ring(priv->rx_ring[i]);
drivers/net/ethernet/freescale/enetc/enetc.c
2624
static void enetc_setup_rxbdr(struct enetc_hw *hw, struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.c
2627
int idx = rx_ring->index;
drivers/net/ethernet/freescale/enetc/enetc.c
2631
lower_32_bits(rx_ring->bd_dma_base));
drivers/net/ethernet/freescale/enetc/enetc.c
2634
upper_32_bits(rx_ring->bd_dma_base));
drivers/net/ethernet/freescale/enetc/enetc.c
2636
WARN_ON(!IS_ALIGNED(rx_ring->bd_count, 64)); /* multiple of 64 */
drivers/net/ethernet/freescale/enetc/enetc.c
2638
ENETC_RTBLENR_LEN(rx_ring->bd_count));
drivers/net/ethernet/freescale/enetc/enetc.c
2640
if (rx_ring->xdp.prog)
drivers/net/ethernet/freescale/enetc/enetc.c
2655
rx_ring->ext_en = extended;
drivers/net/ethernet/freescale/enetc/enetc.c
2656
if (rx_ring->ext_en)
drivers/net/ethernet/freescale/enetc/enetc.c
2659
if (rx_ring->ndev->features & NETIF_F_HW_VLAN_CTAG_RX)
drivers/net/ethernet/freescale/enetc/enetc.c
2662
rx_ring->rcir = hw->reg + ENETC_BDR(RX, idx, ENETC_RBCIR);
drivers/net/ethernet/freescale/enetc/enetc.c
2663
rx_ring->idr = hw->reg + ENETC_SIRXIDR;
drivers/net/ethernet/freescale/enetc/enetc.c
2665
rx_ring->next_to_clean = 0;
drivers/net/ethernet/freescale/enetc/enetc.c
2666
rx_ring->next_to_use = 0;
drivers/net/ethernet/freescale/enetc/enetc.c
2667
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/freescale/enetc/enetc.c
2670
enetc_refill_rx_ring(rx_ring, enetc_bd_unused(rx_ring));
drivers/net/ethernet/freescale/enetc/enetc.c
2685
enetc_setup_rxbdr(hw, priv->rx_ring[i], extended);
drivers/net/ethernet/freescale/enetc/enetc.c
2698
static void enetc_enable_rxbdr(struct enetc_hw *hw, struct enetc_bdr *rx_ring)
drivers/net/ethernet/freescale/enetc/enetc.c
2700
int idx = rx_ring->index;
drivers/net/ethernet/freescale/enetc/enetc.c
2714
enetc_enable_rxbdr(hw, priv->rx_ring[i]);
drivers/net/ethernet/freescale/enetc/enetc.c
2726
static void enetc_disable_rxbdr(struct enetc_hw *hw, struct enetc_bdr *rx_ring)
drivers/net/ethernet/freescale/enetc/enetc.c
2728
int idx = rx_ring->index;
drivers/net/ethernet/freescale/enetc/enetc.c
2734
static void enetc_disable_txbdr(struct enetc_hw *hw, struct enetc_bdr *rx_ring)
drivers/net/ethernet/freescale/enetc/enetc.c
2736
int idx = rx_ring->index;
drivers/net/ethernet/freescale/enetc/enetc.c
2748
enetc_disable_rxbdr(hw, priv->rx_ring[i]);
drivers/net/ethernet/freescale/enetc/enetc.c
3254
struct enetc_bdr *rx_ring = priv->rx_ring[i];
drivers/net/ethernet/freescale/enetc/enetc.c
3256
rx_ring->xdp.prog = prog;
drivers/net/ethernet/freescale/enetc/enetc.c
3259
rx_ring->buffer_offset = XDP_PACKET_HEADROOM;
drivers/net/ethernet/freescale/enetc/enetc.c
3261
rx_ring->buffer_offset = ENETC_RXB_PAD;
drivers/net/ethernet/freescale/enetc/enetc.c
3314
packets += priv->rx_ring[i]->stats.packets;
drivers/net/ethernet/freescale/enetc/enetc.c
3315
bytes += priv->rx_ring[i]->stats.bytes;
drivers/net/ethernet/freescale/enetc/enetc.c
3472
bdr = &v->rx_ring;
drivers/net/ethernet/freescale/enetc/enetc.c
3478
priv->rx_ring[i] = bdr;
drivers/net/ethernet/freescale/enetc/enetc.c
3519
priv->rx_ring[i] = NULL;
drivers/net/ethernet/freescale/enetc/enetc.c
3529
struct enetc_bdr *rx_ring = &v->rx_ring;
drivers/net/ethernet/freescale/enetc/enetc.c
3532
xdp_rxq_info_unreg_mem_model(&rx_ring->xdp.rxq);
drivers/net/ethernet/freescale/enetc/enetc.c
3533
xdp_rxq_info_unreg(&rx_ring->xdp.rxq);
drivers/net/ethernet/freescale/enetc/enetc.c
3542
priv->rx_ring[i] = NULL;
drivers/net/ethernet/freescale/enetc/enetc.c
99
return priv->rx_ring[index];
drivers/net/ethernet/freescale/enetc/enetc.h
225
static inline union enetc_rx_bd *enetc_rxbd(struct enetc_bdr *rx_ring, int i)
drivers/net/ethernet/freescale/enetc/enetc.h
229
if (rx_ring->ext_en)
drivers/net/ethernet/freescale/enetc/enetc.h
232
return &(((union enetc_rx_bd *)rx_ring->bd_base)[hw_idx]);
drivers/net/ethernet/freescale/enetc/enetc.h
235
static inline void enetc_rxbd_next(struct enetc_bdr *rx_ring,
drivers/net/ethernet/freescale/enetc/enetc.h
243
if (rx_ring->ext_en)
drivers/net/ethernet/freescale/enetc/enetc.h
246
if (unlikely(++new_index == rx_ring->bd_count)) {
drivers/net/ethernet/freescale/enetc/enetc.h
247
new_rxbd = rx_ring->bd_base;
drivers/net/ethernet/freescale/enetc/enetc.h
387
struct enetc_bdr rx_ring;
drivers/net/ethernet/freescale/enetc/enetc.h
459
struct enetc_bdr *rx_ring[16];
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
304
data[o++] = priv->rx_ring[i]->stats.packets;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
305
data[o++] = priv->rx_ring[i]->stats.rx_alloc_errs;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
306
data[o++] = priv->rx_ring[i]->stats.xdp_drops;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
307
data[o++] = priv->rx_ring[i]->stats.recycles;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
308
data[o++] = priv->rx_ring[i]->stats.recycle_failures;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
309
data[o++] = priv->rx_ring[i]->stats.xdp_redirect;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
310
data[o++] = priv->rx_ring[i]->stats.xdp_redirect_failures;
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
354
for (i = 0, bdp = fep->rx_bd_base; i < fep->rx_ring; i++, bdp++) {
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
366
((i < fep->rx_ring - 1) ? 0 : BD_SC_WRAP));
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
370
for (; i < fep->rx_ring; i++, bdp++) {
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
372
CBDW_SC(bdp, (i < fep->rx_ring - 1) ? 0 : BD_SC_WRAP);
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
406
for (i = 0, bdp = fep->rx_bd_base; i < fep->rx_ring; i++, bdp++) {
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
889
fpi->rx_ring = RX_RING_SIZE;
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
904
(fpi->rx_ring + fpi->tx_ring) +
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
947
fep->tx_skbuff = fep->rx_skbuff + fpi->rx_ring;
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
948
fep->mapped_as_page = (char *)(fep->rx_skbuff + fpi->rx_ring +
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
961
fep->tx_bd_base = fep->rx_bd_base + fpi->rx_ring;
drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
964
fep->rx_ring = fpi->rx_ring;
drivers/net/ethernet/freescale/fs_enet/fs_enet.h
117
int rx_ring, tx_ring; /* number of buffers on rx */
drivers/net/ethernet/freescale/fs_enet/fs_enet.h
131
int rx_ring, tx_ring;
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
145
(fpi->tx_ring + fpi->rx_ring) *
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
161
(fpi->tx_ring + fpi->rx_ring) * sizeof(cbd_t),
drivers/net/ethernet/freescale/fs_enet/mac-fcc.c
259
tx_bd_base_phys = rx_bd_base_phys + sizeof(cbd_t) * fpi->rx_ring;
drivers/net/ethernet/freescale/fs_enet/mac-fec.c
130
(fpi->tx_ring + fpi->rx_ring) *
drivers/net/ethernet/freescale/fs_enet/mac-fec.c
145
dma_free_coherent(fep->dev, (fpi->tx_ring + fpi->rx_ring)
drivers/net/ethernet/freescale/fs_enet/mac-fec.c
269
tx_bd_base_phys = rx_bd_base_phys + sizeof(cbd_t) * fpi->rx_ring;
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
132
fpi->dpram_offset = cpm_muram_alloc((fpi->tx_ring + fpi->rx_ring) *
drivers/net/ethernet/freescale/fs_enet/mac-scc.c
249
fpi->dpram_offset + sizeof(cbd_t) * fpi->rx_ring);
drivers/net/ethernet/hisilicon/hibmcge/hbg_common.h
282
struct hbg_ring rx_ring;
drivers/net/ethernet/hisilicon/hibmcge/hbg_debugfs.c
56
hbg_dbg_ring(priv, &priv->rx_ring, s);
drivers/net/ethernet/hisilicon/hibmcge/hbg_irq.c
28
napi_schedule(&priv->rx_ring.napi);
drivers/net/ethernet/hisilicon/hibmcge/hbg_txrx.c
408
struct hbg_ring *ring = &priv->rx_ring;
drivers/net/ethernet/hisilicon/hibmcge/hbg_txrx.c
681
ret = hbg_ring_init(priv, &priv->rx_ring, hbg_napi_rx_poll, HBG_DIR_RX);
drivers/net/ethernet/hisilicon/hibmcge/hbg_txrx.c
687
hbg_ring_uninit(&priv->rx_ring);
drivers/net/ethernet/hisilicon/hibmcge/hbg_txrx.c
716
hbg_ring_uninit(&priv->rx_ring);
drivers/net/ethernet/hisilicon/hns/hnae.c
250
ret = hnae_init_ring(q, &q->rx_ring, q->rx_ring.flags & ~RINGF_DIR);
drivers/net/ethernet/hisilicon/hns/hnae.c
271
hnae_fini_ring(&q->rx_ring);
drivers/net/ethernet/hisilicon/hns/hnae.h
356
struct hnae_ring rx_ring ____cacheline_internodealigned_in_smp;
drivers/net/ethernet/hisilicon/hns/hnae.h
665
ring = &h->qs[i]->rx_ring;
drivers/net/ethernet/hisilicon/hns/hnae.h
680
ring = &h->qs[i]->rx_ring;
drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
112
ae_handle->qs[i]->rx_ring.q = ae_handle->qs[i];
drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
316
q->rx_ring.buf_size = rx_buf_size;
drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
644
rx_bytes += queue->rx_ring.stats.rx_bytes;
drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
645
rx_packets += queue->rx_ring.stats.rx_pkts;
drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
647
rx_errors += queue->rx_ring.stats.err_pkt_len
drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
648
+ queue->rx_ring.stats.l2_err
drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
649
+ queue->rx_ring.stats.l3l4_csum_err;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
242
(ring_type == RX_RING) ? &q->rx_ring : &q->tx_ring;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
443
ring = &q->rx_ring;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
870
regs_buff[16] = queue->rx_ring.stats.rx_pkts;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
871
regs_buff[17] = queue->rx_ring.stats.rx_bytes;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
872
regs_buff[18] = queue->rx_ring.stats.rx_err_cnt;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
873
regs_buff[19] = queue->rx_ring.stats.io_err_cnt;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
874
regs_buff[20] = queue->rx_ring.stats.sw_err_cnt;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
875
regs_buff[21] = queue->rx_ring.stats.seg_pkt_cnt;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
876
regs_buff[22] = queue->rx_ring.stats.reuse_pg_cnt;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
877
regs_buff[23] = queue->rx_ring.stats.err_pkt_len;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
878
regs_buff[24] = queue->rx_ring.stats.non_vld_descs;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
879
regs_buff[25] = queue->rx_ring.stats.err_bd_num;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
880
regs_buff[26] = queue->rx_ring.stats.l2_err;
drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c
881
regs_buff[27] = queue->rx_ring.stats.l3l4_csum_err;
drivers/net/ethernet/hisilicon/hns/hns_enet.c
1664
ring = &h->qs[i]->rx_ring;
drivers/net/ethernet/hisilicon/hns/hns_enet.c
1909
rx_bytes += h->qs[idx]->rx_ring.stats.rx_bytes;
drivers/net/ethernet/hisilicon/hns/hns_enet.c
1910
rx_pkts += h->qs[idx]->rx_ring.stats.rx_pkts;
drivers/net/ethernet/hisilicon/hns/hns_enet.c
2012
i, h->qs[i]->rx_ring.next_to_clean);
drivers/net/ethernet/hisilicon/hns/hns_enet.c
2014
i, h->qs[i]->rx_ring.next_to_use);
drivers/net/ethernet/hisilicon/hns/hns_enet.c
2134
rd->ring = &h->qs[i - h->q_num]->rx_ring;
drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
684
param->rx_pending = queue->rx_ring.desc_num;
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
5652
struct hns3_enet_ring *rx_ring;
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
5671
rx_ring = &priv->ring[i + h->kinfo.num_tqps];
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
5672
hns3_init_ring_hw(rx_ring);
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
5673
ret = hns3_clear_rx_ring(rx_ring);
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
5680
for (j = 0; j < rx_ring->desc_num; j++)
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
5681
hns3_reuse_buffer(rx_ring, j);
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
5683
rx_ring->next_to_clean = 0;
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
5684
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/e1000/e1000.h
249
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000.h
252
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000.h
254
struct e1000_rx_ring *rx_ring; /* One per active queue */
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
550
struct e1000_rx_ring *rxdr = adapter->rx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
582
rx_old = adapter->rx_ring;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
594
adapter->rx_ring = rxdr;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
624
adapter->rx_ring = rx_old;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
628
adapter->rx_ring = rxdr;
drivers/net/ethernet/intel/e1000/e1000_ethtool.c
641
adapter->rx_ring = rx_old;
drivers/net/ethernet/intel/e1000/e1000_main.c
100
struct e1000_rx_ring *rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
114
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
117
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
120
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
1226
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
125
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
1271
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
128
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
1330
adapter->rx_ring = kzalloc_objs(struct e1000_rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
1332
if (!adapter->rx_ring) {
drivers/net/ethernet/intel/e1000/e1000_main.c
1767
err = e1000_setup_rx_resources(adapter, &adapter->rx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
1772
&adapter->rx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
1860
rdlen = adapter->rx_ring[0].count *
drivers/net/ethernet/intel/e1000/e1000_main.c
1865
rdlen = adapter->rx_ring[0].count *
drivers/net/ethernet/intel/e1000/e1000_main.c
1890
rdba = adapter->rx_ring[0].dma;
drivers/net/ethernet/intel/e1000/e1000_main.c
1896
adapter->rx_ring[0].rdh = ((hw->mac_type >= e1000_82543) ?
drivers/net/ethernet/intel/e1000/e1000_main.c
1898
adapter->rx_ring[0].rdt = ((hw->mac_type >= e1000_82543) ?
drivers/net/ethernet/intel/e1000/e1000_main.c
2034
struct e1000_rx_ring *rx_ring)
drivers/net/ethernet/intel/e1000/e1000_main.c
2038
e1000_clean_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
2040
vfree(rx_ring->buffer_info);
drivers/net/ethernet/intel/e1000/e1000_main.c
2041
rx_ring->buffer_info = NULL;
drivers/net/ethernet/intel/e1000/e1000_main.c
2043
dma_free_coherent(&pdev->dev, rx_ring->size, rx_ring->desc,
drivers/net/ethernet/intel/e1000/e1000_main.c
2044
rx_ring->dma);
drivers/net/ethernet/intel/e1000/e1000_main.c
2046
rx_ring->desc = NULL;
drivers/net/ethernet/intel/e1000/e1000_main.c
2060
e1000_free_rx_resources(adapter, &adapter->rx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
2086
struct e1000_rx_ring *rx_ring)
drivers/net/ethernet/intel/e1000/e1000_main.c
2095
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/e1000/e1000_main.c
2096
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
2122
rx_ring->rx_skb_top = NULL;
drivers/net/ethernet/intel/e1000/e1000_main.c
2124
size = sizeof(struct e1000_rx_buffer) * rx_ring->count;
drivers/net/ethernet/intel/e1000/e1000_main.c
2125
memset(rx_ring->buffer_info, 0, size);
drivers/net/ethernet/intel/e1000/e1000_main.c
2128
memset(rx_ring->desc, 0, rx_ring->size);
drivers/net/ethernet/intel/e1000/e1000_main.c
2130
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
2131
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/e1000/e1000_main.c
2133
writel(0, hw->hw_addr + rx_ring->rdh);
drivers/net/ethernet/intel/e1000/e1000_main.c
2134
writel(0, hw->hw_addr + rx_ring->rdt);
drivers/net/ethernet/intel/e1000/e1000_main.c
2146
e1000_clean_rx_ring(adapter, &adapter->rx_ring[i]);
drivers/net/ethernet/intel/e1000/e1000_main.c
2187
struct e1000_rx_ring *ring = &adapter->rx_ring[0];
drivers/net/ethernet/intel/e1000/e1000_main.c
3358
struct e1000_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000/e1000_main.c
3445
for (i = 0; rx_ring->desc && (i < rx_ring->count); i++) {
drivers/net/ethernet/intel/e1000/e1000_main.c
3446
struct e1000_rx_desc *rx_desc = E1000_RX_DESC(*rx_ring, i);
drivers/net/ethernet/intel/e1000/e1000_main.c
3447
struct e1000_rx_buffer *buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
3452
if (i == rx_ring->next_to_use)
drivers/net/ethernet/intel/e1000/e1000_main.c
3454
else if (i == rx_ring->next_to_clean)
drivers/net/ethernet/intel/e1000/e1000_main.c
375
struct e1000_rx_ring *ring = &adapter->rx_ring[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
3804
adapter->clean_rx(adapter, &adapter->rx_ring[0], &work_done, budget);
drivers/net/ethernet/intel/e1000/e1000_main.c
4139
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
4152
i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/e1000/e1000_main.c
4153
rx_desc = E1000_RX_DESC(*rx_ring, i);
drivers/net/ethernet/intel/e1000/e1000_main.c
4154
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
4167
if (++i == rx_ring->count)
drivers/net/ethernet/intel/e1000/e1000_main.c
4170
next_rxd = E1000_RX_DESC(*rx_ring, i);
drivers/net/ethernet/intel/e1000/e1000_main.c
4173
next_buffer = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
4198
dev_kfree_skb(rx_ring->rx_skb_top);
drivers/net/ethernet/intel/e1000/e1000_main.c
4199
rx_ring->rx_skb_top = NULL;
drivers/net/ethernet/intel/e1000/e1000_main.c
4204
#define rxtop rx_ring->rx_skb_top
drivers/net/ethernet/intel/e1000/e1000_main.c
4304
adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/intel/e1000/e1000_main.c
4312
rx_ring->next_to_clean = i;
drivers/net/ethernet/intel/e1000/e1000_main.c
4314
cleaned_count = E1000_DESC_UNUSED(rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
4316
adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/intel/e1000/e1000_main.c
4357
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
4370
i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/e1000/e1000_main.c
4371
rx_desc = E1000_RX_DESC(*rx_ring, i);
drivers/net/ethernet/intel/e1000/e1000_main.c
4372
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
4407
if (++i == rx_ring->count)
drivers/net/ethernet/intel/e1000/e1000_main.c
4410
next_rxd = E1000_RX_DESC(*rx_ring, i);
drivers/net/ethernet/intel/e1000/e1000_main.c
4413
next_buffer = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
4477
adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/intel/e1000/e1000_main.c
4485
rx_ring->next_to_clean = i;
drivers/net/ethernet/intel/e1000/e1000_main.c
4487
cleaned_count = E1000_DESC_UNUSED(rx_ring);
drivers/net/ethernet/intel/e1000/e1000_main.c
4489
adapter->alloc_rx_buf(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/intel/e1000/e1000_main.c
4506
struct e1000_rx_ring *rx_ring, int cleaned_count)
drivers/net/ethernet/intel/e1000/e1000_main.c
4513
i = rx_ring->next_to_use;
drivers/net/ethernet/intel/e1000/e1000_main.c
4514
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
4540
rx_desc = E1000_RX_DESC(*rx_ring, i);
drivers/net/ethernet/intel/e1000/e1000_main.c
4543
if (unlikely(++i == rx_ring->count))
drivers/net/ethernet/intel/e1000/e1000_main.c
4545
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
4548
if (likely(rx_ring->next_to_use != i)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
4549
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/e1000/e1000_main.c
4551
i = (rx_ring->count - 1);
drivers/net/ethernet/intel/e1000/e1000_main.c
4559
writel(i, adapter->hw.hw_addr + rx_ring->rdt);
drivers/net/ethernet/intel/e1000/e1000_main.c
4570
struct e1000_rx_ring *rx_ring,
drivers/net/ethernet/intel/e1000/e1000_main.c
4580
i = rx_ring->next_to_use;
drivers/net/ethernet/intel/e1000/e1000_main.c
4581
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
4657
rx_desc = E1000_RX_DESC(*rx_ring, i);
drivers/net/ethernet/intel/e1000/e1000_main.c
4660
if (unlikely(++i == rx_ring->count))
drivers/net/ethernet/intel/e1000/e1000_main.c
4662
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000/e1000_main.c
4665
if (likely(rx_ring->next_to_use != i)) {
drivers/net/ethernet/intel/e1000/e1000_main.c
4666
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/e1000/e1000_main.c
4668
i = (rx_ring->count - 1);
drivers/net/ethernet/intel/e1000/e1000_main.c
4676
writel(i, hw->hw_addr + rx_ring->rdt);
drivers/net/ethernet/intel/e1000/e1000_main.c
81
struct e1000_rx_ring *rx_ring);
drivers/net/ethernet/intel/e1000/e1000_param.c
282
struct e1000_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000/e1000_param.c
300
rx_ring->count = RxDescriptors[bd];
drivers/net/ethernet/intel/e1000/e1000_param.c
301
e1000_validate_option(&rx_ring->count, &opt, adapter);
drivers/net/ethernet/intel/e1000/e1000_param.c
302
rx_ring->count = ALIGN(rx_ring->count,
drivers/net/ethernet/intel/e1000/e1000_param.c
305
rx_ring->count = opt.def;
drivers/net/ethernet/intel/e1000/e1000_param.c
308
rx_ring[i].count = rx_ring->count;
drivers/net/ethernet/intel/e1000e/e1000.h
260
struct e1000_ring *rx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1114
struct e1000_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1132
if (rx_ring->desc && rx_ring->buffer_info) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1133
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1134
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/ethtool.c
1149
if (rx_ring->desc) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1150
dma_free_coherent(&pdev->dev, rx_ring->size, rx_ring->desc,
drivers/net/ethernet/intel/e1000e/ethtool.c
1151
rx_ring->dma);
drivers/net/ethernet/intel/e1000e/ethtool.c
1152
rx_ring->desc = NULL;
drivers/net/ethernet/intel/e1000e/ethtool.c
1157
kfree(rx_ring->buffer_info);
drivers/net/ethernet/intel/e1000e/ethtool.c
1158
rx_ring->buffer_info = NULL;
drivers/net/ethernet/intel/e1000e/ethtool.c
1164
struct e1000_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1233
if (!rx_ring->count)
drivers/net/ethernet/intel/e1000e/ethtool.c
1234
rx_ring->count = E1000_DEFAULT_RXD;
drivers/net/ethernet/intel/e1000e/ethtool.c
1236
rx_ring->buffer_info = kzalloc_objs(struct e1000_buffer, rx_ring->count);
drivers/net/ethernet/intel/e1000e/ethtool.c
1237
if (!rx_ring->buffer_info) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1242
rx_ring->size = rx_ring->count * sizeof(union e1000_rx_desc_extended);
drivers/net/ethernet/intel/e1000e/ethtool.c
1243
rx_ring->desc = dma_alloc_coherent(&pdev->dev, rx_ring->size,
drivers/net/ethernet/intel/e1000e/ethtool.c
1244
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/e1000e/ethtool.c
1245
if (!rx_ring->desc) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1249
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1250
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/e1000e/ethtool.c
1255
ew32(RDBAL(0), ((u64)rx_ring->dma & 0xFFFFFFFF));
drivers/net/ethernet/intel/e1000e/ethtool.c
1256
ew32(RDBAH(0), ((u64)rx_ring->dma >> 32));
drivers/net/ethernet/intel/e1000e/ethtool.c
1257
ew32(RDLEN(0), rx_ring->size);
drivers/net/ethernet/intel/e1000e/ethtool.c
1267
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1277
rx_ring->buffer_info[i].skb = skb;
drivers/net/ethernet/intel/e1000e/ethtool.c
1278
rx_ring->buffer_info[i].dma =
drivers/net/ethernet/intel/e1000e/ethtool.c
1282
rx_ring->buffer_info[i].dma)) {
drivers/net/ethernet/intel/e1000e/ethtool.c
1286
rx_desc = E1000_RX_DESC_EXT(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/ethtool.c
1288
cpu_to_le64(rx_ring->buffer_info[i].dma);
drivers/net/ethernet/intel/e1000e/ethtool.c
1631
struct e1000_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/e1000e/ethtool.c
1641
ew32(RDT(0), rx_ring->count - 1);
drivers/net/ethernet/intel/e1000e/ethtool.c
1648
if (rx_ring->count <= tx_ring->count)
drivers/net/ethernet/intel/e1000e/ethtool.c
1651
lc = ((rx_ring->count / 64) * 2) + 1;
drivers/net/ethernet/intel/e1000e/ethtool.c
1677
buffer_info = &rx_ring->buffer_info[l];
drivers/net/ethernet/intel/e1000e/ethtool.c
1688
if (l == rx_ring->count)
drivers/net/ethernet/intel/e1000e/ethtool.c
692
adapter->rx_ring->count = new_rx_count;
drivers/net/ethernet/intel/e1000e/ethtool.c
731
memcpy(temp_rx, adapter->rx_ring, size);
drivers/net/ethernet/intel/e1000e/ethtool.c
745
e1000e_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/ethtool.c
746
memcpy(adapter->rx_ring, temp_rx, size);
drivers/net/ethernet/intel/e1000e/netdev.c
1041
adapter->alloc_rx_buf(rx_ring, cleaned_count,
drivers/net/ethernet/intel/e1000e/netdev.c
1052
rx_ring->next_to_clean = i;
drivers/net/ethernet/intel/e1000e/netdev.c
1054
cleaned_count = e1000_desc_unused(rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
1056
adapter->alloc_rx_buf(rx_ring, cleaned_count, GFP_ATOMIC);
drivers/net/ethernet/intel/e1000e/netdev.c
1311
static bool e1000_clean_rx_irq_ps(struct e1000_ring *rx_ring, int *work_done,
drivers/net/ethernet/intel/e1000e/netdev.c
1314
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
1328
i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/e1000e/netdev.c
1329
rx_desc = E1000_RX_DESC_PS(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
1331
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
1344
if (i == rx_ring->count)
drivers/net/ethernet/intel/e1000e/netdev.c
1346
next_rxd = E1000_RX_DESC_PS(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
1349
next_buffer = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
1467
adapter->alloc_rx_buf(rx_ring, cleaned_count,
drivers/net/ethernet/intel/e1000e/netdev.c
1478
rx_ring->next_to_clean = i;
drivers/net/ethernet/intel/e1000e/netdev.c
1480
cleaned_count = e1000_desc_unused(rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
1482
adapter->alloc_rx_buf(rx_ring, cleaned_count, GFP_ATOMIC);
drivers/net/ethernet/intel/e1000e/netdev.c
1507
static bool e1000_clean_jumbo_rx_irq(struct e1000_ring *rx_ring, int *work_done,
drivers/net/ethernet/intel/e1000e/netdev.c
1510
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
1522
i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/e1000e/netdev.c
1523
rx_desc = E1000_RX_DESC_EXT(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
1525
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
1539
if (i == rx_ring->count)
drivers/net/ethernet/intel/e1000e/netdev.c
1541
next_rxd = E1000_RX_DESC_EXT(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
1544
next_buffer = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
1561
if (rx_ring->rx_skb_top)
drivers/net/ethernet/intel/e1000e/netdev.c
1562
dev_kfree_skb_irq(rx_ring->rx_skb_top);
drivers/net/ethernet/intel/e1000e/netdev.c
1563
rx_ring->rx_skb_top = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
1566
#define rxtop (rx_ring->rx_skb_top)
drivers/net/ethernet/intel/e1000e/netdev.c
1646
adapter->alloc_rx_buf(rx_ring, cleaned_count,
drivers/net/ethernet/intel/e1000e/netdev.c
1657
rx_ring->next_to_clean = i;
drivers/net/ethernet/intel/e1000e/netdev.c
1659
cleaned_count = e1000_desc_unused(rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
1661
adapter->alloc_rx_buf(rx_ring, cleaned_count, GFP_ATOMIC);
drivers/net/ethernet/intel/e1000e/netdev.c
1672
static void e1000_clean_rx_ring(struct e1000_ring *rx_ring)
drivers/net/ethernet/intel/e1000e/netdev.c
1674
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
1681
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/e1000e/netdev.c
1682
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
1721
if (rx_ring->rx_skb_top) {
drivers/net/ethernet/intel/e1000e/netdev.c
1722
dev_kfree_skb(rx_ring->rx_skb_top);
drivers/net/ethernet/intel/e1000e/netdev.c
1723
rx_ring->rx_skb_top = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
1727
memset(rx_ring->desc, 0, rx_ring->size);
drivers/net/ethernet/intel/e1000e/netdev.c
1729
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1730
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1938
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
1943
if (rx_ring->set_itr) {
drivers/net/ethernet/intel/e1000e/netdev.c
1944
u32 itr = rx_ring->itr_val ?
drivers/net/ethernet/intel/e1000e/netdev.c
1945
1000000000 / (rx_ring->itr_val * 256) : 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1947
writel(itr, rx_ring->itr_register);
drivers/net/ethernet/intel/e1000e/netdev.c
1948
rx_ring->set_itr = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
1969
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
1985
rx_ring->ims_val = E1000_IMS_RXQ0;
drivers/net/ethernet/intel/e1000e/netdev.c
1986
adapter->eiac_mask |= rx_ring->ims_val;
drivers/net/ethernet/intel/e1000e/netdev.c
1987
if (rx_ring->itr_val)
drivers/net/ethernet/intel/e1000e/netdev.c
1988
writel(1000000000 / (rx_ring->itr_val * 256),
drivers/net/ethernet/intel/e1000e/netdev.c
1989
rx_ring->itr_register);
drivers/net/ethernet/intel/e1000e/netdev.c
1991
writel(1, rx_ring->itr_register);
drivers/net/ethernet/intel/e1000e/netdev.c
2008
if (rx_ring->itr_val)
drivers/net/ethernet/intel/e1000e/netdev.c
2009
writel(1000000000 / (rx_ring->itr_val * 256),
drivers/net/ethernet/intel/e1000e/netdev.c
208
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
2105
snprintf(adapter->rx_ring->name,
drivers/net/ethernet/intel/e1000e/netdev.c
2106
sizeof(adapter->rx_ring->name) - 1,
drivers/net/ethernet/intel/e1000e/netdev.c
2109
memcpy(adapter->rx_ring->name, netdev->name, IFNAMSIZ);
drivers/net/ethernet/intel/e1000e/netdev.c
2111
e1000_intr_msix_rx, 0, adapter->rx_ring->name,
drivers/net/ethernet/intel/e1000e/netdev.c
2115
adapter->rx_ring->itr_register = adapter->hw.hw_addr +
drivers/net/ethernet/intel/e1000e/netdev.c
2117
adapter->rx_ring->itr_val = adapter->itr;
drivers/net/ethernet/intel/e1000e/netdev.c
2359
int e1000e_setup_rx_resources(struct e1000_ring *rx_ring)
drivers/net/ethernet/intel/e1000e/netdev.c
2361
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2365
size = sizeof(struct e1000_buffer) * rx_ring->count;
drivers/net/ethernet/intel/e1000e/netdev.c
2366
rx_ring->buffer_info = vzalloc(size);
drivers/net/ethernet/intel/e1000e/netdev.c
2367
if (!rx_ring->buffer_info)
drivers/net/ethernet/intel/e1000e/netdev.c
2370
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/e1000e/netdev.c
2371
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
2381
rx_ring->size = rx_ring->count * desc_len;
drivers/net/ethernet/intel/e1000e/netdev.c
2382
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/e1000e/netdev.c
2384
err = e1000_alloc_ring_dma(adapter, rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
2388
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
2389
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/e1000e/netdev.c
2390
rx_ring->rx_skb_top = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
2395
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/e1000e/netdev.c
2396
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
2400
vfree(rx_ring->buffer_info);
drivers/net/ethernet/intel/e1000e/netdev.c
2458
void e1000e_free_rx_resources(struct e1000_ring *rx_ring)
drivers/net/ethernet/intel/e1000e/netdev.c
2460
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2464
e1000_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
2466
for (i = 0; i < rx_ring->count; i++)
drivers/net/ethernet/intel/e1000e/netdev.c
2467
kfree(rx_ring->buffer_info[i].ps_pages);
drivers/net/ethernet/intel/e1000e/netdev.c
2469
vfree(rx_ring->buffer_info);
drivers/net/ethernet/intel/e1000e/netdev.c
2470
rx_ring->buffer_info = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
2472
dma_free_coherent(&pdev->dev, rx_ring->size, rx_ring->desc,
drivers/net/ethernet/intel/e1000e/netdev.c
2473
rx_ring->dma);
drivers/net/ethernet/intel/e1000e/netdev.c
2474
rx_ring->desc = NULL;
drivers/net/ethernet/intel/e1000e/netdev.c
2591
adapter->rx_ring->itr_val = new_itr;
drivers/net/ethernet/intel/e1000e/netdev.c
2593
adapter->rx_ring->set_itr = 1;
drivers/net/ethernet/intel/e1000e/netdev.c
2637
adapter->rx_ring = kzalloc(size, GFP_KERNEL);
drivers/net/ethernet/intel/e1000e/netdev.c
2638
if (!adapter->rx_ring)
drivers/net/ethernet/intel/e1000e/netdev.c
2640
adapter->rx_ring->count = adapter->rx_ring_count;
drivers/net/ethernet/intel/e1000e/netdev.c
2641
adapter->rx_ring->adapter = adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
2646
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
2667
(adapter->rx_ring->ims_val & adapter->tx_ring->ims_val))
drivers/net/ethernet/intel/e1000e/netdev.c
2670
adapter->clean_rx(adapter->rx_ring, &work_done, budget);
drivers/net/ethernet/intel/e1000e/netdev.c
2683
ew32(IMS, adapter->rx_ring->ims_val);
drivers/net/ethernet/intel/e1000e/netdev.c
3184
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
3190
rdlen = rx_ring->count *
drivers/net/ethernet/intel/e1000e/netdev.c
3195
rdlen = rx_ring->count * sizeof(union e1000_rx_desc_extended);
drivers/net/ethernet/intel/e1000e/netdev.c
3199
rdlen = rx_ring->count * sizeof(union e1000_rx_desc_extended);
drivers/net/ethernet/intel/e1000e/netdev.c
324
0, rx_ring->next_to_use, rx_ring->next_to_clean);
drivers/net/ethernet/intel/e1000e/netdev.c
3242
rdba = rx_ring->dma;
drivers/net/ethernet/intel/e1000e/netdev.c
3248
rx_ring->head = adapter->hw.hw_addr + E1000_RDH(0);
drivers/net/ethernet/intel/e1000e/netdev.c
3249
rx_ring->tail = adapter->hw.hw_addr + E1000_RDT(0);
drivers/net/ethernet/intel/e1000e/netdev.c
3252
e1000e_update_rdt_wa(rx_ring, 0);
drivers/net/ethernet/intel/e1000e/netdev.c
360
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/e1000e/netdev.c
362
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
363
rx_desc_ps = E1000_RX_DESC_PS(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
368
if (i == rx_ring->next_to_use)
drivers/net/ethernet/intel/e1000e/netdev.c
370
else if (i == rx_ring->next_to_clean)
drivers/net/ethernet/intel/e1000e/netdev.c
3756
struct e1000_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/e1000e/netdev.c
3769
adapter->alloc_rx_buf(rx_ring, e1000_desc_unused(rx_ring), GFP_KERNEL);
drivers/net/ethernet/intel/e1000e/netdev.c
426
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/e1000e/netdev.c
429
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
430
rx_desc = E1000_RX_DESC_EXT(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
4335
e1000_clean_rx_ring(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
434
if (i == rx_ring->next_to_use)
drivers/net/ethernet/intel/e1000e/netdev.c
436
else if (i == rx_ring->next_to_clean)
drivers/net/ethernet/intel/e1000e/netdev.c
4647
err = e1000e_setup_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4719
e1000e_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
4766
e1000e_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
5409
ew32(ICS, adapter->rx_ring->ims_val);
drivers/net/ethernet/intel/e1000e/netdev.c
607
static void e1000e_update_rdt_wa(struct e1000_ring *rx_ring, unsigned int i)
drivers/net/ethernet/intel/e1000e/netdev.c
609
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
613
writel(i, rx_ring->tail);
drivers/net/ethernet/intel/e1000e/netdev.c
615
if (unlikely(i != readl(rx_ring->tail))) {
drivers/net/ethernet/intel/e1000e/netdev.c
647
static void e1000_alloc_rx_buffers(struct e1000_ring *rx_ring,
drivers/net/ethernet/intel/e1000e/netdev.c
650
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
659
i = rx_ring->next_to_use;
drivers/net/ethernet/intel/e1000e/netdev.c
660
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
687
rx_desc = E1000_RX_DESC_EXT(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
698
e1000e_update_rdt_wa(rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
700
writel(i, rx_ring->tail);
drivers/net/ethernet/intel/e1000e/netdev.c
703
if (i == rx_ring->count)
drivers/net/ethernet/intel/e1000e/netdev.c
705
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
708
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/e1000e/netdev.c
717
static void e1000_alloc_rx_buffers_ps(struct e1000_ring *rx_ring,
drivers/net/ethernet/intel/e1000e/netdev.c
720
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
729
i = rx_ring->next_to_use;
drivers/net/ethernet/intel/e1000e/netdev.c
730
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
733
rx_desc = E1000_RX_DESC_PS(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
7714
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
7780
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/e1000e/netdev.c
800
e1000e_update_rdt_wa(rx_ring, i << 1);
drivers/net/ethernet/intel/e1000e/netdev.c
802
writel(i << 1, rx_ring->tail);
drivers/net/ethernet/intel/e1000e/netdev.c
806
if (i == rx_ring->count)
drivers/net/ethernet/intel/e1000e/netdev.c
808
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
812
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/e1000e/netdev.c
822
static void e1000_alloc_jumbo_rx_buffers(struct e1000_ring *rx_ring,
drivers/net/ethernet/intel/e1000e/netdev.c
825
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
834
i = rx_ring->next_to_use;
drivers/net/ethernet/intel/e1000e/netdev.c
835
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
873
rx_desc = E1000_RX_DESC_EXT(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
876
if (unlikely(++i == rx_ring->count))
drivers/net/ethernet/intel/e1000e/netdev.c
878
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
881
if (likely(rx_ring->next_to_use != i)) {
drivers/net/ethernet/intel/e1000e/netdev.c
882
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/e1000e/netdev.c
884
i = (rx_ring->count - 1);
drivers/net/ethernet/intel/e1000e/netdev.c
893
e1000e_update_rdt_wa(rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
895
writel(i, rx_ring->tail);
drivers/net/ethernet/intel/e1000e/netdev.c
915
static bool e1000_clean_rx_irq(struct e1000_ring *rx_ring, int *work_done,
drivers/net/ethernet/intel/e1000e/netdev.c
918
struct e1000_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/e1000e/netdev.c
930
i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/e1000e/netdev.c
931
rx_desc = E1000_RX_DESC_EXT(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
933
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/e1000e/netdev.c
949
if (i == rx_ring->count)
drivers/net/ethernet/intel/e1000e/netdev.c
951
next_rxd = E1000_RX_DESC_EXT(*rx_ring, i);
drivers/net/ethernet/intel/e1000e/netdev.c
954
next_buffer = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/fm10k/fm10k.h
335
struct fm10k_ring *rx_ring[MAX_QUEUES];
drivers/net/ethernet/intel/fm10k/fm10k.h
482
void fm10k_alloc_rx_buffers(struct fm10k_ring *rx_ring, u16 cleaned_count);
drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c
290
ring = interface->rx_ring[i];
drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c
555
interface->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c
606
memcpy(&temp_ring[i], interface->rx_ring[i],
drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c
621
fm10k_free_rx_resources(interface->rx_ring[i]);
drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c
623
memcpy(interface->rx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/fm10k/fm10k_main.c
100
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
116
void fm10k_alloc_rx_buffers(struct fm10k_ring *rx_ring, u16 cleaned_count)
drivers/net/ethernet/intel/fm10k/fm10k_main.c
120
u16 i = rx_ring->next_to_use;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
126
rx_desc = FM10K_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
127
bi = &rx_ring->rx_buffer[i];
drivers/net/ethernet/intel/fm10k/fm10k_main.c
128
i -= rx_ring->count;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
131
if (!fm10k_alloc_mapped_page(rx_ring, bi))
drivers/net/ethernet/intel/fm10k/fm10k_main.c
143
rx_desc = FM10K_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
144
bi = rx_ring->rx_buffer;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
145
i -= rx_ring->count;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
154
i += rx_ring->count;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
156
if (rx_ring->next_to_use != i) {
drivers/net/ethernet/intel/fm10k/fm10k_main.c
158
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
161
rx_ring->next_to_alloc = i;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
1665
interface->rx_ring[rxr_idx] = ring;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
1700
interface->rx_ring[ring->queue_index] = NULL;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
171
writel(i, rx_ring->tail);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
182
static void fm10k_reuse_rx_page(struct fm10k_ring *rx_ring,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
186
u16 nta = rx_ring->next_to_alloc;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
1877
interface->rx_ring[offset + i]->reg_idx = q_idx;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
1878
interface->rx_ring[offset + i]->qos_pc = pc;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
188
new_buff = &rx_ring->rx_buffer[nta];
drivers/net/ethernet/intel/fm10k/fm10k_main.c
1897
interface->rx_ring[i]->reg_idx = i;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
192
rx_ring->next_to_alloc = (nta < rx_ring->count) ? nta : 0;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
198
dma_sync_single_range_for_device(rx_ring->dev, old_buff->dma,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
298
static struct sk_buff *fm10k_fetch_rx_buffer(struct fm10k_ring *rx_ring,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
306
rx_buffer = &rx_ring->rx_buffer[rx_ring->next_to_clean];
drivers/net/ethernet/intel/fm10k/fm10k_main.c
318
skb = napi_alloc_skb(&rx_ring->q_vector->napi,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
321
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
333
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
342
fm10k_reuse_rx_page(rx_ring, rx_buffer);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
345
dma_unmap_page(rx_ring->dev, rx_buffer->dma,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
410
static void fm10k_type_trans(struct fm10k_ring *rx_ring,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
414
struct net_device *dev = rx_ring->netdev;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
415
struct fm10k_l2_accel *l2_accel = rcu_dereference_bh(rx_ring->l2_accel);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
430
skb_record_rx_queue(skb, rx_ring->queue_index);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
448
static unsigned int fm10k_process_skb_fields(struct fm10k_ring *rx_ring,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
454
fm10k_rx_hash(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
456
fm10k_rx_checksum(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
467
if ((vid & VLAN_VID_MASK) != rx_ring->vid)
drivers/net/ethernet/intel/fm10k/fm10k_main.c
474
fm10k_type_trans(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
489
static bool fm10k_is_non_eop(struct fm10k_ring *rx_ring,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
492
u32 ntc = rx_ring->next_to_clean + 1;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
495
ntc = (ntc < rx_ring->count) ? ntc : 0;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
496
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
498
prefetch(FM10K_RX_DESC(rx_ring, ntc));
drivers/net/ethernet/intel/fm10k/fm10k_main.c
520
static bool fm10k_cleanup_headers(struct fm10k_ring *rx_ring,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
529
rx_ring->rx_stats.switch_errors++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
531
rx_ring->rx_stats.drops++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
533
rx_ring->rx_stats.pp_errors++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
535
rx_ring->rx_stats.link_errors++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
537
rx_ring->rx_stats.length_errors++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
539
rx_ring->rx_stats.errors++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
562
struct fm10k_ring *rx_ring,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
565
struct sk_buff *skb = rx_ring->skb;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
567
u16 cleaned_count = fm10k_desc_unused(rx_ring);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
574
fm10k_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
578
rx_desc = FM10K_RX_DESC(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
590
skb = fm10k_fetch_rx_buffer(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
599
if (fm10k_is_non_eop(rx_ring, rx_desc))
drivers/net/ethernet/intel/fm10k/fm10k_main.c
603
if (fm10k_cleanup_headers(rx_ring, rx_desc, skb)) {
drivers/net/ethernet/intel/fm10k/fm10k_main.c
609
total_bytes += fm10k_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
621
rx_ring->skb = skb;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
623
u64_stats_update_begin(&rx_ring->syncp);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
624
rx_ring->stats.packets += total_packets;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
625
rx_ring->stats.bytes += total_bytes;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
626
u64_stats_update_end(&rx_ring->syncp);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
74
static bool fm10k_alloc_mapped_page(struct fm10k_ring *rx_ring,
drivers/net/ethernet/intel/fm10k/fm10k_main.c
87
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/fm10k/fm10k_main.c
92
dma = dma_map_page(rx_ring->dev, page, 0, PAGE_SIZE, DMA_FROM_DEVICE);
drivers/net/ethernet/intel/fm10k/fm10k_main.c
97
if (dma_mapping_error(rx_ring->dev, dma)) {
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
100
rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
101
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
102
if (!rx_ring->desc)
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
107
vfree(rx_ring->rx_buffer);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
108
rx_ring->rx_buffer = NULL;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
1226
ring = READ_ONCE(interface->rx_ring[i]);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
127
err = fm10k_setup_rx_resources(interface->rx_ring[i]);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
1336
struct fm10k_ring *ring = interface->rx_ring[i];
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
140
fm10k_free_rx_resources(interface->rx_ring[i]);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
248
static void fm10k_clean_rx_ring(struct fm10k_ring *rx_ring)
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
253
if (!rx_ring->rx_buffer)
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
256
dev_kfree_skb(rx_ring->skb);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
257
rx_ring->skb = NULL;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
260
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
261
struct fm10k_rx_buffer *buffer = &rx_ring->rx_buffer[i];
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
266
dma_unmap_page(rx_ring->dev, buffer->dma,
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
273
size = sizeof(struct fm10k_rx_buffer) * rx_ring->count;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
274
memset(rx_ring->rx_buffer, 0, size);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
277
memset(rx_ring->desc, 0, rx_ring->size);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
279
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
280
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
281
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
290
void fm10k_free_rx_resources(struct fm10k_ring *rx_ring)
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
292
fm10k_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
294
vfree(rx_ring->rx_buffer);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
295
rx_ring->rx_buffer = NULL;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
298
if (!rx_ring->desc)
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
301
dma_free_coherent(rx_ring->dev, rx_ring->size,
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
302
rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
304
rx_ring->desc = NULL;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
316
fm10k_clean_rx_ring(interface->rx_ring[i]);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
330
fm10k_free_rx_resources(interface->rx_ring[i]);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
824
struct fm10k_ring *rx_ring = interface->rx_ring[i];
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
825
u16 rx_vid = rx_ring->vid & (VLAN_N_VID - 1);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
828
rx_ring->vid |= FM10K_VLAN_CLEAR;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
83
int fm10k_setup_rx_resources(struct fm10k_ring *rx_ring)
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
830
rx_ring->vid &= ~FM10K_VLAN_CLEAR;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
85
struct device *dev = rx_ring->dev;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
88
size = sizeof(struct fm10k_rx_buffer) * rx_ring->count;
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
90
rx_ring->rx_buffer = vzalloc(size);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
91
if (!rx_ring->rx_buffer)
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
94
u64_stats_init(&rx_ring->syncp);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
97
rx_ring->size = rx_ring->count * sizeof(union fm10k_rx_desc);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c
98
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
1073
struct fm10k_ring *ring = interface->rx_ring[i];
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
1167
fm10k_configure_rx_ring(interface, interface->rx_ring[i]);
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
579
struct fm10k_ring *rx_ring = READ_ONCE(interface->rx_ring[i]);
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
581
if (!rx_ring)
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
584
bytes += rx_ring->stats.bytes;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
585
pkts += rx_ring->stats.packets;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
586
alloc_failed += rx_ring->rx_stats.alloc_failed;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
587
rx_csum_errors += rx_ring->rx_stats.csum_err;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
588
rx_errors += rx_ring->rx_stats.errors;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
589
hw_csum_rx_good += rx_ring->rx_stats.csum_good;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
590
rx_switch_errors += rx_ring->rx_stats.switch_errors;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
591
rx_drops += rx_ring->rx_stats.drops;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
592
rx_pp_errors += rx_ring->rx_stats.pp_errors;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
593
rx_link_errors += rx_ring->rx_stats.link_errors;
drivers/net/ethernet/intel/fm10k/fm10k_pci.c
594
rx_length_errors += rx_ring->rx_stats.length_errors;
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
190
struct i40e_ring *rx_ring = READ_ONCE(vsi->rx_rings[i]);
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
192
if (!rx_ring)
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
197
i, *rx_ring->state,
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
198
rx_ring->queue_index,
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
199
rx_ring->reg_idx);
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
202
i, rx_ring->rx_buf_len);
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
206
rx_ring->next_to_use,
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
207
rx_ring->next_to_clean,
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
208
rx_ring->ring_active);
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
211
i, rx_ring->stats.packets,
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
212
rx_ring->stats.bytes,
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
213
rx_ring->rx_stats.non_eop_descs);
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
217
rx_ring->rx_stats.alloc_page_failed,
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
218
rx_ring->rx_stats.alloc_buff_failed);
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
222
rx_ring->rx_stats.page_reuse_count);
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
225
i, rx_ring->size);
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
228
i, rx_ring->itr_setting,
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
229
ITR_IS_DYNAMIC(rx_ring->itr_setting) ? "dynamic" : "fixed");
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2883
struct i40e_ring *rx_ring, *tx_ring;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2896
rx_ring = vsi->rx_rings[queue];
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2899
if (ITR_IS_DYNAMIC(rx_ring->itr_setting))
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2905
ec->rx_coalesce_usecs = rx_ring->itr_setting & ~I40E_ITR_DYNAMIC;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2965
struct i40e_ring *rx_ring = vsi->rx_rings[queue];
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2974
rx_ring->itr_setting = ITR_REG_ALIGN(ec->rx_coalesce_usecs);
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2978
rx_ring->itr_setting |= I40E_ITR_DYNAMIC;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2980
rx_ring->itr_setting &= ~I40E_ITR_DYNAMIC;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2987
q_vector = rx_ring->q_vector;
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
2988
q_vector->rx.target_itr = ITR_TO_REG(rx_ring->itr_setting);
drivers/net/ethernet/intel/i40e/i40e_main.c
3554
static unsigned int i40e_rx_offset(struct i40e_ring *rx_ring)
drivers/net/ethernet/intel/i40e/i40e_main.c
3556
return ring_uses_build_skb(rx_ring) ? I40E_SKB_PAD : 0;
drivers/net/ethernet/intel/i40e/i40e_main.c
3771
struct i40e_ring *tx_ring, *rx_ring;
drivers/net/ethernet/intel/i40e/i40e_main.c
3778
rx_ring = vsi->rx_rings[i];
drivers/net/ethernet/intel/i40e/i40e_main.c
3780
rx_ring->dcb_tc = 0;
drivers/net/ethernet/intel/i40e/i40e_main.c
3793
rx_ring = vsi->rx_rings[i];
drivers/net/ethernet/intel/i40e/i40e_main.c
3795
rx_ring->dcb_tc = n;
drivers/net/ethernet/intel/i40e/i40e_main.c
4534
struct i40e_ring *rx_ring = vsi->rx_rings[qp_idx];
drivers/net/ethernet/intel/i40e/i40e_main.c
4551
rx_ring->q_vector = q_vector;
drivers/net/ethernet/intel/i40e/i40e_main.c
4552
rx_ring->next = q_vector->rx.ring;
drivers/net/ethernet/intel/i40e/i40e_main.c
4553
q_vector->rx.ring = rx_ring;
drivers/net/ethernet/intel/i40e/i40e_main.c
6053
struct i40e_ring *tx_ring, *rx_ring;
drivers/net/ethernet/intel/i40e/i40e_main.c
6060
rx_ring = vsi->rx_rings[pf_q];
drivers/net/ethernet/intel/i40e/i40e_main.c
6061
rx_ring->ch = NULL;
drivers/net/ethernet/intel/i40e/i40e_main.c
6409
struct i40e_ring *tx_ring, *rx_ring;
drivers/net/ethernet/intel/i40e/i40e_main.c
6421
rx_ring = vsi->rx_rings[pf_q];
drivers/net/ethernet/intel/i40e/i40e_main.c
6422
rx_ring->ch = ch;
drivers/net/ethernet/intel/i40e/i40e_main.c
7764
struct i40e_ring *tx_ring, *rx_ring;
drivers/net/ethernet/intel/i40e/i40e_main.c
7772
rx_ring = vsi->rx_rings[pf_q];
drivers/net/ethernet/intel/i40e/i40e_main.c
7773
rx_ring->ch = NULL;
drivers/net/ethernet/intel/i40e/i40e_main.c
7849
struct i40e_ring *tx_ring, *rx_ring;
drivers/net/ethernet/intel/i40e/i40e_main.c
7859
rx_ring = vsi->rx_rings[pf_q];
drivers/net/ethernet/intel/i40e/i40e_main.c
7860
rx_ring->ch = iter;
drivers/net/ethernet/intel/i40e/i40e_main.c
7881
struct i40e_ring *rx_ring;
drivers/net/ethernet/intel/i40e/i40e_main.c
7885
rx_ring = vsi->rx_rings[pf_q];
drivers/net/ethernet/intel/i40e/i40e_main.c
7886
rx_ring->netdev = NULL;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1350
static struct i40e_rx_buffer *i40e_rx_bi(struct i40e_ring *rx_ring, u32 idx)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1352
return &rx_ring->rx_bi[idx];
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1362
static void i40e_reuse_rx_page(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1366
u16 nta = rx_ring->next_to_alloc;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1368
new_buff = i40e_rx_bi(rx_ring, nta);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1372
rx_ring->next_to_alloc = (nta < rx_ring->count) ? nta : 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1396
void i40e_clean_programming_status(struct i40e_ring *rx_ring, u64 qword0_raw,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1404
i40e_fd_handle_status(rx_ring, qword0_raw, qword1, id);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1456
static void i40e_clear_rx_bi(struct i40e_ring *rx_ring)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1458
memset(rx_ring->rx_bi, 0, sizeof(*rx_ring->rx_bi) * rx_ring->count);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1465
void i40e_clean_rx_ring(struct i40e_ring *rx_ring)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1470
if (!rx_ring->rx_bi)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1473
if (xdp_rxq_info_is_reg(&rx_ring->xdp_rxq))
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1474
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1476
if (rx_ring->xsk_pool) {
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1477
i40e_xsk_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1482
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1483
struct i40e_rx_buffer *rx_bi = i40e_rx_bi(rx_ring, i);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1491
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1494
rx_ring->rx_buf_len,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1498
dma_unmap_page_attrs(rx_ring->dev, rx_bi->dma,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1499
i40e_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1510
if (rx_ring->xsk_pool)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1511
i40e_clear_rx_bi_zc(rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1513
i40e_clear_rx_bi(rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1516
memset(rx_ring->desc, 0, rx_ring->size);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1518
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1519
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1520
rx_ring->next_to_process = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1521
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1530
void i40e_free_rx_resources(struct i40e_ring *rx_ring)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1532
i40e_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1533
rx_ring->xdp_prog = NULL;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1534
kfree(rx_ring->rx_bi);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1535
rx_ring->rx_bi = NULL;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1537
if (rx_ring->desc) {
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1538
dma_free_coherent(rx_ring->dev, rx_ring->size,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1539
rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1540
rx_ring->desc = NULL;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1550
int i40e_setup_rx_descriptors(struct i40e_ring *rx_ring)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1552
struct device *dev = rx_ring->dev;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1554
u64_stats_init(&rx_ring->syncp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1557
rx_ring->size = rx_ring->count * sizeof(union i40e_rx_desc);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1558
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1559
rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1560
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1562
if (!rx_ring->desc) {
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1564
rx_ring->size);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1568
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1569
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1570
rx_ring->next_to_process = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1571
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1573
rx_ring->xdp_prog = rx_ring->vsi->xdp_prog;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1575
rx_ring->rx_bi =
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1576
kzalloc_objs(*rx_ring->rx_bi, rx_ring->count);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1577
if (!rx_ring->rx_bi)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1588
void i40e_release_rx_desc(struct i40e_ring *rx_ring, u32 val)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1590
rx_ring->next_to_use = val;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1593
rx_ring->next_to_alloc = val;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1601
writel(val, rx_ring->tail);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1605
static unsigned int i40e_rx_frame_truesize(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1610
truesize = rx_ring->rx_offset ?
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1611
SKB_DATA_ALIGN(size + rx_ring->rx_offset) +
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1626
static bool i40e_alloc_mapped_page(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1634
rx_ring->rx_stats.page_reuse_count++;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1639
page = dev_alloc_pages(i40e_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1641
rx_ring->rx_stats.alloc_page_failed++;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1645
rx_ring->rx_stats.page_alloc_count++;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1648
dma = dma_map_page_attrs(rx_ring->dev, page, 0,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1649
i40e_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1656
if (dma_mapping_error(rx_ring->dev, dma)) {
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1657
__free_pages(page, i40e_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1658
rx_ring->rx_stats.alloc_page_failed++;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1664
bi->page_offset = rx_ring->rx_offset;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1678
bool i40e_alloc_rx_buffers(struct i40e_ring *rx_ring, u16 cleaned_count)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1680
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1685
if (!rx_ring->netdev || !cleaned_count)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1688
rx_desc = I40E_RX_DESC(rx_ring, ntu);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1689
bi = i40e_rx_bi(rx_ring, ntu);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1692
if (!i40e_alloc_mapped_page(rx_ring, bi))
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1696
dma_sync_single_range_for_device(rx_ring->dev, bi->dma,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1698
rx_ring->rx_buf_len,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1709
if (unlikely(ntu == rx_ring->count)) {
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1710
rx_desc = I40E_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1711
bi = i40e_rx_bi(rx_ring, 0);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1721
if (rx_ring->next_to_use != ntu)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1722
i40e_release_rx_desc(rx_ring, ntu);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1727
if (rx_ring->next_to_use != ntu)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1728
i40e_release_rx_desc(rx_ring, ntu);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1845
void i40e_process_skb_fields(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1855
i40e_ptp_rx_hwtstamp(rx_ring->vsi->back, skb, tsyn);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1857
i40e_rx_hash(rx_ring, rx_desc, skb, rx_ptype);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1859
i40e_rx_checksum(rx_ring->vsi, skb, rx_desc);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1861
skb_record_rx_queue(skb, rx_ring->queue_index);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1871
skb->protocol = eth_type_trans(skb, rx_ring->netdev);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1885
static bool i40e_cleanup_headers(struct i40e_ring *rx_ring, struct sk_buff *skb,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1982
static struct i40e_rx_buffer *i40e_get_rx_buffer(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1987
rx_buffer = i40e_rx_bi(rx_ring, rx_ring->next_to_process);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
1997
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2017
static void i40e_put_rx_buffer(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2020
if (i40e_can_reuse_rx_page(rx_buffer, &rx_ring->rx_stats)) {
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2022
i40e_reuse_rx_page(rx_ring, rx_buffer);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2025
dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2026
i40e_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2041
static void i40e_process_rx_buffs(struct i40e_ring *rx_ring, int xdp_res,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2045
u32 next = rx_ring->next_to_clean, i = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2051
rx_buffer = i40e_rx_bi(rx_ring, next);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2052
if (++next == rx_ring->count)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2064
if (next == rx_ring->next_to_process)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2067
i40e_put_rx_buffer(rx_ring, rx_buffer);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2080
static struct sk_buff *i40e_construct_skb(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2110
skb = napi_alloc_skb(&rx_ring->q_vector->napi, I40E_RX_HDR_SIZE);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2128
rx_buffer = i40e_rx_bi(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2158
if (++rx_ring->next_to_clean == rx_ring->count)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2159
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2161
i40e_process_rx_buffs(rx_ring, I40E_XDP_PASS, xdp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2175
static struct sk_buff *i40e_build_skb(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2211
i40e_process_rx_buffs(rx_ring, I40E_XDP_PASS, xdp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2215
rx_buffer = i40e_rx_bi(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2231
bool i40e_is_non_eop(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2239
rx_ring->rx_stats.non_eop_descs++;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2263
static int i40e_run_xdp(struct i40e_ring *rx_ring, struct xdp_buff *xdp, struct bpf_prog *xdp_prog)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2279
xdp_ring = rx_ring->vsi->xdp_rings[rx_ring->queue_index];
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2285
err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2291
bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2295
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2328
void i40e_update_rx_stats(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2332
u64_stats_update_begin(&rx_ring->syncp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2333
rx_ring->stats.packets += total_rx_packets;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2334
rx_ring->stats.bytes += total_rx_bytes;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2335
u64_stats_update_end(&rx_ring->syncp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2336
rx_ring->q_vector->rx.total_packets += total_rx_packets;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2337
rx_ring->q_vector->rx.total_bytes += total_rx_bytes;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2349
void i40e_finalize_xdp_rx(struct i40e_ring *rx_ring, unsigned int xdp_res)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2356
rx_ring->vsi->xdp_rings[rx_ring->queue_index];
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2366
static void i40e_inc_ntp(struct i40e_ring *rx_ring)
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2368
u32 ntp = rx_ring->next_to_process + 1;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2370
ntp = (ntp < rx_ring->count) ? ntp : 0;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2371
rx_ring->next_to_process = ntp;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2372
prefetch(I40E_RX_DESC(rx_ring, ntp));
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2414
static void i40e_consume_xdp_buff(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2418
i40e_process_rx_buffs(rx_ring, I40E_XDP_CONSUMED, xdp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2419
i40e_put_rx_buffer(rx_ring, rx_buffer);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2420
rx_ring->next_to_clean = rx_ring->next_to_process;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2437
static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2441
u16 cleaned_count = I40E_DESC_UNUSED(rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2442
u16 clean_threshold = rx_ring->count / 2;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2443
unsigned int offset = rx_ring->rx_offset;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2444
struct xdp_buff *xdp = &rx_ring->xdp;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2450
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2453
u16 ntp = rx_ring->next_to_process;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2465
i40e_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2469
rx_desc = I40E_RX_DESC(rx_ring, ntp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2485
i40e_clean_programming_status(rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2488
rx_buffer = i40e_rx_bi(rx_ring, ntp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2489
i40e_inc_ntp(rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2490
i40e_reuse_rx_page(rx_ring, rx_buffer);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2494
if (rx_ring->next_to_clean == ntp) {
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2495
rx_ring->next_to_clean =
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2496
rx_ring->next_to_process;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2506
i40e_trace(clean_rx_irq, rx_ring, rx_desc, xdp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2508
rx_buffer = i40e_get_rx_buffer(rx_ring, size);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2510
neop = i40e_is_non_eop(rx_ring, rx_desc);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2511
i40e_inc_ntp(rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2521
xdp->frame_sz = i40e_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2526
i40e_consume_xdp_buff(rx_ring, xdp, rx_buffer);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2533
xdp_res = i40e_run_xdp(rx_ring, xdp, xdp_prog);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2539
i40e_process_rx_buffs(rx_ring, xdp_res, xdp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2548
if (ring_uses_build_skb(rx_ring))
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2549
skb = i40e_build_skb(rx_ring, xdp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2551
skb = i40e_construct_skb(rx_ring, xdp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2555
rx_ring->rx_stats.alloc_buff_failed++;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2556
i40e_consume_xdp_buff(rx_ring, xdp, rx_buffer);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2560
if (i40e_cleanup_headers(rx_ring, skb, rx_desc))
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2567
i40e_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2569
i40e_trace(clean_rx_irq_rx, rx_ring, rx_desc, xdp);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2570
napi_gro_receive(&rx_ring->q_vector->napi, skb);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2577
i40e_put_rx_buffer(rx_ring, rx_buffer);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2578
rx_ring->next_to_clean = rx_ring->next_to_process;
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2583
i40e_finalize_xdp_rx(rx_ring, xdp_xmit);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
2585
i40e_update_rx_stats(rx_ring, total_rx_bytes, total_rx_packets);
drivers/net/ethernet/intel/i40e/i40e_txrx.c
681
static void i40e_fd_handle_status(struct i40e_ring *rx_ring, u64 qword0_raw,
drivers/net/ethernet/intel/i40e/i40e_txrx.c
684
struct i40e_pf *pf = rx_ring->vsi->back;
drivers/net/ethernet/intel/i40e/i40e_txrx.h
466
void i40e_clean_rx_ring(struct i40e_ring *rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.h
468
int i40e_setup_rx_descriptors(struct i40e_ring *rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.h
470
void i40e_free_rx_resources(struct i40e_ring *rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx.h
479
bool i40e_is_non_eop(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx_common.h
10
void i40e_clean_programming_status(struct i40e_ring *rx_ring, u64 qword0_raw,
drivers/net/ethernet/intel/i40e/i40e_txrx_common.h
105
void i40e_xsk_clean_rx_ring(struct i40e_ring *rx_ring);
drivers/net/ethernet/intel/i40e/i40e_txrx_common.h
12
void i40e_process_skb_fields(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx_common.h
15
void i40e_update_rx_stats(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_txrx_common.h
18
void i40e_finalize_xdp_rx(struct i40e_ring *rx_ring, unsigned int xdp_res);
drivers/net/ethernet/intel/i40e/i40e_txrx_common.h
19
void i40e_release_rx_desc(struct i40e_ring *rx_ring, u32 val);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
10
void i40e_clear_rx_bi_zc(struct i40e_ring *rx_ring)
drivers/net/ethernet/intel/i40e/i40e_xsk.c
12
memset(rx_ring->rx_bi_zc, 0,
drivers/net/ethernet/intel/i40e/i40e_xsk.c
13
sizeof(*rx_ring->rx_bi_zc) * rx_ring->count);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
16
static struct xdp_buff **i40e_rx_bi(struct i40e_ring *rx_ring, u32 idx)
drivers/net/ethernet/intel/i40e/i40e_xsk.c
18
return &rx_ring->rx_bi_zc[idx];
drivers/net/ethernet/intel/i40e/i40e_xsk.c
198
static int i40e_run_xdp_zc(struct i40e_ring *rx_ring, struct xdp_buff *xdp,
drivers/net/ethernet/intel/i40e/i40e_xsk.c
208
err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
211
if (xsk_uses_need_wakeup(rx_ring->xsk_pool) && err == -ENOBUFS)
drivers/net/ethernet/intel/i40e/i40e_xsk.c
222
xdp_ring = rx_ring->vsi->xdp_rings[rx_ring->queue_index];
drivers/net/ethernet/intel/i40e/i40e_xsk.c
231
bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
236
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
241
bool i40e_alloc_rx_buffers_zc(struct i40e_ring *rx_ring, u16 count)
drivers/net/ethernet/intel/i40e/i40e_xsk.c
243
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
249
rx_desc = I40E_RX_DESC(rx_ring, ntu);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
250
xdp = i40e_rx_bi(rx_ring, ntu);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
252
nb_buffs = min_t(u16, count, rx_ring->count - ntu);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
253
nb_buffs = xsk_buff_alloc_batch(rx_ring->xsk_pool, xdp, nb_buffs);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
268
if (ntu == rx_ring->count) {
drivers/net/ethernet/intel/i40e/i40e_xsk.c
269
rx_desc = I40E_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
275
i40e_release_rx_desc(rx_ring, ntu);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
289
static struct sk_buff *i40e_construct_skb_zc(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_xsk.c
30
static int i40e_realloc_rx_xdp_bi(struct i40e_ring *rx_ring, bool pool_present)
drivers/net/ethernet/intel/i40e/i40e_xsk.c
305
skb = napi_alloc_skb(&rx_ring->q_vector->napi, totalsize);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
32
size_t elem_size = pool_present ? sizeof(*rx_ring->rx_bi_zc) :
drivers/net/ethernet/intel/i40e/i40e_xsk.c
33
sizeof(*rx_ring->rx_bi);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
34
void *sw_ring = kcalloc(rx_ring->count, elem_size, GFP_KERNEL);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
344
static void i40e_handle_xdp_result_zc(struct i40e_ring *rx_ring,
drivers/net/ethernet/intel/i40e/i40e_xsk.c
375
skb = i40e_construct_skb_zc(rx_ring, xdp_buff);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
377
rx_ring->rx_stats.alloc_buff_failed++;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
389
i40e_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
390
napi_gro_receive(&rx_ring->q_vector->napi, skb);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
40
kfree(rx_ring->rx_bi);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
406
int i40e_clean_rx_irq_zc(struct i40e_ring *rx_ring, int budget)
drivers/net/ethernet/intel/i40e/i40e_xsk.c
409
u16 next_to_process = rx_ring->next_to_process;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
41
rx_ring->rx_bi = NULL;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
410
u16 next_to_clean = rx_ring->next_to_clean;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
413
u32 count = rx_ring->count;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
419
first = *i40e_rx_bi(rx_ring, next_to_clean);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
42
rx_ring->rx_bi_zc = sw_ring;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
424
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
434
rx_desc = I40E_RX_DESC(rx_ring, next_to_process);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
44
kfree(rx_ring->rx_bi_zc);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
444
i40e_clean_programming_status(rx_ring,
drivers/net/ethernet/intel/i40e/i40e_xsk.c
447
bi = *i40e_rx_bi(rx_ring, next_to_process);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
45
rx_ring->rx_bi_zc = NULL;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
458
bi = *i40e_rx_bi(rx_ring, next_to_process);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
46
rx_ring->rx_bi = sw_ring;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
472
if (i40e_is_non_eop(rx_ring, rx_desc))
drivers/net/ethernet/intel/i40e/i40e_xsk.c
475
xdp_res = i40e_run_xdp_zc(rx_ring, first, xdp_prog);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
476
i40e_handle_xdp_result_zc(rx_ring, first, rx_desc, &rx_packets,
drivers/net/ethernet/intel/i40e/i40e_xsk.c
487
rx_ring->next_to_clean = next_to_clean;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
488
rx_ring->next_to_process = next_to_process;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
490
entries_to_alloc = I40E_DESC_UNUSED(rx_ring);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
492
failure |= !i40e_alloc_rx_buffers_zc(rx_ring, entries_to_alloc);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
494
i40e_finalize_xdp_rx(rx_ring, xdp_xmit);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
495
i40e_update_rx_stats(rx_ring, total_rx_bytes, total_rx_packets);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
497
if (xsk_uses_need_wakeup(rx_ring->xsk_pool)) {
drivers/net/ethernet/intel/i40e/i40e_xsk.c
498
if (failure || next_to_clean == rx_ring->next_to_use)
drivers/net/ethernet/intel/i40e/i40e_xsk.c
499
xsk_set_rx_need_wakeup(rx_ring->xsk_pool);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
501
xsk_clear_rx_need_wakeup(rx_ring->xsk_pool);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
62
struct i40e_ring *rx_ring;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
66
rx_ring = vsi->rx_rings[q];
drivers/net/ethernet/intel/i40e/i40e_xsk.c
67
if (i40e_realloc_rx_xdp_bi(rx_ring, zc))
drivers/net/ethernet/intel/i40e/i40e_xsk.c
727
void i40e_xsk_clean_rx_ring(struct i40e_ring *rx_ring)
drivers/net/ethernet/intel/i40e/i40e_xsk.c
729
u16 ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
730
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/i40e/i40e_xsk.c
733
struct xdp_buff *rx_bi = *i40e_rx_bi(rx_ring, ntc);
drivers/net/ethernet/intel/i40e/i40e_xsk.c
737
if (ntc >= rx_ring->count)
drivers/net/ethernet/intel/i40e/i40e_xsk.h
26
bool i40e_alloc_rx_buffers_zc(struct i40e_ring *rx_ring, u16 cleaned_count);
drivers/net/ethernet/intel/i40e/i40e_xsk.h
27
int i40e_clean_rx_irq_zc(struct i40e_ring *rx_ring, int budget);
drivers/net/ethernet/intel/i40e/i40e_xsk.h
32
void i40e_clear_rx_bi_zc(struct i40e_ring *rx_ring);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
351
struct iavf_ring *tx_ring = NULL, *rx_ring = NULL;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
355
rx_ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
359
iavf_add_queue_stats(&data, rx_ring);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
559
struct iavf_ring *rx_ring, *tx_ring;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
569
rx_ring = &adapter->rx_rings[queue];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
572
if (ITR_IS_DYNAMIC(rx_ring->itr_setting))
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
578
ec->rx_coalesce_usecs = rx_ring->itr_setting & ~IAVF_ITR_DYNAMIC;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
629
struct iavf_ring *rx_ring = &adapter->rx_rings[queue];
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
634
itr_setting = rx_ring->itr_setting & ~IAVF_ITR_DYNAMIC;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
652
rx_ring->itr_setting = ITR_REG_ALIGN(ec->rx_coalesce_usecs);
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
655
rx_ring->itr_setting |= IAVF_ITR_DYNAMIC;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
657
rx_ring->itr_setting ^= IAVF_ITR_DYNAMIC;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
663
q_vector = rx_ring->q_vector;
drivers/net/ethernet/intel/iavf/iavf_ethtool.c
664
q_vector->rx.target_itr = ITR_TO_REG(rx_ring->itr_setting);
drivers/net/ethernet/intel/iavf/iavf_main.c
1473
struct iavf_ring *rx_ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_main.c
1479
rx_ring->flags &=
drivers/net/ethernet/intel/iavf/iavf_main.c
1485
rx_ring->flags |= IAVF_TXRX_FLAGS_VLAN_TAG_LOC_L2TAG1;
drivers/net/ethernet/intel/iavf/iavf_main.c
1498
rx_ring->flags |=
drivers/net/ethernet/intel/iavf/iavf_main.c
1502
rx_ring->flags |=
drivers/net/ethernet/intel/iavf/iavf_main.c
1507
rx_ring->flags |=
drivers/net/ethernet/intel/iavf/iavf_main.c
1511
rx_ring->flags |=
drivers/net/ethernet/intel/iavf/iavf_main.c
1575
struct iavf_ring *rx_ring;
drivers/net/ethernet/intel/iavf/iavf_main.c
1587
rx_ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_main.c
1588
rx_ring->queue_index = i;
drivers/net/ethernet/intel/iavf/iavf_main.c
1589
rx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/iavf/iavf_main.c
1590
rx_ring->count = adapter->rx_desc_count;
drivers/net/ethernet/intel/iavf/iavf_main.c
1591
rx_ring->itr_setting = IAVF_ITR_RX_DEF;
drivers/net/ethernet/intel/iavf/iavf_main.c
432
struct iavf_ring *rx_ring = &adapter->rx_rings[r_idx];
drivers/net/ethernet/intel/iavf/iavf_main.c
435
rx_ring->q_vector = q_vector;
drivers/net/ethernet/intel/iavf/iavf_main.c
436
rx_ring->next = q_vector->rx.ring;
drivers/net/ethernet/intel/iavf/iavf_main.c
437
rx_ring->vsi = &adapter->vsi;
drivers/net/ethernet/intel/iavf/iavf_main.c
438
q_vector->rx.ring = rx_ring;
drivers/net/ethernet/intel/iavf/iavf_main.c
441
q_vector->rx.target_itr = ITR_TO_REG(rx_ring->itr_setting);
drivers/net/ethernet/intel/iavf/iavf_ptp.c
370
struct iavf_ring *rx_ring = &adapter->rx_rings[i];
drivers/net/ethernet/intel/iavf/iavf_ptp.c
372
rx_ring->ptp = &adapter->ptp;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1092
static void iavf_flex_rx_tstamp(const struct iavf_ring *rx_ring, __le64 qw2,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1099
if (!(rx_ring->flags & IAVF_TXRX_FLAGS_HW_TSTAMP))
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1111
ns = iavf_ptp_extend_32b_timestamp(rx_ring->ptp->cached_phc_time,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1131
static void iavf_process_skb_fields(const struct iavf_ring *rx_ring,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1146
iavf_flex_rx_hash(rx_ring, qw1, skb, decoded_pt);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1147
iavf_flex_rx_tstamp(rx_ring, qw2, qw3, skb);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1148
csum_bits = iavf_flex_rx_csum(rx_ring->vsi, le64_to_cpu(qw1),
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1151
iavf_legacy_rx_hash(rx_ring, qw0, qw1, skb, decoded_pt);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1152
csum_bits = iavf_legacy_rx_csum(rx_ring->vsi, le64_to_cpu(qw1),
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1155
iavf_rx_csum(rx_ring->vsi, skb, decoded_pt, csum_bits);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1157
skb_record_rx_queue(skb, rx_ring->queue_index);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1160
skb->protocol = eth_type_trans(skb, rx_ring->netdev);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1176
static bool iavf_cleanup_headers(struct iavf_ring *rx_ring, struct sk_buff *skb)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1251
static bool iavf_is_non_eop(struct iavf_ring *rx_ring,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1254
u32 ntc = rx_ring->next_to_clean + 1;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1257
ntc = (ntc < rx_ring->count) ? ntc : 0;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1258
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1260
prefetch(IAVF_RX_DESC(rx_ring, ntc));
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1266
rx_ring->rx_stats.non_eop_descs++;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1285
iavf_extract_legacy_rx_fields(const struct iavf_ring *rx_ring,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1304
if (rx_ring->flags & IAVF_TXRX_FLAGS_VLAN_TAG_LOC_L2TAG1) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1308
} else if (rx_ring->flags & IAVF_RXR_FLAGS_VLAN_TAG_LOC_L2TAG2_2) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1331
iavf_extract_flex_rx_fields(const struct iavf_ring *rx_ring,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1350
if (rx_ring->flags & IAVF_TXRX_FLAGS_VLAN_TAG_LOC_L2TAG1) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1354
} else if (rx_ring->flags & IAVF_RXR_FLAGS_VLAN_TAG_LOC_L2TAG2_2) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1364
iavf_extract_rx_fields(const struct iavf_ring *rx_ring,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1369
return iavf_extract_flex_rx_fields(rx_ring, rx_desc);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1371
return iavf_extract_legacy_rx_fields(rx_ring, rx_desc);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1386
static int iavf_clean_rx_irq(struct iavf_ring *rx_ring, int budget)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1388
bool flex = rx_ring->rxdid == VIRTCHNL_RXDID_2_FLEX_SQ_NIC;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1390
struct sk_buff *skb = rx_ring->skb;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1391
u16 cleaned_count = IAVF_DESC_UNUSED(rx_ring);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1403
iavf_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1407
rx_desc = IAVF_RX_DESC(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1422
fields = iavf_extract_rx_fields(rx_ring, rx_desc, flex);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1424
iavf_trace(clean_rx_irq, rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1426
rx_buffer = &rx_ring->rx_fqes[rx_ring->next_to_clean];
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1438
rx_ring->rx_stats.alloc_buff_failed++;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1445
if (iavf_is_non_eop(rx_ring, fields) || unlikely(!skb))
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1458
if (iavf_cleanup_headers(rx_ring, skb)) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1467
iavf_process_skb_fields(rx_ring, rx_desc, skb, fields.ptype, flex);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1469
iavf_trace(clean_rx_irq_rx, rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1470
iavf_receive_skb(rx_ring, skb, fields.vlan);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1477
rx_ring->skb = skb;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1479
u64_stats_update_begin(&rx_ring->syncp);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1480
rx_ring->stats.packets += total_rx_packets;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1481
rx_ring->stats.bytes += total_rx_bytes;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1482
u64_stats_update_end(&rx_ring->syncp);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1483
rx_ring->q_vector->rx.total_packets += total_rx_packets;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
1484
rx_ring->q_vector->rx.total_bytes += total_rx_bytes;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
711
static void iavf_clean_rx_ring(struct iavf_ring *rx_ring)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
714
if (!rx_ring->rx_fqes)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
717
if (rx_ring->skb) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
718
dev_kfree_skb(rx_ring->skb);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
719
rx_ring->skb = NULL;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
723
for (u32 i = rx_ring->next_to_clean; i != rx_ring->next_to_use; ) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
724
const struct libeth_fqe *rx_fqes = &rx_ring->rx_fqes[i];
drivers/net/ethernet/intel/iavf/iavf_txrx.c
728
if (unlikely(++i == rx_ring->count))
drivers/net/ethernet/intel/iavf/iavf_txrx.c
732
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
733
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
742
void iavf_free_rx_resources(struct iavf_ring *rx_ring)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
745
.fqes = rx_ring->rx_fqes,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
746
.pp = rx_ring->pp,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
749
iavf_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
751
if (rx_ring->desc) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
752
dma_free_coherent(rx_ring->pp->p.dev, rx_ring->size,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
753
rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
754
rx_ring->desc = NULL;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
758
rx_ring->rx_fqes = NULL;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
759
rx_ring->pp = NULL;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
768
int iavf_setup_rx_descriptors(struct iavf_ring *rx_ring)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
771
.count = rx_ring->count,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
777
ret = libeth_rx_fq_create(&fq, &rx_ring->q_vector->napi);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
781
rx_ring->pp = fq.pp;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
782
rx_ring->rx_fqes = fq.fqes;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
783
rx_ring->truesize = fq.truesize;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
784
rx_ring->rx_buf_len = fq.buf_len;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
786
u64_stats_init(&rx_ring->syncp);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
789
rx_ring->size = rx_ring->count * sizeof(struct iavf_rx_desc);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
790
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
791
rx_ring->desc = dma_alloc_coherent(fq.pp->p.dev, rx_ring->size,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
792
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
794
if (!rx_ring->desc) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
796
rx_ring->size);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
800
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
801
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
807
rx_ring->rx_fqes = NULL;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
808
rx_ring->pp = NULL;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
818
static void iavf_release_rx_desc(struct iavf_ring *rx_ring, u32 val)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
820
rx_ring->next_to_use = val;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
828
writel(val, rx_ring->tail);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
837
static void iavf_receive_skb(struct iavf_ring *rx_ring,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
840
struct iavf_q_vector *q_vector = rx_ring->q_vector;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
842
if ((rx_ring->netdev->features & NETIF_F_HW_VLAN_CTAG_RX) &&
drivers/net/ethernet/intel/iavf/iavf_txrx.c
845
else if ((rx_ring->netdev->features & NETIF_F_HW_VLAN_STAG_RX) &&
drivers/net/ethernet/intel/iavf/iavf_txrx.c
859
bool iavf_alloc_rx_buffers(struct iavf_ring *rx_ring, u16 cleaned_count)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
862
.pp = rx_ring->pp,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
863
.fqes = rx_ring->rx_fqes,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
864
.truesize = rx_ring->truesize,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
865
.count = rx_ring->count,
drivers/net/ethernet/intel/iavf/iavf_txrx.c
867
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/iavf/iavf_txrx.c
871
if (!rx_ring->netdev || !cleaned_count)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
874
rx_desc = IAVF_RX_DESC(rx_ring, ntu);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
890
if (unlikely(ntu == rx_ring->count)) {
drivers/net/ethernet/intel/iavf/iavf_txrx.c
891
rx_desc = IAVF_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
901
if (rx_ring->next_to_use != ntu)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
902
iavf_release_rx_desc(rx_ring, ntu);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
907
if (rx_ring->next_to_use != ntu)
drivers/net/ethernet/intel/iavf/iavf_txrx.c
908
iavf_release_rx_desc(rx_ring, ntu);
drivers/net/ethernet/intel/iavf/iavf_txrx.c
910
rx_ring->rx_stats.alloc_page_failed++;
drivers/net/ethernet/intel/iavf/iavf_txrx.h
315
int iavf_setup_rx_descriptors(struct iavf_ring *rx_ring);
drivers/net/ethernet/intel/iavf/iavf_txrx.h
317
void iavf_free_rx_resources(struct iavf_ring *rx_ring);
drivers/net/ethernet/intel/ice/ice_base.c
1441
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_base.c
1449
rx_ring = vsi->rx_rings[q_idx];
drivers/net/ethernet/intel/ice/ice_base.c
1450
q_vector = rx_ring->q_vector;
drivers/net/ethernet/intel/ice/ice_base.c
1456
ice_qvec_dis_irq(vsi, rx_ring, q_vector);
drivers/net/ethernet/intel/ice/ice_base.c
183
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_base.c
196
ice_for_each_rx_ring(rx_ring, vsi->q_vectors[v_idx]->rx)
drivers/net/ethernet/intel/ice/ice_base.c
197
rx_ring->q_vector = NULL;
drivers/net/ethernet/intel/ice/ice_base.c
964
q_vector->rx.rx_ring = NULL;
drivers/net/ethernet/intel/ice/ice_base.c
969
struct ice_rx_ring *rx_ring = vsi->rx_rings[q_id];
drivers/net/ethernet/intel/ice/ice_base.c
971
rx_ring->q_vector = q_vector;
drivers/net/ethernet/intel/ice/ice_base.c
972
rx_ring->next = q_vector->rx.rx_ring;
drivers/net/ethernet/intel/ice/ice_base.c
973
q_vector->rx.rx_ring = rx_ring;
drivers/net/ethernet/intel/ice/ice_dcb_lib.c
219
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_dcb_lib.c
230
rx_ring = vsi->rx_rings[i];
drivers/net/ethernet/intel/ice/ice_dcb_lib.c
231
rx_ring->dcb_tc = 0;
drivers/net/ethernet/intel/ice/ice_eswitch.c
622
struct net_device *ice_eswitch_get_target(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_eswitch.c
625
struct ice_eswitch *eswitch = &rx_ring->vsi->back->eswitch;
drivers/net/ethernet/intel/ice/ice_eswitch.c
632
return rx_ring->netdev;
drivers/net/ethernet/intel/ice/ice_eswitch.h
30
struct net_device *ice_eswitch_get_target(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_eswitch.h
87
ice_eswitch_get_target(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_eswitch.h
90
return rx_ring->netdev;
drivers/net/ethernet/intel/ice/ice_ethtool.c
1232
static int ice_lbtest_receive_frames(struct ice_rx_ring *rx_ring)
drivers/net/ethernet/intel/ice/ice_ethtool.c
1241
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/ice/ice_ethtool.c
1244
rx_desc = ICE_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/ice/ice_ethtool.c
1251
rx_buf = &rx_ring->rx_fqes[i];
drivers/net/ethernet/intel/ice/ice_ethtool.c
1278
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_ethtool.c
1291
rx_ring = test_vsi->rx_rings[0];
drivers/net/ethernet/intel/ice/ice_ethtool.c
1295
rx_ring->q_vector->napi.dev = netdev;
drivers/net/ethernet/intel/ice/ice_ethtool.c
1302
if (ice_alloc_rx_bufs(rx_ring, rx_ring->count)) {
drivers/net/ethernet/intel/ice/ice_ethtool.c
1333
valid_frames = ice_lbtest_receive_frames(rx_ring);
drivers/net/ethernet/intel/ice/ice_ethtool.c
1928
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_ethtool.c
1975
rx_ring = READ_ONCE(vsi->rx_rings[j]);
drivers/net/ethernet/intel/ice/ice_ethtool.c
1976
if (!rx_ring || !rx_ring->ring_stats) {
drivers/net/ethernet/intel/ice/ice_ethtool.c
1982
ice_fetch_rx_ring_stats(rx_ring, &pkts, &bytes);
drivers/net/ethernet/intel/ice/ice_ethtool.c
4043
if (!rc->rx_ring)
drivers/net/ethernet/intel/ice/ice_ethtool.c
4050
ec->rx_coalesce_usecs_high = rc->rx_ring->q_vector->intrl;
drivers/net/ethernet/intel/ice/ice_ethtool.c
4057
dev_dbg(ice_pf_to_dev(rc->rx_ring->vsi->back), "Invalid c_type %d\n", rc->type);
drivers/net/ethernet/intel/ice/ice_ethtool.c
4160
if (!rc->rx_ring)
drivers/net/ethernet/intel/ice/ice_ethtool.c
4166
struct ice_q_vector *q_vector = rc->rx_ring->q_vector;
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
1468
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
1473
rx_ring = vsi->rx_rings[q_index];
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
1474
if (!rx_ring || !rx_ring->ch)
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
1478
atomic_inc(&rx_ring->ch->num_sb_fltr);
drivers/net/ethernet/intel/ice/ice_ethtool_fdir.c
1480
atomic_dec_if_positive(&rx_ring->ch->num_sb_fltr);
drivers/net/ethernet/intel/ice/ice_lib.c
1362
q_vector->rx.rx_ring = NULL;
drivers/net/ethernet/intel/ice/ice_lib.c
1838
if (rc->rx_ring)
drivers/net/ethernet/intel/ice/ice_lib.c
1839
return rc->rx_ring->q_vector;
drivers/net/ethernet/intel/ice/ice_lib.c
3459
void ice_update_rx_ring_stats(struct ice_rx_ring *rx_ring, u64 pkts, u64 bytes)
drivers/net/ethernet/intel/ice/ice_lib.c
3461
u64_stats_update_begin(&rx_ring->ring_stats->syncp);
drivers/net/ethernet/intel/ice/ice_lib.c
3462
u64_stats_add(&rx_ring->ring_stats->pkts, pkts);
drivers/net/ethernet/intel/ice/ice_lib.c
3463
u64_stats_add(&rx_ring->ring_stats->bytes, bytes);
drivers/net/ethernet/intel/ice/ice_lib.c
3464
u64_stats_update_end(&rx_ring->ring_stats->syncp);
drivers/net/ethernet/intel/ice/ice_lib.c
491
ice_clean_ctrl_rx_irq(q_vector->rx.rx_ring);
drivers/net/ethernet/intel/ice/ice_lib.c
506
if (!q_vector->tx.tx_ring && !q_vector->rx.rx_ring)
drivers/net/ethernet/intel/ice/ice_main.c
2549
if (q_vector->tx.tx_ring && q_vector->rx.rx_ring) {
drivers/net/ethernet/intel/ice/ice_main.c
2553
} else if (q_vector->rx.rx_ring) {
drivers/net/ethernet/intel/ice/ice_main.c
2923
struct ice_rx_ring *rx_ring = vsi->rx_rings[i];
drivers/net/ethernet/intel/ice/ice_main.c
2925
if (READ_ONCE(rx_ring->xsk_pool))
drivers/net/ethernet/intel/ice/ice_main.c
2926
napi_schedule(&rx_ring->q_vector->napi);
drivers/net/ethernet/intel/ice/ice_main.c
6766
if (q_vector->rx.rx_ring || q_vector->tx.tx_ring)
drivers/net/ethernet/intel/ice/ice_main.c
7265
if (q_vector->rx.rx_ring || q_vector->tx.tx_ring)
drivers/net/ethernet/intel/ice/ice_main.c
8689
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_main.c
8692
rx_ring = vsi->rx_rings[ch->base_q + i];
drivers/net/ethernet/intel/ice/ice_main.c
8693
if (!tx_ring || !rx_ring)
drivers/net/ethernet/intel/ice/ice_main.c
8698
rx_ring->ch = ch;
drivers/net/ethernet/intel/ice/ice_main.c
8702
rx_q_vector = rx_ring->q_vector;
drivers/net/ethernet/intel/ice/ice_main.c
8982
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_main.c
8985
rx_ring = vsi->rx_rings[ch->base_q + i];
drivers/net/ethernet/intel/ice/ice_main.c
8991
if (rx_ring) {
drivers/net/ethernet/intel/ice/ice_main.c
8992
rx_ring->ch = NULL;
drivers/net/ethernet/intel/ice/ice_main.c
8993
if (rx_ring->q_vector)
drivers/net/ethernet/intel/ice/ice_main.c
8994
rx_ring->q_vector->ch = NULL;
drivers/net/ethernet/intel/ice/ice_trace.h
68
__string(devname, q_vector->rx.rx_ring->netdev->name)),
drivers/net/ethernet/intel/ice/ice_trace.h
76
__entry->q_vector->rx.rx_ring->q_index,
drivers/net/ethernet/intel/ice/ice_txrx.c
1001
if (!rx_ring->hdr_pp)
drivers/net/ethernet/intel/ice/ice_txrx.c
1009
rx_buf = &rx_ring->hdr_fqes[ntc];
drivers/net/ethernet/intel/ice/ice_txrx.c
1020
rx_buf = &rx_ring->rx_fqes[ntc];
drivers/net/ethernet/intel/ice/ice_txrx.c
1027
if (ice_is_non_eop(rx_ring, rx_desc) || unlikely(!xdp->data))
drivers/net/ethernet/intel/ice/ice_txrx.c
1030
xdp_verdict = ice_run_xdp(rx_ring, xdp, xdp_prog, xdp_ring, rx_desc);
drivers/net/ethernet/intel/ice/ice_txrx.c
1049
ice_stats_inc(rx_ring->ring_stats, rx_buf_failed);
drivers/net/ethernet/intel/ice/ice_txrx.c
1059
ice_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ice/ice_txrx.c
1061
ice_trace(clean_rx_irq_indicate, rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ice/ice_txrx.c
1063
ice_receive_skb(rx_ring, skb, vlan_tci);
drivers/net/ethernet/intel/ice/ice_txrx.c
1069
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/ice/ice_txrx.c
1071
failure = ice_alloc_rx_bufs(rx_ring, ICE_DESC_UNUSED(rx_ring));
drivers/net/ethernet/intel/ice/ice_txrx.c
1076
libeth_xdp_save_buff(&rx_ring->xdp, xdp);
drivers/net/ethernet/intel/ice/ice_txrx.c
1078
if (rx_ring->ring_stats)
drivers/net/ethernet/intel/ice/ice_txrx.c
1079
ice_update_rx_ring_stats(rx_ring, total_rx_pkts,
drivers/net/ethernet/intel/ice/ice_txrx.c
1106
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_txrx.c
1108
ice_for_each_rx_ring(rx_ring, *rc) {
drivers/net/ethernet/intel/ice/ice_txrx.c
1109
if (!rx_ring->ring_stats)
drivers/net/ethernet/intel/ice/ice_txrx.c
1112
ice_fetch_rx_ring_stats(rx_ring, &pkts, &bytes);
drivers/net/ethernet/intel/ice/ice_txrx.c
1271
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_txrx.c
1309
ice_for_each_rx_ring(rx_ring, q_vector->rx) {
drivers/net/ethernet/intel/ice/ice_txrx.c
1310
struct xsk_buff_pool *xsk_pool = READ_ONCE(rx_ring->xsk_pool);
drivers/net/ethernet/intel/ice/ice_txrx.c
1317
cleaned = rx_ring->xsk_pool ?
drivers/net/ethernet/intel/ice/ice_txrx.c
1318
ice_clean_rx_irq_zc(rx_ring, xsk_pool, budget_per_ring) :
drivers/net/ethernet/intel/ice/ice_txrx.c
1319
ice_clean_rx_irq(rx_ring, budget_per_ring);
drivers/net/ethernet/intel/ice/ice_txrx.c
537
void ice_clean_rx_ring(struct ice_rx_ring *rx_ring)
drivers/net/ethernet/intel/ice/ice_txrx.c
541
if (rx_ring->xsk_pool) {
drivers/net/ethernet/intel/ice/ice_txrx.c
542
ice_xsk_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/ice/ice_txrx.c
547
if (!rx_ring->rx_fqes)
drivers/net/ethernet/intel/ice/ice_txrx.c
550
libeth_xdp_return_stash(&rx_ring->xdp);
drivers/net/ethernet/intel/ice/ice_txrx.c
553
for (u32 i = rx_ring->next_to_clean; i != rx_ring->next_to_use; ) {
drivers/net/ethernet/intel/ice/ice_txrx.c
554
libeth_rx_recycle_slow(rx_ring->rx_fqes[i].netmem);
drivers/net/ethernet/intel/ice/ice_txrx.c
556
if (rx_ring->hdr_pp)
drivers/net/ethernet/intel/ice/ice_txrx.c
557
libeth_rx_recycle_slow(rx_ring->hdr_fqes[i].netmem);
drivers/net/ethernet/intel/ice/ice_txrx.c
559
if (unlikely(++i == rx_ring->count))
drivers/net/ethernet/intel/ice/ice_txrx.c
563
if ((rx_ring->vsi->type == ICE_VSI_PF ||
drivers/net/ethernet/intel/ice/ice_txrx.c
564
rx_ring->vsi->type == ICE_VSI_SF ||
drivers/net/ethernet/intel/ice/ice_txrx.c
565
rx_ring->vsi->type == ICE_VSI_LB) &&
drivers/net/ethernet/intel/ice/ice_txrx.c
566
xdp_rxq_info_is_reg(&rx_ring->xdp_rxq)) {
drivers/net/ethernet/intel/ice/ice_txrx.c
567
xdp_rxq_info_detach_mem_model(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/ice/ice_txrx.c
568
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/ice/ice_txrx.c
571
ice_rxq_pp_destroy(rx_ring);
drivers/net/ethernet/intel/ice/ice_txrx.c
575
size = ALIGN(rx_ring->count * sizeof(union ice_32byte_rx_desc),
drivers/net/ethernet/intel/ice/ice_txrx.c
577
memset(rx_ring->desc, 0, size);
drivers/net/ethernet/intel/ice/ice_txrx.c
579
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/ice/ice_txrx.c
580
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/ice/ice_txrx.c
589
void ice_free_rx_ring(struct ice_rx_ring *rx_ring)
drivers/net/ethernet/intel/ice/ice_txrx.c
591
struct device *dev = ice_pf_to_dev(rx_ring->vsi->back);
drivers/net/ethernet/intel/ice/ice_txrx.c
594
ice_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/ice/ice_txrx.c
595
WRITE_ONCE(rx_ring->xdp_prog, NULL);
drivers/net/ethernet/intel/ice/ice_txrx.c
596
if (rx_ring->xsk_pool) {
drivers/net/ethernet/intel/ice/ice_txrx.c
597
kfree(rx_ring->xdp_buf);
drivers/net/ethernet/intel/ice/ice_txrx.c
598
rx_ring->xdp_buf = NULL;
drivers/net/ethernet/intel/ice/ice_txrx.c
601
if (rx_ring->desc) {
drivers/net/ethernet/intel/ice/ice_txrx.c
602
size = ALIGN(rx_ring->count * sizeof(union ice_32byte_rx_desc),
drivers/net/ethernet/intel/ice/ice_txrx.c
604
dmam_free_coherent(dev, size, rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/intel/ice/ice_txrx.c
605
rx_ring->desc = NULL;
drivers/net/ethernet/intel/ice/ice_txrx.c
615
int ice_setup_rx_ring(struct ice_rx_ring *rx_ring)
drivers/net/ethernet/intel/ice/ice_txrx.c
617
struct device *dev = ice_pf_to_dev(rx_ring->vsi->back);
drivers/net/ethernet/intel/ice/ice_txrx.c
621
size = ALIGN(rx_ring->count * sizeof(union ice_32byte_rx_desc),
drivers/net/ethernet/intel/ice/ice_txrx.c
623
rx_ring->desc = dmam_alloc_coherent(dev, size, &rx_ring->dma,
drivers/net/ethernet/intel/ice/ice_txrx.c
625
if (!rx_ring->desc) {
drivers/net/ethernet/intel/ice/ice_txrx.c
631
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/ice/ice_txrx.c
632
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/ice/ice_txrx.c
634
if (ice_is_xdp_ena_vsi(rx_ring->vsi))
drivers/net/ethernet/intel/ice/ice_txrx.c
635
WRITE_ONCE(rx_ring->xdp_prog, rx_ring->vsi->xdp_prog);
drivers/net/ethernet/intel/ice/ice_txrx.c
651
ice_run_xdp(struct ice_rx_ring *rx_ring, struct libeth_xdp_buff *xdp,
drivers/net/ethernet/intel/ice/ice_txrx.c
677
if (xdp_do_redirect(rx_ring->netdev, &xdp->base, xdp_prog))
drivers/net/ethernet/intel/ice/ice_txrx.c
682
bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ice/ice_txrx.c
686
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ice/ice_txrx.c
785
void ice_init_ctrl_rx_descs(struct ice_rx_ring *rx_ring, u32 count)
drivers/net/ethernet/intel/ice/ice_txrx.c
788
u32 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/ice/ice_txrx.c
793
rx_desc = ICE_RX_DESC(rx_ring, ntu);
drivers/net/ethernet/intel/ice/ice_txrx.c
798
if (unlikely(ntu == rx_ring->count)) {
drivers/net/ethernet/intel/ice/ice_txrx.c
799
rx_desc = ICE_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/ice/ice_txrx.c
807
if (rx_ring->next_to_use != ntu)
drivers/net/ethernet/intel/ice/ice_txrx.c
808
ice_release_rx_desc(rx_ring, ntu);
drivers/net/ethernet/intel/ice/ice_txrx.c
824
bool ice_alloc_rx_bufs(struct ice_rx_ring *rx_ring, unsigned int cleaned_count)
drivers/net/ethernet/intel/ice/ice_txrx.c
827
.pp = rx_ring->hdr_pp,
drivers/net/ethernet/intel/ice/ice_txrx.c
828
.fqes = rx_ring->hdr_fqes,
drivers/net/ethernet/intel/ice/ice_txrx.c
829
.truesize = rx_ring->hdr_truesize,
drivers/net/ethernet/intel/ice/ice_txrx.c
830
.count = rx_ring->count,
drivers/net/ethernet/intel/ice/ice_txrx.c
833
.pp = rx_ring->pp,
drivers/net/ethernet/intel/ice/ice_txrx.c
834
.fqes = rx_ring->rx_fqes,
drivers/net/ethernet/intel/ice/ice_txrx.c
835
.truesize = rx_ring->truesize,
drivers/net/ethernet/intel/ice/ice_txrx.c
836
.count = rx_ring->count,
drivers/net/ethernet/intel/ice/ice_txrx.c
839
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/ice/ice_txrx.c
842
if (!rx_ring->netdev || !cleaned_count)
drivers/net/ethernet/intel/ice/ice_txrx.c
846
rx_desc = ICE_RX_DESC(rx_ring, ntu);
drivers/net/ethernet/intel/ice/ice_txrx.c
853
ice_stats_inc(rx_ring->ring_stats, rx_page_failed);
drivers/net/ethernet/intel/ice/ice_txrx.c
867
ice_stats_inc(rx_ring->ring_stats, rx_page_failed);
drivers/net/ethernet/intel/ice/ice_txrx.c
878
if (unlikely(ntu == rx_ring->count)) {
drivers/net/ethernet/intel/ice/ice_txrx.c
879
rx_desc = ICE_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/ice/ice_txrx.c
889
if (rx_ring->next_to_use != ntu)
drivers/net/ethernet/intel/ice/ice_txrx.c
890
ice_release_rx_desc(rx_ring, ntu);
drivers/net/ethernet/intel/ice/ice_txrx.c
902
void ice_clean_ctrl_rx_irq(struct ice_rx_ring *rx_ring)
drivers/net/ethernet/intel/ice/ice_txrx.c
904
u32 ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/ice/ice_txrx.c
906
u32 cnt = rx_ring->count;
drivers/net/ethernet/intel/ice/ice_txrx.c
909
struct ice_vsi *ctrl_vsi = rx_ring->vsi;
drivers/net/ethernet/intel/ice/ice_txrx.c
913
rx_desc = ICE_RX_DESC(rx_ring, ntc);
drivers/net/ethernet/intel/ice/ice_txrx.c
929
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/ice/ice_txrx.c
930
ice_init_ctrl_rx_descs(rx_ring, ICE_DESC_UNUSED(rx_ring));
drivers/net/ethernet/intel/ice/ice_txrx.c
945
static int ice_clean_rx_irq(struct ice_rx_ring *rx_ring, int budget)
drivers/net/ethernet/intel/ice/ice_txrx.c
950
u32 ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/ice/ice_txrx.c
953
u32 cnt = rx_ring->count;
drivers/net/ethernet/intel/ice/ice_txrx.c
957
libeth_xdp_init_buff(xdp, &rx_ring->xdp, &rx_ring->xdp_rxq);
drivers/net/ethernet/intel/ice/ice_txrx.c
959
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/ice/ice_txrx.c
961
xdp_ring = rx_ring->xdp_ring;
drivers/net/ethernet/intel/ice/ice_txrx.c
976
rx_desc = ICE_RX_DESC(rx_ring, ntc);
drivers/net/ethernet/intel/ice/ice_txrx.c
994
ice_trace(clean_rx_irq, rx_ring, rx_desc);
drivers/net/ethernet/intel/ice/ice_txrx.h
412
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_txrx.h
441
for (pos = (head).rx_ring; pos; pos = pos->next)
drivers/net/ethernet/intel/ice/ice_txrx.h
453
void ice_init_ctrl_rx_descs(struct ice_rx_ring *rx_ring, u32 num_descs);
drivers/net/ethernet/intel/ice/ice_txrx.h
461
void ice_clean_rx_ring(struct ice_rx_ring *rx_ring);
drivers/net/ethernet/intel/ice/ice_txrx.h
463
int ice_setup_rx_ring(struct ice_rx_ring *rx_ring);
drivers/net/ethernet/intel/ice/ice_txrx.h
466
void ice_free_rx_ring(struct ice_rx_ring *rx_ring);
drivers/net/ethernet/intel/ice/ice_txrx.h
472
void ice_clean_ctrl_rx_irq(struct ice_rx_ring *rx_ring);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
17
void ice_release_rx_desc(struct ice_rx_ring *rx_ring, u16 val)
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
186
ice_ptp_rx_hwts_to_skb(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
19
u16 prev_ntu = rx_ring->next_to_use & ~0x7;
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
190
u64 ts_ns = ice_ptp_get_rx_hwts(rx_desc, &rx_ring->pkt_ctx);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
21
rx_ring->next_to_use = val;
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
216
ice_process_skb_fields(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
222
ice_rx_hash_to_skb(rx_ring, rx_desc, skb, ptype);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
225
if (unlikely(rx_ring->flags & ICE_RX_FLAGS_MULTIDEV)) {
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
226
struct net_device *netdev = ice_eswitch_get_target(rx_ring,
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
239
ice_rx_csum(rx_ring, skb, rx_desc, ptype);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
241
if (rx_ring->ptp_rx)
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
242
ice_ptp_rx_hwts_to_skb(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
255
ice_receive_skb(struct ice_rx_ring *rx_ring, struct sk_buff *skb, u16 vlan_tci)
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
257
if ((vlan_tci & VLAN_VID_MASK) && rx_ring->vlan_proto)
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
258
__vlan_hwaccel_put_tag(skb, rx_ring->vlan_proto,
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
261
napi_gro_receive(&rx_ring->q_vector->napi, skb);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
36
writel(val, rx_ring->tail);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
526
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
528
rx_ring = libeth_xdp_buff_to_rq(xdp_ext, typeof(*rx_ring), xdp_rxq);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
531
&rx_ring->pkt_ctx);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
582
struct ice_rx_ring *rx_ring;
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
584
rx_ring = libeth_xdp_buff_to_rq(xdp_ext, typeof(*rx_ring), xdp_rxq);
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
586
*vlan_proto = rx_ring->pkt_ctx.vlan_proto;
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
65
ice_rx_hash_to_skb(const struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_txrx_lib.c
73
if (!libeth_rx_pt_has_hash(rx_ring->netdev, decoded))
drivers/net/ethernet/intel/ice/ice_txrx_lib.h
130
void ice_release_rx_desc(struct ice_rx_ring *rx_ring, u16 val);
drivers/net/ethernet/intel/ice/ice_txrx_lib.h
132
ice_process_skb_fields(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_txrx_lib.h
136
ice_receive_skb(struct ice_rx_ring *rx_ring, struct sk_buff *skb, u16 vlan_tci);
drivers/net/ethernet/intel/ice/ice_txrx_lib.h
33
ice_is_non_eop(const struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_txrx_lib.h
41
ice_stats_inc(rx_ring->ring_stats, rx_non_eop_descs);
drivers/net/ethernet/intel/ice/ice_xsk.c
17
static struct xdp_buff **ice_xdp_buf(struct ice_rx_ring *rx_ring, u32 idx)
drivers/net/ethernet/intel/ice/ice_xsk.c
174
ice_realloc_rx_xdp_bufs(struct ice_rx_ring *rx_ring, bool pool_present)
drivers/net/ethernet/intel/ice/ice_xsk.c
177
rx_ring->xdp_buf = kzalloc_objs(*rx_ring->xdp_buf,
drivers/net/ethernet/intel/ice/ice_xsk.c
178
rx_ring->count);
drivers/net/ethernet/intel/ice/ice_xsk.c
179
if (!rx_ring->xdp_buf)
drivers/net/ethernet/intel/ice/ice_xsk.c
182
kfree(rx_ring->xdp_buf);
drivers/net/ethernet/intel/ice/ice_xsk.c
183
rx_ring->xdp_buf = NULL;
drivers/net/ethernet/intel/ice/ice_xsk.c
19
return &rx_ring->xdp_buf[idx];
drivers/net/ethernet/intel/ice/ice_xsk.c
199
struct ice_rx_ring *rx_ring = vsi->rx_rings[qid];
drivers/net/ethernet/intel/ice/ice_xsk.c
219
ret = ice_realloc_rx_xdp_bufs(rx_ring, pool_present);
drivers/net/ethernet/intel/ice/ice_xsk.c
292
static bool __ice_alloc_rx_bufs_zc(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.c
297
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/ice/ice_xsk.c
301
rx_desc = ICE_RX_DESC(rx_ring, ntu);
drivers/net/ethernet/intel/ice/ice_xsk.c
302
xdp = ice_xdp_buf(rx_ring, ntu);
drivers/net/ethernet/intel/ice/ice_xsk.c
304
if (ntu + count >= rx_ring->count) {
drivers/net/ethernet/intel/ice/ice_xsk.c
306
rx_ring->count - ntu);
drivers/net/ethernet/intel/ice/ice_xsk.c
307
if (nb_buffs_extra != rx_ring->count - ntu) {
drivers/net/ethernet/intel/ice/ice_xsk.c
311
rx_desc = ICE_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/ice/ice_xsk.c
312
xdp = ice_xdp_buf(rx_ring, 0);
drivers/net/ethernet/intel/ice/ice_xsk.c
315
ice_release_rx_desc(rx_ring, 0);
drivers/net/ethernet/intel/ice/ice_xsk.c
321
if (ntu == rx_ring->count)
drivers/net/ethernet/intel/ice/ice_xsk.c
325
if (rx_ring->next_to_use != ntu)
drivers/net/ethernet/intel/ice/ice_xsk.c
326
ice_release_rx_desc(rx_ring, ntu);
drivers/net/ethernet/intel/ice/ice_xsk.c
342
bool ice_alloc_rx_bufs_zc(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.c
345
u16 rx_thresh = ICE_RING_QUARTER(rx_ring);
drivers/net/ethernet/intel/ice/ice_xsk.c
352
if (!__ice_alloc_rx_bufs_zc(rx_ring, xsk_pool, rx_thresh))
drivers/net/ethernet/intel/ice/ice_xsk.c
354
return __ice_alloc_rx_bufs_zc(rx_ring, xsk_pool, leftover);
drivers/net/ethernet/intel/ice/ice_xsk.c
48
ice_qvec_dis_irq(struct ice_vsi *vsi, struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.c
515
ice_run_xdp_zc(struct ice_rx_ring *rx_ring, struct xdp_buff *xdp,
drivers/net/ethernet/intel/ice/ice_xsk.c
525
err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog);
drivers/net/ethernet/intel/ice/ice_xsk.c
547
bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ice/ice_xsk.c
552
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ice/ice_xsk.c
567
int ice_clean_rx_irq_zc(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.c
571
struct xdp_buff *first = (struct xdp_buff *)rx_ring->xsk;
drivers/net/ethernet/intel/ice/ice_xsk.c
573
u32 ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/ice/ice_xsk.c
574
u32 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/ice/ice_xsk.c
578
u32 cnt = rx_ring->count;
drivers/net/ethernet/intel/ice/ice_xsk.c
585
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/ice/ice_xsk.c
586
xdp_ring = rx_ring->xdp_ring;
drivers/net/ethernet/intel/ice/ice_xsk.c
59
reg = rx_ring->reg_idx;
drivers/net/ethernet/intel/ice/ice_xsk.c
596
rx_desc = ICE_RX_DESC(rx_ring, ntc);
drivers/net/ethernet/intel/ice/ice_xsk.c
611
xdp = *ice_xdp_buf(rx_ring, ntc);
drivers/net/ethernet/intel/ice/ice_xsk.c
629
if (ice_is_non_eop(rx_ring, rx_desc) || unlikely(!first))
drivers/net/ethernet/intel/ice/ice_xsk.c
634
xdp_res = ice_run_xdp_zc(rx_ring, first, xdp_prog, xdp_ring,
drivers/net/ethernet/intel/ice/ice_xsk.c
661
ice_stats_inc(rx_ring->ring_stats, rx_buf_failed);
drivers/net/ethernet/intel/ice/ice_xsk.c
672
ice_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ice/ice_xsk.c
673
ice_receive_skb(rx_ring, skb, vlan_tci);
drivers/net/ethernet/intel/ice/ice_xsk.c
676
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/ice/ice_xsk.c
677
rx_ring->xsk = (struct libeth_xdp_buff *)first;
drivers/net/ethernet/intel/ice/ice_xsk.c
679
entries_to_alloc = ICE_DESC_UNUSED(rx_ring);
drivers/net/ethernet/intel/ice/ice_xsk.c
680
if (entries_to_alloc > ICE_RING_QUARTER(rx_ring))
drivers/net/ethernet/intel/ice/ice_xsk.c
681
failure |= !ice_alloc_rx_bufs_zc(rx_ring, xsk_pool,
drivers/net/ethernet/intel/ice/ice_xsk.c
685
ice_update_rx_ring_stats(rx_ring, total_rx_packets, total_rx_bytes);
drivers/net/ethernet/intel/ice/ice_xsk.c
691
if (failure || ntc == rx_ring->next_to_use)
drivers/net/ethernet/intel/ice/ice_xsk.c
897
void ice_xsk_clean_rx_ring(struct ice_rx_ring *rx_ring)
drivers/net/ethernet/intel/ice/ice_xsk.c
899
u16 ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/ice/ice_xsk.c
900
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/ice/ice_xsk.c
902
if (xdp_rxq_info_is_reg(&rx_ring->xdp_rxq))
drivers/net/ethernet/intel/ice/ice_xsk.c
903
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/ice/ice_xsk.c
906
struct xdp_buff *xdp = *ice_xdp_buf(rx_ring, ntc);
drivers/net/ethernet/intel/ice/ice_xsk.c
910
if (ntc >= rx_ring->count)
drivers/net/ethernet/intel/ice/ice_xsk.h
15
int ice_clean_rx_irq_zc(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.h
19
bool ice_alloc_rx_bufs_zc(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.h
22
void ice_xsk_clean_rx_ring(struct ice_rx_ring *rx_ring);
drivers/net/ethernet/intel/ice/ice_xsk.h
25
int ice_realloc_rx_xdp_bufs(struct ice_rx_ring *rx_ring, bool pool_present);
drivers/net/ethernet/intel/ice/ice_xsk.h
31
void ice_qvec_dis_irq(struct ice_vsi *vsi, struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.h
49
ice_clean_rx_irq_zc(struct ice_rx_ring __always_unused *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.h
57
ice_alloc_rx_bufs_zc(struct ice_rx_ring __always_unused *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.h
76
static inline void ice_xsk_clean_rx_ring(struct ice_rx_ring *rx_ring) { }
drivers/net/ethernet/intel/ice/ice_xsk.h
80
ice_realloc_rx_xdp_bufs(struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/ice/ice_xsk.h
98
ice_qvec_dis_irq(struct ice_vsi *vsi, struct ice_rx_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb.h
569
struct igb_ring *rx_ring[16];
drivers/net/ethernet/intel/igb/igb.h
745
void igb_clean_rx_ring(struct igb_ring *rx_ring);
drivers/net/ethernet/intel/igb/igb.h
756
void igb_process_skb_fields(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb.h
864
bool igb_alloc_rx_buffers_zc(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb.h
866
void igb_clean_rx_ring_zc(struct igb_ring *rx_ring);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1565
struct igb_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1584
rx_ring->count = IGB_DEFAULT_RXD;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1585
rx_ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1586
rx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1587
rx_ring->reg_idx = adapter->vfs_allocated_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1589
if (igb_setup_rx_resources(rx_ring)) {
drivers/net/ethernet/intel/igb/igb_ethtool.c
1599
igb_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1601
igb_alloc_rx_buffers(rx_ring, igb_desc_unused(rx_ring));
drivers/net/ethernet/intel/igb/igb_ethtool.c
1818
static int igb_clean_test_rings(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1828
rx_ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1830
rx_desc = IGB_RX_DESC(rx_ring, rx_ntc);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1834
rx_buffer_info = &rx_ring->rx_buffer_info[rx_ntc];
drivers/net/ethernet/intel/igb/igb_ethtool.c
1837
dma_sync_single_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1847
dma_sync_single_for_device(rx_ring->dev,
drivers/net/ethernet/intel/igb/igb_ethtool.c
1867
if (rx_ntc == rx_ring->count)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1874
rx_desc = IGB_RX_DESC(rx_ring, rx_ntc);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1880
igb_alloc_rx_buffers(rx_ring, count);
drivers/net/ethernet/intel/igb/igb_ethtool.c
1881
rx_ring->next_to_clean = rx_ntc;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1890
struct igb_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1911
if (rx_ring->count <= tx_ring->count)
drivers/net/ethernet/intel/igb/igb_ethtool.c
1914
lc = ((rx_ring->count / 64) * 2) + 1;
drivers/net/ethernet/intel/igb/igb_ethtool.c
1936
good_cnt = igb_clean_test_rings(rx_ring, tx_ring, size);
drivers/net/ethernet/intel/igb/igb_ethtool.c
2330
ring = adapter->rx_ring[j];
drivers/net/ethernet/intel/igb/igb_ethtool.c
436
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_ethtool.c
916
adapter->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/igb/igb_ethtool.c
968
memcpy(&temp_ring[i], adapter->rx_ring[i],
drivers/net/ethernet/intel/igb/igb_ethtool.c
984
igb_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_ethtool.c
986
memcpy(adapter->rx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/igb/igb_main.c
1013
adapter->rx_ring[q_vector->rx.ring->queue_index] = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
1291
adapter->rx_ring[rxr_idx] = ring;
drivers/net/ethernet/intel/igb/igb_main.c
1997
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
2900
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
2919
(void)xchg(&adapter->rx_ring[i]->xdp_prog,
drivers/net/ethernet/intel/igb/igb_main.c
328
struct igb_ring *rx_ring;
drivers/net/ethernet/intel/igb/igb_main.c
433
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/igb/igb_main.c
435
n, rx_ring->next_to_use, rx_ring->next_to_clean);
drivers/net/ethernet/intel/igb/igb_main.c
4443
int igb_setup_rx_resources(struct igb_ring *rx_ring)
drivers/net/ethernet/intel/igb/igb_main.c
4445
struct igb_adapter *adapter = netdev_priv(rx_ring->netdev);
drivers/net/ethernet/intel/igb/igb_main.c
4446
struct device *dev = rx_ring->dev;
drivers/net/ethernet/intel/igb/igb_main.c
4450
if (xdp_rxq_info_is_reg(&rx_ring->xdp_rxq))
drivers/net/ethernet/intel/igb/igb_main.c
4451
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/igb/igb_main.c
4452
res = xdp_rxq_info_reg(&rx_ring->xdp_rxq, rx_ring->netdev,
drivers/net/ethernet/intel/igb/igb_main.c
4453
rx_ring->queue_index, 0);
drivers/net/ethernet/intel/igb/igb_main.c
4456
rx_ring->queue_index);
drivers/net/ethernet/intel/igb/igb_main.c
4460
size = sizeof(struct igb_rx_buffer) * rx_ring->count;
drivers/net/ethernet/intel/igb/igb_main.c
4462
rx_ring->rx_buffer_info = vmalloc(size);
drivers/net/ethernet/intel/igb/igb_main.c
4463
if (!rx_ring->rx_buffer_info)
drivers/net/ethernet/intel/igb/igb_main.c
4467
rx_ring->size = rx_ring->count * sizeof(union e1000_adv_rx_desc);
drivers/net/ethernet/intel/igb/igb_main.c
4468
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/igb/igb_main.c
4470
rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
drivers/net/ethernet/intel/igb/igb_main.c
4471
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/igb/igb_main.c
4472
if (!rx_ring->desc)
drivers/net/ethernet/intel/igb/igb_main.c
4475
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/intel/igb/igb_main.c
4476
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/igb/igb_main.c
4477
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/igb/igb_main.c
4479
rx_ring->xdp_prog = adapter->xdp_prog;
drivers/net/ethernet/intel/igb/igb_main.c
4484
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/igb/igb_main.c
4485
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/intel/igb/igb_main.c
4486
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
4504
err = igb_setup_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
4509
igb_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
466
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/igb/igb_main.c
468
pr_info("RX QUEUE INDEX = %d\n", rx_ring->queue_index);
drivers/net/ethernet/intel/igb/igb_main.c
473
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/igb/igb_main.c
477
rx_desc = IGB_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/igb/igb_main.c
481
if (!rx_ring->xsk_pool) {
drivers/net/ethernet/intel/igb/igb_main.c
482
buffer_info = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/igb/igb_main.c
4845
struct igb_ring *rx_ring)
drivers/net/ethernet/intel/igb/igb_main.c
4852
clear_ring_build_skb_enabled(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
4853
clear_ring_uses_large_buffer(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
4858
set_ring_build_skb_enabled(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
486
if (i == rx_ring->next_to_use)
drivers/net/ethernet/intel/igb/igb_main.c
4864
set_ring_uses_large_buffer(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
488
else if (i == rx_ring->next_to_clean)
drivers/net/ethernet/intel/igb/igb_main.c
4885
struct igb_ring *rx_ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
4887
igb_set_rx_buffer_len(adapter, rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
4888
igb_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
5024
void igb_free_rx_resources(struct igb_ring *rx_ring)
drivers/net/ethernet/intel/igb/igb_main.c
5026
igb_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
5028
rx_ring->xdp_prog = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
5029
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/igb/igb_main.c
5030
if (rx_ring->xsk_pool) {
drivers/net/ethernet/intel/igb/igb_main.c
5031
vfree(rx_ring->rx_buffer_info_zc);
drivers/net/ethernet/intel/igb/igb_main.c
5032
rx_ring->rx_buffer_info_zc = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
5034
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/intel/igb/igb_main.c
5035
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
5039
if (!rx_ring->desc)
drivers/net/ethernet/intel/igb/igb_main.c
5042
dma_free_coherent(rx_ring->dev, rx_ring->size,
drivers/net/ethernet/intel/igb/igb_main.c
5043
rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/intel/igb/igb_main.c
5045
rx_ring->desc = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
5059
if (adapter->rx_ring[i])
drivers/net/ethernet/intel/igb/igb_main.c
5060
igb_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
5067
void igb_clean_rx_ring(struct igb_ring *rx_ring)
drivers/net/ethernet/intel/igb/igb_main.c
5069
u16 i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/igb/igb_main.c
5071
dev_kfree_skb(rx_ring->skb);
drivers/net/ethernet/intel/igb/igb_main.c
5072
rx_ring->skb = NULL;
drivers/net/ethernet/intel/igb/igb_main.c
5074
if (rx_ring->xsk_pool) {
drivers/net/ethernet/intel/igb/igb_main.c
5075
igb_clean_rx_ring_zc(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
5080
while (i != rx_ring->next_to_alloc) {
drivers/net/ethernet/intel/igb/igb_main.c
5081
struct igb_rx_buffer *buffer_info = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/igb/igb_main.c
5086
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/igb/igb_main.c
5089
igb_rx_bufsz(rx_ring),
drivers/net/ethernet/intel/igb/igb_main.c
5093
dma_unmap_page_attrs(rx_ring->dev,
drivers/net/ethernet/intel/igb/igb_main.c
5095
igb_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/igb/igb_main.c
5102
if (i == rx_ring->count)
drivers/net/ethernet/intel/igb/igb_main.c
5107
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/intel/igb/igb_main.c
5108
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/igb/igb_main.c
5109
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/igb/igb_main.c
5121
if (adapter->rx_ring[i])
drivers/net/ethernet/intel/igb/igb_main.c
5122
igb_clean_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igb/igb_main.c
515
igb_rx_bufsz(rx_ring), true);
drivers/net/ethernet/intel/igb/igb_main.c
5760
struct igb_ring *rx_ring;
drivers/net/ethernet/intel/igb/igb_main.c
5765
rx_ring = adapter->rx_ring[q_vector->rx.ring->queue_index];
drivers/net/ethernet/intel/igb/igb_main.c
5767
if (test_bit(IGB_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags)) {
drivers/net/ethernet/intel/igb/igb_main.c
5769
clear_bit(IGB_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igb/igb_main.c
5775
struct igb_ring *rx_ring = adapter->rx_ring[0];
drivers/net/ethernet/intel/igb/igb_main.c
5777
if (test_bit(IGB_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags)) {
drivers/net/ethernet/intel/igb/igb_main.c
5778
clear_bit(IGB_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igb/igb_main.c
6715
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
6781
struct igb_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igb/igb_main.c
689
adapter->rx_ring[i]->reg_idx = rbase_offset +
drivers/net/ethernet/intel/igb/igb_main.c
701
adapter->rx_ring[i]->reg_idx = rbase_offset + i;
drivers/net/ethernet/intel/igb/igb_main.c
7189
struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
7205
wr32(E1000_DCA_RXCTRL(rx_ring->reg_idx), rxctrl);
drivers/net/ethernet/intel/igb/igb_main.c
8527
static void igb_reuse_rx_page(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8531
u16 nta = rx_ring->next_to_alloc;
drivers/net/ethernet/intel/igb/igb_main.c
8533
new_buff = &rx_ring->rx_buffer_info[nta];
drivers/net/ethernet/intel/igb/igb_main.c
8537
rx_ring->next_to_alloc = (nta < rx_ring->count) ? nta : 0;
drivers/net/ethernet/intel/igb/igb_main.c
8592
static void igb_add_rx_frag(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8598
unsigned int truesize = igb_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/igb/igb_main.c
8600
unsigned int truesize = ring_uses_build_skb(rx_ring) ?
drivers/net/ethernet/intel/igb/igb_main.c
8613
static struct sk_buff *igb_construct_skb(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8619
unsigned int truesize = igb_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/igb/igb_main.c
8632
skb = napi_alloc_skb(&rx_ring->q_vector->napi, IGB_RX_HDR_LEN);
drivers/net/ethernet/intel/igb/igb_main.c
8665
static struct sk_buff *igb_build_skb(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8671
unsigned int truesize = igb_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/igb/igb_main.c
8708
static int igb_run_xdp(struct igb_adapter *adapter, struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8715
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/igb/igb_main.c
8742
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/igb/igb_main.c
8752
static unsigned int igb_rx_frame_truesize(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8758
truesize = igb_rx_pg_size(rx_ring) / 2; /* Must be power-of-2 */
drivers/net/ethernet/intel/igb/igb_main.c
8760
truesize = ring_uses_build_skb(rx_ring) ?
drivers/net/ethernet/intel/igb/igb_main.c
8768
static void igb_rx_buffer_flip(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8772
unsigned int truesize = igb_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/igb/igb_main.c
8840
static bool igb_is_non_eop(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8843
u32 ntc = rx_ring->next_to_clean + 1;
drivers/net/ethernet/intel/igb/igb_main.c
8846
ntc = (ntc < rx_ring->count) ? ntc : 0;
drivers/net/ethernet/intel/igb/igb_main.c
8847
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/igb/igb_main.c
8849
prefetch(IGB_RX_DESC(rx_ring, ntc));
drivers/net/ethernet/intel/igb/igb_main.c
8871
static bool igb_cleanup_headers(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8877
struct net_device *netdev = rx_ring->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
8901
void igb_process_skb_fields(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8905
struct net_device *dev = rx_ring->netdev;
drivers/net/ethernet/intel/igb/igb_main.c
8907
igb_rx_hash(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/igb/igb_main.c
8909
igb_rx_checksum(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/igb/igb_main.c
8913
igb_ptp_rx_rgtstamp(rx_ring->q_vector, skb);
drivers/net/ethernet/intel/igb/igb_main.c
8920
test_bit(IGB_RING_FLAG_RX_LB_VLAN_BSWAP, &rx_ring->flags))
drivers/net/ethernet/intel/igb/igb_main.c
8928
skb_record_rx_queue(skb, rx_ring->queue_index);
drivers/net/ethernet/intel/igb/igb_main.c
8930
skb->protocol = eth_type_trans(skb, rx_ring->netdev);
drivers/net/ethernet/intel/igb/igb_main.c
8933
static unsigned int igb_rx_offset(struct igb_ring *rx_ring)
drivers/net/ethernet/intel/igb/igb_main.c
8935
return ring_uses_build_skb(rx_ring) ? IGB_SKB_PAD : 0;
drivers/net/ethernet/intel/igb/igb_main.c
8938
static struct igb_rx_buffer *igb_get_rx_buffer(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8943
rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean];
drivers/net/ethernet/intel/igb/igb_main.c
8953
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/igb/igb_main.c
8964
static void igb_put_rx_buffer(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
8969
igb_reuse_rx_page(rx_ring, rx_buffer);
drivers/net/ethernet/intel/igb/igb_main.c
8974
dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma,
drivers/net/ethernet/intel/igb/igb_main.c
8975
igb_rx_pg_size(rx_ring), DMA_FROM_DEVICE,
drivers/net/ethernet/intel/igb/igb_main.c
9021
struct igb_ring *rx_ring = q_vector->rx.ring;
drivers/net/ethernet/intel/igb/igb_main.c
9022
u16 cleaned_count = igb_desc_unused(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
9023
struct sk_buff *skb = rx_ring->skb;
drivers/net/ethernet/intel/igb/igb_main.c
9032
frame_sz = igb_rx_frame_truesize(rx_ring, 0);
drivers/net/ethernet/intel/igb/igb_main.c
9034
xdp_init_buff(&xdp, frame_sz, &rx_ring->xdp_rxq);
drivers/net/ethernet/intel/igb/igb_main.c
9046
igb_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/igb/igb_main.c
9050
rx_desc = IGB_RX_DESC(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/igb/igb_main.c
9061
rx_buffer = igb_get_rx_buffer(rx_ring, size, &rx_buf_pgcnt);
drivers/net/ethernet/intel/igb/igb_main.c
9068
ts_hdr_len = igb_ptp_rx_pktstamp(rx_ring->q_vector,
drivers/net/ethernet/intel/igb/igb_main.c
9077
unsigned char *hard_start = pktbuf - igb_rx_offset(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
9078
unsigned int offset = pkt_offset + igb_rx_offset(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
9084
xdp.frame_sz = igb_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/igb/igb_main.c
9086
xdp_res = igb_run_xdp(adapter, rx_ring, &xdp);
drivers/net/ethernet/intel/igb/igb_main.c
9092
igb_rx_buffer_flip(rx_ring, rx_buffer, size);
drivers/net/ethernet/intel/igb/igb_main.c
9099
igb_add_rx_frag(rx_ring, rx_buffer, skb, size);
drivers/net/ethernet/intel/igb/igb_main.c
9100
else if (ring_uses_build_skb(rx_ring))
drivers/net/ethernet/intel/igb/igb_main.c
9101
skb = igb_build_skb(rx_ring, rx_buffer, &xdp,
drivers/net/ethernet/intel/igb/igb_main.c
9104
skb = igb_construct_skb(rx_ring, rx_buffer,
drivers/net/ethernet/intel/igb/igb_main.c
9109
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/igb/igb_main.c
9111
set_bit(IGB_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igb/igb_main.c
9115
igb_put_rx_buffer(rx_ring, rx_buffer, rx_buf_pgcnt);
drivers/net/ethernet/intel/igb/igb_main.c
9119
if (igb_is_non_eop(rx_ring, rx_desc))
drivers/net/ethernet/intel/igb/igb_main.c
9123
if (xdp_res || igb_cleanup_headers(rx_ring, rx_desc, skb)) {
drivers/net/ethernet/intel/igb/igb_main.c
9132
igb_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/igb/igb_main.c
9144
rx_ring->skb = skb;
drivers/net/ethernet/intel/igb/igb_main.c
9152
igb_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/igb/igb_main.c
9157
static bool igb_alloc_mapped_page(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_main.c
9168
page = dev_alloc_pages(igb_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/igb/igb_main.c
9170
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/igb/igb_main.c
9171
set_bit(IGB_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igb/igb_main.c
9176
dma = dma_map_page_attrs(rx_ring->dev, page, 0,
drivers/net/ethernet/intel/igb/igb_main.c
9177
igb_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/igb/igb_main.c
9184
if (dma_mapping_error(rx_ring->dev, dma)) {
drivers/net/ethernet/intel/igb/igb_main.c
9185
__free_pages(page, igb_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/igb/igb_main.c
9187
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/igb/igb_main.c
9188
set_bit(IGB_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igb/igb_main.c
9194
bi->page_offset = igb_rx_offset(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
9206
void igb_alloc_rx_buffers(struct igb_ring *rx_ring, u16 cleaned_count)
drivers/net/ethernet/intel/igb/igb_main.c
9210
u16 i = rx_ring->next_to_use;
drivers/net/ethernet/intel/igb/igb_main.c
9217
rx_desc = IGB_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/igb/igb_main.c
9218
bi = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/igb/igb_main.c
9219
i -= rx_ring->count;
drivers/net/ethernet/intel/igb/igb_main.c
9221
bufsz = igb_rx_bufsz(rx_ring);
drivers/net/ethernet/intel/igb/igb_main.c
9224
if (!igb_alloc_mapped_page(rx_ring, bi))
drivers/net/ethernet/intel/igb/igb_main.c
9228
dma_sync_single_range_for_device(rx_ring->dev, bi->dma,
drivers/net/ethernet/intel/igb/igb_main.c
9241
rx_desc = IGB_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/igb/igb_main.c
9242
bi = rx_ring->rx_buffer_info;
drivers/net/ethernet/intel/igb/igb_main.c
9243
i -= rx_ring->count;
drivers/net/ethernet/intel/igb/igb_main.c
9252
i += rx_ring->count;
drivers/net/ethernet/intel/igb/igb_main.c
9254
if (rx_ring->next_to_use != i) {
drivers/net/ethernet/intel/igb/igb_main.c
9256
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/igb/igb_main.c
9259
rx_ring->next_to_alloc = i;
drivers/net/ethernet/intel/igb/igb_main.c
9267
writel(i, rx_ring->tail);
drivers/net/ethernet/intel/igb/igb_xsk.c
102
struct igb_ring *rx_ring;
drivers/net/ethernet/intel/igb/igb_xsk.c
117
rx_ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
123
err = igb_realloc_rx_buffer_info(rx_ring, true);
drivers/net/ethernet/intel/igb/igb_xsk.c
142
struct igb_ring *rx_ring;
drivers/net/ethernet/intel/igb/igb_xsk.c
150
rx_ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
158
err = igb_realloc_rx_buffer_info(rx_ring, false);
drivers/net/ethernet/intel/igb/igb_xsk.c
200
bool igb_alloc_rx_buffers_zc(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_xsk.c
205
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/igb/igb_xsk.c
209
rx_desc = IGB_RX_DESC(rx_ring, ntu);
drivers/net/ethernet/intel/igb/igb_xsk.c
210
xdp = &rx_ring->rx_buffer_info_zc[ntu];
drivers/net/ethernet/intel/igb/igb_xsk.c
212
if (ntu + count >= rx_ring->count) {
drivers/net/ethernet/intel/igb/igb_xsk.c
214
rx_ring->count - ntu);
drivers/net/ethernet/intel/igb/igb_xsk.c
215
if (nb_buffs_extra != rx_ring->count - ntu) {
drivers/net/ethernet/intel/igb/igb_xsk.c
219
rx_desc = IGB_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/igb/igb_xsk.c
220
xdp = rx_ring->rx_buffer_info_zc;
drivers/net/ethernet/intel/igb/igb_xsk.c
227
if (ntu == rx_ring->count)
drivers/net/ethernet/intel/igb/igb_xsk.c
231
rx_desc = IGB_RX_DESC(rx_ring, ntu);
drivers/net/ethernet/intel/igb/igb_xsk.c
235
if (rx_ring->next_to_use != ntu) {
drivers/net/ethernet/intel/igb/igb_xsk.c
236
rx_ring->next_to_use = ntu;
drivers/net/ethernet/intel/igb/igb_xsk.c
244
writel(ntu, rx_ring->tail);
drivers/net/ethernet/intel/igb/igb_xsk.c
250
void igb_clean_rx_ring_zc(struct igb_ring *rx_ring)
drivers/net/ethernet/intel/igb/igb_xsk.c
252
u16 ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/igb/igb_xsk.c
253
u16 ntu = rx_ring->next_to_use;
drivers/net/ethernet/intel/igb/igb_xsk.c
256
struct xdp_buff *xdp = rx_ring->rx_buffer_info_zc[ntc];
drivers/net/ethernet/intel/igb/igb_xsk.c
260
if (ntc >= rx_ring->count)
drivers/net/ethernet/intel/igb/igb_xsk.c
265
static struct sk_buff *igb_construct_skb_zc(struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_xsk.c
276
skb = napi_alloc_skb(&rx_ring->q_vector->napi, totalsize);
drivers/net/ethernet/intel/igb/igb_xsk.c
294
static int igb_run_xdp_zc(struct igb_adapter *adapter, struct igb_ring *rx_ring,
drivers/net/ethernet/intel/igb/igb_xsk.c
331
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/igb/igb_xsk.c
346
struct igb_ring *rx_ring = q_vector->rx.ring;
drivers/net/ethernet/intel/igb/igb_xsk.c
347
u32 ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/igb/igb_xsk.c
355
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/igb/igb_xsk.c
364
rx_desc = IGB_RX_DESC(rx_ring, ntc);
drivers/net/ethernet/intel/igb/igb_xsk.c
37
struct igb_ring *rx_ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
375
xdp = rx_ring->rx_buffer_info_zc[ntc];
drivers/net/ethernet/intel/igb/igb_xsk.c
383
ts_hdr_len = igb_ptp_rx_pktstamp(rx_ring->q_vector,
drivers/net/ethernet/intel/igb/igb_xsk.c
392
xdp_res = igb_run_xdp_zc(adapter, rx_ring, xdp, xsk_pool,
drivers/net/ethernet/intel/igb/igb_xsk.c
408
if (ntc == rx_ring->count)
drivers/net/ethernet/intel/igb/igb_xsk.c
413
skb = igb_construct_skb_zc(rx_ring, xdp, timestamp);
drivers/net/ethernet/intel/igb/igb_xsk.c
417
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/igb/igb_xsk.c
418
set_bit(IGB_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igb/igb_xsk.c
424
if (ntc == rx_ring->count)
drivers/net/ethernet/intel/igb/igb_xsk.c
43
wr32(E1000_RXDCTL(rx_ring->reg_idx), 0);
drivers/net/ethernet/intel/igb/igb_xsk.c
434
igb_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/igb/igb_xsk.c
442
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/igb/igb_xsk.c
449
entries_to_alloc = igb_desc_unused(rx_ring);
drivers/net/ethernet/intel/igb/igb_xsk.c
451
failure |= !igb_alloc_rx_buffers_zc(rx_ring, xsk_pool,
drivers/net/ethernet/intel/igb/igb_xsk.c
455
if (failure || rx_ring->next_to_clean == rx_ring->next_to_use)
drivers/net/ethernet/intel/igb/igb_xsk.c
48
napi_disable(&rx_ring->q_vector->napi);
drivers/net/ethernet/intel/igb/igb_xsk.c
51
igb_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/igb/igb_xsk.c
53
memset(&rx_ring->rx_stats, 0, sizeof(rx_ring->rx_stats));
drivers/net/ethernet/intel/igb/igb_xsk.c
571
ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
60
struct igb_ring *rx_ring = adapter->rx_ring[qid];
drivers/net/ethernet/intel/igb/igb_xsk.c
63
igb_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/igb/igb_xsk.c
73
if (rx_ring->xsk_pool)
drivers/net/ethernet/intel/igb/igb_xsk.c
74
igb_alloc_rx_buffers_zc(rx_ring, rx_ring->xsk_pool,
drivers/net/ethernet/intel/igb/igb_xsk.c
75
igb_desc_unused(rx_ring));
drivers/net/ethernet/intel/igb/igb_xsk.c
77
igb_alloc_rx_buffers(rx_ring, igb_desc_unused(rx_ring));
drivers/net/ethernet/intel/igb/igb_xsk.c
80
napi_enable(&rx_ring->q_vector->napi);
drivers/net/ethernet/intel/igbvf/ethtool.c
186
struct igbvf_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/igbvf/ethtool.c
190
ring->rx_pending = rx_ring->count;
drivers/net/ethernet/intel/igbvf/ethtool.c
216
(new_rx_count == adapter->rx_ring->count)) {
drivers/net/ethernet/intel/igbvf/ethtool.c
226
adapter->rx_ring->count = new_rx_count;
drivers/net/ethernet/intel/igbvf/ethtool.c
255
if (new_rx_count != adapter->rx_ring->count) {
drivers/net/ethernet/intel/igbvf/ethtool.c
256
memcpy(temp_ring, adapter->rx_ring, sizeof(struct igbvf_ring));
drivers/net/ethernet/intel/igbvf/ethtool.c
263
igbvf_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/ethtool.c
265
memcpy(adapter->rx_ring, temp_ring, sizeof(struct igbvf_ring));
drivers/net/ethernet/intel/igbvf/ethtool.c
369
hw->hw_addr + adapter->rx_ring->itr_register);
drivers/net/ethernet/intel/igbvf/igbvf.h
191
struct igbvf_ring *rx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
100
napi_gro_receive(&adapter->rx_ring->napi, skb);
drivers/net/ethernet/intel/igbvf/netdev.c
1051
sprintf(adapter->rx_ring->name, "%s-rx-0", netdev->name);
drivers/net/ethernet/intel/igbvf/netdev.c
1054
memcpy(adapter->rx_ring->name, netdev->name, IFNAMSIZ);
drivers/net/ethernet/intel/igbvf/netdev.c
1068
igbvf_intr_msix_rx, 0, adapter->rx_ring->name,
drivers/net/ethernet/intel/igbvf/netdev.c
1073
adapter->rx_ring->itr_register = E1000_EITR(vector);
drivers/net/ethernet/intel/igbvf/netdev.c
1074
adapter->rx_ring->itr_val = adapter->current_itr;
drivers/net/ethernet/intel/igbvf/netdev.c
1104
adapter->rx_ring = kzalloc_obj(struct igbvf_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1105
if (!adapter->rx_ring) {
drivers/net/ethernet/intel/igbvf/netdev.c
1110
netif_napi_add(netdev, &adapter->rx_ring->napi, igbvf_poll);
drivers/net/ethernet/intel/igbvf/netdev.c
1184
struct igbvf_ring *rx_ring = container_of(napi, struct igbvf_ring, napi);
drivers/net/ethernet/intel/igbvf/netdev.c
1185
struct igbvf_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
1202
ew32(EIMS, adapter->rx_ring->eims_value);
drivers/net/ethernet/intel/igbvf/netdev.c
133
static void igbvf_alloc_rx_buffers(struct igbvf_ring *rx_ring,
drivers/net/ethernet/intel/igbvf/netdev.c
136
struct igbvf_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
1367
struct igbvf_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
1380
rdba = rx_ring->dma;
drivers/net/ethernet/intel/igbvf/netdev.c
1383
ew32(RDLEN(0), rx_ring->count * sizeof(union e1000_adv_rx_desc));
drivers/net/ethernet/intel/igbvf/netdev.c
1384
rx_ring->head = E1000_RDH(0);
drivers/net/ethernet/intel/igbvf/netdev.c
1385
rx_ring->tail = E1000_RDT(0);
drivers/net/ethernet/intel/igbvf/netdev.c
145
i = rx_ring->next_to_use;
drivers/net/ethernet/intel/igbvf/netdev.c
146
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/igbvf/netdev.c
1499
igbvf_alloc_rx_buffers(adapter->rx_ring,
drivers/net/ethernet/intel/igbvf/netdev.c
1500
igbvf_desc_unused(adapter->rx_ring));
drivers/net/ethernet/intel/igbvf/netdev.c
154
rx_desc = IGBVF_RX_DESC_ADV(*rx_ring, i);
drivers/net/ethernet/intel/igbvf/netdev.c
1545
napi_enable(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
1586
napi_disable(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
1600
igbvf_clean_rx_ring(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1712
err = igbvf_setup_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1730
napi_enable(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
1744
igbvf_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1774
igbvf_free_rx_resources(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
1952
ew32(EICS, adapter->rx_ring->eims_value);
drivers/net/ethernet/intel/igbvf/netdev.c
212
if (i == rx_ring->count)
drivers/net/ethernet/intel/igbvf/netdev.c
214
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/igbvf/netdev.c
218
if (rx_ring->next_to_use != i) {
drivers/net/ethernet/intel/igbvf/netdev.c
219
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/igbvf/netdev.c
221
i = (rx_ring->count - 1);
drivers/net/ethernet/intel/igbvf/netdev.c
231
writel(i, adapter->hw.hw_addr + rx_ring->tail);
drivers/net/ethernet/intel/igbvf/netdev.c
247
struct igbvf_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
259
i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/igbvf/netdev.c
260
rx_desc = IGBVF_RX_DESC_ADV(*rx_ring, i);
drivers/net/ethernet/intel/igbvf/netdev.c
269
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/igbvf/netdev.c
2842
adapter->rx_ring->count = 1024;
drivers/net/ethernet/intel/igbvf/netdev.c
2868
netif_napi_del(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
2870
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
2916
netif_napi_del(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
2918
kfree(adapter->rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
328
if (i == rx_ring->count)
drivers/net/ethernet/intel/igbvf/netdev.c
330
next_rxd = IGBVF_RX_DESC_ADV(*rx_ring, i);
drivers/net/ethernet/intel/igbvf/netdev.c
332
next_buffer = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/igbvf/netdev.c
362
igbvf_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/igbvf/netdev.c
373
rx_ring->next_to_clean = i;
drivers/net/ethernet/intel/igbvf/netdev.c
374
cleaned_count = igbvf_desc_unused(rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
377
igbvf_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/igbvf/netdev.c
456
struct igbvf_ring *rx_ring)
drivers/net/ethernet/intel/igbvf/netdev.c
461
size = sizeof(struct igbvf_buffer) * rx_ring->count;
drivers/net/ethernet/intel/igbvf/netdev.c
462
rx_ring->buffer_info = vzalloc(size);
drivers/net/ethernet/intel/igbvf/netdev.c
463
if (!rx_ring->buffer_info)
drivers/net/ethernet/intel/igbvf/netdev.c
469
rx_ring->size = rx_ring->count * desc_len;
drivers/net/ethernet/intel/igbvf/netdev.c
470
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/igbvf/netdev.c
472
rx_ring->desc = dma_alloc_coherent(&pdev->dev, rx_ring->size,
drivers/net/ethernet/intel/igbvf/netdev.c
473
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/igbvf/netdev.c
474
if (!rx_ring->desc)
drivers/net/ethernet/intel/igbvf/netdev.c
477
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
478
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
480
rx_ring->adapter = adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
485
vfree(rx_ring->buffer_info);
drivers/net/ethernet/intel/igbvf/netdev.c
486
rx_ring->buffer_info = NULL;
drivers/net/ethernet/intel/igbvf/netdev.c
550
static void igbvf_clean_rx_ring(struct igbvf_ring *rx_ring)
drivers/net/ethernet/intel/igbvf/netdev.c
552
struct igbvf_adapter *adapter = rx_ring->adapter;
drivers/net/ethernet/intel/igbvf/netdev.c
558
if (!rx_ring->buffer_info)
drivers/net/ethernet/intel/igbvf/netdev.c
562
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/igbvf/netdev.c
563
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/intel/igbvf/netdev.c
595
size = sizeof(struct igbvf_buffer) * rx_ring->count;
drivers/net/ethernet/intel/igbvf/netdev.c
596
memset(rx_ring->buffer_info, 0, size);
drivers/net/ethernet/intel/igbvf/netdev.c
599
memset(rx_ring->desc, 0, rx_ring->size);
drivers/net/ethernet/intel/igbvf/netdev.c
601
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
602
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
604
writel(0, adapter->hw.hw_addr + rx_ring->head);
drivers/net/ethernet/intel/igbvf/netdev.c
605
writel(0, adapter->hw.hw_addr + rx_ring->tail);
drivers/net/ethernet/intel/igbvf/netdev.c
615
void igbvf_free_rx_resources(struct igbvf_ring *rx_ring)
drivers/net/ethernet/intel/igbvf/netdev.c
617
struct pci_dev *pdev = rx_ring->adapter->pdev;
drivers/net/ethernet/intel/igbvf/netdev.c
619
igbvf_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/igbvf/netdev.c
621
vfree(rx_ring->buffer_info);
drivers/net/ethernet/intel/igbvf/netdev.c
622
rx_ring->buffer_info = NULL;
drivers/net/ethernet/intel/igbvf/netdev.c
624
dma_free_coherent(&pdev->dev, rx_ring->size, rx_ring->desc,
drivers/net/ethernet/intel/igbvf/netdev.c
625
rx_ring->dma);
drivers/net/ethernet/intel/igbvf/netdev.c
626
rx_ring->desc = NULL;
drivers/net/ethernet/intel/igbvf/netdev.c
744
adapter->rx_ring->itr_range =
drivers/net/ethernet/intel/igbvf/netdev.c
745
igbvf_update_itr(adapter, adapter->rx_ring->itr_val,
drivers/net/ethernet/intel/igbvf/netdev.c
749
adapter->rx_ring->itr_range == lowest_latency)
drivers/net/ethernet/intel/igbvf/netdev.c
750
adapter->rx_ring->itr_range = low_latency;
drivers/net/ethernet/intel/igbvf/netdev.c
752
new_itr = igbvf_range_to_itr(adapter->rx_ring->itr_range);
drivers/net/ethernet/intel/igbvf/netdev.c
754
if (new_itr != adapter->rx_ring->itr_val) {
drivers/net/ethernet/intel/igbvf/netdev.c
755
u32 current_itr = adapter->rx_ring->itr_val;
drivers/net/ethernet/intel/igbvf/netdev.c
760
adapter->rx_ring->itr_val = new_itr;
drivers/net/ethernet/intel/igbvf/netdev.c
762
adapter->rx_ring->set_itr = 1;
drivers/net/ethernet/intel/igbvf/netdev.c
903
if (adapter->rx_ring->set_itr) {
drivers/net/ethernet/intel/igbvf/netdev.c
904
writel(adapter->rx_ring->itr_val,
drivers/net/ethernet/intel/igbvf/netdev.c
905
adapter->hw.hw_addr + adapter->rx_ring->itr_register);
drivers/net/ethernet/intel/igbvf/netdev.c
906
adapter->rx_ring->set_itr = 0;
drivers/net/ethernet/intel/igbvf/netdev.c
909
if (napi_schedule_prep(&adapter->rx_ring->napi)) {
drivers/net/ethernet/intel/igbvf/netdev.c
912
__napi_schedule(&adapter->rx_ring->napi);
drivers/net/ethernet/intel/igbvf/netdev.c
943
adapter->rx_ring[rx_queue].eims_value = BIT(msix_vector);
drivers/net/ethernet/intel/igbvf/netdev.c
975
struct igbvf_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/intel/igbvf/netdev.c
984
adapter->eims_enable_mask |= rx_ring->eims_value;
drivers/net/ethernet/intel/igbvf/netdev.c
985
writel(rx_ring->itr_val, hw->hw_addr + rx_ring->itr_register);
drivers/net/ethernet/intel/igc/igc.h
227
struct igc_ring *rx_ring[IGC_MAX_RX_QUEUES];
drivers/net/ethernet/intel/igc/igc_dump.c
119
struct igc_ring *rx_ring;
drivers/net/ethernet/intel/igc/igc_dump.c
214
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/igc/igc_dump.c
215
netdev_info(netdev, "%5d %5X %5X\n", n, rx_ring->next_to_use,
drivers/net/ethernet/intel/igc/igc_dump.c
216
rx_ring->next_to_clean);
drivers/net/ethernet/intel/igc/igc_dump.c
247
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/igc/igc_dump.c
250
rx_ring->queue_index);
drivers/net/ethernet/intel/igc/igc_dump.c
255
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/igc/igc_dump.c
259
buffer_info = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/igc/igc_dump.c
260
rx_desc = IGC_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/igc/igc_dump.c
264
if (i == rx_ring->next_to_use)
drivers/net/ethernet/intel/igc/igc_dump.c
266
else if (i == rx_ring->next_to_clean)
drivers/net/ethernet/intel/igc/igc_dump.c
294
igc_rx_bufsz(rx_ring),
drivers/net/ethernet/intel/igc/igc_ethtool.c
623
adapter->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/igc/igc_ethtool.c
675
memcpy(&temp_ring[i], adapter->rx_ring[i],
drivers/net/ethernet/intel/igc/igc_ethtool.c
690
igc_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_ethtool.c
692
memcpy(adapter->rx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/igc/igc_ethtool.c
859
ring = adapter->rx_ring[j];
drivers/net/ethernet/intel/igc/igc_main.c
1818
static void igc_rx_vlan(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
1822
struct net_device *dev = rx_ring->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
1828
test_bit(IGC_RING_FLAG_RX_LB_VLAN_BSWAP, &rx_ring->flags))
drivers/net/ethernet/intel/igc/igc_main.c
1847
static void igc_process_skb_fields(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
1851
igc_rx_hash(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/igc/igc_main.c
1853
igc_rx_checksum(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/igc/igc_main.c
1855
igc_rx_vlan(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/igc/igc_main.c
1857
skb_record_rx_queue(skb, rx_ring->queue_index);
drivers/net/ethernet/intel/igc/igc_main.c
1859
skb->protocol = eth_type_trans(skb, rx_ring->netdev);
drivers/net/ethernet/intel/igc/igc_main.c
1886
static struct igc_rx_buffer *igc_get_rx_buffer(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
1892
rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean];
drivers/net/ethernet/intel/igc/igc_main.c
1902
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/igc/igc_main.c
1948
static void igc_add_rx_frag(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
1956
truesize = igc_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/igc/igc_main.c
1958
truesize = ring_uses_build_skb(rx_ring) ?
drivers/net/ethernet/intel/igc/igc_main.c
1968
static struct sk_buff *igc_build_skb(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
1973
unsigned int truesize = igc_get_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/igc/igc_main.c
1995
static struct sk_buff *igc_construct_skb(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
2002
unsigned int truesize = igc_get_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/igc/igc_main.c
2011
skb = napi_alloc_skb(&rx_ring->q_vector->napi,
drivers/net/ethernet/intel/igc/igc_main.c
2056
static void igc_reuse_rx_page(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
2059
u16 nta = rx_ring->next_to_alloc;
drivers/net/ethernet/intel/igc/igc_main.c
2062
new_buff = &rx_ring->rx_buffer_info[nta];
drivers/net/ethernet/intel/igc/igc_main.c
2066
rx_ring->next_to_alloc = (nta < rx_ring->count) ? nta : 0;
drivers/net/ethernet/intel/igc/igc_main.c
2122
static bool igc_is_non_eop(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
2125
u32 ntc = rx_ring->next_to_clean + 1;
drivers/net/ethernet/intel/igc/igc_main.c
2128
ntc = (ntc < rx_ring->count) ? ntc : 0;
drivers/net/ethernet/intel/igc/igc_main.c
2129
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/igc/igc_main.c
2131
prefetch(IGC_RX_DESC(rx_ring, ntc));
drivers/net/ethernet/intel/igc/igc_main.c
2153
static bool igc_cleanup_headers(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
2158
struct net_device *netdev = rx_ring->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
2173
static void igc_put_rx_buffer(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
2179
igc_reuse_rx_page(rx_ring, rx_buffer);
drivers/net/ethernet/intel/igc/igc_main.c
2184
dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma,
drivers/net/ethernet/intel/igc/igc_main.c
2185
igc_rx_pg_size(rx_ring), DMA_FROM_DEVICE,
drivers/net/ethernet/intel/igc/igc_main.c
2195
static inline unsigned int igc_rx_offset(struct igc_ring *rx_ring)
drivers/net/ethernet/intel/igc/igc_main.c
2197
struct igc_adapter *adapter = rx_ring->q_vector->adapter;
drivers/net/ethernet/intel/igc/igc_main.c
2199
if (ring_uses_build_skb(rx_ring))
drivers/net/ethernet/intel/igc/igc_main.c
2207
static bool igc_alloc_mapped_page(struct igc_ring *rx_ring,
drivers/net/ethernet/intel/igc/igc_main.c
2218
page = dev_alloc_pages(igc_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/igc/igc_main.c
2220
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/igc/igc_main.c
2221
set_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igc/igc_main.c
2226
dma = dma_map_page_attrs(rx_ring->dev, page, 0,
drivers/net/ethernet/intel/igc/igc_main.c
2227
igc_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/igc/igc_main.c
2234
if (dma_mapping_error(rx_ring->dev, dma)) {
drivers/net/ethernet/intel/igc/igc_main.c
2237
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/igc/igc_main.c
2238
set_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igc/igc_main.c
2244
bi->page_offset = igc_rx_offset(rx_ring);
drivers/net/ethernet/intel/igc/igc_main.c
2256
static void igc_alloc_rx_buffers(struct igc_ring *rx_ring, u16 cleaned_count)
drivers/net/ethernet/intel/igc/igc_main.c
2259
u16 i = rx_ring->next_to_use;
drivers/net/ethernet/intel/igc/igc_main.c
2267
rx_desc = IGC_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/igc/igc_main.c
2268
bi = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/igc/igc_main.c
2269
i -= rx_ring->count;
drivers/net/ethernet/intel/igc/igc_main.c
2271
bufsz = igc_rx_bufsz(rx_ring);
drivers/net/ethernet/intel/igc/igc_main.c
2274
if (!igc_alloc_mapped_page(rx_ring, bi))
drivers/net/ethernet/intel/igc/igc_main.c
2278
dma_sync_single_range_for_device(rx_ring->dev, bi->dma,
drivers/net/ethernet/intel/igc/igc_main.c
2291
rx_desc = IGC_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/igc/igc_main.c
2292
bi = rx_ring->rx_buffer_info;
drivers/net/ethernet/intel/igc/igc_main.c
2293
i -= rx_ring->count;
drivers/net/ethernet/intel/igc/igc_main.c
2302
i += rx_ring->count;
drivers/net/ethernet/intel/igc/igc_main.c
2304
if (rx_ring->next_to_use != i) {
drivers/net/ethernet/intel/igc/igc_main.c
2306
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/igc/igc_main.c
2309
rx_ring->next_to_alloc = i;
drivers/net/ethernet/intel/igc/igc_main.c
2317
writel(i, rx_ring->tail);
drivers/net/ethernet/intel/igc/igc_main.c
2609
struct igc_ring *rx_ring = q_vector->rx.ring;
drivers/net/ethernet/intel/igc/igc_main.c
2610
struct sk_buff *skb = rx_ring->skb;
drivers/net/ethernet/intel/igc/igc_main.c
2611
u16 cleaned_count = igc_desc_unused(rx_ring);
drivers/net/ethernet/intel/igc/igc_main.c
2625
igc_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/igc/igc_main.c
2629
rx_desc = IGC_RX_DESC(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/igc/igc_main.c
2640
rx_buffer = igc_get_rx_buffer(rx_ring, size, &rx_buffer_pgcnt);
drivers/net/ethernet/intel/igc/igc_main.c
2641
truesize = igc_get_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/igc/igc_main.c
2654
igc_is_non_eop(rx_ring, rx_desc);
drivers/net/ethernet/intel/igc/igc_main.c
2660
xdp_init_buff(&ctx.xdp, truesize, &rx_ring->xdp_rxq);
drivers/net/ethernet/intel/igc/igc_main.c
2661
xdp_prepare_buff(&ctx.xdp, pktbuf - igc_rx_offset(rx_ring),
drivers/net/ethernet/intel/igc/igc_main.c
2662
igc_rx_offset(rx_ring) + pkt_offset,
drivers/net/ethernet/intel/igc/igc_main.c
2685
igc_add_rx_frag(rx_ring, rx_buffer, skb, size);
drivers/net/ethernet/intel/igc/igc_main.c
2686
else if (ring_uses_build_skb(rx_ring))
drivers/net/ethernet/intel/igc/igc_main.c
2687
skb = igc_build_skb(rx_ring, rx_buffer, &ctx.xdp);
drivers/net/ethernet/intel/igc/igc_main.c
2689
skb = igc_construct_skb(rx_ring, rx_buffer, &ctx);
drivers/net/ethernet/intel/igc/igc_main.c
2693
rx_ring->rx_stats.alloc_failed++;
drivers/net/ethernet/intel/igc/igc_main.c
2695
set_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igc/igc_main.c
2699
igc_put_rx_buffer(rx_ring, rx_buffer, rx_buffer_pgcnt);
drivers/net/ethernet/intel/igc/igc_main.c
2703
if (igc_is_non_eop(rx_ring, rx_desc))
drivers/net/ethernet/intel/igc/igc_main.c
2707
if (xdp_res || igc_cleanup_headers(rx_ring, rx_desc, skb)) {
drivers/net/ethernet/intel/igc/igc_main.c
2716
igc_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/igc/igc_main.c
2731
rx_ring->skb = skb;
drivers/net/ethernet/intel/igc/igc_main.c
2736
igc_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/igc/igc_main.c
415
static void igc_clean_rx_ring_page_shared(struct igc_ring *rx_ring)
drivers/net/ethernet/intel/igc/igc_main.c
417
u16 i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/igc/igc_main.c
419
dev_kfree_skb(rx_ring->skb);
drivers/net/ethernet/intel/igc/igc_main.c
4190
struct igc_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
420
rx_ring->skb = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
423
while (i != rx_ring->next_to_alloc) {
drivers/net/ethernet/intel/igc/igc_main.c
424
struct igc_rx_buffer *buffer_info = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/igc/igc_main.c
429
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/igc/igc_main.c
432
igc_rx_bufsz(rx_ring),
drivers/net/ethernet/intel/igc/igc_main.c
436
dma_unmap_page_attrs(rx_ring->dev,
drivers/net/ethernet/intel/igc/igc_main.c
438
igc_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/igc/igc_main.c
4410
adapter->rx_ring[q_vector->rx.ring->queue_index] = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
445
if (i == rx_ring->count)
drivers/net/ethernet/intel/igc/igc_main.c
4792
adapter->rx_ring[i]->reg_idx = i;
drivers/net/ethernet/intel/igc/igc_main.c
4809
struct igc_ring *rx_ring = q_vector->rx.ring;
drivers/net/ethernet/intel/igc/igc_main.c
4816
if (rx_ring) {
drivers/net/ethernet/intel/igc/igc_main.c
4817
int cleaned = rx_ring->xsk_pool ?
drivers/net/ethernet/intel/igc/igc_main.c
492
if (adapter->rx_ring[i])
drivers/net/ethernet/intel/igc/igc_main.c
493
igc_clean_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
4941
adapter->rx_ring[rxr_idx] = ring;
drivers/net/ethernet/intel/igc/igc_main.c
502
void igc_free_rx_resources(struct igc_ring *rx_ring)
drivers/net/ethernet/intel/igc/igc_main.c
504
igc_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/igc/igc_main.c
506
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/igc/igc_main.c
508
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/intel/igc/igc_main.c
509
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
512
if (!rx_ring->desc)
drivers/net/ethernet/intel/igc/igc_main.c
515
dma_free_coherent(rx_ring->dev, rx_ring->size,
drivers/net/ethernet/intel/igc/igc_main.c
516
rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/intel/igc/igc_main.c
5173
struct igc_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/igc/igc_main.c
518
rx_ring->desc = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
532
igc_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
541
int igc_setup_rx_resources(struct igc_ring *rx_ring)
drivers/net/ethernet/intel/igc/igc_main.c
543
struct net_device *ndev = rx_ring->netdev;
drivers/net/ethernet/intel/igc/igc_main.c
544
struct device *dev = rx_ring->dev;
drivers/net/ethernet/intel/igc/igc_main.c
545
u8 index = rx_ring->queue_index;
drivers/net/ethernet/intel/igc/igc_main.c
549
if (xdp_rxq_info_is_reg(&rx_ring->xdp_rxq))
drivers/net/ethernet/intel/igc/igc_main.c
550
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/igc/igc_main.c
551
res = xdp_rxq_info_reg(&rx_ring->xdp_rxq, ndev, index,
drivers/net/ethernet/intel/igc/igc_main.c
552
rx_ring->q_vector->napi.napi_id);
drivers/net/ethernet/intel/igc/igc_main.c
559
size = sizeof(struct igc_rx_buffer) * rx_ring->count;
drivers/net/ethernet/intel/igc/igc_main.c
560
rx_ring->rx_buffer_info = vzalloc(size);
drivers/net/ethernet/intel/igc/igc_main.c
561
if (!rx_ring->rx_buffer_info)
drivers/net/ethernet/intel/igc/igc_main.c
567
rx_ring->size = rx_ring->count * desc_len;
drivers/net/ethernet/intel/igc/igc_main.c
568
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/igc/igc_main.c
570
rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
drivers/net/ethernet/intel/igc/igc_main.c
571
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/igc/igc_main.c
573
if (!rx_ring->desc)
drivers/net/ethernet/intel/igc/igc_main.c
576
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/intel/igc/igc_main.c
577
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/igc/igc_main.c
578
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/igc/igc_main.c
583
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/igc/igc_main.c
584
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/intel/igc/igc_main.c
585
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/intel/igc/igc_main.c
5994
struct igc_ring *rx_ring;
drivers/net/ethernet/intel/igc/igc_main.c
5999
rx_ring = adapter->rx_ring[q_vector->rx.ring->queue_index];
drivers/net/ethernet/intel/igc/igc_main.c
6001
if (test_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags)) {
drivers/net/ethernet/intel/igc/igc_main.c
6003
clear_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igc/igc_main.c
6009
struct igc_ring *rx_ring = adapter->rx_ring[0];
drivers/net/ethernet/intel/igc/igc_main.c
6011
if (test_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags)) {
drivers/net/ethernet/intel/igc/igc_main.c
6012
clear_bit(IGC_RING_FLAG_RX_ALLOC_FAILED, &rx_ring->flags);
drivers/net/ethernet/intel/igc/igc_main.c
603
err = igc_setup_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
607
igc_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_main.c
6939
ring = adapter->rx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_main.c
725
igc_configure_rx_ring(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_xdp.c
100
set_bit(IGC_RING_FLAG_AF_XDP_ZC, &rx_ring->flags);
drivers/net/ethernet/intel/igc/igc_xdp.c
105
igc_enable_rx_ring(rx_ring);
drivers/net/ethernet/intel/igc/igc_xdp.c
120
struct igc_ring *rx_ring, *tx_ring;
drivers/net/ethernet/intel/igc/igc_xdp.c
135
rx_ring = adapter->rx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_xdp.c
138
napi = &rx_ring->q_vector->napi;
drivers/net/ethernet/intel/igc/igc_xdp.c
141
igc_disable_rx_ring(rx_ring);
drivers/net/ethernet/intel/igc/igc_xdp.c
147
clear_bit(IGC_RING_FLAG_AF_XDP_ZC, &rx_ring->flags);
drivers/net/ethernet/intel/igc/igc_xdp.c
152
igc_enable_rx_ring(rx_ring);
drivers/net/ethernet/intel/igc/igc_xdp.c
30
igc_disable_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_xdp.c
32
napi_disable(&adapter->rx_ring[i]->q_vector->napi);
drivers/net/ethernet/intel/igc/igc_xdp.c
47
napi_enable(&adapter->rx_ring[i]->q_vector->napi);
drivers/net/ethernet/intel/igc/igc_xdp.c
49
igc_enable_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/igc/igc_xdp.c
61
struct igc_ring *rx_ring, *tx_ring;
drivers/net/ethernet/intel/igc/igc_xdp.c
89
rx_ring = adapter->rx_ring[queue_id];
drivers/net/ethernet/intel/igc/igc_xdp.c
92
napi = &rx_ring->q_vector->napi;
drivers/net/ethernet/intel/igc/igc_xdp.c
95
igc_disable_rx_ring(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1067
static inline void ixgbe_ptp_rx_hwtstamp(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1072
ixgbe_ptp_rx_pktstamp(rx_ring->q_vector, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1079
ixgbe_ptp_rx_rgtstamp(rx_ring->q_vector, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1084
rx_ring->last_rx_timestamp = jiffies;
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1111
void ixgbe_ipsec_rx(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
1123
static inline void ixgbe_ipsec_rx(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe.h
713
struct ixgbe_ring *rx_ring[MAX_RX_QUEUES];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1229
struct ixgbe_ring *rx_ring = adapter->rx_ring[0];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1233
ring->rx_pending = rx_ring->count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1273
adapter->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1348
memcpy(&temp_ring[i], adapter->rx_ring[i],
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1368
ixgbe_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1370
memcpy(adapter->rx_ring[i], &temp_ring[i],
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1447
ring = adapter->rx_ring[j];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1919
struct ixgbe_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1954
rx_ring->count = IXGBE_DEFAULT_RXD;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1955
rx_ring->queue_index = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1956
rx_ring->dev = &adapter->pdev->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1957
rx_ring->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1958
rx_ring->reg_idx = adapter->rx_ring[0]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1960
err = ixgbe_setup_rx_resources(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
1968
ixgbe_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2076
static u16 ixgbe_clean_test_rings(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2084
rx_ntc = rx_ring->next_to_clean;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2086
rx_desc = IXGBE_RX_DESC(rx_ring, rx_ntc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2121
rx_buffer = &rx_ring->rx_buffer_info[rx_ntc];
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2124
dma_sync_single_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2126
ixgbe_rx_bufsz(rx_ring),
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2136
dma_sync_single_for_device(rx_ring->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2138
ixgbe_rx_bufsz(rx_ring),
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2143
if (rx_ntc == rx_ring->count)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2147
rx_desc = IXGBE_RX_DESC(rx_ring, rx_ntc);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2153
ixgbe_alloc_rx_buffers(rx_ring, count);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2154
rx_ring->next_to_clean = rx_ntc;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2163
struct ixgbe_ring *rx_ring = &adapter->test_rx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2188
if (rx_ring->count <= tx_ring->count)
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2191
lc = ((rx_ring->count / 64) * 2) + 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2215
good_cnt = ixgbe_clean_test_rings(rx_ring, tx_ring, size);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c
2972
queue = adapter->rx_ring[ring]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
672
fcoe_q_h = adapter->rx_ring[fcoe_i_h]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
679
fcoe_q = adapter->rx_ring[fcoe_i]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
694
fcoe_q = adapter->rx_ring[fcoe->offset]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1146
void ixgbe_ipsec_rx(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c
1150
struct ixgbe_adapter *adapter = ixgbe_from_netdev(rx_ring->netdev);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1031
WRITE_ONCE(adapter->rx_ring[ring->queue_index], NULL);
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1101
if (adapter->rx_ring[i])
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
1102
adapter->rx_ring[i]->ring_idx = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
165
adapter->rx_ring[offset + i]->reg_idx = rx_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
166
adapter->rx_ring[offset + i]->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
168
adapter->rx_ring[offset + i]->dcb_tc = tc;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
212
adapter->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
213
adapter->rx_ring[i]->netdev = pool ? NULL : adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
219
adapter->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
220
adapter->rx_ring[i]->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
259
adapter->rx_ring[i]->reg_idx = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
260
adapter->rx_ring[i]->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
284
adapter->rx_ring[0]->reg_idx = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
43
adapter->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
44
adapter->rx_ring[i]->netdev = pool ? NULL : adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
72
adapter->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
73
adapter->rx_ring[i]->netdev = adapter->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
996
WRITE_ONCE(adapter->rx_ring[rxr_idx], ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10050
data->queue = adapter->rx_ring[vadapter->rx_base_queue]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10823
struct ixgbe_ring *ring = adapter->rx_ring[rxbase + i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10900
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
10933
WRITE_ONCE(adapter->rx_ring[i]->xdp_prog,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11127
struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11131
u8 reg_idx = rx_ring->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11171
static void ixgbe_reset_rxr_stats(struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11173
memset(&rx_ring->stats, 0, sizeof(rx_ring->stats));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11174
memset(&rx_ring->rx_stats, 0, sizeof(rx_ring->rx_stats));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11225
struct ixgbe_ring *rx_ring, *tx_ring, *xdp_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11227
rx_ring = adapter->rx_ring[ring];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11234
napi_disable(&rx_ring->q_vector->napi);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11239
ixgbe_disable_rxr_hw(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11247
ixgbe_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11252
ixgbe_reset_rxr_stats(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11265
struct ixgbe_ring *rx_ring, *tx_ring, *xdp_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11267
rx_ring = adapter->rx_ring[ring];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11274
ixgbe_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11281
napi_enable(&rx_ring->q_vector->napi);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
11868
u64_stats_init(&adapter->rx_ring[i]->syncp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1189
void ixgbe_update_rx_ring_stats(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1193
u64_stats_update_begin(&rx_ring->syncp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1194
rx_ring->stats.bytes += bytes;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1195
rx_ring->stats.packets += pkts;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1196
u64_stats_update_end(&rx_ring->syncp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1520
struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1525
u8 reg_idx = rx_ring->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1528
rxctrl = dca3_get_tag(rx_ring->dev, cpu);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1733
static unsigned int ixgbe_rx_offset(struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1735
return ring_uses_build_skb(rx_ring) ? IXGBE_SKB_PAD : 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1738
static bool ixgbe_alloc_mapped_page(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1749
page = dev_alloc_pages(ixgbe_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1751
rx_ring->rx_stats.alloc_rx_page_failed++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1756
dma = dma_map_page_attrs(rx_ring->dev, page, 0,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1757
ixgbe_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1765
if (dma_mapping_error(rx_ring->dev, dma)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1766
__free_pages(page, ixgbe_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1768
rx_ring->rx_stats.alloc_rx_page_failed++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1774
bi->page_offset = rx_ring->rx_offset;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1777
rx_ring->rx_stats.alloc_rx_page++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1787
void ixgbe_alloc_rx_buffers(struct ixgbe_ring *rx_ring, u16 cleaned_count)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1791
u16 i = rx_ring->next_to_use;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1798
rx_desc = IXGBE_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1799
bi = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1800
i -= rx_ring->count;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1802
bufsz = ixgbe_rx_bufsz(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1805
if (!ixgbe_alloc_mapped_page(rx_ring, bi))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1809
dma_sync_single_range_for_device(rx_ring->dev, bi->dma,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1823
rx_desc = IXGBE_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1824
bi = rx_ring->rx_buffer_info;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1825
i -= rx_ring->count;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1834
i += rx_ring->count;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1836
if (rx_ring->next_to_use != i) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1837
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1840
rx_ring->next_to_alloc = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1848
writel(i, rx_ring->tail);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1863
static void ixgbe_update_rsc_stats(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1870
rx_ring->rx_stats.rsc_count += IXGBE_CB(skb)->append_cnt;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1871
rx_ring->rx_stats.rsc_flush++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1873
ixgbe_set_rsc_gso_size(rx_ring, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1889
void ixgbe_process_skb_fields(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1893
struct net_device *dev = rx_ring->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1894
u32 flags = rx_ring->q_vector->adapter->flags;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1896
ixgbe_update_rsc_stats(rx_ring, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1898
ixgbe_rx_hash(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1900
ixgbe_rx_checksum(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1903
ixgbe_ptp_rx_hwtstamp(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1912
ixgbe_ipsec_rx(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1916
skb_record_rx_queue(skb, rx_ring->queue_index);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1941
static bool ixgbe_is_non_eop(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1945
u32 ntc = rx_ring->next_to_clean + 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1948
ntc = (ntc < rx_ring->count) ? ntc : 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1949
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1951
prefetch(IXGBE_RX_DESC(rx_ring, ntc));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1954
if (ring_is_rsc_enabled(rx_ring)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1976
rx_ring->rx_buffer_info[ntc].skb = skb;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1977
rx_ring->rx_stats.non_eop_descs++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
1994
static void ixgbe_pull_tail(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2034
static void ixgbe_dma_sync_frag(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2037
if (ring_uses_build_skb(rx_ring)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2038
unsigned long mask = (unsigned long)ixgbe_rx_pg_size(rx_ring) - 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2041
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2049
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2058
dma_unmap_page_attrs(rx_ring->dev, IXGBE_CB(skb)->dma,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2059
ixgbe_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2087
bool ixgbe_cleanup_headers(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2091
struct net_device *netdev = rx_ring->netdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2106
ixgbe_pull_tail(rx_ring, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2110
if (ixgbe_rx_is_fcoe(rx_ring, rx_desc))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2128
static void ixgbe_reuse_rx_page(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2132
u16 nta = rx_ring->next_to_alloc;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2134
new_buff = &rx_ring->rx_buffer_info[nta];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2138
rx_ring->next_to_alloc = (nta < rx_ring->count) ? nta : 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2203
static void ixgbe_add_rx_frag(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2209
unsigned int truesize = ixgbe_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2211
unsigned int truesize = rx_ring->rx_offset ?
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2212
SKB_DATA_ALIGN(rx_ring->rx_offset + size) :
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2224
static struct ixgbe_rx_buffer *ixgbe_get_rx_buffer(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2232
rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2251
ixgbe_dma_sync_frag(rx_ring, *skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2255
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2266
static void ixgbe_put_rx_buffer(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2273
ixgbe_reuse_rx_page(rx_ring, rx_buffer);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2280
dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2281
ixgbe_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2294
static struct sk_buff *ixgbe_construct_skb(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2301
unsigned int truesize = ixgbe_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2328
skb = napi_alloc_skb(&rx_ring->q_vector->napi, IXGBE_RX_HDR_SIZE);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2353
static struct sk_buff *ixgbe_build_skb(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2360
unsigned int truesize = ixgbe_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2401
struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2410
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2441
bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2445
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2455
static unsigned int ixgbe_rx_frame_truesize(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2461
truesize = ixgbe_rx_pg_size(rx_ring) / 2; /* Must be power-of-2 */
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2463
truesize = rx_ring->rx_offset ?
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2464
SKB_DATA_ALIGN(rx_ring->rx_offset + size) +
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2471
static void ixgbe_rx_buffer_flip(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2475
unsigned int truesize = ixgbe_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2497
struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2506
u16 cleaned_count = ixgbe_desc_unused(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2507
unsigned int offset = rx_ring->rx_offset;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2514
frame_sz = ixgbe_rx_frame_truesize(rx_ring, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2516
xdp_init_buff(&xdp, frame_sz, &rx_ring->xdp_rxq);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2527
ixgbe_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2531
rx_desc = IXGBE_RX_DESC(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2542
rx_buffer = ixgbe_get_rx_buffer(rx_ring, rx_desc, &skb, size, &rx_buffer_pgcnt);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2554
xdp.frame_sz = ixgbe_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2556
xdp_res = ixgbe_run_xdp(adapter, rx_ring, &xdp);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2562
ixgbe_rx_buffer_flip(rx_ring, rx_buffer, size);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2569
ixgbe_add_rx_frag(rx_ring, rx_buffer, skb, size);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2570
} else if (ring_uses_build_skb(rx_ring)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2571
skb = ixgbe_build_skb(rx_ring, rx_buffer,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2574
skb = ixgbe_construct_skb(rx_ring, rx_buffer,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2580
rx_ring->rx_stats.alloc_rx_buff_failed++;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2585
ixgbe_put_rx_buffer(rx_ring, rx_buffer, skb, rx_buffer_pgcnt);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2589
if (ixgbe_is_non_eop(rx_ring, rx_desc, skb))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2593
if (xdp_res || ixgbe_cleanup_headers(rx_ring, rx_desc, skb))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2600
ixgbe_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2604
if (ixgbe_rx_is_fcoe(rx_ring, rx_desc)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2609
mss = rx_ring->netdev->mtu -
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
2642
ixgbe_update_rx_ring_stats(rx_ring, q_vector, total_rx_packets,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4128
ixgbe_enable_rx_drop(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4131
ixgbe_disable_rx_drop(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4141
struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4145
u8 reg_idx = rx_ring->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4161
if (rx_ring->xsk_pool) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4162
u32 xsk_buf_len = xsk_pool_get_rx_frame_size(rx_ring->xsk_pool);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4176
} else if (test_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4699
struct ixgbe_ring *rx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4733
rx_ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4735
clear_ring_rsc_enabled(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4736
clear_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4737
clear_bit(__IXGBE_RX_BUILD_SKB_ENABLED, &rx_ring->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4740
set_ring_rsc_enabled(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4742
if (test_bit(__IXGBE_RX_FCOE, &rx_ring->state))
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4743
set_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4748
set_bit(__IXGBE_RX_BUILD_SKB_ENABLED, &rx_ring->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4752
set_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4756
set_bit(__IXGBE_RX_3K_BUFFER, &rx_ring->state);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4844
ixgbe_configure_rx_ring(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4953
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
4992
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5723
queue = adapter->rx_ring[ring]->reg_idx;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5740
static void ixgbe_clean_rx_ring(struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5742
u16 i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5743
struct ixgbe_rx_buffer *rx_buffer = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5745
if (rx_ring->xsk_pool) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5746
ixgbe_xsk_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5751
while (i != rx_ring->next_to_alloc) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5755
dma_unmap_page_attrs(rx_ring->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5757
ixgbe_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5766
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5769
ixgbe_rx_bufsz(rx_ring),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5773
dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5774
ixgbe_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5782
if (i == rx_ring->count) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5784
rx_buffer = rx_ring->rx_buffer_info;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5789
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5790
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5791
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5816
adapter->rx_ring[baseq + i]->netdev = vdev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
5835
adapter->rx_ring[baseq + i]->netdev = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
593
struct ixgbe_ring *rx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6355
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6398
struct ixgbe_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
6653
ixgbe_clean_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7143
static int ixgbe_rx_napi_id(struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7145
struct ixgbe_q_vector *q_vector = rx_ring->q_vector;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7158
struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7160
struct device *dev = rx_ring->dev;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7165
size = sizeof(struct ixgbe_rx_buffer) * rx_ring->count;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7167
if (rx_ring->q_vector)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7168
ring_node = rx_ring->q_vector->numa_node;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7170
rx_ring->rx_buffer_info = vmalloc_node(size, ring_node);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7171
if (!rx_ring->rx_buffer_info)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7172
rx_ring->rx_buffer_info = vmalloc(size);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7173
if (!rx_ring->rx_buffer_info)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7177
rx_ring->size = rx_ring->count * sizeof(union ixgbe_adv_rx_desc);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7178
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7181
rx_ring->desc = dma_alloc_coherent(dev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7182
rx_ring->size,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7183
&rx_ring->dma,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7186
if (!rx_ring->desc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7187
rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7188
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7189
if (!rx_ring->desc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7192
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7193
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7196
if (xdp_rxq_info_reg(&rx_ring->xdp_rxq, adapter->netdev,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7197
rx_ring->queue_index, ixgbe_rx_napi_id(rx_ring)) < 0)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7200
WRITE_ONCE(rx_ring->xdp_prog, adapter->xdp_prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7204
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7205
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7225
err = ixgbe_setup_rx_resources(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7241
ixgbe_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7292
void ixgbe_free_rx_resources(struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7294
ixgbe_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7296
rx_ring->xdp_prog = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7297
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7298
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7299
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7302
if (!rx_ring->desc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7305
dma_free_coherent(rx_ring->dev, rx_ring->size,
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7306
rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7308
rx_ring->desc = NULL;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
732
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7326
if (adapter->rx_ring[i]->desc)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7327
ixgbe_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
734
n, rx_ring->next_to_use, rx_ring->next_to_clean);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7674
rsc_count += adapter->rx_ring[i]->rx_stats.rsc_count;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7675
rsc_flush += adapter->rx_ring[i]->rx_stats.rsc_flush;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7682
struct ixgbe_ring *rx_ring = READ_ONCE(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7684
if (!rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7686
non_eop_descs += rx_ring->rx_stats.non_eop_descs;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7687
alloc_rx_page += rx_ring->rx_stats.alloc_rx_page;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7688
alloc_rx_page_failed += rx_ring->rx_stats.alloc_rx_page_failed;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7689
alloc_rx_buff_failed += rx_ring->rx_stats.alloc_rx_buff_failed;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7690
hw_csum_rx_error += rx_ring->rx_stats.csum_err;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7691
bytes += rx_ring->stats.bytes;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
7692
packets += rx_ring->stats.packets;
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
789
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
791
pr_info("RX QUEUE INDEX = %d\n", rx_ring->queue_index);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
802
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
805
if (i == rx_ring->next_to_use)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
807
else if (i == rx_ring->next_to_clean)
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
812
rx_buffer_info = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
813
rx_desc = IXGBE_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
838
ixgbe_rx_bufsz(rx_ring), true);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
9698
struct ixgbe_ring *ring = READ_ONCE(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
722
struct ixgbe_ring *rx_ring;
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
737
rx_ring = adapter->rx_ring[n];
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
738
if (time_after(rx_ring->last_rx_timestamp, rx_event))
drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c
739
rx_event = rx_ring->last_rx_timestamp;
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
18
bool ixgbe_cleanup_headers(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
21
void ixgbe_process_skb_fields(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
39
bool ixgbe_alloc_rx_buffers_zc(struct ixgbe_ring *rx_ring, u16 cleaned_count);
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
41
struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
43
void ixgbe_xsk_clean_rx_ring(struct ixgbe_ring *rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_txrx_common.h
52
void ixgbe_update_rx_ring_stats(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
107
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
111
err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
114
if (xsk_uses_need_wakeup(rx_ring->xsk_pool) && err == -ENOBUFS)
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
141
bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
146
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
151
bool ixgbe_alloc_rx_buffers_zc(struct ixgbe_ring *rx_ring, u16 count)
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
155
u16 i = rx_ring->next_to_use;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
163
rx_desc = IXGBE_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
164
bi = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
165
i -= rx_ring->count;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
168
bi->xdp = xsk_buff_alloc(rx_ring->xsk_pool);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
185
rx_desc = IXGBE_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
186
bi = rx_ring->rx_buffer_info;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
187
i -= rx_ring->count;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
196
i += rx_ring->count;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
198
if (rx_ring->next_to_use != i) {
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
199
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
207
writel(i, rx_ring->tail);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
213
static struct sk_buff *ixgbe_construct_skb_zc(struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
223
skb = napi_alloc_skb(&rx_ring->q_vector->napi, totalsize);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
238
static void ixgbe_inc_ntc(struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
240
u32 ntc = rx_ring->next_to_clean + 1;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
242
ntc = (ntc < rx_ring->count) ? ntc : 0;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
243
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
244
prefetch(IXGBE_RX_DESC(rx_ring, ntc));
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
248
struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
253
u16 cleaned_count = ixgbe_desc_unused(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
266
!ixgbe_alloc_rx_buffers_zc(rx_ring,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
271
rx_desc = IXGBE_RX_DESC(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
282
bi = &rx_ring->rx_buffer_info[rx_ring->next_to_clean];
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
290
ixgbe_inc_ntc(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
292
&rx_ring->rx_buffer_info[rx_ring->next_to_clean];
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
301
ixgbe_inc_ntc(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
307
xdp_res = ixgbe_run_xdp_zc(adapter, rx_ring, bi->xdp);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
325
ixgbe_inc_ntc(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
330
skb = ixgbe_construct_skb_zc(rx_ring, bi->xdp);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
332
rx_ring->rx_stats.alloc_rx_buff_failed++;
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
340
ixgbe_inc_ntc(rx_ring);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
348
ixgbe_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
361
ixgbe_update_rx_ring_stats(rx_ring, q_vector, total_rx_packets,
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
364
if (xsk_uses_need_wakeup(rx_ring->xsk_pool)) {
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
365
if (failure || rx_ring->next_to_clean == rx_ring->next_to_use)
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
366
xsk_set_rx_need_wakeup(rx_ring->xsk_pool);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
368
xsk_clear_rx_need_wakeup(rx_ring->xsk_pool);
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
375
void ixgbe_xsk_clean_rx_ring(struct ixgbe_ring *rx_ring)
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
380
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
381
bi = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c
98
struct ixgbe_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
242
struct ixgbevf_ring *tx_ring = NULL, *rx_ring = NULL;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
271
adapter->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
325
rx_ring = vmalloc(array_size(sizeof(*rx_ring),
drivers/net/ethernet/intel/ixgbevf/ethtool.c
327
if (!rx_ring) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
334
rx_ring[i] = *adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
337
memset(&rx_ring[i].xdp_rxq, 0,
drivers/net/ethernet/intel/ixgbevf/ethtool.c
338
sizeof(rx_ring[i].xdp_rxq));
drivers/net/ethernet/intel/ixgbevf/ethtool.c
340
rx_ring[i].count = new_rx_count;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
341
err = ixgbevf_setup_rx_resources(adapter, &rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
345
ixgbevf_free_rx_resources(&rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
348
vfree(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
349
rx_ring = NULL;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
378
if (rx_ring) {
drivers/net/ethernet/intel/ixgbevf/ethtool.c
380
ixgbevf_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
381
*adapter->rx_ring[i] = rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ethtool.c
385
vfree(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ethtool.c
386
rx_ring = NULL;
drivers/net/ethernet/intel/ixgbevf/ethtool.c
487
ring = adapter->rx_ring[j];
drivers/net/ethernet/intel/ixgbevf/ipsec.c
545
void ixgbevf_ipsec_rx(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ipsec.c
549
struct ixgbevf_adapter *adapter = netdev_priv(rx_ring->netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
331
struct ixgbevf_ring *rx_ring[MAX_TX_QUEUES]; /* One per active queue */
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
446
struct ixgbevf_ring *rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
459
void ixgbevf_ipsec_rx(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h
471
static inline void ixgbevf_ipsec_rx(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1049
struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1057
xdp_prog = READ_ONCE(rx_ring->xdp_prog);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1067
xdp_ring = adapter->xdp_ring[rx_ring->queue_index];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1073
bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1077
trace_xdp_exception(rx_ring->netdev, xdp_prog, act);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1087
static unsigned int ixgbevf_rx_frame_truesize(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1093
truesize = ixgbevf_rx_pg_size(rx_ring) / 2; /* Must be power-of-2 */
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1095
truesize = ring_uses_build_skb(rx_ring) ?
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1103
static void ixgbevf_rx_buffer_flip(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1107
unsigned int truesize = ixgbevf_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1117
struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1122
u16 cleaned_count = ixgbevf_desc_unused(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1123
struct sk_buff *skb = rx_ring->skb;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1130
frame_sz = ixgbevf_rx_frame_truesize(rx_ring, 0);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1132
xdp_init_buff(&xdp, frame_sz, &rx_ring->xdp_rxq);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1141
ixgbevf_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1145
rx_desc = IXGBEVF_RX_DESC(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1156
rx_buffer = ixgbevf_get_rx_buffer(rx_ring, size);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
116
static void ixgbevf_reuse_rx_page(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1160
unsigned int offset = ixgbevf_rx_offset(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1168
xdp.frame_sz = ixgbevf_rx_frame_truesize(rx_ring, size);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1170
xdp_res = ixgbevf_run_xdp(adapter, rx_ring, &xdp);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1176
ixgbevf_rx_buffer_flip(rx_ring, rx_buffer,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1184
ixgbevf_add_rx_frag(rx_ring, rx_buffer, skb, size);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1185
} else if (ring_uses_build_skb(rx_ring)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1186
skb = ixgbevf_build_skb(rx_ring, rx_buffer,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1189
skb = ixgbevf_construct_skb(rx_ring, rx_buffer,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1195
rx_ring->rx_stats.alloc_rx_buff_failed++;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1200
ixgbevf_put_rx_buffer(rx_ring, rx_buffer, skb);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1204
if (ixgbevf_is_non_eop(rx_ring, rx_desc))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1208
if (xdp_res || ixgbevf_cleanup_headers(rx_ring, rx_desc, skb)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1221
ether_addr_equal(rx_ring->netdev->dev_addr,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1228
ixgbevf_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1240
rx_ring->skb = skb;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1244
adapter->xdp_ring[rx_ring->queue_index];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1253
u64_stats_update_begin(&rx_ring->syncp);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1254
rx_ring->stats.packets += total_rx_packets;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1255
rx_ring->stats.bytes += total_rx_bytes;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1256
u64_stats_update_end(&rx_ring->syncp);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1976
struct ixgbevf_ring *rx_ring)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1982
clear_ring_build_skb_enabled(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1983
clear_ring_uses_large_buffer(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1990
set_ring_uses_large_buffer(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1993
if (adapter->hw.mac.type == ixgbe_mac_82599_vf && !ring_uses_large_buffer(rx_ring))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
1996
set_ring_build_skb_enabled(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2027
struct ixgbevf_ring *rx_ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2029
ixgbevf_set_rx_buffer_len(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2030
ixgbevf_configure_rx_ring(adapter, rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2386
static void ixgbevf_clean_rx_ring(struct ixgbevf_ring *rx_ring)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2388
u16 i = rx_ring->next_to_clean;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2391
if (rx_ring->skb) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2392
dev_kfree_skb(rx_ring->skb);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2393
rx_ring->skb = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2397
while (i != rx_ring->next_to_alloc) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2400
rx_buffer = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2405
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2408
ixgbevf_rx_bufsz(rx_ring),
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2412
dma_unmap_page_attrs(rx_ring->dev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2414
ixgbevf_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2422
if (i == rx_ring->count)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2426
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2427
rx_ring->next_to_clean = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2428
rx_ring->next_to_use = 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2502
ixgbevf_clean_rx_ring(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2531
ixgbevf_disable_rx_queue(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2857
adapter->rx_ring[rxr_idx] = ring;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
2892
adapter->rx_ring[ring->queue_index] = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3188
struct ixgbevf_ring *rx_ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3190
hw_csum_rx_error += rx_ring->rx_stats.csum_err;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3191
alloc_rx_page_failed += rx_ring->rx_stats.alloc_rx_page_failed;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3192
alloc_rx_buff_failed += rx_ring->rx_stats.alloc_rx_buff_failed;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3193
alloc_rx_page += rx_ring->rx_stats.alloc_rx_page;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3524
struct ixgbevf_ring *rx_ring)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3528
size = sizeof(struct ixgbevf_rx_buffer) * rx_ring->count;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3529
rx_ring->rx_buffer_info = vmalloc(size);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3530
if (!rx_ring->rx_buffer_info)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3533
u64_stats_init(&rx_ring->syncp);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3536
rx_ring->size = rx_ring->count * sizeof(union ixgbe_adv_rx_desc);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3537
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3539
rx_ring->desc = dma_alloc_coherent(rx_ring->dev, rx_ring->size,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3540
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3542
if (!rx_ring->desc)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3546
if (xdp_rxq_info_reg(&rx_ring->xdp_rxq, adapter->netdev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3547
rx_ring->queue_index, 0) < 0)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3550
rx_ring->xdp_prog = adapter->xdp_prog;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3554
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3555
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3556
dev_err(rx_ring->dev, "Unable to allocate memory for the Rx descriptor ring\n");
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3575
err = ixgbevf_setup_rx_resources(adapter, adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3586
ixgbevf_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3596
void ixgbevf_free_rx_resources(struct ixgbevf_ring *rx_ring)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3598
ixgbevf_clean_rx_ring(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3600
rx_ring->xdp_prog = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3601
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3602
vfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3603
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3605
dma_free_coherent(rx_ring->dev, rx_ring->size, rx_ring->desc,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3606
rx_ring->dma);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3608
rx_ring->desc = NULL;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3622
if (adapter->rx_ring[i]->desc)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
3623
ixgbevf_free_rx_resources(adapter->rx_ring[i]);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4414
ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4478
struct ixgbevf_ring *ring = adapter->rx_ring[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
4502
xchg(&adapter->rx_ring[i]->xdp_prog, adapter->xdp_prog);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
510
static void ixgbevf_process_skb_fields(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
514
ixgbevf_rx_hash(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
515
ixgbevf_rx_checksum(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
519
unsigned long *active_vlans = netdev_priv(rx_ring->netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
526
ixgbevf_ipsec_rx(rx_ring, rx_desc, skb);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
528
skb->protocol = eth_type_trans(skb, rx_ring->netdev);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
532
struct ixgbevf_rx_buffer *ixgbevf_get_rx_buffer(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
537
rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
541
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
552
static void ixgbevf_put_rx_buffer(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
558
ixgbevf_reuse_rx_page(rx_ring, rx_buffer);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
564
dma_unmap_page_attrs(rx_ring->dev, rx_buffer->dma,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
565
ixgbevf_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
586
static bool ixgbevf_is_non_eop(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
589
u32 ntc = rx_ring->next_to_clean + 1;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
592
ntc = (ntc < rx_ring->count) ? ntc : 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
593
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
595
prefetch(IXGBEVF_RX_DESC(rx_ring, ntc));
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
603
static inline unsigned int ixgbevf_rx_offset(struct ixgbevf_ring *rx_ring)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
605
return ring_uses_build_skb(rx_ring) ? IXGBEVF_SKB_PAD : 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
608
static bool ixgbevf_alloc_mapped_page(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
619
page = dev_alloc_pages(ixgbevf_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
621
rx_ring->rx_stats.alloc_rx_page_failed++;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
626
dma = dma_map_page_attrs(rx_ring->dev, page, 0,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
627
ixgbevf_rx_pg_size(rx_ring),
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
633
if (dma_mapping_error(rx_ring->dev, dma)) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
634
__free_pages(page, ixgbevf_rx_pg_order(rx_ring));
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
636
rx_ring->rx_stats.alloc_rx_page_failed++;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
642
bi->page_offset = ixgbevf_rx_offset(rx_ring);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
644
rx_ring->rx_stats.alloc_rx_page++;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
654
static void ixgbevf_alloc_rx_buffers(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
659
unsigned int i = rx_ring->next_to_use;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
662
if (!cleaned_count || !rx_ring->netdev)
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
665
rx_desc = IXGBEVF_RX_DESC(rx_ring, i);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
666
bi = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
667
i -= rx_ring->count;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
670
if (!ixgbevf_alloc_mapped_page(rx_ring, bi))
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
674
dma_sync_single_range_for_device(rx_ring->dev, bi->dma,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
676
ixgbevf_rx_bufsz(rx_ring),
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
688
rx_desc = IXGBEVF_RX_DESC(rx_ring, 0);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
689
bi = rx_ring->rx_buffer_info;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
690
i -= rx_ring->count;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
699
i += rx_ring->count;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
701
if (rx_ring->next_to_use != i) {
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
703
rx_ring->next_to_use = i;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
706
rx_ring->next_to_alloc = i;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
714
ixgbevf_write_tail(rx_ring, i);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
736
static bool ixgbevf_cleanup_headers(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
743
struct net_device *netdev = rx_ring->netdev;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
765
static void ixgbevf_reuse_rx_page(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
769
u16 nta = rx_ring->next_to_alloc;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
771
new_buff = &rx_ring->rx_buffer_info[nta];
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
775
rx_ring->next_to_alloc = (nta < rx_ring->count) ? nta : 0;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
827
static void ixgbevf_add_rx_frag(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
833
unsigned int truesize = ixgbevf_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
835
unsigned int truesize = ring_uses_build_skb(rx_ring) ?
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
849
struct sk_buff *ixgbevf_construct_skb(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
856
unsigned int truesize = ixgbevf_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
883
skb = napi_alloc_skb(&rx_ring->q_vector->napi, IXGBEVF_RX_HDR_SIZE);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
924
static struct sk_buff *ixgbevf_build_skb(struct ixgbevf_ring *rx_ring,
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
931
unsigned int truesize = ixgbevf_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
291
struct prestera_rx_ring *ring = &sdma->rx_ring[q];
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
343
struct prestera_rx_ring *ring = &sdma->rx_ring[q];
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
380
struct prestera_rx_ring *ring = &sdma->rx_ring[q];
drivers/net/ethernet/marvell/prestera/prestera_rxtx.c
93
struct prestera_rx_ring rx_ring[PRESTERA_SDMA_RX_QUEUE_NUM];
drivers/net/ethernet/marvell/skge.c
1015
struct skge_ring *ring = &skge->rx_ring;
drivers/net/ethernet/marvell/skge.c
2552
rx_size = skge->rx_ring.count * sizeof(struct skge_rx_desc);
drivers/net/ethernet/marvell/skge.c
2568
err = skge_ring_alloc(&skge->rx_ring, skge->mem, skge->dma);
drivers/net/ethernet/marvell/skge.c
2605
skge_qset(skge, rxqaddr[port], skge->rx_ring.to_clean);
drivers/net/ethernet/marvell/skge.c
2632
kfree(skge->rx_ring.start);
drivers/net/ethernet/marvell/skge.c
2723
kfree(skge->rx_ring.start);
drivers/net/ethernet/marvell/skge.c
3059
e - skge->rx_ring.start, status, len);
drivers/net/ethernet/marvell/skge.c
3125
e - skge->rx_ring.start, control, status);
drivers/net/ethernet/marvell/skge.c
3200
struct skge_ring *ring = &skge->rx_ring;
drivers/net/ethernet/marvell/skge.c
3713
for (e = skge->rx_ring.to_clean; ; e = e->next) {
drivers/net/ethernet/marvell/skge.c
3836
skge->rx_ring.count = DEFAULT_RX_RING_SIZE;
drivers/net/ethernet/marvell/skge.c
501
p->rx_pending = skge->rx_ring.count;
drivers/net/ethernet/marvell/skge.c
517
skge->rx_ring.count = p->rx_pending;
drivers/net/ethernet/marvell/skge.c
990
struct skge_ring *ring = &skge->rx_ring;
drivers/net/ethernet/marvell/skge.h
2453
struct skge_ring rx_ring ____cacheline_aligned_in_smp;
drivers/net/ethernet/marvell/sky2.c
1355
struct rx_ring_info *re = sky2->rx_ring + i;
drivers/net/ethernet/marvell/sky2.c
1494
struct rx_ring_info *re = sky2->rx_ring + i;
drivers/net/ethernet/marvell/sky2.c
1549
re = sky2->rx_ring + i;
drivers/net/ethernet/marvell/sky2.c
1613
sky2->rx_ring = kzalloc_objs(struct rx_ring_info, sky2->rx_pending);
drivers/net/ethernet/marvell/sky2.c
1614
if (!sky2->rx_ring)
drivers/net/ethernet/marvell/sky2.c
1640
kfree(sky2->rx_ring);
drivers/net/ethernet/marvell/sky2.c
1643
sky2->rx_ring = NULL;
drivers/net/ethernet/marvell/sky2.c
2559
struct rx_ring_info *re = sky2->rx_ring + sky2->rx_next;
drivers/net/ethernet/marvell/sky2.c
2568
prefetch(sky2->rx_ring + sky2->rx_next);
drivers/net/ethernet/marvell/sky2.c
2667
struct sk_buff *skb = sky2->rx_ring[sky2->rx_next].skb;
drivers/net/ethernet/marvell/sky2.c
2689
skb = sky2->rx_ring[sky2->rx_next].skb;
drivers/net/ethernet/marvell/sky2.c
2697
skb = sky2->rx_ring[sky2->rx_next].skb;
drivers/net/ethernet/marvell/sky2.h
2235
struct rx_ring_info *rx_ring ____cacheline_aligned_in_smp;
drivers/net/ethernet/mediatek/mtk_eth_soc.c
1829
return &eth->rx_ring[0];
drivers/net/ethernet/mediatek/mtk_eth_soc.c
1834
ring = &eth->rx_ring[i];
drivers/net/ethernet/mediatek/mtk_eth_soc.c
1852
ring = &eth->rx_ring[0];
drivers/net/ethernet/mediatek/mtk_eth_soc.c
1856
ring = &eth->rx_ring[i];
drivers/net/ethernet/mediatek/mtk_eth_soc.c
2781
ring = &eth->rx_ring[ring_no];
drivers/net/ethernet/mediatek/mtk_eth_soc.c
3307
mtk_rx_clean(eth, &eth->rx_ring[0], true);
drivers/net/ethernet/mediatek/mtk_eth_soc.c
3313
mtk_rx_clean(eth, &eth->rx_ring[i], false);
drivers/net/ethernet/mediatek/mtk_eth_soc.c
4593
for (i = 0; i < ARRAY_SIZE(eth->rx_ring); i++) {
drivers/net/ethernet/mediatek/mtk_eth_soc.c
4594
struct mtk_rx_ring *ring = &eth->rx_ring[i];
drivers/net/ethernet/mediatek/mtk_eth_soc.h
1313
struct mtk_rx_ring rx_ring[MTK_MAX_RX_RING_NUM];
drivers/net/ethernet/mediatek/mtk_star_emac.c
1273
struct mtk_star_ring *ring = &priv->rx_ring;
drivers/net/ethernet/mediatek/mtk_star_emac.c
264
struct mtk_star_ring rx_ring;
drivers/net/ethernet/mediatek/mtk_star_emac.c
512
mtk_star_ring_init(&priv->rx_ring,
drivers/net/ethernet/mediatek/mtk_star_emac.c
696
struct mtk_star_ring *ring = &priv->rx_ring;
drivers/net/ethernet/mediatek/mtk_star_emac.c
747
struct mtk_star_ring *ring = &priv->rx_ring;
drivers/net/ethernet/mediatek/mtk_wed.c
1710
for (i = 0; i < ARRAY_SIZE(dev->rx_ring); i++) {
drivers/net/ethernet/mediatek/mtk_wed.c
1711
if (!dev->rx_ring[i].desc)
drivers/net/ethernet/mediatek/mtk_wed.c
1714
mtk_wed_ring_reset(&dev->rx_ring[i], MTK_WED_RX_RING_SIZE,
drivers/net/ethernet/mediatek/mtk_wed.c
2139
struct mtk_wed_ring *ring = &dev->rx_ring[i];
drivers/net/ethernet/mediatek/mtk_wed.c
2562
struct mtk_wed_ring *ring = &dev->rx_ring[idx];
drivers/net/ethernet/mediatek/mtk_wed.c
2564
if (WARN_ON(idx >= ARRAY_SIZE(dev->rx_ring)))
drivers/net/ethernet/mediatek/mtk_wed.h
134
if (!dev->rx_ring[ring].wpdma)
drivers/net/ethernet/mediatek/mtk_wed.h
137
return readl(dev->rx_ring[ring].wpdma + reg);
drivers/net/ethernet/mediatek/mtk_wed.h
143
if (!dev->rx_ring[ring].wpdma)
drivers/net/ethernet/mediatek/mtk_wed.h
146
writel(val, dev->rx_ring[ring].wpdma + reg);
drivers/net/ethernet/mellanox/mlx4/en_cq.c
107
cq->vector = cpumask_first(priv->rx_ring[cq->ring]->affinity_mask);
drivers/net/ethernet/mellanox/mlx4/en_cq.c
133
cq->size = priv->rx_ring[cq->ring]->actual_size;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1156
if (rx_size == (priv->port_up ? priv->rx_ring[0]->actual_size :
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1157
priv->rx_ring[0]->size) &&
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
1204
priv->rx_ring[0]->actual_size : priv->rx_ring[0]->size;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
430
data[index++] = priv->rx_ring[i]->packets;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
431
data[index++] = priv->rx_ring[i]->bytes;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
432
data[index++] = priv->rx_ring[i]->dropped;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
433
data[index++] = priv->rx_ring[i]->xdp_drop;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
434
data[index++] = priv->rx_ring[i]->xdp_redirect;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
435
data[index++] = priv->rx_ring[i]->xdp_redirect_fail;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
436
data[index++] = priv->rx_ring[i]->xdp_tx;
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
437
data[index++] = priv->rx_ring[i]->xdp_tx_full;
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
1473
rx_packets = READ_ONCE(priv->rx_ring[ring]->packets);
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
1474
rx_bytes = READ_ONCE(priv->rx_ring[ring]->bytes);
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
1601
struct mlx4_en_rx_ring *ring = priv->rx_ring[ring_idx];
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
1614
free_cpumask_var(priv->rx_ring[ring_idx]->affinity_mask);
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
1624
tx_ring->recycle_ring = priv->rx_ring[rr_index];
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
1695
priv->rx_ring[i]->cqn = cq->mcq.cqn;
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
1882
mlx4_en_deactivate_rx_ring(priv, priv->rx_ring[i]);
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2012
mlx4_en_deactivate_rx_ring(priv, priv->rx_ring[i]);
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2072
priv->rx_ring[i]->bytes = 0;
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2073
priv->rx_ring[i]->packets = 0;
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2074
priv->rx_ring[i]->csum_ok = 0;
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2075
priv->rx_ring[i]->csum_none = 0;
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2076
priv->rx_ring[i]->csum_complete = 0;
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2077
priv->rx_ring[i]->alloc_fail = 0;
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2147
if (priv->rx_ring[i])
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2148
mlx4_en_destroy_rx_ring(priv, &priv->rx_ring[i],
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2184
if (mlx4_en_create_rx_ring(priv, &priv->rx_ring[i],
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2200
if (priv->rx_ring[i])
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2201
mlx4_en_destroy_rx_ring(priv, &priv->rx_ring[i],
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2269
memcpy(dst->rx_ring, src->rx_ring,
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2313
priv->rx_ring[0]->xdp_prog,
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2319
rcu_assign_pointer(tmp->rx_ring[i]->xdp_prog,
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2741
priv->rx_ring[i]->xdp_prog,
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2743
rcu_assign_pointer(priv->rx_ring[i]->xdp_prog, prog);
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2790
priv->rx_ring[i]->xdp_prog,
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
2792
rcu_assign_pointer(priv->rx_ring[i]->xdp_prog, prog);
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
3101
ring = priv->rx_ring[i];
drivers/net/ethernet/mellanox/mlx4/en_port.c
163
const struct mlx4_en_rx_ring *ring = priv->rx_ring[i];
drivers/net/ethernet/mellanox/mlx4/en_port.c
252
const struct mlx4_en_rx_ring *ring = priv->rx_ring[i];
drivers/net/ethernet/mellanox/mlx4/en_rx.c
1195
err = mlx4_en_config_rss_qp(priv, qpn, priv->rx_ring[i],
drivers/net/ethernet/mellanox/mlx4/en_rx.c
1226
priv->rx_ring[0]->cqn, -1, &context);
drivers/net/ethernet/mellanox/mlx4/en_rx.c
166
ring = priv->rx_ring[ring_ind];
drivers/net/ethernet/mellanox/mlx4/en_rx.c
189
ring = priv->rx_ring[ring_ind];
drivers/net/ethernet/mellanox/mlx4/en_rx.c
332
ring = priv->rx_ring[ring_ind];
drivers/net/ethernet/mellanox/mlx4/en_rx.c
364
ring = priv->rx_ring[ring_ind];
drivers/net/ethernet/mellanox/mlx4/en_rx.c
374
mlx4_en_free_rx_buf(priv, priv->rx_ring[ring_ind]);
drivers/net/ethernet/mellanox/mlx4/en_rx.c
378
if (priv->rx_ring[ring_ind]->stride <= TXBB_SIZE)
drivers/net/ethernet/mellanox/mlx4/en_rx.c
379
priv->rx_ring[ring_ind]->buf -= TXBB_SIZE;
drivers/net/ethernet/mellanox/mlx4/en_rx.c
397
if (mlx4_en_is_ring_empty(priv->rx_ring[ring])) {
drivers/net/ethernet/mellanox/mlx4/en_rx.c
701
ring = priv->rx_ring[cq_ring];
drivers/net/ethernet/mellanox/mlx4/en_tx.c
1141
netdev_tx_t mlx4_en_xmit_frame(struct mlx4_en_rx_ring *rx_ring,
drivers/net/ethernet/mellanox/mlx4/en_tx.c
1188
rx_ring->xdp_tx++;
drivers/net/ethernet/mellanox/mlx4/en_tx.c
1204
rx_ring->xdp_tx_full++;
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
588
struct mlx4_en_rx_ring *rx_ring[MAX_RX_RINGS];
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
696
netdev_tx_t mlx4_en_xmit_frame(struct mlx4_en_rx_ring *rx_ring,
drivers/net/ethernet/mscc/ocelot_fdma.c
149
struct ocelot_fdma_rx_ring *rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
156
rx_ring = &fdma->rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
157
idx = rx_ring->next_to_use;
drivers/net/ethernet/mscc/ocelot_fdma.c
160
rxb = &rx_ring->bufs[idx];
drivers/net/ethernet/mscc/ocelot_fdma.c
171
dcb = &rx_ring->dcbs[idx];
drivers/net/ethernet/mscc/ocelot_fdma.c
177
dcb->llp = ocelot_fdma_idx_dma(rx_ring->dcbs_dma, idx);
drivers/net/ethernet/mscc/ocelot_fdma.c
180
rx_ring->next_to_use = idx;
drivers/net/ethernet/mscc/ocelot_fdma.c
181
rx_ring->next_to_alloc = idx;
drivers/net/ethernet/mscc/ocelot_fdma.c
223
static void ocelot_fdma_rx_set_llp(struct ocelot_fdma_rx_ring *rx_ring)
drivers/net/ethernet/mscc/ocelot_fdma.c
228
idx = ocelot_fdma_idx_prev(rx_ring->next_to_use,
drivers/net/ethernet/mscc/ocelot_fdma.c
230
dcb = &rx_ring->dcbs[idx];
drivers/net/ethernet/mscc/ocelot_fdma.c
237
struct ocelot_fdma_rx_ring *rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
244
rx_ring = &fdma->rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
252
ocelot_fdma_rx_set_llp(rx_ring);
drivers/net/ethernet/mscc/ocelot_fdma.c
259
dma_base = rx_ring->dcbs_dma;
drivers/net/ethernet/mscc/ocelot_fdma.c
298
struct ocelot_fdma_rx_ring *rx_ring = &ocelot->fdma->rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
301
new_rxb = &rx_ring->bufs[rx_ring->next_to_alloc];
drivers/net/ethernet/mscc/ocelot_fdma.c
302
rx_ring->next_to_alloc = ocelot_fdma_idx_next(rx_ring->next_to_alloc,
drivers/net/ethernet/mscc/ocelot_fdma.c
392
struct ocelot_fdma_rx_ring *rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
402
rx_ring = &fdma->rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
403
skb = rx_ring->skb;
drivers/net/ethernet/mscc/ocelot_fdma.c
406
idx = rx_ring->next_to_clean;
drivers/net/ethernet/mscc/ocelot_fdma.c
407
dcb = &rx_ring->dcbs[idx];
drivers/net/ethernet/mscc/ocelot_fdma.c
420
rxb = &rx_ring->bufs[idx];
drivers/net/ethernet/mscc/ocelot_fdma.c
430
rx_ring->next_to_clean = idx;
drivers/net/ethernet/mscc/ocelot_fdma.c
453
rx_ring->skb = skb;
drivers/net/ethernet/mscc/ocelot_fdma.c
58
struct ocelot_fdma_rx_ring *rx_ring = &fdma->rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
60
if (rx_ring->next_to_use >= rx_ring->next_to_clean)
drivers/net/ethernet/mscc/ocelot_fdma.c
62
(rx_ring->next_to_use - rx_ring->next_to_clean) - 1;
drivers/net/ethernet/mscc/ocelot_fdma.c
64
return rx_ring->next_to_clean - rx_ring->next_to_use - 1;
drivers/net/ethernet/mscc/ocelot_fdma.c
701
struct ocelot_fdma_rx_ring *rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
705
rx_ring = &fdma->rx_ring;
drivers/net/ethernet/mscc/ocelot_fdma.c
706
idx = rx_ring->next_to_clean;
drivers/net/ethernet/mscc/ocelot_fdma.c
709
while (idx != rx_ring->next_to_use) {
drivers/net/ethernet/mscc/ocelot_fdma.c
710
rxb = &rx_ring->bufs[idx];
drivers/net/ethernet/mscc/ocelot_fdma.c
717
if (fdma->rx_ring.skb)
drivers/net/ethernet/mscc/ocelot_fdma.c
718
dev_kfree_skb_any(fdma->rx_ring.skb);
drivers/net/ethernet/mscc/ocelot_fdma.c
772
fdma->rx_ring.dcbs = dcbs + OCELOT_FDMA_TX_RING_SIZE;
drivers/net/ethernet/mscc/ocelot_fdma.c
773
fdma->rx_ring.dcbs_dma = dcbs_dma + OCELOT_FDMA_TX_DCB_SIZE;
drivers/net/ethernet/mscc/ocelot_fdma.c
784
ocelot_fdma_rx_set_llp(&fdma->rx_ring);
drivers/net/ethernet/mscc/ocelot_fdma.c
874
ocelot_fdma_activate_chan(ocelot, ocelot->fdma->rx_ring.dcbs_dma,
drivers/net/ethernet/mscc/ocelot_fdma.h
152
struct ocelot_fdma_rx_ring rx_ring;
drivers/net/ethernet/natsemi/natsemi.c
1871
printk(KERN_DEBUG " Rx ring %p:\n", np->rx_ring);
drivers/net/ethernet/natsemi/natsemi.c
1874
i, np->rx_ring[i].next_desc,
drivers/net/ethernet/natsemi/natsemi.c
1875
np->rx_ring[i].cmd_status,
drivers/net/ethernet/natsemi/natsemi.c
1876
np->rx_ring[i].addr);
drivers/net/ethernet/natsemi/natsemi.c
1916
np->rx_ring = dma_alloc_coherent(&np->pci_dev->dev,
drivers/net/ethernet/natsemi/natsemi.c
1919
if (!np->rx_ring)
drivers/net/ethernet/natsemi/natsemi.c
1921
np->tx_ring = &np->rx_ring[RX_RING_SIZE];
drivers/net/ethernet/natsemi/natsemi.c
1947
np->rx_ring[entry].addr = cpu_to_le32(np->rx_dma[entry]);
drivers/net/ethernet/natsemi/natsemi.c
1949
np->rx_ring[entry].cmd_status = cpu_to_le32(np->rx_buf_sz);
drivers/net/ethernet/natsemi/natsemi.c
1989
np->rx_head_desc = &np->rx_ring[0];
drivers/net/ethernet/natsemi/natsemi.c
1996
np->rx_ring[i].next_desc = cpu_to_le32(np->ring_dma
drivers/net/ethernet/natsemi/natsemi.c
1999
np->rx_ring[i].cmd_status = cpu_to_le32(DescOwn);
drivers/net/ethernet/natsemi/natsemi.c
2030
np->rx_ring[i].cmd_status = 0;
drivers/net/ethernet/natsemi/natsemi.c
2031
np->rx_ring[i].addr = cpu_to_le32(0xBADF00D0); /* An invalid address. */
drivers/net/ethernet/natsemi/natsemi.c
2053
np->rx_ring, np->ring_dma);
drivers/net/ethernet/natsemi/natsemi.c
2064
np->rx_head_desc = &np->rx_ring[0];
drivers/net/ethernet/natsemi/natsemi.c
2067
np->rx_ring[i].cmd_status = cpu_to_le32(DescOwn);
drivers/net/ethernet/natsemi/natsemi.c
2382
np->rx_head_desc = &np->rx_ring[entry];
drivers/net/ethernet/natsemi/natsemi.c
541
struct netdev_desc *rx_ring;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1001
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, rxbuf,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1028
if (unlikely(!nfp_nfd3_tx_xdp_buf(dp, rx_ring,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1044
nfp_nfd3_rx_give_one(dp, rx_ring, rxbuf->frag,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1057
nfp_nfd3_rx_give_one(dp, rx_ring, rxbuf->frag,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1067
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, rxbuf,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1078
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, rxbuf, NULL);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1083
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, rxbuf, skb);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1089
nfp_nfd3_rx_give_one(dp, rx_ring, new_frag, new_dma_addr);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1097
skb_record_rx_queue(skb, rx_ring->idx);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1112
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, NULL, skb);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1118
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, NULL, skb);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1127
napi_gro_receive(&rx_ring->r_vec->napi, skb);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1163
if (r_vec->rx_ring)
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1164
pkts_polled = nfp_nfd3_rx(r_vec->rx_ring, budget);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1170
if (r_vec->nfp_net->rx_coalesce_adapt_on && r_vec->rx_ring) {
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1311
struct nfp_net_r_vector *r_vec, struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1321
idx = D_IDX(rx_ring, rx_ring->rd_p);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1323
rxd = &rx_ring->rxds[idx];
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1332
rx_ring->rd_p++;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1334
rxbuf = &rx_ring->rxbufs[idx];
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1357
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, rxbuf, NULL);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1363
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, rxbuf, NULL);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1368
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, rxbuf, skb);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1374
nfp_nfd3_rx_give_one(dp, rx_ring, new_frag, new_dma_addr);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1386
struct nfp_net_rx_ring *rx_ring = r_vec->rx_ring;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
1391
while (nfp_ctrl_rx_one(nn, dp, r_vec, rx_ring) && budget--)
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
588
struct nfp_net_rx_ring *rx_ring,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
593
wr_idx = D_IDX(rx_ring, rx_ring->wr_p);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
598
rx_ring->rxbufs[wr_idx].frag = frag;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
599
rx_ring->rxbufs[wr_idx].dma_addr = dma_addr;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
602
rx_ring->rxds[wr_idx].fld.reserved = 0;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
603
rx_ring->rxds[wr_idx].fld.meta_len_dd = 0;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
608
nfp_desc_set_dma_addr_48b(&rx_ring->rxds[wr_idx].fld,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
611
rx_ring->wr_p++;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
612
if (!(rx_ring->wr_p % NFP_NET_FL_BATCH)) {
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
617
nfp_qcp_wr_ptr_add(rx_ring->qcp_fl, NFP_NET_FL_BATCH);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
627
struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
631
if (nfp_net_has_xsk_pool_slow(dp, rx_ring->idx))
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
632
return nfp_net_xsk_rx_ring_fill_freelist(rx_ring);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
634
for (i = 0; i < rx_ring->cnt - 1; i++)
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
635
nfp_nfd3_rx_give_one(dp, rx_ring, rx_ring->rxbufs[i].frag,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
636
rx_ring->rxbufs[i].dma_addr);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
812
struct nfp_net_rx_ring *rx_ring, struct nfp_net_rx_buf *rxbuf,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
830
nfp_nfd3_rx_give_one(dp, rx_ring, rxbuf->frag, rxbuf->dma_addr);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
836
nfp_nfd3_tx_xdp_buf(struct nfp_net_dp *dp, struct nfp_net_rx_ring *rx_ring,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
857
nfp_nfd3_rx_drop(dp, rx_ring->r_vec, rx_ring, rxbuf,
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
868
nfp_nfd3_rx_give_one(dp, rx_ring, txbuf->frag, txbuf->dma_addr);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
906
static int nfp_nfd3_rx(struct nfp_net_rx_ring *rx_ring, int budget)
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
908
struct nfp_net_r_vector *r_vec = rx_ring->r_vec;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
921
&rx_ring->xdp_rxq);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
935
idx = D_IDX(rx_ring, rx_ring->rd_p);
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
937
rxd = &rx_ring->rxds[idx];
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
948
rx_ring->rd_p++;
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
951
rxbuf = &rx_ring->rxbufs[idx];
drivers/net/ethernet/netronome/nfp/nfd3/dp.c
985
nfp_nfd3_rx_drop(dp, r_vec, rx_ring, rxbuf, NULL);
drivers/net/ethernet/netronome/nfp/nfd3/nfd3.h
102
struct nfp_net_rx_ring *rx_ring);
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
107
napi_gro_receive(&rx_ring->r_vec->napi, skb);
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
115
nfp_nfd3_xsk_rx(struct nfp_net_rx_ring *rx_ring, int budget,
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
118
struct nfp_net_r_vector *r_vec = rx_ring->r_vec;
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
135
idx = D_IDX(rx_ring, rx_ring->rd_p);
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
137
rxd = &rx_ring->rxds[idx];
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
141
rx_ring->rd_p++;
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
144
xrxbuf = &rx_ring->xsk_rxbufs[idx];
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
147
if (rx_ring->rd_p >= rx_ring->wr_p) {
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
16
struct nfp_net_rx_ring *rx_ring,
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
205
nfp_nfd3_xsk_rx_skb(rx_ring, rxd,
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
226
nfp_nfd3_xsk_rx_skb(rx_ring, rxd, xrxbuf, &meta, pkt_len,
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
230
if (!nfp_nfd3_xsk_tx_xdp(dp, r_vec, rx_ring, tx_ring,
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
256
nfp_net_xsk_rx_ring_fill_freelist(r_vec->rx_ring);
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
393
pkts_polled = nfp_nfd3_xsk_rx(r_vec->rx_ring, budget, &skbs);
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
56
static void nfp_nfd3_xsk_rx_skb(struct nfp_net_rx_ring *rx_ring,
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
64
struct nfp_net_r_vector *r_vec = rx_ring->r_vec;
drivers/net/ethernet/netronome/nfp/nfd3/xsk.c
92
skb_record_rx_queue(skb, rx_ring->idx);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1027
static int nfp_nfdk_rx(struct nfp_net_rx_ring *rx_ring, int budget)
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1029
struct nfp_net_r_vector *r_vec = rx_ring->r_vec;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1043
&rx_ring->xdp_rxq);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1057
idx = D_IDX(rx_ring, rx_ring->rd_p);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1059
rxd = &rx_ring->rxds[idx];
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1070
rx_ring->rd_p++;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1073
rxbuf = &rx_ring->rxbufs[idx];
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1107
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, rxbuf, NULL);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1120
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, rxbuf,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1147
if (unlikely(!nfp_nfdk_tx_xdp_buf(dp, rx_ring,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1163
nfp_nfdk_rx_give_one(dp, rx_ring, rxbuf->frag,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1176
nfp_nfdk_rx_give_one(dp, rx_ring, rxbuf->frag,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1186
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, rxbuf,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1197
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, rxbuf, NULL);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1202
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, rxbuf, skb);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1208
nfp_nfdk_rx_give_one(dp, rx_ring, new_frag, new_dma_addr);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1216
skb_record_rx_queue(skb, rx_ring->idx);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1222
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, NULL, skb);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1228
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, NULL, skb);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1237
napi_gro_receive(&rx_ring->r_vec->napi, skb);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1273
if (r_vec->rx_ring)
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1274
pkts_polled = nfp_nfdk_rx(r_vec->rx_ring, budget);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1280
if (r_vec->nfp_net->rx_coalesce_adapt_on && r_vec->rx_ring) {
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1473
struct nfp_net_r_vector *r_vec, struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1483
idx = D_IDX(rx_ring, rx_ring->rd_p);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1485
rxd = &rx_ring->rxds[idx];
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1494
rx_ring->rd_p++;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1496
rxbuf = &rx_ring->rxbufs[idx];
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1519
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, rxbuf, NULL);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1525
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, rxbuf, NULL);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1530
nfp_nfdk_rx_drop(dp, r_vec, rx_ring, rxbuf, skb);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1536
nfp_nfdk_rx_give_one(dp, rx_ring, new_frag, new_dma_addr);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1548
struct nfp_net_rx_ring *rx_ring = r_vec->rx_ring;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
1553
while (nfp_ctrl_rx_one(nn, dp, r_vec, rx_ring) && budget--)
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
608
struct nfp_net_rx_ring *rx_ring,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
613
wr_idx = D_IDX(rx_ring, rx_ring->wr_p);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
618
rx_ring->rxbufs[wr_idx].frag = frag;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
619
rx_ring->rxbufs[wr_idx].dma_addr = dma_addr;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
622
rx_ring->rxds[wr_idx].fld.reserved = 0;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
623
rx_ring->rxds[wr_idx].fld.meta_len_dd = 0;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
624
nfp_desc_set_dma_addr_48b(&rx_ring->rxds[wr_idx].fld,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
627
rx_ring->wr_p++;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
628
if (!(rx_ring->wr_p % NFP_NET_FL_BATCH)) {
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
633
nfp_qcp_wr_ptr_add(rx_ring->qcp_fl, NFP_NET_FL_BATCH);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
643
struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
647
for (i = 0; i < rx_ring->cnt - 1; i++)
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
648
nfp_nfdk_rx_give_one(dp, rx_ring, rx_ring->rxbufs[i].frag,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
649
rx_ring->rxbufs[i].dma_addr);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
812
struct nfp_net_rx_ring *rx_ring, struct nfp_net_rx_buf *rxbuf,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
830
nfp_nfdk_rx_give_one(dp, rx_ring, rxbuf->frag, rxbuf->dma_addr);
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
839
struct nfp_net_rx_ring *rx_ring;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
854
rx_ring = r_vec->rx_ring;
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
872
nfp_nfdk_rx_give_one(dp, rx_ring,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
899
nfp_nfdk_tx_xdp_buf(struct nfp_net_dp *dp, struct nfp_net_rx_ring *rx_ring,
drivers/net/ethernet/netronome/nfp/nfdk/dp.c
927
nfp_nfdk_rx_drop(dp, rx_ring->r_vec, rx_ring, rxbuf,
drivers/net/ethernet/netronome/nfp/nfdk/nfdk.h
127
struct nfp_net_rx_ring *rx_ring);
drivers/net/ethernet/netronome/nfp/nfp_net.h
399
struct nfp_net_rx_ring *rx_ring;
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
1086
if (r_vec->rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
1184
nn_writel(nn, NFP_NET_CFG_RXR_IRQ_MOD(r_vec->rx_ring->idx), value);
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
1232
if (r_vec->rx_ring) {
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
795
r_vec->rx_ring = idx < dp->num_rx_rings ? &dp->rx_rings[idx] : NULL;
drivers/net/ethernet/netronome/nfp/nfp_net_common.c
807
&r_vec->rx_ring->xdp_rxq);
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
15
struct nfp_net_rx_ring *rx_ring;
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
24
if (!r_vec->nfp_net || !r_vec->rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
27
rx_ring = r_vec->rx_ring;
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
31
rxd_cnt = rx_ring->cnt;
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
33
fl_rd_p = nfp_qcp_rd_ptr_read(rx_ring->qcp_fl);
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
34
fl_wr_p = nfp_qcp_wr_ptr_read(rx_ring->qcp_fl);
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
37
rx_ring->idx, rx_ring->fl_qcidx,
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
38
rx_ring->cnt, &rx_ring->dma, rx_ring->rxds,
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
39
rx_ring->rd_p, rx_ring->wr_p, fl_rd_p, fl_wr_p);
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
42
rxd = &rx_ring->rxds[i];
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
47
frag = READ_ONCE(rx_ring->rxbufs[i].frag);
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
51
if (rx_ring->rxbufs[i].dma_addr)
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
53
&rx_ring->rxbufs[i].dma_addr);
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
55
if (rx_ring->xsk_rxbufs[i].dma_addr)
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
57
&rx_ring->xsk_rxbufs[i].dma_addr);
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
60
if (i == rx_ring->rd_p % rxd_cnt)
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c
62
if (i == rx_ring->wr_p % rxd_cnt)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
102
if (rx_ring->wr_p == 0 && rx_ring->rd_p == 0)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
106
wr_idx = D_IDX(rx_ring, rx_ring->wr_p);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
107
last_idx = rx_ring->cnt - 1;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
108
if (rx_ring->r_vec->xsk_pool) {
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
109
rx_ring->xsk_rxbufs[wr_idx] = rx_ring->xsk_rxbufs[last_idx];
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
110
memset(&rx_ring->xsk_rxbufs[last_idx], 0,
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
111
sizeof(*rx_ring->xsk_rxbufs));
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
113
rx_ring->rxbufs[wr_idx] = rx_ring->rxbufs[last_idx];
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
114
memset(&rx_ring->rxbufs[last_idx], 0, sizeof(*rx_ring->rxbufs));
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
117
memset(rx_ring->rxds, 0, rx_ring->size);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
118
rx_ring->wr_p = 0;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
119
rx_ring->rd_p = 0;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
133
struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
137
if (nfp_net_has_xsk_pool_slow(dp, rx_ring->idx))
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
140
for (i = 0; i < rx_ring->cnt - 1; i++) {
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
145
if (!rx_ring->rxbufs[i].frag)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
148
nfp_net_dma_unmap_rx(dp, rx_ring->rxbufs[i].dma_addr);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
149
nfp_net_free_frag(rx_ring->rxbufs[i].frag, dp->xdp_prog);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
150
rx_ring->rxbufs[i].dma_addr = 0;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
151
rx_ring->rxbufs[i].frag = NULL;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
162
struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
167
if (nfp_net_has_xsk_pool_slow(dp, rx_ring->idx))
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
170
rxbufs = rx_ring->rxbufs;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
172
for (i = 0; i < rx_ring->cnt - 1; i++) {
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
175
nfp_net_rx_ring_bufs_free(dp, rx_ring);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
250
static void nfp_net_rx_ring_free(struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
252
struct nfp_net_r_vector *r_vec = rx_ring->r_vec;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
256
xdp_rxq_info_unreg(&rx_ring->xdp_rxq);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
258
if (nfp_net_has_xsk_pool_slow(dp, rx_ring->idx))
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
259
kvfree(rx_ring->xsk_rxbufs);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
261
kvfree(rx_ring->rxbufs);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
263
if (rx_ring->rxds)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
264
dma_free_coherent(dp->dev, rx_ring->size,
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
265
rx_ring->rxds, rx_ring->dma);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
267
rx_ring->cnt = 0;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
268
rx_ring->rxbufs = NULL;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
269
rx_ring->xsk_rxbufs = NULL;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
270
rx_ring->rxds = NULL;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
271
rx_ring->dma = 0;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
272
rx_ring->size = 0;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
283
nfp_net_rx_ring_alloc(struct nfp_net_dp *dp, struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
289
if (nfp_net_has_xsk_pool_slow(dp, rx_ring->idx)) {
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
291
rxbuf_sw_desc_sz = sizeof(*rx_ring->xsk_rxbufs);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
294
rxbuf_sw_desc_sz = sizeof(*rx_ring->rxbufs);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
298
err = xdp_rxq_info_reg(&rx_ring->xdp_rxq, dp->netdev,
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
299
rx_ring->idx, rx_ring->r_vec->napi.napi_id);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
303
err = xdp_rxq_info_reg_mem_model(&rx_ring->xdp_rxq, mem_type, NULL);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
308
rx_ring->cnt = dp->rxd_cnt;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
309
rx_ring->size = array_size(rx_ring->cnt, sizeof(*rx_ring->rxds));
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
310
rx_ring->rxds = dma_alloc_coherent(dp->dev, rx_ring->size,
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
311
&rx_ring->dma,
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
313
if (!rx_ring->rxds) {
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
315
rx_ring->cnt);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
319
if (nfp_net_has_xsk_pool_slow(dp, rx_ring->idx)) {
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
320
rx_ring->xsk_rxbufs = kvcalloc(rx_ring->cnt, rxbuf_sw_desc_sz,
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
322
if (!rx_ring->xsk_rxbufs)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
325
rx_ring->rxbufs = kvcalloc(rx_ring->cnt, rxbuf_sw_desc_sz,
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
327
if (!rx_ring->rxbufs)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
334
nfp_net_rx_ring_free(rx_ring);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
382
struct nfp_net_rx_ring *rx_ring, unsigned int idx)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
385
nn_writeq(nn, NFP_NET_CFG_RXR_ADDR(idx), rx_ring->dma);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
386
nn_writeb(nn, NFP_NET_CFG_RXR_SZ(idx), ilog2(rx_ring->cnt));
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
387
nn_writeb(nn, NFP_NET_CFG_RXR_VEC(idx), rx_ring->r_vec->irq_entry);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
76
nfp_net_rx_ring_init(struct nfp_net_rx_ring *rx_ring,
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
81
rx_ring->idx = idx;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
82
rx_ring->r_vec = r_vec;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
83
u64_stats_init(&rx_ring->r_vec->rx_sync);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
85
rx_ring->fl_qcidx = rx_ring->idx * nn->stride_rx;
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
86
rx_ring->qcp_fl = nn->rx_bar + NFP_QCP_QUEUE_OFF(rx_ring->fl_qcidx);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.c
95
void nfp_net_rx_ring_reset(struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.h
108
void nfp_net_rx_ring_reset(struct nfp_net_rx_ring *rx_ring);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.h
149
struct nfp_net_rx_ring *rx_ring);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.h
174
struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_dp.h
176
dp->ops->rx_ring_fill_freelist(dp, rx_ring);
drivers/net/ethernet/netronome/nfp/nfp_net_dp.h
97
struct nfp_net_rx_ring *rx_ring, unsigned int idx);
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
17
nfp_net_xsk_rx_bufs_stash(struct nfp_net_rx_ring *rx_ring, unsigned int idx,
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
22
headroom = xsk_pool_get_headroom(rx_ring->r_vec->xsk_pool);
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
24
rx_ring->rxds[idx].fld.reserved = 0;
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
25
rx_ring->rxds[idx].fld.meta_len_dd = 0;
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
27
rx_ring->xsk_rxbufs[idx].xdp = xdp;
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
28
rx_ring->xsk_rxbufs[idx].dma_addr =
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
46
void nfp_net_xsk_rx_bufs_free(struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
50
if (!rx_ring->cnt)
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
53
for (i = 0; i < rx_ring->cnt - 1; i++)
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
54
nfp_net_xsk_rx_free(&rx_ring->xsk_rxbufs[i]);
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
57
void nfp_net_xsk_rx_ring_fill_freelist(struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
59
struct nfp_net_r_vector *r_vec = rx_ring->r_vec;
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
64
while (nfp_net_rx_space(rx_ring)) {
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
65
wr_idx = D_IDX(rx_ring, rx_ring->wr_p);
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
71
nfp_net_xsk_rx_bufs_stash(rx_ring, wr_idx, xdp);
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
77
nfp_desc_set_dma_addr_48b(&rx_ring->rxds[wr_idx].fld,
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
78
rx_ring->xsk_rxbufs[wr_idx].dma_addr);
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
80
rx_ring->wr_p++;
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.c
86
nfp_qcp_wr_ptr_add(rx_ring->qcp_fl, wr_ptr_add);
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.h
18
static inline int nfp_net_rx_space(struct nfp_net_rx_ring *rx_ring)
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.h
20
return rx_ring->cnt - rx_ring->wr_p + rx_ring->rd_p - 1;
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.h
35
void nfp_net_xsk_rx_bufs_free(struct nfp_net_rx_ring *rx_ring);
drivers/net/ethernet/netronome/nfp/nfp_net_xsk.h
37
void nfp_net_xsk_rx_ring_fill_freelist(struct nfp_net_rx_ring *rx_ring);
drivers/net/ethernet/nvidia/forcedeth.c
1023
if (np->rx_ring.orig)
drivers/net/ethernet/nvidia/forcedeth.c
1028
np->rx_ring.orig, np->ring_addr);
drivers/net/ethernet/nvidia/forcedeth.c
1030
if (np->rx_ring.ex)
drivers/net/ethernet/nvidia/forcedeth.c
1035
np->rx_ring.ex, np->ring_addr);
drivers/net/ethernet/nvidia/forcedeth.c
1814
if (less_rx-- == np->rx_ring.orig)
drivers/net/ethernet/nvidia/forcedeth.c
1835
np->put_rx.orig = np->rx_ring.orig;
drivers/net/ethernet/nvidia/forcedeth.c
1855
if (less_rx-- == np->rx_ring.ex)
drivers/net/ethernet/nvidia/forcedeth.c
1877
np->put_rx.ex = np->rx_ring.ex;
drivers/net/ethernet/nvidia/forcedeth.c
1905
np->get_rx = np->rx_ring;
drivers/net/ethernet/nvidia/forcedeth.c
1906
np->put_rx = np->rx_ring;
drivers/net/ethernet/nvidia/forcedeth.c
1909
np->last_rx.orig = &np->rx_ring.orig[np->rx_ring_size-1];
drivers/net/ethernet/nvidia/forcedeth.c
1911
np->last_rx.ex = &np->rx_ring.ex[np->rx_ring_size-1];
drivers/net/ethernet/nvidia/forcedeth.c
1918
np->rx_ring.orig[i].flaglen = 0;
drivers/net/ethernet/nvidia/forcedeth.c
1919
np->rx_ring.orig[i].buf = 0;
drivers/net/ethernet/nvidia/forcedeth.c
1921
np->rx_ring.ex[i].flaglen = 0;
drivers/net/ethernet/nvidia/forcedeth.c
1922
np->rx_ring.ex[i].txvlan = 0;
drivers/net/ethernet/nvidia/forcedeth.c
1923
np->rx_ring.ex[i].bufhigh = 0;
drivers/net/ethernet/nvidia/forcedeth.c
1924
np->rx_ring.ex[i].buflow = 0;
drivers/net/ethernet/nvidia/forcedeth.c
2048
np->rx_ring.orig[i].flaglen = 0;
drivers/net/ethernet/nvidia/forcedeth.c
2049
np->rx_ring.orig[i].buf = 0;
drivers/net/ethernet/nvidia/forcedeth.c
2051
np->rx_ring.ex[i].flaglen = 0;
drivers/net/ethernet/nvidia/forcedeth.c
2052
np->rx_ring.ex[i].txvlan = 0;
drivers/net/ethernet/nvidia/forcedeth.c
2053
np->rx_ring.ex[i].bufhigh = 0;
drivers/net/ethernet/nvidia/forcedeth.c
2054
np->rx_ring.ex[i].buflow = 0;
drivers/net/ethernet/nvidia/forcedeth.c
2968
np->get_rx.orig = np->rx_ring.orig;
drivers/net/ethernet/nvidia/forcedeth.c
3057
np->get_rx.ex = np->rx_ring.ex;
drivers/net/ethernet/nvidia/forcedeth.c
4738
np->rx_ring.orig = (struct ring_desc *)rxtx_ring;
drivers/net/ethernet/nvidia/forcedeth.c
4739
np->tx_ring.orig = &np->rx_ring.orig[np->rx_ring_size];
drivers/net/ethernet/nvidia/forcedeth.c
4741
np->rx_ring.ex = (struct ring_desc_ex *)rxtx_ring;
drivers/net/ethernet/nvidia/forcedeth.c
4742
np->tx_ring.ex = &np->rx_ring.ex[np->rx_ring_size];
drivers/net/ethernet/nvidia/forcedeth.c
5197
flags = le32_to_cpu(np->rx_ring.orig[0].flaglen);
drivers/net/ethernet/nvidia/forcedeth.c
5198
len = nv_descr_getlength(&np->rx_ring.orig[0], np->desc_ver);
drivers/net/ethernet/nvidia/forcedeth.c
5201
flags = le32_to_cpu(np->rx_ring.ex[0].flaglen);
drivers/net/ethernet/nvidia/forcedeth.c
5202
len = nv_descr_getlength_ex(&np->rx_ring.ex[0], np->desc_ver);
drivers/net/ethernet/nvidia/forcedeth.c
5838
np->rx_ring.orig = dma_alloc_coherent(&pci_dev->dev,
drivers/net/ethernet/nvidia/forcedeth.c
5844
if (!np->rx_ring.orig)
drivers/net/ethernet/nvidia/forcedeth.c
5846
np->tx_ring.orig = &np->rx_ring.orig[np->rx_ring_size];
drivers/net/ethernet/nvidia/forcedeth.c
5848
np->rx_ring.ex = dma_alloc_coherent(&pci_dev->dev,
drivers/net/ethernet/nvidia/forcedeth.c
5853
if (!np->rx_ring.ex)
drivers/net/ethernet/nvidia/forcedeth.c
5855
np->tx_ring.ex = &np->rx_ring.ex[np->rx_ring_size];
drivers/net/ethernet/nvidia/forcedeth.c
804
union ring_type rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
587
struct pch_gbe_rx_ring *rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe.h
611
struct pch_gbe_rx_ring *rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
283
struct pch_gbe_rx_ring *rxdr = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
320
rx_old = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
333
adapter->rx_ring = rxdr;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
345
err = pch_gbe_setup_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
355
adapter->rx_ring = rxdr;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
362
pch_gbe_free_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_ethtool.c
364
adapter->rx_ring = rx_old;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1334
struct pch_gbe_rx_ring *rx_ring, int cleaned_count)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1346
i = rx_ring->next_to_use;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1349
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1372
rx_desc = PCH_GBE_RX_DESC(*rx_ring, i);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1381
if (unlikely(++i == rx_ring->count))
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1384
if (likely(rx_ring->next_to_use != i)) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1385
rx_ring->next_to_use = i;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1387
i = (rx_ring->count - 1);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1388
iowrite32(rx_ring->dma +
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1397
struct pch_gbe_rx_ring *rx_ring, int cleaned_count)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1407
size = rx_ring->count * bufsz + PCH_GBE_RESERVE_MEMORY;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1408
rx_ring->rx_buff_pool =
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1410
&rx_ring->rx_buff_pool_logic, GFP_KERNEL);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1411
if (!rx_ring->rx_buff_pool)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1414
rx_ring->rx_buff_pool_size = size;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1415
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1416
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1417
buffer_info->rx_buffer = rx_ring->rx_buff_pool + bufsz * i;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1597
struct pch_gbe_rx_ring *rx_ring,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1613
i = rx_ring->next_to_clean;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1617
rx_desc = PCH_GBE_RX_DESC(*rx_ring, i);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1627
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1688
pch_gbe_alloc_rx_buffers(adapter, rx_ring,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1692
if (++i == rx_ring->count)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1695
rx_ring->next_to_clean = i;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1697
pch_gbe_alloc_rx_buffers(adapter, rx_ring, cleaned_count);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1754
struct pch_gbe_rx_ring *rx_ring)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1761
size = (int)sizeof(struct pch_gbe_buffer) * rx_ring->count;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1762
rx_ring->buffer_info = vzalloc(size);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1763
if (!rx_ring->buffer_info)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1766
rx_ring->size = rx_ring->count * (int)sizeof(struct pch_gbe_rx_desc);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1767
rx_ring->desc = dma_alloc_coherent(&pdev->dev, rx_ring->size,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1768
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1769
if (!rx_ring->desc) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1770
vfree(rx_ring->buffer_info);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1773
rx_ring->next_to_clean = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1774
rx_ring->next_to_use = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1775
for (desNo = 0; desNo < rx_ring->count; desNo++) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1776
rx_desc = PCH_GBE_RX_DESC(*rx_ring, desNo);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1781
rx_ring->desc, (unsigned long long)rx_ring->dma,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1782
rx_ring->next_to_clean, rx_ring->next_to_use);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1810
struct pch_gbe_rx_ring *rx_ring)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1814
pch_gbe_clean_rx_ring(adapter, rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1815
vfree(rx_ring->buffer_info);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1816
rx_ring->buffer_info = NULL;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1817
dma_free_coherent(&pdev->dev, rx_ring->size, rx_ring->desc,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1818
rx_ring->dma);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1819
rx_ring->desc = NULL;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1861
struct pch_gbe_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1884
err = pch_gbe_alloc_rx_buffers_pool(adapter, rx_ring, rx_ring->count);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1891
pch_gbe_alloc_rx_buffers(adapter, rx_ring, rx_ring->count);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1918
struct pch_gbe_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1937
pch_gbe_clean_rx_ring(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1939
dma_free_coherent(&adapter->pdev->dev, rx_ring->rx_buff_pool_size,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1940
rx_ring->rx_buff_pool, rx_ring->rx_buff_pool_logic);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1941
rx_ring->rx_buff_pool_logic = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1942
rx_ring->rx_buff_pool_size = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
1943
rx_ring->rx_buff_pool = NULL;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2000
err = pch_gbe_setup_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2013
pch_gbe_free_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2037
pch_gbe_free_rx_resources(adapter, adapter->rx_ring);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
2281
pch_gbe_clean_rx(adapter, adapter->rx_ring, &work_done, budget);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
564
adapter->rx_ring = devm_kzalloc(&adapter->pdev->dev,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
565
sizeof(*adapter->rx_ring), GFP_KERNEL);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
566
if (!adapter->rx_ring)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
840
(unsigned long long)adapter->rx_ring->dma,
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
841
adapter->rx_ring->size);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
859
rdba = adapter->rx_ring->dma;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
860
rdlen = adapter->rx_ring->size - 0x10;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
944
struct pch_gbe_rx_ring *rx_ring)
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
952
for (i = 0; i < rx_ring->count; i++) {
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
953
buffer_info = &rx_ring->buffer_info[i];
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
958
size = (unsigned long)sizeof(struct pch_gbe_buffer) * rx_ring->count;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
959
memset(rx_ring->buffer_info, 0, size);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
962
memset(rx_ring->desc, 0, rx_ring->size);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
963
rx_ring->next_to_clean = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
964
rx_ring->next_to_use = 0;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
965
iowrite32(rx_ring->dma, &hw->reg->RX_DSC_HW_P);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
966
iowrite32((rx_ring->size - 0x10), &hw->reg->RX_DSC_SIZE);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
464
struct pch_gbe_rx_ring *rx_ring = adapter->rx_ring;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
465
rx_ring->count = RxDescriptors;
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
466
pch_gbe_validate_option(&rx_ring->count, &opt, adapter);
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c
467
rx_ring->count = roundup(rx_ring->count,
drivers/net/ethernet/packetengines/hamachi.c
1061
printk(KERN_DEBUG " Rx ring %p: ", hmp->rx_ring);
drivers/net/ethernet/packetengines/hamachi.c
1064
le32_to_cpu(hmp->rx_ring[i].status_n_length));
drivers/net/ethernet/packetengines/hamachi.c
1085
hmp->rx_ring[i].status_n_length &= cpu_to_le32(~DescOwn);
drivers/net/ethernet/packetengines/hamachi.c
1126
leXX_to_cpu(hmp->rx_ring[i].addr),
drivers/net/ethernet/packetengines/hamachi.c
1141
hmp->rx_ring[i].addr = cpu_to_leXX(dma_map_single(&hmp->pci_dev->dev,
drivers/net/ethernet/packetengines/hamachi.c
1145
hmp->rx_ring[i].status_n_length = cpu_to_le32(DescOwn |
drivers/net/ethernet/packetengines/hamachi.c
1150
hmp->rx_ring[RX_RING_SIZE-1].status_n_length |= cpu_to_le32(DescEndRing);
drivers/net/ethernet/packetengines/hamachi.c
1185
hmp->rx_ring[i].status_n_length = 0;
drivers/net/ethernet/packetengines/hamachi.c
1195
hmp->rx_ring[i].addr = cpu_to_leXX(dma_map_single(&hmp->pci_dev->dev,
drivers/net/ethernet/packetengines/hamachi.c
1200
hmp->rx_ring[i].status_n_length = cpu_to_le32(DescOwn |
drivers/net/ethernet/packetengines/hamachi.c
1204
hmp->rx_ring[RX_RING_SIZE-1].status_n_length |= cpu_to_le32(DescEndRing);
drivers/net/ethernet/packetengines/hamachi.c
1416
entry, hmp->rx_ring[entry].status_n_length);
drivers/net/ethernet/packetengines/hamachi.c
1421
struct hamachi_desc *desc = &(hmp->rx_ring[entry]);
drivers/net/ethernet/packetengines/hamachi.c
1444
dev->name, desc, &hmp->rx_ring[hmp->cur_rx % RX_RING_SIZE]);
drivers/net/ethernet/packetengines/hamachi.c
1447
le32_to_cpu(hmp->rx_ring[(hmp->cur_rx+1) % RX_RING_SIZE].status_n_length) & 0xffff0000,
drivers/net/ethernet/packetengines/hamachi.c
1448
le32_to_cpu(hmp->rx_ring[(hmp->cur_rx+1) % RX_RING_SIZE].status_n_length) & 0x0000ffff,
drivers/net/ethernet/packetengines/hamachi.c
1449
le32_to_cpu(hmp->rx_ring[(hmp->cur_rx-1) % RX_RING_SIZE].status_n_length));
drivers/net/ethernet/packetengines/hamachi.c
1499
leXX_to_cpu(hmp->rx_ring[entry].addr),
drivers/net/ethernet/packetengines/hamachi.c
1512
leXX_to_cpu(hmp->rx_ring[entry].addr),
drivers/net/ethernet/packetengines/hamachi.c
1517
leXX_to_cpu(hmp->rx_ring[entry].addr),
drivers/net/ethernet/packetengines/hamachi.c
1594
desc = &(hmp->rx_ring[entry]);
drivers/net/ethernet/packetengines/hamachi.c
1696
readl(ioaddr + RxCurPtr) == (long)&hmp->rx_ring[i] ? '>' : ' ',
drivers/net/ethernet/packetengines/hamachi.c
1697
i, hmp->rx_ring[i].status_n_length, hmp->rx_ring[i].addr);
drivers/net/ethernet/packetengines/hamachi.c
1720
hmp->rx_ring[i].status_n_length = 0;
drivers/net/ethernet/packetengines/hamachi.c
1723
leXX_to_cpu(hmp->rx_ring[i].addr),
drivers/net/ethernet/packetengines/hamachi.c
1728
hmp->rx_ring[i].addr = cpu_to_leXX(0xBADF00D0); /* An invalid address. */
drivers/net/ethernet/packetengines/hamachi.c
1927
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, hmp->rx_ring,
drivers/net/ethernet/packetengines/hamachi.c
484
struct hamachi_desc *rx_ring;
drivers/net/ethernet/packetengines/hamachi.c
662
hmp->rx_ring = ring_space;
drivers/net/ethernet/packetengines/hamachi.c
782
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, hmp->rx_ring,
drivers/net/ethernet/packetengines/yellowfin.c
1053
entry, yp->rx_ring[entry].result_status);
drivers/net/ethernet/packetengines/yellowfin.c
1055
entry, yp->rx_ring[entry].dbdma_cmd, yp->rx_ring[entry].addr,
drivers/net/ethernet/packetengines/yellowfin.c
1056
yp->rx_ring[entry].result_status);
drivers/net/ethernet/packetengines/yellowfin.c
1061
struct yellowfin_desc *desc = &yp->rx_ring[entry];
drivers/net/ethernet/packetengines/yellowfin.c
1138
le32_to_cpu(yp->rx_ring[entry].addr),
drivers/net/ethernet/packetengines/yellowfin.c
1171
yp->rx_ring[entry].addr = cpu_to_le32(dma_map_single(&yp->pci_dev->dev,
drivers/net/ethernet/packetengines/yellowfin.c
1176
yp->rx_ring[entry].dbdma_cmd = cpu_to_le32(CMD_STOP);
drivers/net/ethernet/packetengines/yellowfin.c
1177
yp->rx_ring[entry].result_status = 0; /* Clear complete bit. */
drivers/net/ethernet/packetengines/yellowfin.c
1179
yp->rx_ring[entry - 1].dbdma_cmd =
drivers/net/ethernet/packetengines/yellowfin.c
1182
yp->rx_ring[RX_RING_SIZE - 1].dbdma_cmd =
drivers/net/ethernet/packetengines/yellowfin.c
1246
ioread32(ioaddr + RxPtr) == (long)&yp->rx_ring[i] ? '>' : ' ',
drivers/net/ethernet/packetengines/yellowfin.c
1247
i, yp->rx_ring[i].dbdma_cmd, yp->rx_ring[i].addr,
drivers/net/ethernet/packetengines/yellowfin.c
1248
yp->rx_ring[i].result_status);
drivers/net/ethernet/packetengines/yellowfin.c
1250
if (get_unaligned((u8*)yp->rx_ring[i].addr) != 0x69) {
drivers/net/ethernet/packetengines/yellowfin.c
1256
get_unaligned(((u16*)yp->rx_ring[i].addr) + j));
drivers/net/ethernet/packetengines/yellowfin.c
1268
yp->rx_ring[i].dbdma_cmd = cpu_to_le32(CMD_STOP);
drivers/net/ethernet/packetengines/yellowfin.c
1269
yp->rx_ring[i].addr = cpu_to_le32(0xBADF00D0); /* An invalid address. */
drivers/net/ethernet/packetengines/yellowfin.c
1399
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, np->rx_ring,
drivers/net/ethernet/packetengines/yellowfin.c
309
struct yellowfin_desc *rx_ring;
drivers/net/ethernet/packetengines/yellowfin.c
450
np->rx_ring = ring_space;
drivers/net/ethernet/packetengines/yellowfin.c
516
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, np->rx_ring,
drivers/net/ethernet/packetengines/yellowfin.c
700
pr_warn(" Rx ring %p: ", yp->rx_ring);
drivers/net/ethernet/packetengines/yellowfin.c
702
pr_cont(" %08x", yp->rx_ring[i].result_status);
drivers/net/ethernet/packetengines/yellowfin.c
738
yp->rx_ring[i].dbdma_cmd =
drivers/net/ethernet/packetengines/yellowfin.c
740
yp->rx_ring[i].branch_addr = cpu_to_le32(yp->rx_ring_dma +
drivers/net/ethernet/packetengines/yellowfin.c
750
yp->rx_ring[i].addr = cpu_to_le32(dma_map_single(&yp->pci_dev->dev,
drivers/net/ethernet/packetengines/yellowfin.c
760
yp->rx_ring[i-1].dbdma_cmd = cpu_to_le32(CMD_STOP);
drivers/net/ethernet/pasemi/pasemi_mac.c
1122
pasemi_dma_start_chan(&rx_ring(mac)->chan, PAS_DMA_RXCHAN_CCMDSTA_DU |
drivers/net/ethernet/pasemi/pasemi_mac.c
1135
write_dma_reg(PAS_DMA_RXCHAN_INCR(rx_ring(mac)->chan.chno),
drivers/net/ethernet/pasemi/pasemi_mac.c
1239
int rxch = rx_ring(mac)->chan.chno;
drivers/net/ethernet/pasemi/pasemi_mac.c
1281
rxch = rx_ring(mac)->chan.chno;
drivers/net/ethernet/pasemi/pasemi_mac.c
1314
pasemi_mac_clean_rx(rx_ring(mac), RX_RING_SIZE);
drivers/net/ethernet/pasemi/pasemi_mac.c
1564
pkts = pasemi_mac_clean_rx(rx_ring(mac), budget);
drivers/net/ethernet/pasemi/pasemi_mac.c
1618
pasemi_mac_clean_rx(rx_ring(mac), RX_RING_SIZE);
drivers/net/ethernet/pasemi/pasemi_mac.c
1649
rx_ring(mac)->next_to_fill = 0;
drivers/net/ethernet/pasemi/pasemi_mac.c
542
struct pasemi_mac_rxring *rx = rx_ring(mac);
drivers/net/ethernet/pasemi/pasemi_mac.c
566
rx_ring(mac)->buffers, rx_ring(mac)->buf_dma);
drivers/net/ethernet/pasemi/pasemi_mac.c
568
kfree(rx_ring(mac)->ring_info);
drivers/net/ethernet/pasemi/pasemi_mac.c
569
pasemi_dma_free_chan(&rx_ring(mac)->chan);
drivers/net/ethernet/pasemi/pasemi_mac.c
577
struct pasemi_mac_rxring *rx = rx_ring(mac);
drivers/net/ethernet/pasemi/pasemi_mac.c
583
fill = rx_ring(mac)->next_to_fill;
drivers/net/ethernet/pasemi/pasemi_mac.c
618
rx_ring(mac)->next_to_fill = (rx_ring(mac)->next_to_fill + count) &
drivers/net/ethernet/pasemi/pasemi_mac.c
624
struct pasemi_mac_rxring *rx = rx_ring(mac);
drivers/net/ethernet/pasemi/pasemi_mac.c
657
struct pasemi_dmachan *chan = &rx_ring(mac)->chan;
drivers/net/ethernet/pasemi/pasemi_mac.c
790
rx_ring(mac)->next_to_clean = n;
drivers/net/ethernet/pasemi/pasemi_mac.c
803
spin_unlock(&rx_ring(mac)->lock);
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
700
u8 rx_ring, u8 tx_ring)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
702
if (rx_ring == 0 || tx_ring == 0)
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
705
if (rx_ring != 0) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
706
if (rx_ring > adapter->max_sds_rings) {
drivers/net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c
709
rx_ring, adapter->max_sds_rings);
drivers/net/ethernet/rdc/r6040.c
181
struct r6040_descriptor *rx_ring;
drivers/net/ethernet/rdc/r6040.c
328
lp->rx_remove_ptr = lp->rx_insert_ptr = lp->rx_ring;
drivers/net/ethernet/rdc/r6040.c
329
r6040_init_ring_desc(lp->rx_ring, lp->rx_ring_dma, RX_DCNT);
drivers/net/ethernet/rdc/r6040.c
332
desc = lp->rx_ring;
drivers/net/ethernet/rdc/r6040.c
346
} while (desc != lp->rx_ring);
drivers/net/ethernet/rdc/r6040.c
494
if (lp->rx_ring) {
drivers/net/ethernet/rdc/r6040.c
495
dma_free_coherent(&pdev->dev, RX_DESC_SIZE, lp->rx_ring,
drivers/net/ethernet/rdc/r6040.c
497
lp->rx_ring = NULL;
drivers/net/ethernet/rdc/r6040.c
761
lp->rx_ring =
drivers/net/ethernet/rdc/r6040.c
764
if (!lp->rx_ring) {
drivers/net/ethernet/rdc/r6040.c
790
dma_free_coherent(&lp->pdev->dev, RX_DESC_SIZE, lp->rx_ring,
drivers/net/ethernet/realtek/8139cp.c
1079
cp->rx_ring[i].opts2 = 0;
drivers/net/ethernet/realtek/8139cp.c
1080
cp->rx_ring[i].addr = cpu_to_le64(mapping);
drivers/net/ethernet/realtek/8139cp.c
1082
cp->rx_ring[i].opts1 =
drivers/net/ethernet/realtek/8139cp.c
1085
cp->rx_ring[i].opts1 =
drivers/net/ethernet/realtek/8139cp.c
1123
cp->rx_ring = mem;
drivers/net/ethernet/realtek/8139cp.c
1124
cp->tx_ring = &cp->rx_ring[CP_RX_RING_SIZE];
drivers/net/ethernet/realtek/8139cp.c
1128
dma_free_coherent(d, CP_RING_BYTES, cp->rx_ring, cp->ring_dma);
drivers/net/ethernet/realtek/8139cp.c
1140
desc = cp->rx_ring + i;
drivers/net/ethernet/realtek/8139cp.c
1162
memset(cp->rx_ring, 0, sizeof(struct cp_desc) * CP_RX_RING_SIZE);
drivers/net/ethernet/realtek/8139cp.c
1173
dma_free_coherent(&cp->pdev->dev, CP_RING_BYTES, cp->rx_ring,
drivers/net/ethernet/realtek/8139cp.c
1175
cp->rx_ring = NULL;
drivers/net/ethernet/realtek/8139cp.c
338
struct cp_desc *rx_ring;
drivers/net/ethernet/realtek/8139cp.c
482
desc = &cp->rx_ring[rx_tail];
drivers/net/ethernet/realtek/8139cp.c
542
cp->rx_ring[rx_tail].opts2 = 0;
drivers/net/ethernet/realtek/8139cp.c
543
cp->rx_ring[rx_tail].addr = cpu_to_le64(mapping);
drivers/net/ethernet/realtek/8139too.c
1317
tp->rx_ring = dma_alloc_coherent(&tp->pci_dev->dev, RX_BUF_TOT_LEN,
drivers/net/ethernet/realtek/8139too.c
1319
if (tp->tx_bufs == NULL || tp->rx_ring == NULL) {
drivers/net/ethernet/realtek/8139too.c
1325
if (tp->rx_ring)
drivers/net/ethernet/realtek/8139too.c
1327
tp->rx_ring, tp->rx_ring_dma);
drivers/net/ethernet/realtek/8139too.c
1938
unsigned char *rx_ring = tp->rx_ring;
drivers/net/ethernet/realtek/8139too.c
1956
rx_status = le32_to_cpu (*(__le32 *) (rx_ring + ring_offset));
drivers/net/ethernet/realtek/8139too.c
1968
&rx_ring[ring_offset], 70, true);
drivers/net/ethernet/realtek/8139too.c
2029
wrap_copy(skb, rx_ring, ring_offset+4, pkt_size);
drivers/net/ethernet/realtek/8139too.c
2031
skb_copy_to_linear_data (skb, &rx_ring[ring_offset + 4], pkt_size);
drivers/net/ethernet/realtek/8139too.c
2273
tp->rx_ring, tp->rx_ring_dma);
drivers/net/ethernet/realtek/8139too.c
2276
tp->rx_ring = NULL;
drivers/net/ethernet/realtek/8139too.c
583
unsigned char *rx_ring;
drivers/net/ethernet/realtek/rtase/rtase.h
332
struct rtase_ring rx_ring[RTASE_NUM_RX_QUEUE];
drivers/net/ethernet/realtek/rtase/rtase_main.c
150
if (!tp->rx_ring[i].desc)
drivers/net/ethernet/realtek/rtase/rtase_main.c
154
tp->rx_ring[i].desc,
drivers/net/ethernet/realtek/rtase/rtase_main.c
155
tp->rx_ring[i].phy_addr);
drivers/net/ethernet/realtek/rtase/rtase_main.c
156
tp->rx_ring[i].desc = NULL;
drivers/net/ethernet/realtek/rtase/rtase_main.c
1588
ring = &tp->rx_ring[0];
drivers/net/ethernet/realtek/rtase/rtase_main.c
179
tp->rx_ring[i].desc =
drivers/net/ethernet/realtek/rtase/rtase_main.c
182
&tp->rx_ring[i].phy_addr,
drivers/net/ethernet/realtek/rtase/rtase_main.c
184
if (!tp->rx_ring[i].desc)
drivers/net/ethernet/realtek/rtase/rtase_main.c
589
struct rtase_ring *ring = &tp->rx_ring[idx];
drivers/net/ethernet/realtek/rtase/rtase_main.c
615
rtase_rx_ring_clear(tp->page_pool, &tp->rx_ring[i]);
drivers/net/ethernet/realtek/rtase/rtase_main.c
652
num = rtase_rx_ring_fill(&tp->rx_ring[i], 0, RTASE_NUM_DESC);
drivers/net/ethernet/realtek/rtase/rtase_main.c
656
rtase_mark_as_last_descriptor(tp->rx_ring[i].desc +
drivers/net/ethernet/realtek/rtase/rtase_main.c
721
ring = &tp->rx_ring[i];
drivers/net/ethernet/renesas/ravb.h
1097
} rx_ring[NUM_RX_QUEUE];
drivers/net/ethernet/renesas/ravb_main.c
191
return priv->rx_ring[q].raw + priv->info->rx_desc_size * i;
drivers/net/ethernet/renesas/ravb_main.c
243
if (!priv->rx_ring[q].raw)
drivers/net/ethernet/renesas/ravb_main.c
247
dma_free_coherent(ndev->dev.parent, ring_size, priv->rx_ring[q].raw,
drivers/net/ethernet/renesas/ravb_main.c
249
priv->rx_ring[q].raw = NULL;
drivers/net/ethernet/renesas/ravb_main.c
410
priv->rx_ring[q].raw = dma_alloc_coherent(ndev->dev.parent, ring_size,
drivers/net/ethernet/renesas/ravb_main.c
414
return priv->rx_ring[q].raw;
drivers/net/ethernet/renesas/ravb_main.c
456
memset(priv->rx_ring[q].raw, 0, ring_size);
drivers/net/ethernet/renesas/ravb_main.c
819
desc = &priv->rx_ring[q].desc[entry];
drivers/net/ethernet/renesas/ravb_main.c
989
desc = &priv->rx_ring[q].ex_desc[entry];
drivers/net/ethernet/renesas/rswitch.h
965
struct rswitch_ext_ts_desc *rx_ring;
drivers/net/ethernet/renesas/rswitch_main.c
265
struct rswitch_ext_ts_desc *desc = &gq->rx_ring[gq->dirty];
drivers/net/ethernet/renesas/rswitch_main.c
308
(gq->ring_size + 1), gq->rx_ring, gq->ring_dma);
drivers/net/ethernet/renesas/rswitch_main.c
309
gq->rx_ring = NULL;
drivers/net/ethernet/renesas/rswitch_main.c
355
gq->rx_ring = dma_alloc_coherent(ndev->dev.parent,
drivers/net/ethernet/renesas/rswitch_main.c
370
if (!gq->rx_ring && !gq->tx_ring)
drivers/net/ethernet/renesas/rswitch_main.c
477
desc = &gq->rx_ring[index];
drivers/net/ethernet/renesas/rswitch_main.c
502
desc = &gq->rx_ring[index];
drivers/net/ethernet/renesas/rswitch_main.c
521
memset(gq->rx_ring, 0, ring_size);
drivers/net/ethernet/renesas/rswitch_main.c
526
desc = &gq->rx_ring[gq->ring_size]; /* Last */
drivers/net/ethernet/renesas/rswitch_main.c
841
desc = &gq->rx_ring[gq->cur];
drivers/net/ethernet/renesas/rswitch_main.c
867
desc = &gq->rx_ring[gq->cur];
drivers/net/ethernet/renesas/rtsn.c
167
struct rtsn_ext_ts_desc *desc = &priv->rx_ring[entry];
drivers/net/ethernet/renesas/rtsn.c
219
struct rtsn_ext_ts_desc *desc = &priv->rx_ring[entry];
drivers/net/ethernet/renesas/rtsn.c
245
priv->rx_ring[priv->num_rx_ring].die_dt = DT_LINK;
drivers/net/ethernet/renesas/rtsn.c
333
priv->rx_ring, priv->rx_desc_dma);
drivers/net/ethernet/renesas/rtsn.c
334
priv->rx_ring = NULL;
drivers/net/ethernet/renesas/rtsn.c
370
priv->rx_ring = dma_alloc_coherent(ndev->dev.parent,
drivers/net/ethernet/renesas/rtsn.c
374
if (!priv->tx_ring || !priv->rx_ring)
drivers/net/ethernet/renesas/rtsn.c
411
memset(priv->rx_ring, 0, sizeof(*rx_desc) * priv->num_rx_ring);
drivers/net/ethernet/renesas/rtsn.c
412
for (i = 0, rx_desc = priv->rx_ring; i < priv->num_rx_ring; i++, rx_desc++) {
drivers/net/ethernet/renesas/rtsn.c
46
struct rtsn_ext_ts_desc *rx_ring;
drivers/net/ethernet/renesas/sh_eth.c
1278
if (mdp->rx_ring) {
drivers/net/ethernet/renesas/sh_eth.c
1281
struct sh_eth_rxdesc *rxdesc = &mdp->rx_ring[i];
drivers/net/ethernet/renesas/sh_eth.c
1290
dma_free_coherent(&mdp->pdev->dev, ringsize, mdp->rx_ring,
drivers/net/ethernet/renesas/sh_eth.c
1292
mdp->rx_ring = NULL;
drivers/net/ethernet/renesas/sh_eth.c
1336
memset(mdp->rx_ring, 0, rx_ringsize);
drivers/net/ethernet/renesas/sh_eth.c
1358
rxdesc = &mdp->rx_ring[i];
drivers/net/ethernet/renesas/sh_eth.c
1423
mdp->rx_ring = dma_alloc_coherent(&mdp->pdev->dev, rx_ringsize,
drivers/net/ethernet/renesas/sh_eth.c
1425
if (!mdp->rx_ring)
drivers/net/ethernet/renesas/sh_eth.c
1599
rxdesc = &mdp->rx_ring[entry];
drivers/net/ethernet/renesas/sh_eth.c
1664
rxdesc = &mdp->rx_ring[entry];
drivers/net/ethernet/renesas/sh_eth.c
1670
rxdesc = &mdp->rx_ring[entry];
drivers/net/ethernet/renesas/sh_eth.c
2474
rxdesc = &mdp->rx_ring[i];
drivers/net/ethernet/renesas/sh_eth.h
540
struct sh_eth_rxdesc *rx_ring;
drivers/net/ethernet/rocker/rocker.h
49
struct rocker_dma_ring_info rx_ring;
drivers/net/ethernet/rocker/rocker_main.c
2464
(desc_info = rocker_desc_tail_get(&rocker_port->rx_ring))) {
drivers/net/ethernet/rocker/rocker_main.c
2481
rocker_desc_head_set(rocker, &rocker_port->rx_ring, desc_info);
drivers/net/ethernet/rocker/rocker_main.c
2488
rocker_dma_ring_credits_set(rocker, &rocker_port->rx_ring, credits);
drivers/net/ethernet/rocker/rocker_main.c
756
const struct rocker_dma_ring_info *rx_ring = &rocker_port->rx_ring;
drivers/net/ethernet/rocker/rocker_main.c
761
for (i = 0; i < rx_ring->size; i++) {
drivers/net/ethernet/rocker/rocker_main.c
763
&rx_ring->desc_info[i]);
drivers/net/ethernet/rocker/rocker_main.c
771
rocker_dma_rx_ring_skb_free(rocker, &rx_ring->desc_info[i]);
drivers/net/ethernet/rocker/rocker_main.c
777
const struct rocker_dma_ring_info *rx_ring = &rocker_port->rx_ring;
drivers/net/ethernet/rocker/rocker_main.c
781
for (i = 0; i < rx_ring->size; i++)
drivers/net/ethernet/rocker/rocker_main.c
782
rocker_dma_rx_ring_skb_free(rocker, &rx_ring->desc_info[i]);
drivers/net/ethernet/rocker/rocker_main.c
810
&rocker_port->rx_ring);
drivers/net/ethernet/rocker/rocker_main.c
816
err = rocker_dma_ring_bufs_alloc(rocker, &rocker_port->rx_ring,
drivers/net/ethernet/rocker/rocker_main.c
829
rocker_dma_ring_pass_to_producer(rocker, &rocker_port->rx_ring);
drivers/net/ethernet/rocker/rocker_main.c
834
rocker_dma_ring_bufs_free(rocker, &rocker_port->rx_ring,
drivers/net/ethernet/rocker/rocker_main.c
837
rocker_dma_ring_destroy(rocker, &rocker_port->rx_ring);
drivers/net/ethernet/rocker/rocker_main.c
851
rocker_dma_ring_bufs_free(rocker, &rocker_port->rx_ring,
drivers/net/ethernet/rocker/rocker_main.c
853
rocker_dma_ring_destroy(rocker, &rocker_port->rx_ring);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
340
struct sxgbe_rx_queue *rx_ring)
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
349
rx_ring->rx_skbuff[i] = skb;
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
350
rx_ring->rx_skbuff_dma[i] = dma_map_single(priv->device, skb->data,
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
353
if (dma_mapping_error(priv->device, rx_ring->rx_skbuff_dma[i])) {
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
359
p->rdes23.rx_rd_des23.buf2_addr = rx_ring->rx_skbuff_dma[i];
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
377
struct sxgbe_rx_queue *rx_ring)
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
381
kfree_skb(rx_ring->rx_skbuff[i]);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
382
dma_unmap_single(priv->device, rx_ring->rx_skbuff_dma[i],
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
444
static void free_rx_ring(struct device *dev, struct sxgbe_rx_queue *rx_ring,
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
448
rx_ring->dma_rx, rx_ring->dma_rx_phy);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
449
kfree(rx_ring->rx_skbuff_dma);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
450
kfree(rx_ring->rx_skbuff);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
462
struct sxgbe_rx_queue *rx_ring, int rx_rsize)
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
475
if (rx_ring == NULL) {
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
481
rx_ring->queue_no = queue_no;
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
484
rx_ring->dma_rx = dma_alloc_coherent(priv->device,
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
486
&rx_ring->dma_rx_phy, GFP_KERNEL);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
488
if (rx_ring->dma_rx == NULL)
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
492
rx_ring->rx_skbuff_dma = kmalloc_objs(dma_addr_t, rx_rsize);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
493
if (!rx_ring->rx_skbuff_dma) {
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
498
rx_ring->rx_skbuff = kmalloc_objs(struct sk_buff *, rx_rsize);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
499
if (!rx_ring->rx_skbuff) {
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
507
p = rx_ring->dma_rx + desc_index;
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
509
bfsize, rx_ring);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
515
rx_ring->cur_rx = 0;
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
516
rx_ring->dirty_rx = (unsigned int)(desc_index - rx_rsize);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
525
p = rx_ring->dma_rx + desc_index;
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
526
sxgbe_free_rx_buffers(dev, p, desc_index, bfsize, rx_ring);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
528
kfree(rx_ring->rx_skbuff);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
530
kfree(rx_ring->rx_skbuff_dma);
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
534
rx_ring->dma_rx, rx_ring->dma_rx_phy);
drivers/net/ethernet/sgi/meth.c
234
priv->rx_ring[i]=(rx_packet*)(priv->rx_skbs[i]->head);
drivers/net/ethernet/sgi/meth.c
237
dma_map_single(&priv->pdev->dev, priv->rx_ring[i],
drivers/net/ethernet/sgi/meth.c
265
priv->rx_ring[i] = 0;
drivers/net/ethernet/sgi/meth.c
396
status = priv->rx_ring[priv->rx_write]->status.raw;
drivers/net/ethernet/sgi/meth.c
408
priv->rx_ring[priv->rx_write]->status.raw);
drivers/net/ethernet/sgi/meth.c
452
priv->rx_ring[priv->rx_write] = (rx_packet*)skb->head;
drivers/net/ethernet/sgi/meth.c
453
priv->rx_ring[priv->rx_write]->status.raw = 0;
drivers/net/ethernet/sgi/meth.c
456
priv->rx_ring[priv->rx_write],
drivers/net/ethernet/sgi/meth.c
82
rx_packet *rx_ring[RX_RING_ENTRIES];
drivers/net/ethernet/silan/sc92031.c
1038
dma_free_coherent(&pdev->dev, RX_BUF_LEN, priv->rx_ring,
drivers/net/ethernet/silan/sc92031.c
1064
dma_free_coherent(&pdev->dev, RX_BUF_LEN, priv->rx_ring,
drivers/net/ethernet/silan/sc92031.c
273
void *rx_ring;
drivers/net/ethernet/silan/sc92031.c
728
void *rx_ring = priv->rx_ring;
drivers/net/ethernet/silan/sc92031.c
763
rx_status = le32_to_cpup((__le32 *)(rx_ring + rx_ring_offset));
drivers/net/ethernet/silan/sc92031.c
797
skb_put_data(skb, rx_ring + rx_ring_offset,
drivers/net/ethernet/silan/sc92031.c
799
skb_put_data(skb, rx_ring,
drivers/net/ethernet/silan/sc92031.c
802
skb_put_data(skb, rx_ring + rx_ring_offset, pkt_size);
drivers/net/ethernet/silan/sc92031.c
997
priv->rx_ring = dma_alloc_coherent(&pdev->dev, RX_BUF_LEN,
drivers/net/ethernet/silan/sc92031.c
999
if (unlikely(!priv->rx_ring)) {
drivers/net/ethernet/sis/sis900.c
1167
sis_priv->rx_ring[i].link = sis_priv->rx_ring_dma +
drivers/net/ethernet/sis/sis900.c
1169
sis_priv->rx_ring[i].cmdsts = 0;
drivers/net/ethernet/sis/sis900.c
1170
sis_priv->rx_ring[i].bufptr = 0;
drivers/net/ethernet/sis/sis900.c
1185
sis_priv->rx_ring[i].cmdsts = RX_BUF_SIZE;
drivers/net/ethernet/sis/sis900.c
1186
sis_priv->rx_ring[i].bufptr = dma_map_single(&sis_priv->pci_dev->dev,
drivers/net/ethernet/sis/sis900.c
1191
sis_priv->rx_ring[i].bufptr))) {
drivers/net/ethernet/sis/sis900.c
1735
u32 rx_status = sis_priv->rx_ring[entry].cmdsts;
drivers/net/ethernet/sis/sis900.c
1776
sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE;
drivers/net/ethernet/sis/sis900.c
1782
sis_priv->rx_ring[entry].bufptr,
drivers/net/ethernet/sis/sis900.c
182
BufferDesc *rx_ring;
drivers/net/ethernet/sis/sis900.c
1827
sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE;
drivers/net/ethernet/sis/sis900.c
1828
sis_priv->rx_ring[entry].bufptr =
drivers/net/ethernet/sis/sis900.c
1833
sis_priv->rx_ring[entry].bufptr))) {
drivers/net/ethernet/sis/sis900.c
1841
rx_status = sis_priv->rx_ring[entry].cmdsts;
drivers/net/ethernet/sis/sis900.c
1862
sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE;
drivers/net/ethernet/sis/sis900.c
1863
sis_priv->rx_ring[entry].bufptr =
drivers/net/ethernet/sis/sis900.c
1868
sis_priv->rx_ring[entry].bufptr))) {
drivers/net/ethernet/sis/sis900.c
1985
sis_priv->rx_ring[i].bufptr,
drivers/net/ethernet/sis/sis900.c
2490
dma_free_coherent(&pci_dev->dev, RX_TOTAL_SIZE, sis_priv->rx_ring,
drivers/net/ethernet/sis/sis900.c
495
sis_priv->rx_ring = ring_space;
drivers/net/ethernet/sis/sis900.c
573
dma_free_coherent(&pci_dev->dev, RX_TOTAL_SIZE, sis_priv->rx_ring,
drivers/net/ethernet/smsc/epic100.c
1137
ep->rx_ring[entry].rxstatus);
drivers/net/ethernet/smsc/epic100.c
1143
while ((ep->rx_ring[entry].rxstatus & DescOwn) == 0) {
drivers/net/ethernet/smsc/epic100.c
1144
int status = ep->rx_ring[entry].rxstatus;
drivers/net/ethernet/smsc/epic100.c
1179
ep->rx_ring[entry].bufaddr,
drivers/net/ethernet/smsc/epic100.c
1185
ep->rx_ring[entry].bufaddr,
drivers/net/ethernet/smsc/epic100.c
1190
ep->rx_ring[entry].bufaddr,
drivers/net/ethernet/smsc/epic100.c
1214
ep->rx_ring[entry].bufaddr = dma_map_single(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
1221
ep->rx_ring[entry].rxstatus = DescOwn;
drivers/net/ethernet/smsc/epic100.c
1294
ep->rx_ring[i].rxstatus = 0; /* Not owned by Epic chip. */
drivers/net/ethernet/smsc/epic100.c
1295
ep->rx_ring[i].buflength = 0;
drivers/net/ethernet/smsc/epic100.c
1297
dma_unmap_single(&pdev->dev, ep->rx_ring[i].bufaddr,
drivers/net/ethernet/smsc/epic100.c
1301
ep->rx_ring[i].bufaddr = 0xBADF00D0; /* An invalid address. */
drivers/net/ethernet/smsc/epic100.c
1507
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, ep->rx_ring,
drivers/net/ethernet/smsc/epic100.c
245
struct epic_rx_desc *rx_ring;
drivers/net/ethernet/smsc/epic100.c
376
ep->rx_ring = ring_space;
drivers/net/ethernet/smsc/epic100.c
487
dma_free_coherent(&pdev->dev, RX_TOTAL_SIZE, ep->rx_ring,
drivers/net/ethernet/smsc/epic100.c
898
ep->rx_ring[i].rxstatus = 0;
drivers/net/ethernet/smsc/epic100.c
899
ep->rx_ring[i].buflength = ep->rx_buf_sz;
drivers/net/ethernet/smsc/epic100.c
900
ep->rx_ring[i].next = ep->rx_ring_dma +
drivers/net/ethernet/smsc/epic100.c
905
ep->rx_ring[i-1].next = ep->rx_ring_dma;
drivers/net/ethernet/smsc/epic100.c
914
ep->rx_ring[i].bufaddr = dma_map_single(&ep->pci_dev->dev,
drivers/net/ethernet/smsc/epic100.c
918
ep->rx_ring[i].rxstatus = DescOwn;
drivers/net/ethernet/smsc/smsc9420.c
1211
BUG_ON(!pd->rx_ring);
drivers/net/ethernet/smsc/smsc9420.c
1219
pd->rx_ring[i].status = 0;
drivers/net/ethernet/smsc/smsc9420.c
1220
pd->rx_ring[i].length = PKT_BUF_SZ;
drivers/net/ethernet/smsc/smsc9420.c
1221
pd->rx_ring[i].buffer2 = 0;
drivers/net/ethernet/smsc/smsc9420.c
1225
pd->rx_ring[RX_RING_SIZE - 1].length = (PKT_BUF_SZ | RDES1_RER_);
drivers/net/ethernet/smsc/smsc9420.c
1545
pd->rx_ring = dma_alloc_coherent(&pdev->dev,
drivers/net/ethernet/smsc/smsc9420.c
1549
if (!pd->rx_ring)
drivers/net/ethernet/smsc/smsc9420.c
1553
pd->tx_ring = (pd->rx_ring + RX_RING_SIZE);
drivers/net/ethernet/smsc/smsc9420.c
1605
pd->rx_ring, pd->rx_dma_addr);
drivers/net/ethernet/smsc/smsc9420.c
1635
BUG_ON(!pd->rx_ring);
drivers/net/ethernet/smsc/smsc9420.c
1639
pd->rx_ring, pd->rx_dma_addr);
drivers/net/ethernet/smsc/smsc9420.c
50
struct smsc9420_dma_desc *rx_ring;
drivers/net/ethernet/smsc/smsc9420.c
527
BUG_ON(!pd->rx_ring);
drivers/net/ethernet/smsc/smsc9420.c
541
pd->rx_ring[i].status = 0;
drivers/net/ethernet/smsc/smsc9420.c
542
pd->rx_ring[i].length = 0;
drivers/net/ethernet/smsc/smsc9420.c
543
pd->rx_ring[i].buffer1 = 0;
drivers/net/ethernet/smsc/smsc9420.c
544
pd->rx_ring[i].buffer2 = 0;
drivers/net/ethernet/smsc/smsc9420.c
800
pd->rx_ring[index].buffer1 = mapping + NET_IP_ALIGN;
drivers/net/ethernet/smsc/smsc9420.c
801
pd->rx_ring[index].status = RDES0_OWN_;
drivers/net/ethernet/smsc/smsc9420.c
827
status = pd->rx_ring[pd->rx_ring_head].status;
drivers/net/ethernet/socionext/netsec.c
860
struct netsec_desc_ring *rx_ring =
drivers/net/ethernet/socionext/netsec.c
863
page_pool_get_dma_dir(rx_ring->page_pool);
drivers/net/ethernet/spacemit/k1_emac.c
107
struct emac_desc_ring rx_ring;
drivers/net/ethernet/spacemit/k1_emac.c
1427
priv->rx_ring.total_cnt = DEFAULT_RX_RING_NUM;
drivers/net/ethernet/spacemit/k1_emac.c
1515
val = (u32)priv->rx_ring.desc_dma_addr;
drivers/net/ethernet/spacemit/k1_emac.c
367
struct emac_desc_ring *rx_ring;
drivers/net/ethernet/spacemit/k1_emac.c
370
rx_ring = &priv->rx_ring;
drivers/net/ethernet/spacemit/k1_emac.c
372
for (i = 0; i < rx_ring->total_cnt; i++) {
drivers/net/ethernet/spacemit/k1_emac.c
373
rx_buf = &rx_ring->rx_desc_buf[i];
drivers/net/ethernet/spacemit/k1_emac.c
385
rx_ring->tail = 0;
drivers/net/ethernet/spacemit/k1_emac.c
386
rx_ring->head = 0;
drivers/net/ethernet/spacemit/k1_emac.c
419
struct emac_desc_ring *rx_ring = &priv->rx_ring;
drivers/net/ethernet/spacemit/k1_emac.c
422
rx_ring->rx_desc_buf = kzalloc_objs(*rx_ring->rx_desc_buf,
drivers/net/ethernet/spacemit/k1_emac.c
423
rx_ring->total_cnt);
drivers/net/ethernet/spacemit/k1_emac.c
424
if (!rx_ring->rx_desc_buf)
drivers/net/ethernet/spacemit/k1_emac.c
427
rx_ring->total_size = rx_ring->total_cnt * sizeof(struct emac_desc);
drivers/net/ethernet/spacemit/k1_emac.c
429
rx_ring->total_size = ALIGN(rx_ring->total_size, PAGE_SIZE);
drivers/net/ethernet/spacemit/k1_emac.c
431
rx_ring->desc_addr = dma_alloc_coherent(&pdev->dev, rx_ring->total_size,
drivers/net/ethernet/spacemit/k1_emac.c
432
&rx_ring->desc_dma_addr,
drivers/net/ethernet/spacemit/k1_emac.c
434
if (!rx_ring->desc_addr) {
drivers/net/ethernet/spacemit/k1_emac.c
435
kfree(rx_ring->rx_desc_buf);
drivers/net/ethernet/spacemit/k1_emac.c
439
rx_ring->head = 0;
drivers/net/ethernet/spacemit/k1_emac.c
440
rx_ring->tail = 0;
drivers/net/ethernet/spacemit/k1_emac.c
462
struct emac_desc_ring *rr = &priv->rx_ring;
drivers/net/ethernet/spacemit/k1_emac.c
544
struct emac_desc_ring *rx_ring = &priv->rx_ring;
drivers/net/ethernet/spacemit/k1_emac.c
551
i = rx_ring->head;
drivers/net/ethernet/spacemit/k1_emac.c
552
rx_buf = &rx_ring->rx_desc_buf[i];
drivers/net/ethernet/spacemit/k1_emac.c
573
rx_desc_addr = &((struct emac_desc *)rx_ring->desc_addr)[i];
drivers/net/ethernet/spacemit/k1_emac.c
581
if (++i == rx_ring->total_cnt) {
drivers/net/ethernet/spacemit/k1_emac.c
590
rx_buf = &rx_ring->rx_desc_buf[i];
drivers/net/ethernet/spacemit/k1_emac.c
593
rx_ring->head = i;
drivers/net/ethernet/spacemit/k1_emac.c
602
struct emac_desc_ring *rx_ring;
drivers/net/ethernet/spacemit/k1_emac.c
607
rx_ring = &priv->rx_ring;
drivers/net/ethernet/spacemit/k1_emac.c
609
i = rx_ring->tail;
drivers/net/ethernet/spacemit/k1_emac.c
612
rx_desc = &((struct emac_desc *)rx_ring->desc_addr)[i];
drivers/net/ethernet/spacemit/k1_emac.c
620
rx_buf = &rx_ring->rx_desc_buf[i];
drivers/net/ethernet/spacemit/k1_emac.c
654
if (++i == rx_ring->total_cnt)
drivers/net/ethernet/spacemit/k1_emac.c
658
rx_ring->tail = i;
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
168
xlgmac_free_ring(pdata, channel->rx_ring);
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
195
ret = xlgmac_init_ring(pdata, channel->rx_ring,
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
220
kfree(pdata->channel_head->rx_ring);
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
221
pdata->channel_head->rx_ring = NULL;
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
232
struct xlgmac_ring *tx_ring, *rx_ring;
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
247
rx_ring = kzalloc_objs(struct xlgmac_ring, pdata->rx_ring_count);
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
248
if (!rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
275
channel->rx_ring = rx_ring++;
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
280
channel->tx_ring, channel->rx_ring);
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
288
kfree(rx_ring);
drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c
466
ring = channel->rx_ring;
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
1142
struct xlgmac_ring *ring = channel->rx_ring;
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
1308
if (!channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
1366
if (!channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
1405
if (!channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
1827
if (!channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
2488
if (channel->rx_ring) {
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
2641
struct xlgmac_ring *ring = channel->rx_ring;
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
610
if (!channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c
666
if (!channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
1110
struct xlgmac_ring *ring = channel->rx_ring;
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
216
if (channel->tx_ring && channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
220
else if (channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
238
if (channel->tx_ring && channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
242
else if (channel->rx_ring)
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
550
ring = channel->rx_ring;
drivers/net/ethernet/synopsys/dwc-xlgmac-net.c
954
struct xlgmac_ring *ring = channel->rx_ring;
drivers/net/ethernet/synopsys/dwc-xlgmac.h
379
struct xlgmac_ring *rx_ring;
drivers/net/ethernet/via/via-rhine.c
1168
rp->rx_ring = ring;
drivers/net/ethernet/via/via-rhine.c
1184
rp->rx_ring, rp->rx_ring_dma);
drivers/net/ethernet/via/via-rhine.c
1228
rp->rx_ring[i].rx_status = cpu_to_le32(DescOwn);
drivers/net/ethernet/via/via-rhine.c
1237
rp->rx_ring[entry].addr = cpu_to_le32(sd->dma);
drivers/net/ethernet/via/via-rhine.c
1254
rp->rx_ring[i].rx_status = 0;
drivers/net/ethernet/via/via-rhine.c
1255
rp->rx_ring[i].desc_length = cpu_to_le32(rp->rx_buf_sz);
drivers/net/ethernet/via/via-rhine.c
1257
rp->rx_ring[i].next_desc = cpu_to_le32(next);
drivers/net/ethernet/via/via-rhine.c
1261
rp->rx_ring[i-1].next_desc = cpu_to_le32(rp->rx_ring_dma);
drivers/net/ethernet/via/via-rhine.c
1289
rp->rx_ring[i].rx_status = 0;
drivers/net/ethernet/via/via-rhine.c
1290
rp->rx_ring[i].addr = cpu_to_le32(0xBADF00D0); /* An invalid address. */
drivers/net/ethernet/via/via-rhine.c
2043
entry, le32_to_cpu(rp->rx_ring[entry].rx_status));
drivers/net/ethernet/via/via-rhine.c
2047
struct rx_desc *desc = rp->rx_ring + entry;
drivers/net/ethernet/via/via-rhine.c
436
struct rx_desc *rx_ring;
drivers/net/ethernet/wangxun/libwx/wx_ethtool.c
171
ring = wx->rx_ring[j];
drivers/net/ethernet/wangxun/libwx/wx_hw.c
1602
struct wx_ring *ring = wx->rx_ring[i];
drivers/net/ethernet/wangxun/libwx/wx_hw.c
1782
struct wx_ring *rx_ring;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
1800
rx_ring = wx->rx_ring[i];
drivers/net/ethernet/wangxun/libwx/wx_hw.c
1801
rx_ring->rx_buf_len = WX_RXBUFFER_2K;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
1804
rx_ring->rx_buf_len = WX_RXBUFFER_3K;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
1870
struct wx_ring *rx_ring)
drivers/net/ethernet/wangxun/libwx/wx_hw.c
1872
u16 reg_idx = rx_ring->reg_idx;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
1883
srrctl |= rx_ring->rx_buf_len >> WX_PX_RR_CFG_BSIZEPKT_SHIFT;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2250
wx_configure_rx_ring(wx, wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2824
wx_enable_rx_drop(wx, wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2827
wx_disable_rx_drop(wx, wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2849
struct wx_ring *rx_ring = wx->rx_ring[i];
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2851
non_eop_descs += rx_ring->rx_stats.non_eop_descs;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2852
alloc_rx_buff_failed += rx_ring->rx_stats.alloc_rx_buff_failed;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2853
hw_csum_rx_good += rx_ring->rx_stats.csum_good_cnt;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2854
hw_csum_rx_error += rx_ring->rx_stats.csum_err;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2866
rsc_count += wx->rx_ring[i]->rx_stats.rsc_count;
drivers/net/ethernet/wangxun/libwx/wx_hw.c
2867
rsc_flush += wx->rx_ring[i]->rx_stats.rsc_flush;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
167
static void wx_dma_sync_frag(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
173
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
180
static struct wx_rx_buffer *wx_get_rx_buffer(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
187
rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean];
drivers/net/ethernet/wangxun/libwx/wx_lib.c
202
wx_dma_sync_frag(rx_ring, rx_buffer);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2021
wx->rx_ring[i]->reg_idx = reg_idx;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2035
wx->rx_ring[i]->reg_idx = reg_idx + i;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
206
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2061
wx->rx_ring[i]->reg_idx = i;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
215
static void wx_put_rx_buffer(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2180
wx->rx_ring[rxr_idx] = ring;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2211
wx->rx_ring[ring->queue_index] = NULL;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
224
static struct sk_buff *wx_build_skb(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
230
unsigned int truesize = wx_rx_pg_size(rx_ring) / 2;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
244
skb = napi_alloc_skb(&rx_ring->q_vector->napi, WX_RXBUFFER_256);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2568
static void wx_clean_rx_ring(struct wx_ring *rx_ring)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
257
page_pool_put_full_page(rx_ring->page_pool, rx_buffer->page, true);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2571
u16 i = rx_ring->next_to_clean;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2573
rx_buffer = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2576
while (i != rx_ring->next_to_alloc) {
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2586
dma_sync_single_range_for_cpu(rx_ring->dev,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2589
rx_ring->rx_buf_len,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2593
page_pool_put_full_page(rx_ring->page_pool, rx_buffer->page, false);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2597
if (i == rx_ring->count) {
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2599
rx_buffer = rx_ring->rx_buffer_info;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2604
memset(rx_ring->desc, 0, rx_ring->size);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2606
rx_ring->next_to_alloc = 0;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2607
rx_ring->next_to_clean = 0;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2608
rx_ring->next_to_use = 0;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2620
wx_clean_rx_ring(wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2630
static void wx_free_rx_resources(struct wx_ring *rx_ring)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2632
wx_clean_rx_ring(rx_ring);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2633
kvfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2634
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2637
if (!rx_ring->desc)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2640
dma_free_coherent(rx_ring->dev, rx_ring->size,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2641
rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2643
rx_ring->desc = NULL;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2645
if (rx_ring->page_pool) {
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2646
page_pool_destroy(rx_ring->page_pool);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2647
rx_ring->page_pool = NULL;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2662
wx_free_rx_resources(wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2794
static int wx_alloc_page_pool(struct wx_ring *rx_ring)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2800
.order = wx_rx_pg_order(rx_ring),
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2801
.pool_size = rx_ring->count * rx_ring->rx_buf_len /
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2802
wx_rx_pg_size(rx_ring),
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2803
.nid = dev_to_node(rx_ring->dev),
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2804
.dev = rx_ring->dev,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2807
.max_len = wx_rx_pg_size(rx_ring),
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2810
rx_ring->page_pool = page_pool_create(&pp_params);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2811
if (IS_ERR(rx_ring->page_pool)) {
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2812
ret = PTR_ERR(rx_ring->page_pool);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2813
rx_ring->page_pool = NULL;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2825
static int wx_setup_rx_resources(struct wx_ring *rx_ring)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2827
struct device *dev = rx_ring->dev;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2832
size = sizeof(struct wx_rx_buffer) * rx_ring->count;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2834
if (rx_ring->q_vector)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2835
numa_node = rx_ring->q_vector->numa_node;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2837
rx_ring->rx_buffer_info = kvmalloc_node(size, GFP_KERNEL, numa_node);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2838
if (!rx_ring->rx_buffer_info)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2839
rx_ring->rx_buffer_info = kvmalloc(size, GFP_KERNEL);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2840
if (!rx_ring->rx_buffer_info)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2844
rx_ring->size = rx_ring->count * sizeof(union wx_rx_desc);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2845
rx_ring->size = ALIGN(rx_ring->size, 4096);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2848
rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2849
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2850
if (!rx_ring->desc) {
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2852
rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2853
&rx_ring->dma, GFP_KERNEL);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2856
if (!rx_ring->desc)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2859
rx_ring->next_to_clean = 0;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2860
rx_ring->next_to_use = 0;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2862
ret = wx_alloc_page_pool(rx_ring);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2864
dev_err(rx_ring->dev, "Page pool creation failed: %d\n", ret);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2871
dma_free_coherent(dev, rx_ring->size, rx_ring->desc, rx_ring->dma);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2873
kvfree(rx_ring->rx_buffer_info);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2874
rx_ring->rx_buffer_info = NULL;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
288
static bool wx_alloc_mapped_page(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2894
err = wx_setup_rx_resources(wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
2906
wx_free_rx_resources(wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
298
page = page_pool_dev_alloc_pages(rx_ring->page_pool);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
3058
struct wx_ring *ring = READ_ONCE(wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
315
void wx_alloc_rx_buffers(struct wx_ring *rx_ring, u16 cleaned_count)
drivers/net/ethernet/wangxun/libwx/wx_lib.c
317
u16 i = rx_ring->next_to_use;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
325
rx_desc = WX_RX_DESC(rx_ring, i);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
326
bi = &rx_ring->rx_buffer_info[i];
drivers/net/ethernet/wangxun/libwx/wx_lib.c
327
i -= rx_ring->count;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
3289
memcpy(&temp_ring[i], wx->rx_ring[i],
drivers/net/ethernet/wangxun/libwx/wx_lib.c
330
if (!wx_alloc_mapped_page(rx_ring, bi))
drivers/net/ethernet/wangxun/libwx/wx_lib.c
3305
wx_free_rx_resources(wx->rx_ring[i]);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
3306
memcpy(wx->rx_ring[i], &temp_ring[i],
drivers/net/ethernet/wangxun/libwx/wx_lib.c
334
dma_sync_single_range_for_device(rx_ring->dev, bi->dma,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
336
rx_ring->rx_buf_len,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
346
rx_desc = WX_RX_DESC(rx_ring, 0);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
347
bi = rx_ring->rx_buffer_info;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
348
i -= rx_ring->count;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
359
i += rx_ring->count;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
361
if (rx_ring->next_to_use != i) {
drivers/net/ethernet/wangxun/libwx/wx_lib.c
362
rx_ring->next_to_use = i;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
364
rx_ring->next_to_alloc = i;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
372
writel(i, rx_ring->tail);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
395
static bool wx_is_non_eop(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
399
struct wx *wx = rx_ring->q_vector->wx;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
400
u32 ntc = rx_ring->next_to_clean + 1;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
403
ntc = (ntc < rx_ring->count) ? ntc : 0;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
404
rx_ring->next_to_clean = ntc;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
406
prefetch(WX_RX_DESC(rx_ring, ntc));
drivers/net/ethernet/wangxun/libwx/wx_lib.c
430
rx_ring->rx_buffer_info[ntc].skb = skb;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
431
rx_ring->rx_stats.non_eop_descs++;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
481
static bool wx_cleanup_headers(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
485
struct net_device *netdev = rx_ring->netdev;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
607
static void wx_update_rsc_stats(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
614
rx_ring->rx_stats.rsc_count += WX_CB(skb)->append_cnt;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
615
rx_ring->rx_stats.rsc_flush++;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
617
wx_set_rsc_gso_size(rx_ring, skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
633
static void wx_process_skb_fields(struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
637
struct wx *wx = netdev_priv(rx_ring->netdev);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
640
wx_update_rsc_stats(rx_ring, skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
642
wx_rx_hash(rx_ring, rx_desc, skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
643
wx_rx_checksum(rx_ring, rx_desc, skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
647
wx_ptp_rx_hwtstamp(rx_ring->q_vector->wx, skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
648
rx_ring->last_rx_timestamp = jiffies;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
651
wx_rx_vlan(rx_ring, rx_desc, skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
652
skb_record_rx_queue(skb, rx_ring->queue_index);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
653
skb->protocol = eth_type_trans(skb, rx_ring->netdev);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
670
struct wx_ring *rx_ring,
drivers/net/ethernet/wangxun/libwx/wx_lib.c
674
u16 cleaned_count = wx_desc_unused(rx_ring);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
683
wx_alloc_rx_buffers(rx_ring, cleaned_count);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
687
rx_desc = WX_RX_DESC(rx_ring, rx_ring->next_to_clean);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
697
rx_buffer = wx_get_rx_buffer(rx_ring, rx_desc, &skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
700
skb = wx_build_skb(rx_ring, rx_buffer, rx_desc);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
704
rx_ring->rx_stats.alloc_rx_buff_failed++;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
708
wx_put_rx_buffer(rx_ring, rx_buffer, skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
712
if (wx_is_non_eop(rx_ring, rx_desc, skb))
drivers/net/ethernet/wangxun/libwx/wx_lib.c
716
if (wx_cleanup_headers(rx_ring, rx_desc, skb))
drivers/net/ethernet/wangxun/libwx/wx_lib.c
723
wx_process_skb_fields(rx_ring, rx_desc, skb);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
730
u64_stats_update_begin(&rx_ring->syncp);
drivers/net/ethernet/wangxun/libwx/wx_lib.c
731
rx_ring->stats.packets += total_rx_packets;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
732
rx_ring->stats.bytes += total_rx_bytes;
drivers/net/ethernet/wangxun/libwx/wx_lib.c
733
u64_stats_update_end(&rx_ring->syncp);
drivers/net/ethernet/wangxun/libwx/wx_lib.h
11
void wx_alloc_rx_buffers(struct wx_ring *rx_ring, u16 cleaned_count);
drivers/net/ethernet/wangxun/libwx/wx_ptp.c
260
struct wx_ring *rx_ring;
drivers/net/ethernet/wangxun/libwx/wx_ptp.c
278
rx_ring = wx->rx_ring[n];
drivers/net/ethernet/wangxun/libwx/wx_ptp.c
279
if (time_after(rx_ring->last_rx_timestamp, rx_event))
drivers/net/ethernet/wangxun/libwx/wx_ptp.c
280
rx_event = rx_ring->last_rx_timestamp;
drivers/net/ethernet/wangxun/libwx/wx_type.h
1326
struct wx_ring *rx_ring[64];
drivers/net/ethernet/wangxun/libwx/wx_vf_common.c
207
struct wx_ring *rx_ring = wx->rx_ring[i];
drivers/net/ethernet/wangxun/libwx/wx_vf_common.c
209
wx_set_rx_buffer_len_vf(wx, rx_ring);
drivers/net/ethernet/wangxun/libwx/wx_vf_common.c
211
wx_configure_rx_ring_vf(wx, rx_ring);
drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c
75
wx->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/wangxun/ngbe/ngbe_main.c
365
wx_disable_rx_queue(wx, wx->rx_ring[i]);
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
382
queue = wx->rx_ring[ring]->reg_idx;
drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
67
wx->rx_ring[i]->count = new_rx_count;
drivers/net/ethernet/wangxun/txgbe/txgbe_fdir.c
602
queue = wx->rx_ring[ring]->reg_idx;
drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
222
wx_disable_rx_queue(wx, wx->rx_ring[i]);
drivers/net/thunderbolt/main.c
200
struct tbnet_ring rx_ring;
drivers/net/thunderbolt/main.c
393
tb_ring_stop(net->rx_ring.ring);
drivers/net/thunderbolt/main.c
395
tbnet_free_buffers(&net->rx_ring);
drivers/net/thunderbolt/main.c
402
net->rx_ring.ring->hop);
drivers/net/thunderbolt/main.c
502
struct tbnet_ring *ring = &net->rx_ring;
drivers/net/thunderbolt/main.c
655
tb_ring_start(net->rx_ring.ring);
drivers/net/thunderbolt/main.c
668
net->rx_ring.ring->hop);
drivers/net/thunderbolt/main.c
683
tbnet_free_buffers(&net->rx_ring);
drivers/net/thunderbolt/main.c
685
tb_ring_stop(net->rx_ring.ring);
drivers/net/thunderbolt/main.c
806
unsigned int cleaned_count = tbnet_available_buffers(&net->rx_ring);
drivers/net/thunderbolt/main.c
807
struct device *dma_dev = tb_ring_dma_device(net->rx_ring.ring);
drivers/net/thunderbolt/main.c
829
frame = tb_ring_poll(net->rx_ring.ring);
drivers/net/thunderbolt/main.c
840
net->rx_ring.cons++;
drivers/net/thunderbolt/main.c
905
tb_ring_poll_complete(net->rx_ring.ring);
drivers/net/thunderbolt/main.c
962
net->rx_ring.ring = ring;
drivers/net/thunderbolt/main.c
979
tb_ring_free(net->rx_ring.ring);
drivers/net/thunderbolt/main.c
980
net->rx_ring.ring = NULL;
drivers/net/vmxnet3/vmxnet3_drv.c
1646
ring = rq->rx_ring + ring_idx;
drivers/net/vmxnet3/vmxnet3_drv.c
1647
vmxnet3_getRxDesc(rxd, &rq->rx_ring[ring_idx].base[idx].rxd,
drivers/net/vmxnet3/vmxnet3_drv.c
1953
ring = rq->rx_ring + ring_idx;
drivers/net/vmxnet3/vmxnet3_drv.c
2025
if (!rq->rx_ring[0].base)
drivers/net/vmxnet3/vmxnet3_drv.c
2029
for (i = 0; i < rq->rx_ring[ring_idx].size; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2037
&rq->rx_ring[ring_idx].base[i].rxd, &rxDesc);
drivers/net/vmxnet3/vmxnet3_drv.c
2059
rq->rx_ring[ring_idx].gen = VMXNET3_INIT_GEN;
drivers/net/vmxnet3/vmxnet3_drv.c
2060
rq->rx_ring[ring_idx].next2fill =
drivers/net/vmxnet3/vmxnet3_drv.c
2061
rq->rx_ring[ring_idx].next2comp = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
2094
for (j = 0; j < rq->rx_ring[i].size; j++)
drivers/net/vmxnet3/vmxnet3_drv.c
2101
if (rq->rx_ring[i].base) {
drivers/net/vmxnet3/vmxnet3_drv.c
2103
rq->rx_ring[i].size
drivers/net/vmxnet3/vmxnet3_drv.c
2105
rq->rx_ring[i].base,
drivers/net/vmxnet3/vmxnet3_drv.c
2106
rq->rx_ring[i].basePA);
drivers/net/vmxnet3/vmxnet3_drv.c
2107
rq->rx_ring[i].base = NULL;
drivers/net/vmxnet3/vmxnet3_drv.c
2113
rq->rx_ring[0].size * rq->data_ring.desc_size,
drivers/net/vmxnet3/vmxnet3_drv.c
2120
rq->rx_ring[0].size * rq->rx_ts_desc_size,
drivers/net/vmxnet3/vmxnet3_drv.c
2147
(rq->rx_ring[0].size *
drivers/net/vmxnet3/vmxnet3_drv.c
2164
for (i = 0; i < rq->rx_ring[0].size; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2177
for (i = 0; i < rq->rx_ring[1].size; i++) {
drivers/net/vmxnet3/vmxnet3_drv.c
2184
rq->rx_ring[i].next2fill = rq->rx_ring[i].next2comp = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
2186
memset(rq->rx_ring[i].base, 0, rq->rx_ring[i].size *
drivers/net/vmxnet3/vmxnet3_drv.c
2188
rq->rx_ring[i].gen = VMXNET3_INIT_GEN;
drivers/net/vmxnet3/vmxnet3_drv.c
2189
rq->rx_ring[i].isOutOfOrder = 0;
drivers/net/vmxnet3/vmxnet3_drv.c
2193
rq->rx_ring[0].size + rq->rx_ring[1].size);
drivers/net/vmxnet3/vmxnet3_drv.c
2197
if (vmxnet3_rq_alloc_rx_buf(rq, 0, rq->rx_ring[0].size - 1,
drivers/net/vmxnet3/vmxnet3_drv.c
2206
vmxnet3_rq_alloc_rx_buf(rq, 1, rq->rx_ring[1].size - 1, adapter);
drivers/net/vmxnet3/vmxnet3_drv.c
2210
rq->rx_ring[0].size * rq->rx_ts_desc_size);
drivers/net/vmxnet3/vmxnet3_drv.c
2254
sz = rq->rx_ring[i].size * sizeof(struct Vmxnet3_RxDesc);
drivers/net/vmxnet3/vmxnet3_drv.c
2255
rq->rx_ring[i].base = dma_alloc_coherent(
drivers/net/vmxnet3/vmxnet3_drv.c
2257
&rq->rx_ring[i].basePA,
drivers/net/vmxnet3/vmxnet3_drv.c
2259
if (!rq->rx_ring[i].base) {
drivers/net/vmxnet3/vmxnet3_drv.c
2267
sz = rq->rx_ring[0].size * rq->data_ring.desc_size;
drivers/net/vmxnet3/vmxnet3_drv.c
2283
sz = rq->rx_ring[0].size * rq->rx_ts_desc_size;
drivers/net/vmxnet3/vmxnet3_drv.c
2306
bi = kcalloc_node(rq->rx_ring[0].size + rq->rx_ring[1].size,
drivers/net/vmxnet3/vmxnet3_drv.c
2313
rq->buf_info[1] = bi + rq->rx_ring[0].size;
drivers/net/vmxnet3/vmxnet3_drv.c
2966
rqc->rxRingBasePA[0] = cpu_to_le64(rq->rx_ring[0].basePA);
drivers/net/vmxnet3/vmxnet3_drv.c
2967
rqc->rxRingBasePA[1] = cpu_to_le64(rq->rx_ring[1].basePA);
drivers/net/vmxnet3/vmxnet3_drv.c
2970
rqc->rxRingSize[0] = cpu_to_le32(rq->rx_ring[0].size);
drivers/net/vmxnet3/vmxnet3_drv.c
2971
rqc->rxRingSize[1] = cpu_to_le32(rq->rx_ring[1].size);
drivers/net/vmxnet3/vmxnet3_drv.c
3165
adapter->rx_queue[0].rx_ring[0].size,
drivers/net/vmxnet3/vmxnet3_drv.c
3166
adapter->rx_queue[0].rx_ring[1].size);
drivers/net/vmxnet3/vmxnet3_drv.c
3209
adapter->rx_queue[i].rx_ring[0].next2fill);
drivers/net/vmxnet3/vmxnet3_drv.c
3212
adapter->rx_queue[i].rx_ring[1].next2fill);
drivers/net/vmxnet3/vmxnet3_drv.c
3406
ring0_size = adapter->rx_queue[0].rx_ring[0].size;
drivers/net/vmxnet3/vmxnet3_drv.c
3410
ring1_size = adapter->rx_queue[0].rx_ring[1].size;
drivers/net/vmxnet3/vmxnet3_drv.c
3424
rq->rx_ring[0].size = ring0_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3425
rq->rx_ring[1].size = ring1_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3459
adapter->rx_queue[0].rx_ring[0].size = rx_ring_size;
drivers/net/vmxnet3/vmxnet3_drv.c
3460
adapter->rx_queue[0].rx_ring[1].size = rx_ring2_size;
drivers/net/vmxnet3/vmxnet3_drv.c
678
struct vmxnet3_cmd_ring *ring = &rq->rx_ring[ring_idx];
drivers/net/vmxnet3/vmxnet3_ethtool.c
585
buf[j++] = VMXNET3_GET_ADDR_LO(rq->rx_ring[0].basePA);
drivers/net/vmxnet3/vmxnet3_ethtool.c
586
buf[j++] = VMXNET3_GET_ADDR_HI(rq->rx_ring[0].basePA);
drivers/net/vmxnet3/vmxnet3_ethtool.c
587
buf[j++] = rq->rx_ring[0].size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
588
buf[j++] = rq->rx_ring[0].next2fill;
drivers/net/vmxnet3/vmxnet3_ethtool.c
589
buf[j++] = rq->rx_ring[0].next2comp;
drivers/net/vmxnet3/vmxnet3_ethtool.c
590
buf[j++] = rq->rx_ring[0].gen;
drivers/net/vmxnet3/vmxnet3_ethtool.c
592
buf[j++] = VMXNET3_GET_ADDR_LO(rq->rx_ring[1].basePA);
drivers/net/vmxnet3/vmxnet3_ethtool.c
593
buf[j++] = VMXNET3_GET_ADDR_HI(rq->rx_ring[1].basePA);
drivers/net/vmxnet3/vmxnet3_ethtool.c
594
buf[j++] = rq->rx_ring[1].size;
drivers/net/vmxnet3/vmxnet3_ethtool.c
595
buf[j++] = rq->rx_ring[1].next2fill;
drivers/net/vmxnet3/vmxnet3_ethtool.c
596
buf[j++] = rq->rx_ring[1].next2comp;
drivers/net/vmxnet3/vmxnet3_ethtool.c
597
buf[j++] = rq->rx_ring[1].gen;
drivers/net/vmxnet3/vmxnet3_ethtool.c
601
buf[j++] = rq->rx_ring[0].size;
drivers/net/vmxnet3/vmxnet3_int.h
330
struct vmxnet3_cmd_ring rx_ring[2];
drivers/net/vmxnet3/vmxnet3_int.h
472
((rq)->rx_ring[ring_idx].size >> 3)
drivers/net/wireless/admtek/adm8211.c
1434
desc = &priv->rx_ring[i];
drivers/net/wireless/admtek/adm8211.c
1444
desc = &priv->rx_ring[i];
drivers/net/wireless/admtek/adm8211.c
1744
priv->rx_ring = dma_alloc_coherent(&priv->pdev->dev, ring_size,
drivers/net/wireless/admtek/adm8211.c
1747
if (!priv->rx_ring) {
drivers/net/wireless/admtek/adm8211.c
1754
priv->tx_ring = priv->rx_ring + priv->rx_ring_size;
drivers/net/wireless/admtek/adm8211.c
1938
priv->rx_ring, priv->rx_ring_dma);
drivers/net/wireless/admtek/adm8211.c
1971
priv->rx_ring, priv->rx_ring_dma);
drivers/net/wireless/admtek/adm8211.c
360
while (!(priv->rx_ring[entry].status & cpu_to_le32(RDES0_STATUS_OWN))) {
drivers/net/wireless/admtek/adm8211.c
364
status = le32_to_cpu(priv->rx_ring[entry].status);
drivers/net/wireless/admtek/adm8211.c
366
rssi = le32_to_cpu(priv->rx_ring[entry].length) &
drivers/net/wireless/admtek/adm8211.c
422
priv->rx_ring[entry].buffer1 =
drivers/net/wireless/admtek/adm8211.c
426
priv->rx_ring[entry].status = cpu_to_le32(RDES0_STATUS_OWN |
drivers/net/wireless/admtek/adm8211.c
428
priv->rx_ring[entry].length =
drivers/net/wireless/admtek/adm8211.h
541
struct adm8211_desc *rx_ring;
drivers/net/wireless/ath/ath10k/core.c
3080
ar->htt.rx_ring.in_ord_rx = !!(test_bit(WMI_SERVICE_RX_FULL_REORDER,
drivers/net/wireless/ath/ath10k/htt.h
1865
} rx_ring;
drivers/net/wireless/ath/ath10k/htt_rx.c
101
htt->rx_ring.paddrs_ring_64 = vaddr;
drivers/net/wireless/ath/ath10k/htt_rx.c
107
htt->rx_ring.paddrs_ring_32[idx] = __cpu_to_le32(paddr);
drivers/net/wireless/ath/ath10k/htt_rx.c
113
htt->rx_ring.paddrs_ring_64[idx] = __cpu_to_le64(paddr);
drivers/net/wireless/ath/ath10k/htt_rx.c
118
htt->rx_ring.paddrs_ring_32[idx] = 0;
drivers/net/wireless/ath/ath10k/htt_rx.c
123
htt->rx_ring.paddrs_ring_64[idx] = 0;
drivers/net/wireless/ath/ath10k/htt_rx.c
128
return (void *)htt->rx_ring.paddrs_ring_32;
drivers/net/wireless/ath/ath10k/htt_rx.c
133
return (void *)htt->rx_ring.paddrs_ring_64;
drivers/net/wireless/ath/ath10k/htt_rx.c
152
idx = __le32_to_cpu(*htt->rx_ring.alloc_idx.vaddr);
drivers/net/wireless/ath/ath10k/htt_rx.c
154
if (idx < 0 || idx >= htt->rx_ring.size) {
drivers/net/wireless/ath/ath10k/htt_rx.c
156
idx &= htt->rx_ring.size_mask;
drivers/net/wireless/ath/ath10k/htt_rx.c
189
htt->rx_ring.netbufs_ring[idx] = skb;
drivers/net/wireless/ath/ath10k/htt_rx.c
191
htt->rx_ring.fill_cnt++;
drivers/net/wireless/ath/ath10k/htt_rx.c
193
if (htt->rx_ring.in_ord_rx) {
drivers/net/wireless/ath/ath10k/htt_rx.c
194
hash_add(htt->rx_ring.skb_table,
drivers/net/wireless/ath/ath10k/htt_rx.c
201
idx &= htt->rx_ring.size_mask;
drivers/net/wireless/ath/ath10k/htt_rx.c
210
*htt->rx_ring.alloc_idx.vaddr = __cpu_to_le32(idx);
drivers/net/wireless/ath/ath10k/htt_rx.c
216
lockdep_assert_held(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
2336
spin_lock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
2338
spin_unlock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
2342
spin_unlock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
240
spin_lock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
241
num_deficit = htt->rx_ring.fill_level - htt->rx_ring.fill_cnt;
drivers/net/wireless/ath/ath10k/htt_rx.c
252
mod_timer(&htt->rx_ring.refill_retry_timer, jiffies +
drivers/net/wireless/ath/ath10k/htt_rx.c
255
mod_timer(&htt->rx_ring.refill_retry_timer, jiffies +
drivers/net/wireless/ath/ath10k/htt_rx.c
258
spin_unlock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
264
rx_ring.refill_retry_timer);
drivers/net/wireless/ath/ath10k/htt_rx.c
277
spin_lock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
278
ret = ath10k_htt_rx_ring_fill_n(htt, (htt->rx_ring.fill_level -
drivers/net/wireless/ath/ath10k/htt_rx.c
279
htt->rx_ring.fill_cnt));
drivers/net/wireless/ath/ath10k/htt_rx.c
284
spin_unlock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
294
timer_delete_sync(&htt->rx_ring.refill_retry_timer);
drivers/net/wireless/ath/ath10k/htt_rx.c
300
spin_lock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
302
spin_unlock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
307
htt->rx_ring.base_paddr);
drivers/net/wireless/ath/ath10k/htt_rx.c
312
sizeof(*htt->rx_ring.alloc_idx.vaddr),
drivers/net/wireless/ath/ath10k/htt_rx.c
313
htt->rx_ring.alloc_idx.vaddr,
drivers/net/wireless/ath/ath10k/htt_rx.c
314
htt->rx_ring.alloc_idx.paddr);
drivers/net/wireless/ath/ath10k/htt_rx.c
315
htt->rx_ring.alloc_idx.vaddr = NULL;
drivers/net/wireless/ath/ath10k/htt_rx.c
317
kfree(htt->rx_ring.netbufs_ring);
drivers/net/wireless/ath/ath10k/htt_rx.c
318
htt->rx_ring.netbufs_ring = NULL;
drivers/net/wireless/ath/ath10k/htt_rx.c
327
lockdep_assert_held(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
3276
lockdep_assert_held(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
329
if (htt->rx_ring.fill_cnt == 0) {
drivers/net/wireless/ath/ath10k/htt_rx.c
334
idx = htt->rx_ring.sw_rd_idx.msdu_payld;
drivers/net/wireless/ath/ath10k/htt_rx.c
335
msdu = htt->rx_ring.netbufs_ring[idx];
drivers/net/wireless/ath/ath10k/htt_rx.c
336
htt->rx_ring.netbufs_ring[idx] = NULL;
drivers/net/wireless/ath/ath10k/htt_rx.c
340
idx &= htt->rx_ring.size_mask;
drivers/net/wireless/ath/ath10k/htt_rx.c
341
htt->rx_ring.sw_rd_idx.msdu_payld = idx;
drivers/net/wireless/ath/ath10k/htt_rx.c
342
htt->rx_ring.fill_cnt--;
drivers/net/wireless/ath/ath10k/htt_rx.c
368
lockdep_assert_held(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
38
hash_for_each_possible(ar->htt.rx_ring.skb_table, rxcb, hlist, paddr)
drivers/net/wireless/ath/ath10k/htt_rx.c
4382
spin_lock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
4384
spin_unlock_bh(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
474
lockdep_assert_held(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
482
htt->rx_ring.fill_cnt--;
drivers/net/wireless/ath/ath10k/htt_rx.c
53
if (htt->rx_ring.in_ord_rx) {
drivers/net/wireless/ath/ath10k/htt_rx.c
54
hash_for_each_safe(htt->rx_ring.skb_table, i, n, rxcb, hlist) {
drivers/net/wireless/ath/ath10k/htt_rx.c
63
for (i = 0; i < htt->rx_ring.size; i++) {
drivers/net/wireless/ath/ath10k/htt_rx.c
64
skb = htt->rx_ring.netbufs_ring[i];
drivers/net/wireless/ath/ath10k/htt_rx.c
669
lockdep_assert_held(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
734
lockdep_assert_held(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
76
htt->rx_ring.fill_cnt = 0;
drivers/net/wireless/ath/ath10k/htt_rx.c
77
hash_init(htt->rx_ring.skb_table);
drivers/net/wireless/ath/ath10k/htt_rx.c
78
memset(htt->rx_ring.netbufs_ring, 0,
drivers/net/wireless/ath/ath10k/htt_rx.c
79
htt->rx_ring.size * sizeof(htt->rx_ring.netbufs_ring[0]));
drivers/net/wireless/ath/ath10k/htt_rx.c
790
struct timer_list *timer = &htt->rx_ring.refill_retry_timer;
drivers/net/wireless/ath/ath10k/htt_rx.c
800
htt->rx_ring.size = HTT_RX_RING_SIZE;
drivers/net/wireless/ath/ath10k/htt_rx.c
801
htt->rx_ring.size_mask = htt->rx_ring.size - 1;
drivers/net/wireless/ath/ath10k/htt_rx.c
802
htt->rx_ring.fill_level = ar->hw_params.rx_ring_fill_level;
drivers/net/wireless/ath/ath10k/htt_rx.c
804
if (!is_power_of_2(htt->rx_ring.size)) {
drivers/net/wireless/ath/ath10k/htt_rx.c
809
htt->rx_ring.netbufs_ring =
drivers/net/wireless/ath/ath10k/htt_rx.c
810
kzalloc_objs(struct sk_buff *, htt->rx_ring.size);
drivers/net/wireless/ath/ath10k/htt_rx.c
811
if (!htt->rx_ring.netbufs_ring)
drivers/net/wireless/ath/ath10k/htt_rx.c
821
htt->rx_ring.base_paddr = paddr;
drivers/net/wireless/ath/ath10k/htt_rx.c
824
sizeof(*htt->rx_ring.alloc_idx.vaddr),
drivers/net/wireless/ath/ath10k/htt_rx.c
829
htt->rx_ring.alloc_idx.vaddr = vaddr;
drivers/net/wireless/ath/ath10k/htt_rx.c
830
htt->rx_ring.alloc_idx.paddr = paddr;
drivers/net/wireless/ath/ath10k/htt_rx.c
831
htt->rx_ring.sw_rd_idx.msdu_payld = htt->rx_ring.size_mask;
drivers/net/wireless/ath/ath10k/htt_rx.c
832
*htt->rx_ring.alloc_idx.vaddr = 0;
drivers/net/wireless/ath/ath10k/htt_rx.c
837
spin_lock_init(&htt->rx_ring.lock);
drivers/net/wireless/ath/ath10k/htt_rx.c
839
htt->rx_ring.fill_cnt = 0;
drivers/net/wireless/ath/ath10k/htt_rx.c
84
return htt->rx_ring.size * sizeof(htt->rx_ring.paddrs_ring_32);
drivers/net/wireless/ath/ath10k/htt_rx.c
840
htt->rx_ring.sw_rd_idx.msdu_payld = 0;
drivers/net/wireless/ath/ath10k/htt_rx.c
841
hash_init(htt->rx_ring.skb_table);
drivers/net/wireless/ath/ath10k/htt_rx.c
849
htt->rx_ring.size, htt->rx_ring.fill_level);
drivers/net/wireless/ath/ath10k/htt_rx.c
856
htt->rx_ring.base_paddr);
drivers/net/wireless/ath/ath10k/htt_rx.c
859
kfree(htt->rx_ring.netbufs_ring);
drivers/net/wireless/ath/ath10k/htt_rx.c
860
htt->rx_ring.netbufs_ring = NULL;
drivers/net/wireless/ath/ath10k/htt_rx.c
89
return htt->rx_ring.size * sizeof(htt->rx_ring.paddrs_ring_64);
drivers/net/wireless/ath/ath10k/htt_rx.c
95
htt->rx_ring.paddrs_ring_32 = vaddr;
drivers/net/wireless/ath/ath10k/htt_tx.c
802
struct htt_rx_ring_setup_ring32 *rx_ring)
drivers/net/wireless/ath/ath10k/htt_tx.c
804
ath10k_htt_rx_desc_get_offsets(hw, &rx_ring->offsets);
drivers/net/wireless/ath/ath10k/htt_tx.c
808
struct htt_rx_ring_setup_ring64 *rx_ring)
drivers/net/wireless/ath/ath10k/htt_tx.c
810
ath10k_htt_rx_desc_get_offsets(hw, &rx_ring->offsets);
drivers/net/wireless/ath/ath10k/htt_tx.c
866
fw_idx = __le32_to_cpu(*htt->rx_ring.alloc_idx.vaddr);
drivers/net/wireless/ath/ath10k/htt_tx.c
869
__cpu_to_le32(htt->rx_ring.alloc_idx.paddr);
drivers/net/wireless/ath/ath10k/htt_tx.c
870
ring->rx_ring_base_paddr = __cpu_to_le32(htt->rx_ring.base_paddr);
drivers/net/wireless/ath/ath10k/htt_tx.c
871
ring->rx_ring_len = __cpu_to_le16(htt->rx_ring.size);
drivers/net/wireless/ath/ath10k/htt_tx.c
937
fw_idx = __le32_to_cpu(*htt->rx_ring.alloc_idx.vaddr);
drivers/net/wireless/ath/ath10k/htt_tx.c
939
ring->fw_idx_shadow_reg_paddr = __cpu_to_le64(htt->rx_ring.alloc_idx.paddr);
drivers/net/wireless/ath/ath10k/htt_tx.c
940
ring->rx_ring_base_paddr = __cpu_to_le64(htt->rx_ring.base_paddr);
drivers/net/wireless/ath/ath10k/htt_tx.c
941
ring->rx_ring_len = __cpu_to_le16(htt->rx_ring.size);
drivers/net/wireless/ath/ath11k/cfr.c
14
return &ar->cfr.rx_ring;
drivers/net/wireless/ath/ath11k/cfr.c
397
ath11k_dbring_bufs_replenish(ar, &cfr->rx_ring, buff,
drivers/net/wireless/ath/ath11k/cfr.c
87
ath11k_dbring_bufs_replenish(ar, &cfr->rx_ring, lut->buff,
drivers/net/wireless/ath/ath11k/cfr.c
879
ath11k_dbring_buf_cleanup(ar, &cfr->rx_ring);
drivers/net/wireless/ath/ath11k/cfr.c
880
ath11k_dbring_srng_cleanup(ar, &cfr->rx_ring);
drivers/net/wireless/ath/ath11k/cfr.c
889
ret = ath11k_dbring_srng_setup(ar, &cfr->rx_ring,
drivers/net/wireless/ath/ath11k/cfr.c
897
ath11k_dbring_set_cfg(ar, &cfr->rx_ring,
drivers/net/wireless/ath/ath11k/cfr.c
902
ret = ath11k_dbring_buf_setup(ar, &cfr->rx_ring, db_cap);
drivers/net/wireless/ath/ath11k/cfr.c
908
ret = ath11k_dbring_wmi_cfg_setup(ar, &cfr->rx_ring, WMI_DIRECT_BUF_CFR);
drivers/net/wireless/ath/ath11k/cfr.c
917
ath11k_dbring_buf_cleanup(ar, &cfr->rx_ring);
drivers/net/wireless/ath/ath11k/cfr.c
919
ath11k_dbring_srng_cleanup(ar, &cfr->rx_ring);
drivers/net/wireless/ath/ath11k/cfr.c
972
idr_init(&cfr->rx_ring.bufs_idr);
drivers/net/wireless/ath/ath11k/cfr.c
973
spin_lock_init(&cfr->rx_ring.idr_lock);
drivers/net/wireless/ath/ath11k/cfr.h
176
struct ath11k_dbring rx_ring;
drivers/net/wireless/ath/ath11k/dp.c
860
struct dp_rxdma_ring *rx_ring = &dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp.c
863
ath11k_dp_rxbufs_replenish(ab, id, rx_ring, 0,
drivers/net/wireless/ath/ath11k/dp_rx.c
2627
struct dp_rxdma_ring *rx_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
2665
rx_ring = &ar->dp.rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
2666
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
2667
msdu = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
2671
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
2675
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
2676
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
2746
rx_ring = &ar->dp.rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
2748
ath11k_dp_rxbufs_replenish(ab, i, rx_ring, num_buffs_reaped[i],
drivers/net/wireless/ath/ath11k/dp_rx.c
2835
struct dp_rxdma_ring *rx_ring,
drivers/net/wireless/ath/ath11k/dp_rx.c
2859
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
2860
*buf_id = idr_alloc(&rx_ring->bufs_idr, skb, 0,
drivers/net/wireless/ath/ath11k/dp_rx.c
2861
rx_ring->bufs_max, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/dp_rx.c
2862
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
2879
struct dp_rxdma_ring *rx_ring,
drivers/net/wireless/ath/ath11k/dp_rx.c
2892
req_entries = min(req_entries, rx_ring->bufs_max);
drivers/net/wireless/ath/ath11k/dp_rx.c
2894
srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id];
drivers/net/wireless/ath/ath11k/dp_rx.c
2906
skb = ath11k_dp_rx_alloc_mon_status_buf(ab, rx_ring,
drivers/net/wireless/ath/ath11k/dp_rx.c
2931
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
2932
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
2933
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
2982
struct dp_rxdma_ring *rx_ring)
drivers/net/wireless/ath/ath11k/dp_rx.c
3001
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3002
skb = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
3003
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3027
struct dp_rxdma_ring *rx_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
3044
rx_ring = &dp->rx_mon_status_refill_ring[srng_id];
drivers/net/wireless/ath/ath11k/dp_rx.c
3046
srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id];
drivers/net/wireless/ath/ath11k/dp_rx.c
3065
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3066
skb = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
3067
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3105
rx_ring);
drivers/net/wireless/ath/ath11k/dp_rx.c
3109
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3110
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
3111
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3122
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3123
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
3124
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3140
skb = ath11k_dp_rx_alloc_mon_status_buf(ab, rx_ring,
drivers/net/wireless/ath/ath11k/dp_rx.c
345
struct dp_rxdma_ring *rx_ring,
drivers/net/wireless/ath/ath11k/dp_rx.c
358
req_entries = min(req_entries, rx_ring->bufs_max);
drivers/net/wireless/ath/ath11k/dp_rx.c
360
srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id];
drivers/net/wireless/ath/ath11k/dp_rx.c
367
if (!req_entries && (num_free > (rx_ring->bufs_max * 3) / 4))
drivers/net/wireless/ath/ath11k/dp_rx.c
3747
struct dp_rxdma_ring *rx_ring = &dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
3755
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3756
msdu = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
3760
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3764
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
3765
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3821
struct dp_rxdma_ring *rx_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
3918
rx_ring = &ar->dp.rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
392
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
3920
ath11k_dp_rxbufs_replenish(ab, i, rx_ring, n_bufs_reaped[i],
drivers/net/wireless/ath/ath11k/dp_rx.c
393
buf_id = idr_alloc(&rx_ring->bufs_idr, skb, 1,
drivers/net/wireless/ath/ath11k/dp_rx.c
394
(rx_ring->bufs_max * 3) + 1, GFP_ATOMIC);
drivers/net/wireless/ath/ath11k/dp_rx.c
395
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4129
struct dp_rxdma_ring *rx_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
4167
rx_ring = &ar->dp.rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
4169
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4170
msdu = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
4174
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4178
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
4179
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
420
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
421
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
4214
rx_ring = &ar->dp.rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
4216
ath11k_dp_rxbufs_replenish(ab, i, rx_ring, num_buffs_reaped[i],
drivers/net/wireless/ath/ath11k/dp_rx.c
422
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4246
struct dp_rxdma_ring *rx_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
4268
rx_ring = &ar->dp.rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
4295
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4296
skb = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
4300
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4304
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
4305
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4325
ath11k_dp_rxbufs_replenish(ab, mac_id, rx_ring, num_buf_freed,
drivers/net/wireless/ath/ath11k/dp_rx.c
437
struct dp_rxdma_ring *rx_ring)
drivers/net/wireless/ath/ath11k/dp_rx.c
442
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
443
idr_for_each_entry(&rx_ring->bufs_idr, skb, buf_id) {
drivers/net/wireless/ath/ath11k/dp_rx.c
444
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
453
idr_destroy(&rx_ring->bufs_idr);
drivers/net/wireless/ath/ath11k/dp_rx.c
454
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
463
struct dp_rxdma_ring *rx_ring = &dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
466
ath11k_dp_rxdma_buf_ring_free(ar, rx_ring);
drivers/net/wireless/ath/ath11k/dp_rx.c
468
rx_ring = &dp->rxdma_mon_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
469
ath11k_dp_rxdma_buf_ring_free(ar, rx_ring);
drivers/net/wireless/ath/ath11k/dp_rx.c
4691
struct dp_rxdma_ring *rx_ring = &dp->rxdma_mon_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
4712
rx_ring = &dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
472
rx_ring = &dp->rx_mon_status_refill_ring[i];
drivers/net/wireless/ath/ath11k/dp_rx.c
473
ath11k_dp_rxdma_buf_ring_free(ar, rx_ring);
drivers/net/wireless/ath/ath11k/dp_rx.c
4768
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4769
msdu = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
4770
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
480
struct dp_rxdma_ring *rx_ring,
drivers/net/wireless/ath/ath11k/dp_rx.c
4840
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
4841
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
4842
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
486
num_entries = rx_ring->refill_buf_ring.size /
drivers/net/wireless/ath/ath11k/dp_rx.c
489
rx_ring->bufs_max = num_entries;
drivers/net/wireless/ath/ath11k/dp_rx.c
490
ath11k_dp_rxbufs_replenish(ar->ab, dp->mac_id, rx_ring, num_entries,
drivers/net/wireless/ath/ath11k/dp_rx.c
499
struct dp_rxdma_ring *rx_ring = &dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
502
ath11k_dp_rxdma_ring_buf_setup(ar, rx_ring, HAL_RXDMA_BUF);
drivers/net/wireless/ath/ath11k/dp_rx.c
505
rx_ring = &dp->rxdma_mon_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
506
ath11k_dp_rxdma_ring_buf_setup(ar, rx_ring, HAL_RXDMA_MONITOR_BUF);
drivers/net/wireless/ath/ath11k/dp_rx.c
510
rx_ring = &dp->rx_mon_status_refill_ring[i];
drivers/net/wireless/ath/ath11k/dp_rx.c
511
ath11k_dp_rxdma_ring_buf_setup(ar, rx_ring, HAL_RXDMA_MONITOR_STATUS);
drivers/net/wireless/ath/ath11k/dp_rx.c
5336
struct dp_rxdma_ring *rx_ring = &dp->rxdma_mon_buf_ring;
drivers/net/wireless/ath/ath11k/dp_rx.c
5396
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
5397
msdu = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
5402
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.c
5405
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath11k/dp_rx.c
5406
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath11k/dp_rx.h
77
struct dp_rxdma_ring *rx_ring,
drivers/net/wireless/ath/ath11k/dp_rx.h
89
struct dp_rxdma_ring *rx_ring,
drivers/net/wireless/ath/ath11k/spectral.c
1007
idr_init(&sp->rx_ring.bufs_idr);
drivers/net/wireless/ath/ath11k/spectral.c
1008
spin_lock_init(&sp->rx_ring.idr_lock);
drivers/net/wireless/ath/ath11k/spectral.c
1053
return &ar->spectral.rx_ring;
drivers/net/wireless/ath/ath11k/spectral.c
825
ret = ath11k_dbring_srng_setup(ar, &sp->rx_ring,
drivers/net/wireless/ath/ath11k/spectral.c
832
ath11k_dbring_set_cfg(ar, &sp->rx_ring,
drivers/net/wireless/ath/ath11k/spectral.c
837
ret = ath11k_dbring_buf_setup(ar, &sp->rx_ring, db_cap);
drivers/net/wireless/ath/ath11k/spectral.c
843
ret = ath11k_dbring_wmi_cfg_setup(ar, &sp->rx_ring,
drivers/net/wireless/ath/ath11k/spectral.c
853
ath11k_dbring_buf_cleanup(ar, &sp->rx_ring);
drivers/net/wireless/ath/ath11k/spectral.c
855
ath11k_dbring_srng_cleanup(ar, &sp->rx_ring);
drivers/net/wireless/ath/ath11k/spectral.c
863
ath11k_dbring_srng_cleanup(ar, &sp->rx_ring);
drivers/net/wireless/ath/ath11k/spectral.c
864
ath11k_dbring_buf_cleanup(ar, &sp->rx_ring);
drivers/net/wireless/ath/ath11k/spectral.h
28
struct ath11k_dbring rx_ring;
drivers/net/wireless/ath/ath12k/dp_mon.c
41
struct dp_rxdma_mon_ring *rx_ring,
drivers/net/wireless/ath/ath12k/dp_mon.c
64
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/dp_mon.c
65
*buf_id = idr_alloc(&rx_ring->bufs_idr, skb, 0,
drivers/net/wireless/ath/ath12k/dp_mon.c
66
rx_ring->bufs_max, GFP_ATOMIC);
drivers/net/wireless/ath/ath12k/dp_mon.c
67
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/dp_mon.c
733
struct dp_rxdma_mon_ring *rx_ring,
drivers/net/wireless/ath/ath12k/dp_mon.c
745
req_entries = min(req_entries, rx_ring->bufs_max);
drivers/net/wireless/ath/ath12k/dp_mon.c
747
srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id];
drivers/net/wireless/ath/ath12k/dp_mon.c
754
if (!req_entries && (num_free > (rx_ring->bufs_max * 3) / 4))
drivers/net/wireless/ath/ath12k/dp_mon.c
778
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/dp_mon.c
779
buf_id = idr_alloc(&rx_ring->bufs_idr, skb, 0,
drivers/net/wireless/ath/ath12k/dp_mon.c
780
rx_ring->bufs_max * 3, GFP_ATOMIC);
drivers/net/wireless/ath/ath12k/dp_mon.c
781
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/dp_mon.c
804
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/dp_mon.c
805
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath12k/dp_mon.c
806
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/dp_mon.h
101
struct dp_rxdma_mon_ring *rx_ring,
drivers/net/wireless/ath/ath12k/dp_mon.h
90
struct dp_rxdma_mon_ring *rx_ring,
drivers/net/wireless/ath/ath12k/dp_rx.c
172
struct dp_rxdma_mon_ring *rx_ring)
drivers/net/wireless/ath/ath12k/dp_rx.c
177
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/dp_rx.c
178
idr_for_each_entry(&rx_ring->bufs_idr, skb, buf_id) {
drivers/net/wireless/ath/ath12k/dp_rx.c
179
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath12k/dp_rx.c
188
idr_destroy(&rx_ring->bufs_idr);
drivers/net/wireless/ath/ath12k/dp_rx.c
189
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/dp_rx.c
212
struct dp_rxdma_mon_ring *rx_ring,
drivers/net/wireless/ath/ath12k/dp_rx.c
217
num_entries = rx_ring->refill_buf_ring.size /
drivers/net/wireless/ath/ath12k/dp_rx.c
220
rx_ring->bufs_max = num_entries;
drivers/net/wireless/ath/ath12k/dp_rx.c
223
ath12k_dp_mon_status_bufs_replenish(ab, rx_ring,
drivers/net/wireless/ath/ath12k/dp_rx.c
226
ath12k_dp_mon_buf_replenish(ab, rx_ring, num_entries);
drivers/net/wireless/ath/ath12k/dp_rx.c
232
struct dp_rxdma_ring *rx_ring)
drivers/net/wireless/ath/ath12k/dp_rx.c
236
rx_ring->bufs_max = rx_ring->refill_buf_ring.size /
drivers/net/wireless/ath/ath12k/dp_rx.c
239
ath12k_dp_rx_bufs_replenish(ath12k_ab_to_dp(ab), rx_ring, &list, 0);
drivers/net/wireless/ath/ath12k/dp_rx.c
68
struct dp_rxdma_ring *rx_ring,
drivers/net/wireless/ath/ath12k/dp_rx.c
83
req_entries = min(req_entries, rx_ring->bufs_max);
drivers/net/wireless/ath/ath12k/dp_rx.c
85
srng = &dp->hal->srng_list[rx_ring->refill_buf_ring.ring_id];
drivers/net/wireless/ath/ath12k/dp_rx.c
92
if (!req_entries && (num_free > (rx_ring->bufs_max * 3) / 4))
drivers/net/wireless/ath/ath12k/dp_rx.h
237
struct dp_rxdma_ring *rx_ring,
drivers/net/wireless/ath/ath12k/wifi7/dp.c
130
struct dp_rxdma_ring *rx_ring = &dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath12k/wifi7/dp.c
133
ath12k_dp_rx_bufs_replenish(dp, rx_ring, &list, 0);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
2888
struct dp_rxdma_mon_ring *rx_ring)
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
2907
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
2908
skb = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
2909
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3015
struct dp_rxdma_mon_ring *rx_ring;
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3032
rx_ring = &dp->rx_mon_status_refill_ring[srng_id];
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3034
srng = &ab->hal.srng_list[rx_ring->refill_buf_ring.ring_id];
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3052
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3053
skb = idr_find(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3054
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3093
rx_ring);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3097
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3098
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3099
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3110
spin_lock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3111
idr_remove(&rx_ring->bufs_idr, buf_id);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3112
spin_unlock_bh(&rx_ring->idr_lock);
drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c
3127
skb = ath12k_dp_rx_alloc_mon_status_buf(ab, rx_ring,
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
1408
struct dp_rxdma_ring *rx_ring;
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
1549
rx_ring = &partner_dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
1551
ath12k_dp_rx_bufs_replenish(partner_dp, rx_ring,
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
1831
struct dp_rxdma_ring *rx_ring;
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
1981
rx_ring = &partner_dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
1983
ath12k_dp_rx_bufs_replenish(dp, rx_ring,
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
647
struct dp_rxdma_ring *rx_ring = &dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
784
rx_ring = &partner_dp->rx_refill_buf_ring;
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c
786
ath12k_dp_rx_bufs_replenish(partner_dp, rx_ring,
drivers/net/wireless/broadcom/b43/b43.h
666
struct b43_dmaring *rx_ring;
drivers/net/wireless/broadcom/b43/dma.c
1024
destroy_ring(dma, rx_ring);
drivers/net/wireless/broadcom/b43/dma.c
1108
dma->rx_ring = b43_setup_dmaring(dev, 0, 0, type);
drivers/net/wireless/broadcom/b43/dma.c
1109
if (!dma->rx_ring)
drivers/net/wireless/broadcom/b43/main.c
2027
b43_dma_handle_rx_overflow(dev->dma.rx_ring);
drivers/net/wireless/broadcom/b43/main.c
2033
b43_dma_rx(dev->dma.rx_ring);
drivers/net/wireless/mediatek/mt76/wed.c
132
q->wed_regs = q->wed->rx_ring[ring].reg_base;
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
1011
priv->rx_ring = dma_alloc_coherent(&priv->pdev->dev,
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
1014
if (!priv->rx_ring || (unsigned long)priv->rx_ring & 0xFF) {
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
1024
entry = priv->rx_ring + priv->rx_ring_sz*i;
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
1066
priv->rx_ring, priv->rx_ring_dma);
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
1067
priv->rx_ring = NULL;
drivers/net/wireless/realtek/rtl818x/rtl8180/dev.c
221
void *entry = priv->rx_ring + priv->rx_idx * priv->rx_ring_sz;
drivers/net/wireless/realtek/rtl818x/rtl8180/rtl8180.h
113
void *rx_ring;
drivers/net/wireless/realtek/rtlwifi/pci.c
1213
rtlpci->rx_ring[rxring_idx].buffer_desc =
drivers/net/wireless/realtek/rtlwifi/pci.c
1215
sizeof(*rtlpci->rx_ring[rxring_idx].buffer_desc) *
drivers/net/wireless/realtek/rtlwifi/pci.c
1217
&rtlpci->rx_ring[rxring_idx].dma, GFP_KERNEL);
drivers/net/wireless/realtek/rtlwifi/pci.c
1218
if (!rtlpci->rx_ring[rxring_idx].buffer_desc ||
drivers/net/wireless/realtek/rtlwifi/pci.c
1219
(ulong)rtlpci->rx_ring[rxring_idx].buffer_desc & 0xFF) {
drivers/net/wireless/realtek/rtlwifi/pci.c
1225
rtlpci->rx_ring[rxring_idx].idx = 0;
drivers/net/wireless/realtek/rtlwifi/pci.c
1227
entry = &rtlpci->rx_ring[rxring_idx].buffer_desc[i];
drivers/net/wireless/realtek/rtlwifi/pci.c
1236
rtlpci->rx_ring[rxring_idx].desc =
drivers/net/wireless/realtek/rtlwifi/pci.c
1238
sizeof(*rtlpci->rx_ring[rxring_idx].desc) *
drivers/net/wireless/realtek/rtlwifi/pci.c
1240
&rtlpci->rx_ring[rxring_idx].dma, GFP_KERNEL);
drivers/net/wireless/realtek/rtlwifi/pci.c
1241
if (!rtlpci->rx_ring[rxring_idx].desc ||
drivers/net/wireless/realtek/rtlwifi/pci.c
1242
(unsigned long)rtlpci->rx_ring[rxring_idx].desc & 0xFF) {
drivers/net/wireless/realtek/rtlwifi/pci.c
1248
rtlpci->rx_ring[rxring_idx].idx = 0;
drivers/net/wireless/realtek/rtlwifi/pci.c
1251
entry = &rtlpci->rx_ring[rxring_idx].desc[i];
drivers/net/wireless/realtek/rtlwifi/pci.c
1309
struct sk_buff *skb = rtlpci->rx_ring[rxring_idx].rx_buf[i];
drivers/net/wireless/realtek/rtlwifi/pci.c
1321
sizeof(*rtlpci->rx_ring[rxring_idx].buffer_desc) *
drivers/net/wireless/realtek/rtlwifi/pci.c
1323
rtlpci->rx_ring[rxring_idx].buffer_desc,
drivers/net/wireless/realtek/rtlwifi/pci.c
1324
rtlpci->rx_ring[rxring_idx].dma);
drivers/net/wireless/realtek/rtlwifi/pci.c
1325
rtlpci->rx_ring[rxring_idx].buffer_desc = NULL;
drivers/net/wireless/realtek/rtlwifi/pci.c
1328
sizeof(*rtlpci->rx_ring[rxring_idx].desc) *
drivers/net/wireless/realtek/rtlwifi/pci.c
1330
rtlpci->rx_ring[rxring_idx].desc,
drivers/net/wireless/realtek/rtlwifi/pci.c
1331
rtlpci->rx_ring[rxring_idx].dma);
drivers/net/wireless/realtek/rtlwifi/pci.c
1332
rtlpci->rx_ring[rxring_idx].desc = NULL;
drivers/net/wireless/realtek/rtlwifi/pci.c
1402
rtlpci->rx_ring[rxring_idx].desc) {
drivers/net/wireless/realtek/rtlwifi/pci.c
1405
rtlpci->rx_ring[rxring_idx].idx = 0;
drivers/net/wireless/realtek/rtlwifi/pci.c
1407
entry = &rtlpci->rx_ring[rxring_idx].desc[i];
drivers/net/wireless/realtek/rtlwifi/pci.c
1412
sizeof(*rtlpci->rx_ring
drivers/net/wireless/realtek/rtlwifi/pci.c
1437
rtlpci->rx_ring[rxring_idx].idx = 0;
drivers/net/wireless/realtek/rtlwifi/pci.c
580
rtlpci->rx_ring[rxring_idx].rx_buf[desc_idx] = skb;
drivers/net/wireless/realtek/rtlwifi/pci.c
673
struct sk_buff *skb = rtlpci->rx_ring[rxring_idx].rx_buf[
drivers/net/wireless/realtek/rtlwifi/pci.c
674
rtlpci->rx_ring[rxring_idx].idx];
drivers/net/wireless/realtek/rtlwifi/pci.c
684
buffer_desc = &rtlpci->rx_ring[rxring_idx].buffer_desc[
drivers/net/wireless/realtek/rtlwifi/pci.c
685
rtlpci->rx_ring[rxring_idx].idx];
drivers/net/wireless/realtek/rtlwifi/pci.c
688
pdesc = &rtlpci->rx_ring[rxring_idx].desc[
drivers/net/wireless/realtek/rtlwifi/pci.c
689
rtlpci->rx_ring[rxring_idx].idx];
drivers/net/wireless/realtek/rtlwifi/pci.c
793
rtlpci->rx_ring[hw_queue].next_rx_rp += 1;
drivers/net/wireless/realtek/rtlwifi/pci.c
794
rtlpci->rx_ring[hw_queue].next_rx_rp %=
drivers/net/wireless/realtek/rtlwifi/pci.c
799
rtlpci->rx_ring[hw_queue].next_rx_rp);
drivers/net/wireless/realtek/rtlwifi/pci.c
810
rtlpci->rx_ring[rxring_idx].idx)) {
drivers/net/wireless/realtek/rtlwifi/pci.c
817
rtlpci->rx_ring[rxring_idx].idx)) {
drivers/net/wireless/realtek/rtlwifi/pci.c
821
if (rtlpci->rx_ring[rxring_idx].idx ==
drivers/net/wireless/realtek/rtlwifi/pci.c
828
rtlpci->rx_ring[rxring_idx].idx =
drivers/net/wireless/realtek/rtlwifi/pci.c
829
(rtlpci->rx_ring[rxring_idx].idx + 1) %
drivers/net/wireless/realtek/rtlwifi/pci.h
167
struct rtl8192_rx_ring rx_ring[RTL_PCI_MAX_RX_QUEUE];
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c
906
(u64) rtlpci->rx_ring[RX_MPDU_QUEUE].dma &
drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c
749
(u64) rtlpci->rx_ring[RX_MPDU_QUEUE].dma &
drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c
476
rtlpci->rx_ring[RX_MPDU_QUEUE].dma);
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
842
(u64)rtlpci->rx_ring[RX_MPDU_QUEUE].dma >> 32);
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c
874
(u64)rtlpci->rx_ring[RX_MPDU_QUEUE].dma &
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/trx.c
470
if (write_point != rtlpci->rx_ring[queue_index].next_rx_rp) {
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/trx.c
490
rtlpci->rx_ring[queue_index].next_rx_rp = write_point;
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
695
rtl_write_dword(rtlpriv, RDQDA, rtlpci->rx_ring[RX_MPDU_QUEUE].dma);
drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c
696
rtl_write_dword(rtlpriv, RCDA, rtlpci->rx_ring[RX_CMD_QUEUE].dma);
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c
749
(u64) rtlpci->rx_ring[RX_MPDU_QUEUE].dma &
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
898
(u64) rtlpci->rx_ring[RX_MPDU_QUEUE].dma &
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
1439
rtlpci->rx_ring[RX_MPDU_QUEUE].dma & DMA_BIT_MASK(32));
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c
989
rtlpci->rx_ring[RX_MPDU_QUEUE].dma & DMA_BIT_MASK(32));
drivers/net/wireless/realtek/rtw88/pci.c
128
struct rtw_pci_rx_ring *rx_ring)
drivers/net/wireless/realtek/rtw88/pci.c
136
for (i = 0; i < rx_ring->r.len; i++) {
drivers/net/wireless/realtek/rtw88/pci.c
137
skb = rx_ring->buf[i];
drivers/net/wireless/realtek/rtw88/pci.c
144
rx_ring->buf[i] = NULL;
drivers/net/wireless/realtek/rtw88/pci.c
149
struct rtw_pci_rx_ring *rx_ring)
drivers/net/wireless/realtek/rtw88/pci.c
152
u8 *head = rx_ring->r.head;
drivers/net/wireless/realtek/rtw88/pci.c
153
int ring_sz = rx_ring->r.desc_size * rx_ring->r.len;
drivers/net/wireless/realtek/rtw88/pci.c
155
rtw_pci_free_rx_ring_skbs(rtwdev, rx_ring);
drivers/net/wireless/realtek/rtw88/pci.c
157
dma_free_coherent(&pdev->dev, ring_sz, head, rx_ring->r.dma);
drivers/net/wireless/realtek/rtw88/pci.c
164
struct rtw_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw88/pci.c
173
rx_ring = &rtwpci->rx_rings[i];
drivers/net/wireless/realtek/rtw88/pci.c
174
rtw_pci_free_rx_ring(rtwdev, rx_ring);
drivers/net/wireless/realtek/rtw88/pci.c
210
struct rtw_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw88/pci.c
226
buf_desc = (struct rtw_pci_rx_buffer_desc *)(rx_ring->r.head +
drivers/net/wireless/realtek/rtw88/pci.c
236
struct rtw_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw88/pci.c
245
buf_desc = (struct rtw_pci_rx_buffer_desc *)(rx_ring->r.head +
drivers/net/wireless/realtek/rtw88/pci.c
253
struct rtw_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw88/pci.c
270
rx_ring->r.head = head;
drivers/net/wireless/realtek/rtw88/pci.c
281
rx_ring->buf[i] = skb;
drivers/net/wireless/realtek/rtw88/pci.c
282
ret = rtw_pci_reset_rx_desc(rtwdev, skb, rx_ring, i, desc_size);
drivers/net/wireless/realtek/rtw88/pci.c
290
rx_ring->r.dma = dma;
drivers/net/wireless/realtek/rtw88/pci.c
291
rx_ring->r.len = len;
drivers/net/wireless/realtek/rtw88/pci.c
292
rx_ring->r.desc_size = desc_size;
drivers/net/wireless/realtek/rtw88/pci.c
293
rx_ring->r.wp = 0;
drivers/net/wireless/realtek/rtw88/pci.c
294
rx_ring->r.rp = 0;
drivers/net/wireless/realtek/rtw88/pci.c
300
skb = rx_ring->buf[i];
drivers/net/wireless/realtek/rtw88/pci.c
306
rx_ring->buf[i] = NULL;
drivers/net/wireless/realtek/rtw88/pci.c
319
struct rtw_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw88/pci.c
339
rx_ring = &rtwpci->rx_rings[j];
drivers/net/wireless/realtek/rtw88/pci.c
340
ret = rtw_pci_init_rx_ring(rtwdev, rx_ring, rx_desc_size,
drivers/net/wireless/realtek/rtw88/pci.c
357
rx_ring = &rtwpci->rx_rings[j];
drivers/net/wireless/realtek/rtw88/pci.c
358
rtw_pci_free_rx_ring(rtwdev, rx_ring);
drivers/net/wireless/realtek/rtw88/pci.c
684
struct rtw_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw88/pci.c
693
buf_desc = (struct rtw_pci_rx_buffer_desc *)(rx_ring->r.head +
drivers/net/wireless/realtek/rtw89/pci.c
1274
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci.c
1278
rx_ring = &rtwpci->rx.rings[RTW89_RXCH_RPQ];
drivers/net/wireless/realtek/rtw89/pci.c
1285
cnt = rtw89_pci_rxbd_recalc(rtwdev, rx_ring);
drivers/net/wireless/realtek/rtw89/pci.c
1287
rtw89_pci_release_tx(rtwdev, rx_ring, cnt);
drivers/net/wireless/realtek/rtw89/pci.c
147
struct rtw89_pci_rx_ring *rx_ring)
drivers/net/wireless/realtek/rtw89/pci.c
149
struct rtw89_pci_dma_ring *bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci.c
1782
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci.c
1833
rx_ring = &rtwpci->rx.rings[i];
drivers/net/wireless/realtek/rtw89/pci.c
1834
bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci.c
1843
rx_ring->diliver_skb = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
1844
rx_ring->diliver_desc.ready = false;
drivers/net/wireless/realtek/rtw89/pci.c
1845
rx_ring->target_rx_tag = 0;
drivers/net/wireless/realtek/rtw89/pci.c
1964
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci.c
1978
rx_ring = &rtwpci->rx.rings[i];
drivers/net/wireless/realtek/rtw89/pci.c
1979
rx_ring->bd_ring.addr.idx = low_power ?
drivers/net/wireless/realtek/rtw89/pci.c
200
struct rtw89_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw89/pci.c
211
if (rx_ring->target_rx_tag == 0)
drivers/net/wireless/realtek/rtw89/pci.c
214
target_rx_tag = rx_ring->target_rx_tag;
drivers/net/wireless/realtek/rtw89/pci.c
227
struct rtw89_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw89/pci.c
238
ret = rtw89_pci_validate_rx_tag(rtwdev, rx_ring, skb);
drivers/net/wireless/realtek/rtw89/pci.c
244
rx_ring->target_rx_tag = rx_info->tag + 1;
drivers/net/wireless/realtek/rtw89/pci.c
322
struct rtw89_pci_rx_ring *rx_ring)
drivers/net/wireless/realtek/rtw89/pci.c
324
struct rtw89_rx_desc_info *desc_info = &rx_ring->diliver_desc;
drivers/net/wireless/realtek/rtw89/pci.c
325
struct rtw89_pci_dma_ring *bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci.c
327
struct sk_buff *new = rx_ring->diliver_skb;
drivers/net/wireless/realtek/rtw89/pci.c
338
skb = rx_ring->buf[skb_idx];
drivers/net/wireless/realtek/rtw89/pci.c
340
ret = rtw89_pci_sync_skb_for_device_and_validate_rx_info(rtwdev, rx_ring, skb);
drivers/net/wireless/realtek/rtw89/pci.c
3447
struct rtw89_pci_rx_ring *rx_ring)
drivers/net/wireless/realtek/rtw89/pci.c
3455
buf_sz = rx_ring->buf_sz;
drivers/net/wireless/realtek/rtw89/pci.c
3456
for (i = 0; i < rx_ring->bd_ring.len; i++) {
drivers/net/wireless/realtek/rtw89/pci.c
3457
skb = rx_ring->buf[i];
drivers/net/wireless/realtek/rtw89/pci.c
3465
rx_ring->buf[i] = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
3468
rx_ring->bd_ring.head = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
3476
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci.c
3480
rx_ring = &rtwpci->rx.rings[i];
drivers/net/wireless/realtek/rtw89/pci.c
3481
rtw89_pci_free_rx_ring(rtwdev, pdev, rx_ring);
drivers/net/wireless/realtek/rtw89/pci.c
3495
struct rtw89_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw89/pci.c
3510
rx_bd = RTW89_PCI_RX_BD(rx_ring, idx);
drivers/net/wireless/realtek/rtw89/pci.c
3676
struct rtw89_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw89/pci.c
3693
rx_ring->bd_ring.head = head;
drivers/net/wireless/realtek/rtw89/pci.c
3694
rx_ring->bd_ring.dma = dma;
drivers/net/wireless/realtek/rtw89/pci.c
3695
rx_ring->bd_ring.len = len;
drivers/net/wireless/realtek/rtw89/pci.c
3696
rx_ring->bd_ring.desc_size = desc_size;
drivers/net/wireless/realtek/rtw89/pci.c
3697
rx_ring->bd_ring.addr = *rxch_addr;
drivers/net/wireless/realtek/rtw89/pci.c
3699
rx_ring->bd_ring.wp = len - 1;
drivers/net/wireless/realtek/rtw89/pci.c
3701
rx_ring->bd_ring.wp = 0;
drivers/net/wireless/realtek/rtw89/pci.c
3702
rx_ring->bd_ring.rp = 0;
drivers/net/wireless/realtek/rtw89/pci.c
3703
rx_ring->buf_sz = buf_sz;
drivers/net/wireless/realtek/rtw89/pci.c
3704
rx_ring->diliver_skb = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
3705
rx_ring->diliver_desc.ready = false;
drivers/net/wireless/realtek/rtw89/pci.c
3706
rx_ring->target_rx_tag = 0;
drivers/net/wireless/realtek/rtw89/pci.c
3716
rx_ring->buf[i] = skb;
drivers/net/wireless/realtek/rtw89/pci.c
3717
ret = rtw89_pci_init_rx_bd(rtwdev, pdev, rx_ring, skb,
drivers/net/wireless/realtek/rtw89/pci.c
3722
rx_ring->buf[i] = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
373
rx_ring->diliver_skb = new;
drivers/net/wireless/realtek/rtw89/pci.c
3732
skb = rx_ring->buf[i];
drivers/net/wireless/realtek/rtw89/pci.c
3738
rx_ring->buf[i] = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
3741
rx_ring->bd_ring.head = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
3751
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci.c
3775
rx_ring = &rtwpci->rx.rings[i];
drivers/net/wireless/realtek/rtw89/pci.c
3777
ret = rtw89_pci_alloc_rx_ring(rtwdev, pdev, rx_ring,
drivers/net/wireless/realtek/rtw89/pci.c
3794
rx_ring = &rtwpci->rx.rings[i];
drivers/net/wireless/realtek/rtw89/pci.c
3795
rtw89_pci_free_rx_ring(rtwdev, pdev, rx_ring);
drivers/net/wireless/realtek/rtw89/pci.c
387
rtw89_pci_rxbd_increase(rx_ring, 1);
drivers/net/wireless/realtek/rtw89/pci.c
395
rx_ring->diliver_skb = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
403
rtw89_pci_rxbd_increase(rx_ring, 1);
drivers/net/wireless/realtek/rtw89/pci.c
407
rx_ring->diliver_skb = NULL;
drivers/net/wireless/realtek/rtw89/pci.c
414
struct rtw89_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw89/pci.c
417
struct rtw89_pci_dma_ring *bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci.c
421
rx_cnt = rtw89_pci_rxbd_deliver_skbs(rtwdev, rx_ring);
drivers/net/wireless/realtek/rtw89/pci.c
426
rtw89_pci_rxbd_increase(rx_ring, cnt);
drivers/net/wireless/realtek/rtw89/pci.c
439
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci.c
443
rx_ring = &rtwpci->rx.rings[RTW89_RXCH_RXQ];
drivers/net/wireless/realtek/rtw89/pci.c
445
cnt = rtw89_pci_rxbd_recalc(rtwdev, rx_ring);
drivers/net/wireless/realtek/rtw89/pci.c
451
rtw89_pci_rxbd_deliver(rtwdev, rx_ring, cnt);
drivers/net/wireless/realtek/rtw89/pci.c
645
struct rtw89_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw89/pci.c
648
struct rtw89_pci_dma_ring *bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci.c
662
skb = rx_ring->buf[skb_idx];
drivers/net/wireless/realtek/rtw89/pci.c
664
ret = rtw89_pci_sync_skb_for_device_and_validate_rx_info(rtwdev, rx_ring, skb);
drivers/net/wireless/realtek/rtw89/pci.c
687
rtw89_pci_rxbd_increase(rx_ring, 1);
drivers/net/wireless/realtek/rtw89/pci.c
698
struct rtw89_pci_rx_ring *rx_ring,
drivers/net/wireless/realtek/rtw89/pci.c
701
struct rtw89_pci_dma_ring *bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci.c
705
release_cnt = rtw89_pci_release_tx_skbs(rtwdev, rx_ring, cnt);
drivers/net/wireless/realtek/rtw89/pci.c
710
rtw89_pci_rxbd_increase(rx_ring, cnt);
drivers/net/wireless/realtek/rtw89/pci.c
723
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci.c
727
rx_ring = &rtwpci->rx.rings[RTW89_RXCH_RPQ];
drivers/net/wireless/realtek/rtw89/pci.c
731
cnt = rtw89_pci_rxbd_recalc(rtwdev, rx_ring);
drivers/net/wireless/realtek/rtw89/pci.c
735
rtw89_pci_release_tx(rtwdev, rx_ring, cnt);
drivers/net/wireless/realtek/rtw89/pci.c
750
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci.c
757
rx_ring = &rtwpci->rx.rings[i];
drivers/net/wireless/realtek/rtw89/pci.c
758
bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci.h
1646
RTW89_PCI_RX_BD(struct rtw89_pci_rx_ring *rx_ring, u32 idx)
drivers/net/wireless/realtek/rtw89/pci.h
1648
struct rtw89_pci_dma_ring *bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci.h
1657
rtw89_pci_rxbd_increase(struct rtw89_pci_rx_ring *rx_ring, u32 cnt)
drivers/net/wireless/realtek/rtw89/pci.h
1659
struct rtw89_pci_dma_ring *bd_ring = &rx_ring->bd_ring;
drivers/net/wireless/realtek/rtw89/pci_be.c
174
struct rtw89_pci_rx_ring *rx_ring;
drivers/net/wireless/realtek/rtw89/pci_be.c
187
rx_ring = &rtwpci->rx.rings[RTW89_RXCH_RXQ];
drivers/net/wireless/realtek/rtw89/pci_be.c
188
rtw89_write16(rtwdev, R_BE_RXQ0_RXBD_IDX_V1, rx_ring->bd_ring.len - 1);
drivers/net/wireless/realtek/rtw89/pci_be.c
190
rx_ring = &rtwpci->rx.rings[RTW89_RXCH_RPQ];
drivers/net/wireless/realtek/rtw89/pci_be.c
191
rtw89_write16(rtwdev, R_BE_RPQ0_RXBD_IDX_V1, rx_ring->bd_ring.len - 1);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1001
md_ctrl->rx_ring[CLDMA_RXQ_NUM - 1].pkt_size = CLDMA_JUMBO_BUFF_SZ;
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1008
md_ctrl->rx_ring[CLDMA_Q_IDX_DUMP].pkt_size = CLDMA_DEDICATED_Q_BUFF_SZ;
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1042
ret = t7xx_cldma_rx_ring_init(md_ctrl, &md_ctrl->rx_ring[j]);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
1060
t7xx_cldma_ring_free(md_ctrl, &md_ctrl->rx_ring[j], DMA_FROM_DEVICE);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
523
queue->tr_ring = &md_ctrl->rx_ring[queue->index];
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
677
t7xx_cldma_ring_free(md_ctrl, &md_ctrl->rx_ring[i], DMA_FROM_DEVICE);
drivers/net/wwan/t7xx/t7xx_hif_cldma.c
997
md_ctrl->rx_ring[qno].pkt_size = CLDMA_SHARED_Q_BUFF_SZ;
drivers/net/wwan/t7xx/t7xx_hif_cldma.h
110
struct cldma_ring rx_ring[CLDMA_RXQ_NUM];
drivers/net/xen-netback/xenbus.c
30
struct xen_netif_rx_back_ring *rx_ring = &queue->rx;
drivers/net/xen-netback/xenbus.c
61
if (rx_ring->sring) {
drivers/net/xen-netback/xenbus.c
62
struct xen_netif_rx_sring *sring = rx_ring->sring;
drivers/net/xen-netback/xenbus.c
64
seq_printf(m, "RX: nr_ents %u\n", rx_ring->nr_ents);
drivers/net/xen-netback/xenbus.c
68
rx_ring->req_cons,
drivers/net/xen-netback/xenbus.c
69
rx_ring->req_cons - sring->rsp_prod,
drivers/net/xen-netback/xenbus.c
74
rx_ring->rsp_prod_pvt,
drivers/net/xen-netback/xenbus.c
75
rx_ring->rsp_prod_pvt - sring->rsp_prod,
drivers/rapidio/rio_cm.c
1319
ch->rx_ring.head = 0;
drivers/rapidio/rio_cm.c
1320
ch->rx_ring.tail = 0;
drivers/rapidio/rio_cm.c
1321
ch->rx_ring.count = 0;
drivers/rapidio/rio_cm.c
1322
ch->rx_ring.inuse_cnt = 0;
drivers/rapidio/rio_cm.c
1369
if (ch->rx_ring.inuse_cnt) {
drivers/rapidio/rio_cm.c
1371
i < RIOCM_RX_RING_SIZE && ch->rx_ring.inuse_cnt; i++) {
drivers/rapidio/rio_cm.c
1372
if (ch->rx_ring.inuse[i] != NULL) {
drivers/rapidio/rio_cm.c
1373
kfree(ch->rx_ring.inuse[i]);
drivers/rapidio/rio_cm.c
1374
ch->rx_ring.inuse_cnt--;
drivers/rapidio/rio_cm.c
1379
if (ch->rx_ring.count)
drivers/rapidio/rio_cm.c
1380
for (i = 0; i < RIOCM_RX_RING_SIZE && ch->rx_ring.count; i++) {
drivers/rapidio/rio_cm.c
1381
if (ch->rx_ring.buf[i] != NULL) {
drivers/rapidio/rio_cm.c
1382
kfree(ch->rx_ring.buf[i]);
drivers/rapidio/rio_cm.c
1383
ch->rx_ring.count--;
drivers/rapidio/rio_cm.c
193
struct chan_rx_ring rx_ring;
drivers/rapidio/rio_cm.c
551
if (ch->rx_ring.count == RIOCM_RX_RING_SIZE) {
drivers/rapidio/rio_cm.c
560
ch->rx_ring.buf[ch->rx_ring.head] = buf;
drivers/rapidio/rio_cm.c
561
ch->rx_ring.head++;
drivers/rapidio/rio_cm.c
562
ch->rx_ring.count++;
drivers/rapidio/rio_cm.c
563
ch->rx_ring.head %= RIOCM_RX_RING_SIZE;
drivers/rapidio/rio_cm.c
837
if (ch->rx_ring.inuse[i] == buf) {
drivers/rapidio/rio_cm.c
838
ch->rx_ring.inuse[i] = NULL;
drivers/rapidio/rio_cm.c
839
ch->rx_ring.inuse_cnt--;
drivers/rapidio/rio_cm.c
876
if (ch->rx_ring.inuse_cnt == RIOCM_RX_RING_SIZE) {
drivers/rapidio/rio_cm.c
900
rxmsg = ch->rx_ring.buf[ch->rx_ring.tail];
drivers/rapidio/rio_cm.c
901
ch->rx_ring.buf[ch->rx_ring.tail] = NULL;
drivers/rapidio/rio_cm.c
902
ch->rx_ring.count--;
drivers/rapidio/rio_cm.c
903
ch->rx_ring.tail++;
drivers/rapidio/rio_cm.c
904
ch->rx_ring.tail %= RIOCM_RX_RING_SIZE;
drivers/rapidio/rio_cm.c
908
if (ch->rx_ring.inuse[i] == NULL) {
drivers/rapidio/rio_cm.c
909
ch->rx_ring.inuse[i] = rxmsg;
drivers/rapidio/rio_cm.c
910
ch->rx_ring.inuse_cnt++;
drivers/scsi/ibmvscsi_tgt/libsrp.c
115
target->rx_ring = srp_ring_alloc(target->dev, nr, iu_size);
drivers/scsi/ibmvscsi_tgt/libsrp.c
116
if (!target->rx_ring)
drivers/scsi/ibmvscsi_tgt/libsrp.c
118
err = srp_iu_pool_alloc(&target->iu_queue, nr, target->rx_ring);
drivers/scsi/ibmvscsi_tgt/libsrp.c
126
srp_ring_free(target->dev, target->rx_ring, nr, iu_size);
drivers/scsi/ibmvscsi_tgt/libsrp.c
133
srp_ring_free(target->dev, target->rx_ring, target->rx_ring_size,
drivers/scsi/ibmvscsi_tgt/libsrp.h
92
struct srp_buf **rx_ring;
drivers/thunderbolt/dma_test.c
124
if (dt->rx_ring) {
drivers/thunderbolt/dma_test.c
126
tb_ring_free(dt->rx_ring);
drivers/thunderbolt/dma_test.c
127
dt->rx_ring = NULL;
drivers/thunderbolt/dma_test.c
183
dt->rx_ring = ring;
drivers/thunderbolt/dma_test.c
197
dt->rx_ring ? dt->rx_ring->hop : -1);
drivers/thunderbolt/dma_test.c
205
if (dt->rx_ring)
drivers/thunderbolt/dma_test.c
206
tb_ring_start(dt->rx_ring);
drivers/thunderbolt/dma_test.c
215
if (dt->rx_ring)
drivers/thunderbolt/dma_test.c
216
tb_ring_stop(dt->rx_ring);
drivers/thunderbolt/dma_test.c
223
dt->rx_ring ? dt->rx_ring->hop : -1);
drivers/thunderbolt/dma_test.c
235
struct device *dma_dev = tb_ring_dma_device(dt->rx_ring);
drivers/thunderbolt/dma_test.c
263
struct device *dma_dev = tb_ring_dma_device(dt->rx_ring);
drivers/thunderbolt/dma_test.c
293
tb_ring_rx(dt->rx_ring, &tf->frame);
drivers/thunderbolt/dma_test.c
95
struct tb_ring *rx_ring;
drivers/tty/serial/atmel_serial.c
1104
struct circ_buf *ring = &atmel_port->rx_ring;
drivers/tty/serial/atmel_serial.c
1189
ring = &atmel_port->rx_ring;
drivers/tty/serial/atmel_serial.c
145
struct circ_buf rx_ring;
drivers/tty/serial/atmel_serial.c
1509
struct circ_buf *ring = &atmel_port->rx_ring;
drivers/tty/serial/atmel_serial.c
2052
atmel_port->rx_ring.head = 0;
drivers/tty/serial/atmel_serial.c
2053
atmel_port->rx_ring.tail = 0;
drivers/tty/serial/atmel_serial.c
2531
memset(&atmel_port->rx_ring, 0, sizeof(atmel_port->rx_ring));
drivers/tty/serial/atmel_serial.c
2927
atmel_port->rx_ring.buf = data;
drivers/tty/serial/atmel_serial.c
2960
kfree(atmel_port->rx_ring.buf);
drivers/tty/serial/atmel_serial.c
2961
atmel_port->rx_ring.buf = NULL;
drivers/tty/serial/atmel_serial.c
2990
kfree(atmel_port->rx_ring.buf);
drivers/tty/serial/atmel_serial.c
741
struct circ_buf *ring = &atmel_port->rx_ring;
drivers/tty/serial/fsl_lpuart.c
1076
struct circ_buf *ring = &sport->rx_ring;
drivers/tty/serial/fsl_lpuart.c
1111
struct circ_buf *ring = &sport->rx_ring;
drivers/tty/serial/fsl_lpuart.c
1261
struct circ_buf *ring = &sport->rx_ring;
drivers/tty/serial/fsl_lpuart.c
1313
struct circ_buf *ring = &sport->rx_ring;
drivers/tty/serial/fsl_lpuart.c
1343
struct circ_buf *ring = &sport->rx_ring;
drivers/tty/serial/fsl_lpuart.c
1442
kfree(sport->rx_ring.buf);
drivers/tty/serial/fsl_lpuart.c
1443
sport->rx_ring.tail = 0;
drivers/tty/serial/fsl_lpuart.c
1444
sport->rx_ring.head = 0;
drivers/tty/serial/fsl_lpuart.c
286
struct circ_buf rx_ring;
drivers/tty/serial/imx.c
1196
struct circ_buf *rx_ring = &sport->rx_ring;
drivers/tty/serial/imx.c
1223
rx_ring->head = sg_dma_len(sgl) - state.residue;
drivers/tty/serial/imx.c
1227
rx_ring->tail = ((rx_ring->head-1) / bd_size) * bd_size;
drivers/tty/serial/imx.c
1229
if (rx_ring->head <= sg_dma_len(sgl) &&
drivers/tty/serial/imx.c
1230
rx_ring->head > rx_ring->tail) {
drivers/tty/serial/imx.c
1233
r_bytes = rx_ring->head - rx_ring->tail;
drivers/tty/serial/imx.c
1247
sport->rx_buf + rx_ring->tail, r_bytes);
drivers/tty/serial/imx.c
1259
WARN_ON(rx_ring->head > sg_dma_len(sgl));
drivers/tty/serial/imx.c
1260
WARN_ON(rx_ring->head <= rx_ring->tail);
drivers/tty/serial/imx.c
1277
sport->rx_ring.head = 0;
drivers/tty/serial/imx.c
1278
sport->rx_ring.tail = 0;
drivers/tty/serial/imx.c
1410
sport->rx_ring.buf = sport->rx_buf;
drivers/tty/serial/imx.c
223
struct circ_buf rx_ring;
drivers/vhost/net.c
1213
if (nvq->rx_ring)
drivers/vhost/net.c
130
struct ptr_ring *rx_ring;
drivers/vhost/net.c
1369
n->vqs[i].rx_ring = NULL;
drivers/vhost/net.c
1400
nvq->rx_ring = NULL;
drivers/vhost/net.c
1582
nvq->rx_ring = get_tap_ptr_ring(sock->file);
drivers/vhost/net.c
1584
nvq->rx_ring = NULL;
drivers/vhost/net.c
184
rxq->tail = ptr_ring_consume_batched(nvq->rx_ring, rxq->queue,
drivers/vhost/net.c
193
if (nvq->rx_ring && !vhost_net_buf_is_empty(rxq)) {
drivers/vhost/net.c
194
ptr_ring_unconsume(nvq->rx_ring, rxq->queue + rxq->head,
drivers/vhost/net.c
997
if (rvq->rx_ring)
include/linux/soc/mediatek/mtk_wed.h
99
struct mtk_wed_ring rx_ring[MTK_WED_RX_QUEUES];
net/packet/af_packet.c
1055
pkc = GET_PBDQC_FROM_RB(&po->rx_ring);
net/packet/af_packet.c
1115
curr = packet_lookup_frame(po, &po->rx_ring,
net/packet/af_packet.c
1116
po->rx_ring.head, status);
net/packet/af_packet.c
1224
po->rx_ring.pending_refcnt = NULL;
net/packet/af_packet.c
1247
len = READ_ONCE(po->rx_ring.frame_max) + 1;
net/packet/af_packet.c
1248
idx = READ_ONCE(po->rx_ring.head);
net/packet/af_packet.c
1253
return packet_lookup_frame(po, &po->rx_ring, idx, TP_STATUS_KERNEL);
net/packet/af_packet.c
1260
len = READ_ONCE(po->rx_ring.prb_bdqc.knum_blocks);
net/packet/af_packet.c
1261
idx = READ_ONCE(po->rx_ring.prb_bdqc.kactive_blk_num);
net/packet/af_packet.c
1266
return prb_lookup_block(po, &po->rx_ring, idx, TP_STATUS_KERNEL);
net/packet/af_packet.c
2313
if (macoff + snaplen > po->rx_ring.frame_size) {
net/packet/af_packet.c
2328
snaplen = po->rx_ring.frame_size - macoff;
net/packet/af_packet.c
2335
GET_PBDQC_FROM_RB(&po->rx_ring)->max_frame_len)) {
net/packet/af_packet.c
2338
nval = GET_PBDQC_FROM_RB(&po->rx_ring)->max_frame_len - macoff;
net/packet/af_packet.c
2344
macoff = GET_PBDQC_FROM_RB(&po->rx_ring)->max_frame_len;
net/packet/af_packet.c
2355
slot_id = po->rx_ring.head;
net/packet/af_packet.c
2356
if (test_bit(slot_id, po->rx_ring.rx_owner_map))
net/packet/af_packet.c
2358
__set_bit(slot_id, po->rx_ring.rx_owner_map);
net/packet/af_packet.c
2366
prb_clear_blk_fill_status(&po->rx_ring);
net/packet/af_packet.c
2371
packet_increment_rx_head(po, &po->rx_ring);
net/packet/af_packet.c
2483
__clear_bit(slot_id, po->rx_ring.rx_owner_map);
net/packet/af_packet.c
2487
prb_clear_blk_fill_status(&po->rx_ring);
net/packet/af_packet.c
3150
if (po->rx_ring.pg_vec) {
net/packet/af_packet.c
3873
if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) {
net/packet/af_packet.c
3893
if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) {
net/packet/af_packet.c
3912
if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) {
net/packet/af_packet.c
3966
if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) {
net/packet/af_packet.c
4030
if (!po->rx_ring.pg_vec && !po->tx_ring.pg_vec)
net/packet/af_packet.c
4298
if (po->rx_ring.pg_vec) {
net/packet/af_packet.c
4299
if (!packet_previous_rx_frame(po, &po->rx_ring,
net/packet/af_packet.c
4426
rb = tx_ring ? &po->tx_ring : &po->rx_ring;
net/packet/af_packet.c
4549
po->prot_hook.func = (po->rx_ring.pg_vec) ?
net/packet/af_packet.c
4596
for (rb = &po->rx_ring; rb <= &po->tx_ring; rb++) {
net/packet/af_packet.c
4612
for (rb = &po->rx_ring; rb <= &po->tx_ring; rb++) {
net/packet/af_packet.c
587
pkc = GET_PBDQC_FROM_RB(&po->rx_ring);
net/packet/af_packet.c
684
timer_container_of(po, t, rx_ring.prb_bdqc.retire_blk_timer);
net/packet/af_packet.c
685
struct tpacket_kbdq_core *pkc = GET_PBDQC_FROM_RB(&po->rx_ring);
net/packet/af_packet.c
998
struct packet_sock *po = container_of(pkc, struct packet_sock, rx_ring.prb_bdqc);
net/packet/diag.c
103
ret = pdiag_put_ring(&po->rx_ring, po->tp_version,
net/packet/internal.h
109
struct packet_ring_buffer rx_ring;