usr/src/grub/grub-0.97/netboot/epic100.c
251
outl(virt_to_le32desc(&tx_ring), ptcdar);
usr/src/grub/grub-0.97/netboot/epic100.c
283
tx_ring[i].status = 0x0000; /* Owned by CPU */
usr/src/grub/grub-0.97/netboot/epic100.c
284
tx_ring[i].buflength = 0x0000 | cpu_to_le32(TD_STDFLAGS << 16);
usr/src/grub/grub-0.97/netboot/epic100.c
285
tx_ring[i].bufaddr = virt_to_bus(&tx_packet[i * PKT_BUF_SZ]);
usr/src/grub/grub-0.97/netboot/epic100.c
286
tx_ring[i].next = virt_to_le32desc(&tx_ring[i + 1]);
usr/src/grub/grub-0.97/netboot/epic100.c
288
tx_ring[i-1].next = virt_to_le32desc(&tx_ring[0]);
usr/src/grub/grub-0.97/netboot/epic100.c
311
if ((tx_ring[entry].status & TRING_OWN) == TRING_OWN) {
usr/src/grub/grub-0.97/netboot/epic100.c
313
tx_ring[entry].status);
usr/src/grub/grub-0.97/netboot/epic100.c
337
tx_ring[entry].buflength |= cpu_to_le32(len);
usr/src/grub/grub-0.97/netboot/epic100.c
338
tx_ring[entry].status = cpu_to_le32(len << 16) |
usr/src/grub/grub-0.97/netboot/epic100.c
347
while ((le32_to_cpu(tx_ring[entry].status) & (TRING_OWN)) && timer2_running())
usr/src/grub/grub-0.97/netboot/epic100.c
350
if ((le32_to_cpu(tx_ring[entry].status) & TRING_OWN) != 0)
usr/src/grub/grub-0.97/netboot/epic100.c
352
tx_ring[entry].status);
usr/src/grub/grub-0.97/netboot/epic100.c
87
static struct epic_tx_desc tx_ring[TX_RING_SIZE]
usr/src/grub/grub-0.97/netboot/forcedeth.c
294
static struct ring_desc tx_ring[TX_RING];
usr/src/grub/grub-0.97/netboot/forcedeth.c
334
struct ring_desc *tx_ring;
usr/src/grub/grub-0.97/netboot/forcedeth.c
589
tx_ring[i].Flags = 0;
usr/src/grub/grub-0.97/netboot/forcedeth.c
744
writel((u32) virt_to_le32desc(&tx_ring[0]),
usr/src/grub/grub-0.97/netboot/forcedeth.c
863
tx_ring[nr].PacketBuffer = (u32) virt_to_le32desc(ptxb);
usr/src/grub/grub-0.97/netboot/forcedeth.c
864
tx_ring[nr].Length = cpu_to_le16(s - 1);
usr/src/grub/grub-0.97/netboot/forcedeth.c
867
tx_ring[nr].Flags = np->tx_flags;
usr/src/grub/grub-0.97/netboot/forcedeth.c
871
tx_ring[nr].Flags = np->tx_flags;
usr/src/grub/grub-0.97/netboot/ns83820.c
374
static struct ring_desc tx_ring[NR_TX_DESC]
usr/src/grub/grub-0.97/netboot/ns83820.c
576
tx_ring[i].link = 0;
usr/src/grub/grub-0.97/netboot/ns83820.c
577
tx_ring[i].bufptr = 0;
usr/src/grub/grub-0.97/netboot/ns83820.c
578
tx_ring[i].cmdsts = cpu_to_le32(0);
usr/src/grub/grub-0.97/netboot/ns83820.c
579
tx_ring[i].extsts = cpu_to_le32(0);
usr/src/grub/grub-0.97/netboot/ns83820.c
745
tx_ring[cur_tx].bufptr = virt_to_le32desc(&txb);
usr/src/grub/grub-0.97/netboot/ns83820.c
746
tx_ring[cur_tx].extsts = cpu_to_le32(extsts);
usr/src/grub/grub-0.97/netboot/ns83820.c
750
tx_ring[cur_tx].cmdsts = cpu_to_le32(cmdsts);
usr/src/grub/grub-0.97/netboot/ns83820.c
752
writel(virt_to_le32desc(&tx_ring[0]), ns->base + TXDP);
usr/src/grub/grub-0.97/netboot/pcnet32.c
223
u32 tx_ring;
usr/src/grub/grub-0.97/netboot/pcnet32.c
237
static struct pcnet32_tx_head tx_ring[TX_RING_SIZE]
usr/src/grub/grub-0.97/netboot/pcnet32.c
420
tx_ring[i].base = 0;
usr/src/grub/grub-0.97/netboot/pcnet32.c
421
tx_ring[i].status = 0;
usr/src/grub/grub-0.97/netboot/pcnet32.c
430
lp->init_block.tx_ring = (u32) virt_to_le32desc(&tx_ring[0]);
usr/src/grub/grub-0.97/netboot/pcnet32.c
608
tx_ring[entry].length = le16_to_cpu(-s);
usr/src/grub/grub-0.97/netboot/pcnet32.c
609
tx_ring[entry].misc = 0x00000000;
usr/src/grub/grub-0.97/netboot/pcnet32.c
610
tx_ring[entry].base = (u32) virt_to_le32desc(ptxb);
usr/src/grub/grub-0.97/netboot/pcnet32.c
613
tx_ring[entry].status = le16_to_cpu(status);
usr/src/grub/grub-0.97/netboot/pcnet32.c
623
((short) le16_to_cpu(tx_ring[entry].status) < 0));
usr/src/grub/grub-0.97/netboot/pcnet32.c
625
if ((short) le16_to_cpu(tx_ring[entry].status) < 0)
usr/src/grub/grub-0.97/netboot/pcnet32.c
630
tx_ring[entry].base = 0;
usr/src/grub/grub-0.97/netboot/pcnet32.c
885
lp->init_block.tx_ring = virt_to_bus(&tx_ring);
usr/src/grub/grub-0.97/netboot/r8169.c
291
static u8 tx_ring[NUM_TX_DESC * sizeof(struct TxDesc) + 256];
usr/src/grub/grub-0.97/netboot/r8169.c
647
tpc->TxDescArrays = tx_ring;
usr/src/grub/grub-0.97/netboot/sundance.c
254
static struct netdev_desc tx_ring[TX_RING_SIZE];
usr/src/grub/grub-0.97/netboot/sundance.c
371
tx_ring[0].status = 0x00000000;
usr/src/grub/grub-0.97/netboot/sundance.c
372
tx_ring[0].addr = virt_to_bus(&txb[0]);
usr/src/grub/grub-0.97/netboot/sundance.c
373
tx_ring[0].next_desc = 0; /* virt_to_bus(&tx_ring[1]); */
usr/src/grub/grub-0.97/netboot/sundance.c
376
tx_ring[1].status = 0x00000000;
usr/src/grub/grub-0.97/netboot/sundance.c
377
tx_ring[1].addr = 0; /*virt_to_bus(&txb[0]); */
usr/src/grub/grub-0.97/netboot/sundance.c
378
tx_ring[1].next_desc = 0;
usr/src/grub/grub-0.97/netboot/sundance.c
382
tx_ring[1].length = cpu_to_le32(LastFrag | PKT_BUF_SZ);
usr/src/grub/grub-0.97/netboot/sundance.c
538
tx_ring[0].length = cpu_to_le32(s | LastFrag);
usr/src/grub/grub-0.97/netboot/sundance.c
539
tx_ring[0].status = cpu_to_le32(0x00000001);
usr/src/grub/grub-0.97/netboot/sundance.c
542
outl(virt_to_le32desc(&tx_ring[0]), BASE + TxListPtr);
usr/src/grub/grub-0.97/netboot/sundance.c
550
while (!(tx_ring[0].status & 0x00010000) && (currticks() < to)); /* wait */
usr/src/grub/grub-0.97/netboot/tg3.c
1698
tp->tx_ring = &tg3_bss.tx_ring[0];
usr/src/grub/grub-0.97/netboot/tg3.c
1958
virt_to_bus(tp->tx_ring),
usr/src/grub/grub-0.97/netboot/tg3.c
3042
struct tg3_tx_buffer_desc *txd = &tp->tx_ring[entry];
usr/src/grub/grub-0.97/netboot/tg3.c
3099
txd = &tp->tx_ring[entry];
usr/src/grub/grub-0.97/netboot/tg3.c
61
struct tg3_tx_buffer_desc tx_ring[TG3_TX_RING_SIZE];
usr/src/grub/grub-0.97/netboot/tg3.h
2179
struct tg3_tx_buffer_desc *tx_ring;
usr/src/grub/grub-0.97/netboot/tlan.c
198
struct TLanList tx_ring[TLAN_NUM_TX_LISTS];
usr/src/grub/grub-0.97/netboot/tlan.c
282
list = &tx_ring[i];
usr/src/grub/grub-0.97/netboot/tlan.c
644
tx_ring[entry].cStat = TLAN_CSTAT_UNUSED;
usr/src/grub/grub-0.97/netboot/tlan.c
910
priv->txList = tx_ring;
usr/src/grub/grub-0.97/netboot/tulip.c
1028
tx_ring[0].length = cpu_to_le32(tx_flags);
usr/src/grub/grub-0.97/netboot/tulip.c
1029
tx_ring[0].buffer1 = virt_to_le32desc(&txb[0]);
usr/src/grub/grub-0.97/netboot/tulip.c
1030
tx_ring[0].status = cpu_to_le32(0x80000000);
usr/src/grub/grub-0.97/netboot/tulip.c
1035
outl(virt_to_le32desc(&tx_ring[0]), ioaddr + CSR4);
usr/src/grub/grub-0.97/netboot/tulip.c
1050
while ((tx_ring[0].status & 0x80000000) && (currticks() < to))
usr/src/grub/grub-0.97/netboot/tulip.c
1104
tx_ring[0].length = cpu_to_le32(0x60000000 | s);
usr/src/grub/grub-0.97/netboot/tulip.c
1105
tx_ring[0].status = cpu_to_le32(0x80000000);
usr/src/grub/grub-0.97/netboot/tulip.c
1108
outl(virt_to_le32desc(&tx_ring[0]), ioaddr + CSR4);
usr/src/grub/grub-0.97/netboot/tulip.c
1116
while ((tx_ring[0].status & 0x80000000) && (currticks() < to))
usr/src/grub/grub-0.97/netboot/tulip.c
398
static struct tulip_tx_desc tx_ring[TX_RING_SIZE] __attribute__ ((aligned(4)));
usr/src/grub/grub-0.97/netboot/tulip.c
920
tx_ring[0].status = 0x00000000;
usr/src/grub/grub-0.97/netboot/tulip.c
921
tx_ring[0].buffer1 = virt_to_le32desc(&txb[0]);
usr/src/grub/grub-0.97/netboot/tulip.c
922
tx_ring[0].buffer2 = virt_to_le32desc(&tx_ring[1]);
usr/src/grub/grub-0.97/netboot/tulip.c
926
tx_ring[1].status = 0x00000000;
usr/src/grub/grub-0.97/netboot/tulip.c
927
tx_ring[1].buffer1 = virt_to_le32desc(&txb[0]);
usr/src/grub/grub-0.97/netboot/tulip.c
928
tx_ring[1].buffer2 = virt_to_le32desc(&tx_ring[0]);
usr/src/grub/grub-0.97/netboot/tulip.c
931
tx_ring[1].length = cpu_to_le32(DESC_RING_WRAP | BUFLEN);
usr/src/grub/grub-0.97/netboot/via-rhine.c
1125
tp->tx_ring = (struct rhine_tx_desc *) bus_to_virt (j);
usr/src/grub/grub-0.97/netboot/via-rhine.c
1161
outl (virt_to_bus (tp->tx_ring), dwCurrentTxDescAddr);
usr/src/grub/grub-0.97/netboot/via-rhine.c
1273
tp->tx_ring[entry].tx_ctrl.bits.tx_buf_size = s;
usr/src/grub/grub-0.97/netboot/via-rhine.c
1275
tp->tx_ring[entry].tx_status.bits.own_bit = 1;
usr/src/grub/grub-0.97/netboot/via-rhine.c
1292
while (tp->tx_ring[entry].tx_status.bits.own_bit != 0)
usr/src/grub/grub-0.97/netboot/via-rhine.c
632
struct rhine_tx_desc *tx_ring;
usr/src/grub/grub-0.97/netboot/via-rhine.c
701
tp->tx_ring[i].tx_status.lw = 0;
usr/src/grub/grub-0.97/netboot/via-rhine.c
702
tp->tx_ring[i].tx_ctrl.lw = 0x00e08000;
usr/src/grub/grub-0.97/netboot/via-rhine.c
703
tp->tx_ring[i].buf_addr_1 = virt_to_bus (tp->tx_buffs[i]);
usr/src/grub/grub-0.97/netboot/via-rhine.c
704
tp->tx_ring[i].buf_addr_2 = virt_to_bus (&tp->tx_ring[i + 1]);
usr/src/grub/grub-0.97/netboot/via-rhine.c
708
tp->tx_ring[i - 1].buf_addr_2 = virt_to_bus (&tp->tx_ring[0]);
usr/src/grub/grub-0.97/netboot/w89c840.c
232
struct w840_tx_desc tx_ring[TX_RING_SIZE];
usr/src/grub/grub-0.97/netboot/w89c840.c
314
writel(virt_to_bus(w840private.tx_ring), ioaddr + TxRingPtr);
usr/src/grub/grub-0.97/netboot/w89c840.c
513
w840private.tx_ring[entry].buffer1 = virt_to_le32desc(tx_packet);
usr/src/grub/grub-0.97/netboot/w89c840.c
515
w840private.tx_ring[entry].length = (DescWholePkt | (u32) s);
usr/src/grub/grub-0.97/netboot/w89c840.c
517
w840private.tx_ring[entry].length |= (DescIntr | DescEndRing);
usr/src/grub/grub-0.97/netboot/w89c840.c
518
w840private.tx_ring[entry].status = (DescOwn);
usr/src/grub/grub-0.97/netboot/w89c840.c
539
transmit_status = w840private.tx_ring[entry].status;
usr/src/grub/grub-0.97/netboot/w89c840.c
555
transmit_status = w840private.tx_ring[entry].status;
usr/src/grub/grub-0.97/netboot/w89c840.c
566
w840private.tx_ring[entry].status);
usr/src/grub/grub-0.97/netboot/w89c840.c
574
printf("winbond-840 : transmission TIMEOUT : status %X\n", w840private.tx_ring[entry].status);
usr/src/grub/grub-0.97/netboot/w89c840.c
937
w840private.tx_ring[i].status = 0;
usr/src/uts/common/io/aggr/aggr_grp.c
2265
aggr_pseudo_tx_ring_t *tx_ring = (aggr_pseudo_tx_ring_t *)rdriver;
usr/src/uts/common/io/aggr/aggr_grp.c
2267
if (tx_ring->atr_hw_rh != NULL) {
usr/src/uts/common/io/aggr/aggr_grp.c
2268
*val = mac_pseudo_tx_ring_stat_get(tx_ring->atr_hw_rh, stat);
usr/src/uts/common/io/aggr/aggr_grp.c
2270
aggr_port_t *port = tx_ring->atr_port;
usr/src/uts/common/io/aggr/aggr_grp.c
2611
aggr_pseudo_tx_ring_t *tx_ring;
usr/src/uts/common/io/aggr/aggr_grp.c
2616
tx_ring = &tx_group->atg_rings[index];
usr/src/uts/common/io/aggr/aggr_grp.c
2617
tx_ring->atr_rh = rh;
usr/src/uts/common/io/aggr/aggr_grp.c
2619
infop->mri_driver = (mac_ring_driver_t)tx_ring;
usr/src/uts/common/io/aggr/aggr_grp.c
2629
if (tx_ring->atr_hw_rh != NULL) {
usr/src/uts/common/io/aggr/aggr_grp.c
2631
mac_hwring_getinfo(tx_ring->atr_hw_rh);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1124
e1000g_alloc_tx_packets(e1000g_tx_ring_t *tx_ring)
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1134
Adapter = tx_ring->adapter;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1143
tx_ring->packet_area =
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1146
if (tx_ring->packet_area == NULL)
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1149
for (j = 0, packet = tx_ring->packet_area;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1238
e1000g_free_tx_packets(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1466
e1000g_free_tx_packets(e1000g_tx_ring_t *tx_ring)
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1473
Adapter = tx_ring->adapter;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1475
for (j = 0, packet = tx_ring->packet_area;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1524
if (tx_ring->packet_area != NULL) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1525
kmem_free(tx_ring->packet_area, TX_SW_PKT_AREA_SZ);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
1526
tx_ring->packet_area = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
221
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
235
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
237
result = e1000g_alloc_tx_descriptors(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
245
e1000g_free_tx_descriptors(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
255
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
258
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
261
e1000g_free_tx_descriptors(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
266
e1000g_alloc_tx_descriptors(e1000g_tx_ring_t *tx_ring)
usr/src/uts/common/io/e1000g/e1000g_alloc.c
279
Adapter = tx_ring->adapter;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
312
&tx_ring->tbd_dma_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
317
tx_ring->tbd_dma_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
325
mystat = ddi_dma_mem_alloc(tx_ring->tbd_dma_handle,
usr/src/uts/common/io/e1000g/e1000g_alloc.c
329
(caddr_t *)&tx_ring->tbd_area,
usr/src/uts/common/io/e1000g/e1000g_alloc.c
330
&len, &tx_ring->tbd_acc_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
333
((uintptr_t)tx_ring->tbd_area & (Adapter->desc_align - 1))) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
335
ddi_dma_mem_free(&tx_ring->tbd_acc_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
336
tx_ring->tbd_acc_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
337
tx_ring->tbd_area = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
339
if (tx_ring->tbd_dma_handle != NULL) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
340
ddi_dma_free_handle(&tx_ring->tbd_dma_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
341
tx_ring->tbd_dma_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
351
bzero(tx_ring->tbd_area, len);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
373
&tx_ring->tbd_dma_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
378
tx_ring->tbd_dma_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
386
mystat = ddi_dma_mem_alloc(tx_ring->tbd_dma_handle,
usr/src/uts/common/io/e1000g/e1000g_alloc.c
390
(caddr_t *)&tx_ring->tbd_area,
usr/src/uts/common/io/e1000g/e1000g_alloc.c
391
&len, &tx_ring->tbd_acc_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
396
tx_ring->tbd_acc_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
397
tx_ring->tbd_area = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
398
if (tx_ring->tbd_dma_handle != NULL) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
399
ddi_dma_free_handle(&tx_ring->tbd_dma_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
400
tx_ring->tbd_dma_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
409
bzero(tx_ring->tbd_area, len);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
415
templong = P2NPHASE((uintptr_t)tx_ring->tbd_area,
usr/src/uts/common/io/e1000g/e1000g_alloc.c
418
templong += (uintptr_t)tx_ring->tbd_area;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
419
tx_ring->tbd_area = (struct e1000_tx_desc *)templong;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
432
mystat = ddi_dma_addr_bind_handle(tx_ring->tbd_dma_handle,
usr/src/uts/common/io/e1000g/e1000g_alloc.c
433
(struct as *)NULL, (caddr_t)tx_ring->tbd_area,
usr/src/uts/common/io/e1000g/e1000g_alloc.c
440
if (tx_ring->tbd_acc_handle != NULL) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
441
ddi_dma_mem_free(&tx_ring->tbd_acc_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
442
tx_ring->tbd_acc_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
443
tx_ring->tbd_area = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
445
if (tx_ring->tbd_dma_handle != NULL) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
446
ddi_dma_free_handle(&tx_ring->tbd_dma_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
447
tx_ring->tbd_dma_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
458
e1000g_free_tx_descriptors(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
462
tx_ring->tbd_dma_addr = cookie.dmac_laddress;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
463
tx_ring->tbd_first = tx_ring->tbd_area;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
464
tx_ring->tbd_last = tx_ring->tbd_first +
usr/src/uts/common/io/e1000g/e1000g_alloc.c
672
e1000g_free_tx_descriptors(e1000g_tx_ring_t *tx_ring)
usr/src/uts/common/io/e1000g/e1000g_alloc.c
674
if (tx_ring->tbd_dma_handle != NULL) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
675
(void) ddi_dma_unbind_handle(tx_ring->tbd_dma_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
677
if (tx_ring->tbd_acc_handle != NULL) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
678
ddi_dma_mem_free(&tx_ring->tbd_acc_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
679
tx_ring->tbd_acc_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
680
tx_ring->tbd_area = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
682
if (tx_ring->tbd_dma_handle != NULL) {
usr/src/uts/common/io/e1000g/e1000g_alloc.c
683
ddi_dma_free_handle(&tx_ring->tbd_dma_handle);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
684
tx_ring->tbd_dma_handle = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
686
tx_ring->tbd_dma_addr = 0;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
687
tx_ring->tbd_first = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
688
tx_ring->tbd_last = NULL;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
706
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
709
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
715
result = e1000g_alloc_tx_packets(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
738
e1000g_free_tx_packets(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_alloc.c
766
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
769
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_alloc.c
772
e1000g_free_tx_packets(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_main.c
1268
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
1278
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
1280
mutex_init(&tx_ring->tx_lock, NULL,
usr/src/uts/common/io/e1000g/e1000g_main.c
1282
mutex_init(&tx_ring->usedlist_lock, NULL,
usr/src/uts/common/io/e1000g/e1000g_main.c
1284
mutex_init(&tx_ring->freelist_lock, NULL,
usr/src/uts/common/io/e1000g/e1000g_main.c
1299
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
1304
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
1305
mutex_destroy(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_main.c
1306
mutex_destroy(&tx_ring->usedlist_lock);
usr/src/uts/common/io/e1000g/e1000g_main.c
1307
mutex_destroy(&tx_ring->freelist_lock);
usr/src/uts/common/io/e1000g/e1000g_main.c
1384
stop_82547_timer(Adapter->tx_ring);
usr/src/uts/common/io/e1000g/e1000g_main.c
2069
stop_82547_timer(Adapter->tx_ring);
usr/src/uts/common/io/e1000g/e1000g_main.c
2164
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
2170
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
2180
packet = (p_tx_sw_packet_t)QUEUE_GET_HEAD(&tx_ring->used_list);
usr/src/uts/common/io/e1000g/e1000g_main.c
2199
QUEUE_GET_NEXT(&tx_ring->used_list, &packet->Link);
usr/src/uts/common/io/e1000g/e1000g_main.c
2206
QUEUE_APPEND(&tx_ring->free_list, &tx_ring->used_list);
usr/src/uts/common/io/e1000g/e1000g_main.c
2207
QUEUE_INIT_LIST(&tx_ring->used_list);
usr/src/uts/common/io/e1000g/e1000g_main.c
2210
tx_ring->tbd_next = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_main.c
2211
tx_ring->tbd_oldest = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_main.c
2224
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
2226
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
2230
mutex_enter(&tx_ring->usedlist_lock);
usr/src/uts/common/io/e1000g/e1000g_main.c
2231
done = IS_QUEUE_EMPTY(&tx_ring->used_list);
usr/src/uts/common/io/e1000g/e1000g_main.c
2232
mutex_exit(&tx_ring->usedlist_lock);
usr/src/uts/common/io/e1000g/e1000g_main.c
2270
stop_82547_timer(Adapter->tx_ring);
usr/src/uts/common/io/e1000g/e1000g_main.c
2306
stop_82547_timer(Adapter->tx_ring);
usr/src/uts/common/io/e1000g/e1000g_main.c
2415
e1000g_tx_ring_t *tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
2466
(void) e1000g_recycle(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_main.c
2467
E1000G_DEBUG_STAT(tx_ring->stat_recycle_intr);
usr/src/uts/common/io/e1000g/e1000g_main.c
2470
if (tx_ring->resched_needed &&
usr/src/uts/common/io/e1000g/e1000g_main.c
2471
(tx_ring->tbd_avail > DEFAULT_TX_UPDATE_THRESHOLD)) {
usr/src/uts/common/io/e1000g/e1000g_main.c
2472
tx_ring->resched_needed = B_FALSE;
usr/src/uts/common/io/e1000g/e1000g_main.c
2474
E1000G_STAT(tx_ring->stat_reschedule);
usr/src/uts/common/io/e1000g/e1000g_main.c
436
Adapter->tx_ring->adapter = Adapter;
usr/src/uts/common/io/e1000g/e1000g_main.c
4583
e1000g_tx_ring_t *tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
4587
if (tx_ring->resched_needed &&
usr/src/uts/common/io/e1000g/e1000g_main.c
4588
((ddi_get_lbolt() - tx_ring->resched_timestamp) >
usr/src/uts/common/io/e1000g/e1000g_main.c
4591
(tx_ring->tbd_avail >= DEFAULT_TX_NO_RESOURCE)) {
usr/src/uts/common/io/e1000g/e1000g_main.c
4592
tx_ring->resched_needed = B_FALSE;
usr/src/uts/common/io/e1000g/e1000g_main.c
4594
E1000G_STAT(tx_ring->stat_reschedule);
usr/src/uts/common/io/e1000g/e1000g_main.c
4595
E1000G_STAT(tx_ring->stat_timer_reschedule);
usr/src/uts/common/io/e1000g/e1000g_main.c
4997
stop_82547_timer(e1000g_tx_ring_t *tx_ring)
usr/src/uts/common/io/e1000g/e1000g_main.c
5002
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_main.c
5004
tx_ring->timer_enable_82547 = B_FALSE;
usr/src/uts/common/io/e1000g/e1000g_main.c
5005
tid = tx_ring->timer_id_82547;
usr/src/uts/common/io/e1000g/e1000g_main.c
5006
tx_ring->timer_id_82547 = 0;
usr/src/uts/common/io/e1000g/e1000g_main.c
5008
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_main.c
5189
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
5191
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_main.c
5196
(void) e1000g_recycle(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_stat.c
154
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_stat.c
171
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_stat.c
185
e1000g_ksp->tx_no_swpkt.value.ul = tx_ring->stat_no_swpkt;
usr/src/uts/common/io/e1000g/e1000g_stat.c
186
e1000g_ksp->tx_no_desc.value.ul = tx_ring->stat_no_desc;
usr/src/uts/common/io/e1000g/e1000g_stat.c
187
e1000g_ksp->tx_send_fail.value.ul = tx_ring->stat_send_fail;
usr/src/uts/common/io/e1000g/e1000g_stat.c
188
e1000g_ksp->tx_reschedule.value.ul = tx_ring->stat_reschedule;
usr/src/uts/common/io/e1000g/e1000g_stat.c
189
e1000g_ksp->tx_over_size.value.ul = tx_ring->stat_over_size;
usr/src/uts/common/io/e1000g/e1000g_stat.c
198
e1000g_ksp->tx_under_size.value.ul = tx_ring->stat_under_size;
usr/src/uts/common/io/e1000g/e1000g_stat.c
199
e1000g_ksp->tx_exceed_frags.value.ul = tx_ring->stat_exceed_frags;
usr/src/uts/common/io/e1000g/e1000g_stat.c
200
e1000g_ksp->tx_empty_frags.value.ul = tx_ring->stat_empty_frags;
usr/src/uts/common/io/e1000g/e1000g_stat.c
201
e1000g_ksp->tx_recycle.value.ul = tx_ring->stat_recycle;
usr/src/uts/common/io/e1000g/e1000g_stat.c
202
e1000g_ksp->tx_recycle_intr.value.ul = tx_ring->stat_recycle_intr;
usr/src/uts/common/io/e1000g/e1000g_stat.c
203
e1000g_ksp->tx_recycle_retry.value.ul = tx_ring->stat_recycle_retry;
usr/src/uts/common/io/e1000g/e1000g_stat.c
204
e1000g_ksp->tx_recycle_none.value.ul = tx_ring->stat_recycle_none;
usr/src/uts/common/io/e1000g/e1000g_stat.c
205
e1000g_ksp->tx_copy.value.ul = tx_ring->stat_copy;
usr/src/uts/common/io/e1000g/e1000g_stat.c
206
e1000g_ksp->tx_bind.value.ul = tx_ring->stat_bind;
usr/src/uts/common/io/e1000g/e1000g_stat.c
207
e1000g_ksp->tx_multi_copy.value.ul = tx_ring->stat_multi_copy;
usr/src/uts/common/io/e1000g/e1000g_stat.c
208
e1000g_ksp->tx_multi_cookie.value.ul = tx_ring->stat_multi_cookie;
usr/src/uts/common/io/e1000g/e1000g_stat.c
209
e1000g_ksp->tx_lack_desc.value.ul = tx_ring->stat_lack_desc;
usr/src/uts/common/io/e1000g/e1000g_stat.c
383
*val = Adapter->tx_ring->stat_no_desc;
usr/src/uts/common/io/e1000g/e1000g_sw.h
1057
int e1000g_recycle(e1000g_tx_ring_t *tx_ring);
usr/src/uts/common/io/e1000g/e1000g_sw.h
1059
void e1000g_tx_freemsg(e1000g_tx_ring_t *tx_ring);
usr/src/uts/common/io/e1000g/e1000g_sw.h
917
e1000g_tx_ring_t tx_ring[1];
usr/src/uts/common/io/e1000g/e1000g_tx.c
1005
e1000g_recycle(e1000g_tx_ring_t *tx_ring)
usr/src/uts/common/io/e1000g/e1000g_tx.c
1022
Adapter = tx_ring->adapter;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1025
packet = (p_tx_sw_packet_t)QUEUE_GET_HEAD(&tx_ring->used_list);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1035
(void) ddi_dma_sync(tx_ring->tbd_dma_handle,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1038
tx_ring->tbd_dma_handle) != DDI_FM_OK) {
usr/src/uts/common/io/e1000g/e1000g_tx.c
1047
mutex_enter(&tx_ring->usedlist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1049
(p_tx_sw_packet_t)QUEUE_GET_HEAD(&tx_ring->used_list)) != NULL) {
usr/src/uts/common/io/e1000g/e1000g_tx.c
1060
descriptor = tx_ring->tbd_oldest + (packet->num_desc - 1);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1063
if (descriptor > tx_ring->tbd_last)
usr/src/uts/common/io/e1000g/e1000g_tx.c
1071
QUEUE_POP_HEAD(&tx_ring->used_list);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1074
if (descriptor == tx_ring->tbd_last)
usr/src/uts/common/io/e1000g/e1000g_tx.c
1075
tx_ring->tbd_oldest =
usr/src/uts/common/io/e1000g/e1000g_tx.c
1076
tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1078
tx_ring->tbd_oldest =
usr/src/uts/common/io/e1000g/e1000g_tx.c
1093
tx_ring->tbd_avail += desc_count;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1096
mutex_exit(&tx_ring->usedlist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1099
E1000G_DEBUG_STAT(tx_ring->stat_recycle_none);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1142
mutex_enter(&tx_ring->freelist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1143
QUEUE_APPEND(&tx_ring->free_list, &pending_list);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1144
mutex_exit(&tx_ring->freelist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1244
e1000g_tx_copy(e1000g_tx_ring_t *tx_ring, p_tx_sw_packet_t packet,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1278
else if (len1 > tx_ring->adapter->tx_bcopy_thresh)
usr/src/uts/common/io/e1000g/e1000g_tx.c
1285
E1000G_DEBUG_STAT_COND(tx_ring->stat_multi_copy,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1315
desc_count = e1000g_fill_tx_desc(tx_ring,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1328
e1000g_tx_bind(e1000g_tx_ring_t *tx_ring, p_tx_sw_packet_t packet, mblk_t *mp)
usr/src/uts/common/io/e1000g/e1000g_tx.c
1376
e1000g_log(tx_ring->adapter, CE_WARN,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1390
E1000G_DEBUG_STAT_COND(tx_ring->stat_multi_cookie,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1413
desc_count = e1000g_fill_tx_desc(tx_ring,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1506
e1000g_fill_tx_desc(e1000g_tx_ring_t *tx_ring,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1509
struct e1000_hw *hw = &tx_ring->adapter->shared;
usr/src/uts/common/io/e1000g/e1000g_tx.c
161
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1630
e1000g_82547_tx_move_tail_work(e1000g_tx_ring_t *tx_ring)
usr/src/uts/common/io/e1000g/e1000g_tx.c
164
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1640
Adapter = tx_ring->adapter;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1644
sw_tdt = tx_ring->tbd_next - tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1647
tx_desc = &(tx_ring->tbd_first[hw_tdt]);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1657
if (tx_ring->timer_enable_82547) {
usr/src/uts/common/io/e1000g/e1000g_tx.c
1658
ASSERT(tx_ring->timer_id_82547 == 0);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1659
tx_ring->timer_id_82547 =
usr/src/uts/common/io/e1000g/e1000g_tx.c
1661
(void *)tx_ring,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1678
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1680
tx_ring = (e1000g_tx_ring_t *)arg;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1682
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1684
tx_ring->timer_id_82547 = 0;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1685
e1000g_82547_tx_move_tail_work(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1687
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1691
e1000g_82547_tx_move_tail(e1000g_tx_ring_t *tx_ring)
usr/src/uts/common/io/e1000g/e1000g_tx.c
1695
ASSERT(MUTEX_HELD(&tx_ring->tx_lock));
usr/src/uts/common/io/e1000g/e1000g_tx.c
1697
tid = tx_ring->timer_id_82547;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1698
tx_ring->timer_id_82547 = 0;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1700
tx_ring->timer_enable_82547 = B_FALSE;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1701
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1705
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1707
tx_ring->timer_enable_82547 = B_TRUE;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1708
e1000g_82547_tx_move_tail_work(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_tx.c
1723
e1000g_tx_ring_t *tx_ring = &Adapter->tx_ring[0];
usr/src/uts/common/io/e1000g/e1000g_tx.c
1731
desc = tx_ring->tbd_next;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1732
if (tx_ring->tbd_next == tx_ring->tbd_last)
usr/src/uts/common/io/e1000g/e1000g_tx.c
1733
tx_ring->tbd_next = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1735
tx_ring->tbd_next++;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1738
desc->buffer_addr = tx_ring->tbd_dma_addr;
usr/src/uts/common/io/e1000g/e1000g_tx.c
1742
(void) ddi_dma_sync(tx_ring->tbd_dma_handle,
usr/src/uts/common/io/e1000g/e1000g_tx.c
1745
(uint32_t)(tx_ring->tbd_next - tx_ring->tbd_first));
usr/src/uts/common/io/e1000g/e1000g_tx.c
193
E1000G_STAT(tx_ring->stat_over_size);
usr/src/uts/common/io/e1000g/e1000g_tx.c
206
if (tx_ring->tbd_avail < DEFAULT_TX_NO_RESOURCE) {
usr/src/uts/common/io/e1000g/e1000g_tx.c
207
(void) e1000g_recycle(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_tx.c
208
E1000G_DEBUG_STAT(tx_ring->stat_recycle);
usr/src/uts/common/io/e1000g/e1000g_tx.c
210
if (tx_ring->tbd_avail < DEFAULT_TX_NO_RESOURCE) {
usr/src/uts/common/io/e1000g/e1000g_tx.c
211
E1000G_DEBUG_STAT(tx_ring->stat_lack_desc);
usr/src/uts/common/io/e1000g/e1000g_tx.c
221
E1000G_DEBUG_STAT(tx_ring->stat_under_size);
usr/src/uts/common/io/e1000g/e1000g_tx.c
282
E1000G_DEBUG_STAT(tx_ring->stat_lso_header_fail);
usr/src/uts/common/io/e1000g/e1000g_tx.c
319
E1000G_DEBUG_STAT(tx_ring->stat_empty_frags);
usr/src/uts/common/io/e1000g/e1000g_tx.c
337
mutex_enter(&tx_ring->freelist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
339
QUEUE_POP_HEAD(&tx_ring->free_list);
usr/src/uts/common/io/e1000g/e1000g_tx.c
340
mutex_exit(&tx_ring->freelist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
345
E1000G_STAT(tx_ring->stat_no_swpkt);
usr/src/uts/common/io/e1000g/e1000g_tx.c
358
e1000g_tx_copy(tx_ring, packet, nmp,
usr/src/uts/common/io/e1000g/e1000g_tx.c
360
E1000G_DEBUG_STAT(tx_ring->stat_copy);
usr/src/uts/common/io/e1000g/e1000g_tx.c
363
e1000g_tx_bind(tx_ring, packet, nmp);
usr/src/uts/common/io/e1000g/e1000g_tx.c
364
E1000G_DEBUG_STAT(tx_ring->stat_bind);
usr/src/uts/common/io/e1000g/e1000g_tx.c
381
if (tx_ring->tbd_avail < (desc_total + 3)) {
usr/src/uts/common/io/e1000g/e1000g_tx.c
382
E1000G_DEBUG_STAT(tx_ring->stat_recycle_retry);
usr/src/uts/common/io/e1000g/e1000g_tx.c
383
(void) e1000g_recycle(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_tx.c
386
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
393
if (tx_ring->tbd_avail < (desc_total + 3)) {
usr/src/uts/common/io/e1000g/e1000g_tx.c
396
E1000G_STAT(tx_ring->stat_no_desc);
usr/src/uts/common/io/e1000g/e1000g_tx.c
397
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
401
desc_count = e1000g_fill_tx_ring(tx_ring, &pending_list, &cur_context);
usr/src/uts/common/io/e1000g/e1000g_tx.c
403
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
426
tx_ring->resched_timestamp = ddi_get_lbolt();
usr/src/uts/common/io/e1000g/e1000g_tx.c
427
tx_ring->resched_needed = B_TRUE;
usr/src/uts/common/io/e1000g/e1000g_tx.c
441
mutex_enter(&tx_ring->freelist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
442
QUEUE_APPEND(&tx_ring->free_list, &pending_list);
usr/src/uts/common/io/e1000g/e1000g_tx.c
443
mutex_exit(&tx_ring->freelist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
445
E1000G_STAT(tx_ring->stat_send_fail);
usr/src/uts/common/io/e1000g/e1000g_tx.c
455
tx_ring->resched_timestamp = ddi_get_lbolt();
usr/src/uts/common/io/e1000g/e1000g_tx.c
456
tx_ring->resched_needed = B_TRUE;
usr/src/uts/common/io/e1000g/e1000g_tx.c
538
e1000g_check_context(e1000g_tx_ring_t *tx_ring, context_data_t *cur_context)
usr/src/uts/common/io/e1000g/e1000g_tx.c
545
pre_context = &tx_ring->pre_context;
usr/src/uts/common/io/e1000g/e1000g_tx.c
546
Adapter = tx_ring->adapter;
usr/src/uts/common/io/e1000g/e1000g_tx.c
591
e1000g_fill_tx_ring(e1000g_tx_ring_t *tx_ring, LIST_DESCRIBER *pending_list,
usr/src/uts/common/io/e1000g/e1000g_tx.c
608
Adapter = tx_ring->adapter;
usr/src/uts/common/io/e1000g/e1000g_tx.c
620
next_desc = tx_ring->tbd_next;
usr/src/uts/common/io/e1000g/e1000g_tx.c
623
context_reload = e1000g_check_context(tx_ring, cur_context);
usr/src/uts/common/io/e1000g/e1000g_tx.c
634
if (descriptor == tx_ring->tbd_last)
usr/src/uts/common/io/e1000g/e1000g_tx.c
635
next_desc = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
675
ASSERT(tx_ring->tbd_avail > 0);
usr/src/uts/common/io/e1000g/e1000g_tx.c
696
if (descriptor == tx_ring->tbd_last)
usr/src/uts/common/io/e1000g/e1000g_tx.c
697
next_desc = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
720
ASSERT(tx_ring->tbd_avail > 0);
usr/src/uts/common/io/e1000g/e1000g_tx.c
744
if (next_desc == tx_ring->tbd_last)
usr/src/uts/common/io/e1000g/e1000g_tx.c
745
next_desc = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
784
ASSERT(tx_ring->tbd_avail > 0);
usr/src/uts/common/io/e1000g/e1000g_tx.c
801
if (descriptor == tx_ring->tbd_last)
usr/src/uts/common/io/e1000g/e1000g_tx.c
802
next_desc = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
843
(void) ddi_dma_sync(tx_ring->tbd_dma_handle,
usr/src/uts/common/io/e1000g/e1000g_tx.c
846
tx_ring->tbd_next = next_desc;
usr/src/uts/common/io/e1000g/e1000g_tx.c
853
e1000g_82547_tx_move_tail(tx_ring);
usr/src/uts/common/io/e1000g/e1000g_tx.c
856
(uint32_t)(next_desc - tx_ring->tbd_first));
usr/src/uts/common/io/e1000g/e1000g_tx.c
864
mutex_enter(&tx_ring->usedlist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
865
QUEUE_APPEND(&tx_ring->used_list, pending_list);
usr/src/uts/common/io/e1000g/e1000g_tx.c
866
tx_ring->tbd_avail -= desc_count;
usr/src/uts/common/io/e1000g/e1000g_tx.c
867
mutex_exit(&tx_ring->usedlist_lock);
usr/src/uts/common/io/e1000g/e1000g_tx.c
871
tx_ring->pre_context = *cur_context;
usr/src/uts/common/io/e1000g/e1000g_tx.c
894
e1000g_tx_ring_t *tx_ring;
usr/src/uts/common/io/e1000g/e1000g_tx.c
897
tx_ring = Adapter->tx_ring;
usr/src/uts/common/io/e1000g/e1000g_tx.c
905
QUEUE_INIT_LIST(&tx_ring->used_list);
usr/src/uts/common/io/e1000g/e1000g_tx.c
906
QUEUE_INIT_LIST(&tx_ring->free_list);
usr/src/uts/common/io/e1000g/e1000g_tx.c
909
packet = tx_ring->packet_area;
usr/src/uts/common/io/e1000g/e1000g_tx.c
914
QUEUE_PUSH_TAIL(&tx_ring->free_list,
usr/src/uts/common/io/e1000g/e1000g_tx.c
919
tx_ring->tbd_next = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
920
tx_ring->tbd_oldest = tx_ring->tbd_first;
usr/src/uts/common/io/e1000g/e1000g_tx.c
943
buf_low = (uint32_t)tx_ring->tbd_dma_addr;
usr/src/uts/common/io/e1000g/e1000g_tx.c
944
buf_high = (uint32_t)(tx_ring->tbd_dma_addr >> 32);
usr/src/uts/common/io/e1000g/e1000g_tx.c
995
tx_ring->tbd_avail = Adapter->tx_desc_num;
usr/src/uts/common/io/e1000g/e1000g_tx.c
998
bzero(&(tx_ring->pre_context), sizeof (context_data_t));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1790
struct tx_ring *tx_ring = (struct tx_ring *)arg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1791
qlge_t *qlge = tx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1809
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1811
if (tx_ring->mac_flags != QL_MAC_STARTED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1814
__func__, qlge->instance, tx_ring->mac_flags);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1815
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1825
if (tx_ring->tx_free_count <= TX_STOP_THRESHOLD) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1826
tx_ring->queue_stopped = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1832
tx_ring->defer++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1843
rval = ql_send_common(tx_ring, mp);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1858
ql_write_doorbell_reg(tx_ring->qlge, tx_ring->prod_idx_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1859
tx_ring->prod_idx);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
1862
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2609
struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2613
tx_ring = &qlge->tx_ring[mac_rsp->txq_idx];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2614
tx_ring_desc = tx_ring->wq_desc;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2640
tx_ring->obytes += tx_ring_desc->tx_bytes;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2641
tx_ring->opackets++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2645
tx_ring->errxmt++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2668
atomic_inc_32(&tx_ring->tx_free_count);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2681
struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2749
tx_ring = &qlge->tx_ring[net_rsp->txq_idx];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2751
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2753
if (tx_ring->queue_stopped &&
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2754
(tx_ring->tx_free_count > TX_RESUME_THRESHOLD)) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2759
tx_ring->queue_stopped = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2763
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
2766
RESUME_TX(tx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3303
ql_init_tx_ring(struct tx_ring *tx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3306
struct ob_mac_iocb_req *mac_iocb_ptr = tx_ring->wq_dma.vaddr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3307
struct tx_ring_desc *tx_ring_desc = tx_ring->wq_desc;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3309
for (i = 0; i < tx_ring->wq_len; i++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3315
tx_ring->tx_free_count = tx_ring->wq_len;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3316
tx_ring->queue_stopped = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3323
ql_free_tx_resources(struct tx_ring *tx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3328
if (tx_ring->wq_dma.dma_handle != NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3329
ql_free_phys(&tx_ring->wq_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3330
&tx_ring->wq_dma.acc_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3331
bzero(&tx_ring->wq_dma, sizeof (tx_ring->wq_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3333
if (tx_ring->wq_desc != NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3334
tx_ring_desc = tx_ring->wq_desc;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3335
for (i = 0; i < tx_ring->wq_len; i++, tx_ring_desc++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3358
kmem_free(tx_ring->wq_desc,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3359
tx_ring->wq_len * sizeof (struct tx_ring_desc));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3360
tx_ring->wq_desc = NULL;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3363
if (tx_ring->wqicb_dma.dma_handle) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3364
ql_free_phys(&tx_ring->wqicb_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3365
&tx_ring->wqicb_dma.acc_handle);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3366
bzero(&tx_ring->wqicb_dma, sizeof (tx_ring->wqicb_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3375
ql_alloc_tx_resources(qlge_t *qlge, struct tx_ring *tx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3383
if (ql_alloc_phys(qlge->dip, &tx_ring->wq_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3386
&tx_ring->wq_dma.acc_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3387
(size_t)tx_ring->wq_size, /* mem size */
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3389
(caddr_t *)&tx_ring->wq_dma.vaddr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3391
bzero(&tx_ring->wq_dma, sizeof (tx_ring->wq_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3396
tx_ring->wq_dma.dma_addr = dma_cookie.dmac_laddress;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3398
tx_ring->wq_desc =
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3399
kmem_zalloc(tx_ring->wq_len * sizeof (struct tx_ring_desc),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3401
if (tx_ring->wq_desc == NULL) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3404
tx_ring_desc = tx_ring->wq_desc;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3412
for (i = 0; i < tx_ring->wq_len; i++, tx_ring_desc++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3461
if (ql_alloc_phys(qlge->dip, &tx_ring->wqicb_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3464
&tx_ring->wqicb_dma.acc_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3467
(caddr_t *)&tx_ring->wqicb_dma.vaddr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3469
bzero(&tx_ring->wqicb_dma, sizeof (tx_ring->wqicb_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3474
tx_ring->wqicb_dma.dma_addr = dma_cookie.dmac_laddress;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3479
ql_free_tx_resources(tx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3666
ql_free_tx_resources(&qlge->tx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
3699
if (ql_alloc_tx_resources(qlge, &qlge->tx_ring[i]) != 0) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4444
struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4447
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
4448
mutex_destroy(&tx_ring->tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5304
ql_send_common(struct tx_ring *tx_ring, mblk_t *mp)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5328
qlge_t *qlge = tx_ring->qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5361
tx_ring->brdcstxmt++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5364
tx_ring->multixmt++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5368
tx_ring->obytes += total_len;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5369
tx_ring->opackets ++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5375
tx_cb = &tx_ring->wq_desc[tx_ring->prod_idx];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5421
tx_ring->tx_fail_dma_bind++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5434
mac_iocb_ptr->tid = tx_ring->prod_idx;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5436
mac_iocb_ptr->txq_idx = tx_ring->wq_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5445
tx_ring->tx_no_dma_handle++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5481
tx_ring->tx_no_dma_cookie++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5578
mac_iocb_ptr->tid = tx_ring->prod_idx;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5580
mac_iocb_ptr->txq_idx = tx_ring->wq_id;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5610
(void) ddi_dma_sync(tx_ring->wq_dma.dma_handle,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5611
(off_t)((uintptr_t)mac_iocb_ptr - (uintptr_t)tx_ring->wq_dma.vaddr),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5636
atomic_dec_32(&tx_ring->tx_free_count);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5638
tx_ring->prod_idx++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5639
if (tx_ring->prod_idx >= tx_ring->wq_len)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
5640
tx_ring->prod_idx = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6129
struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6173
tx_ring = &qlge->tx_ring[0];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6174
(knp++)->value.ui32 = tx_ring->defer;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6175
(knp++)->value.ui32 = tx_ring->tx_fail_dma_bind;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6176
(knp++)->value.ui32 = tx_ring->tx_no_dma_handle;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6177
(knp++)->value.ui32 = tx_ring->tx_no_dma_cookie;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6288
struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6311
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6312
bzero((void *)tx_ring, sizeof (*tx_ring));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6313
tx_ring->qlge = qlge;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6314
tx_ring->wq_id = i;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6315
tx_ring->wq_len = qlge->tx_ring_size;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6316
tx_ring->wq_size = (uint32_t)(
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6317
tx_ring->wq_len * sizeof (struct ob_mac_iocb_req));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6323
tx_ring->cq_id = (uint16_t)(i + qlge->tx_ring_first_cq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6622
ql_start_tx_ring(qlge_t *qlge, struct tx_ring *tx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6624
struct wqicb_t *wqicb = (struct wqicb_t *)tx_ring->wqicb_dma.vaddr;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6626
qlge->doorbell_reg_iobase + (VM_PAGE_SIZE * tx_ring->wq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6628
(tx_ring->wq_id * sizeof (uint64_t)) * RX_TX_RING_SHADOW_SPACE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6630
(tx_ring->wq_id * sizeof (uint64_t)) * RX_TX_RING_SHADOW_SPACE;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6638
tx_ring->prod_idx_db_reg = (uint32_t *)(void *)doorbell_area;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6639
tx_ring->prod_idx = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6641
tx_ring->valid_db_reg = (uint32_t *)(void *)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6647
tx_ring->cnsmr_idx_sh_reg = shadow_reg;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6648
tx_ring->cnsmr_idx_sh_reg_dma = shadow_reg_dma;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6649
*tx_ring->cnsmr_idx_sh_reg = 0;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6653
__func__, tx_ring->wq_id, tx_ring->cnsmr_idx_sh_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6654
tx_ring->cnsmr_idx_sh_reg_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6657
(uint16_t)cpu_to_le16(tx_ring->wq_len | Q_LEN_V | Q_LEN_CPP_CONT);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6660
wqicb->cq_id_rss = (uint16_t)cpu_to_le16(tx_ring->cq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6662
wqicb->wq_addr_lo = cpu_to_le32(LS_64BITS(tx_ring->wq_dma.dma_addr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6663
wqicb->wq_addr_hi = cpu_to_le32(MS_64BITS(tx_ring->wq_dma.dma_addr));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6665
cpu_to_le32(LS_64BITS(tx_ring->cnsmr_idx_sh_reg_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6667
cpu_to_le32(MS_64BITS(tx_ring->cnsmr_idx_sh_reg_dma));
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6669
ql_init_tx_ring(tx_ring);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6671
err = ql_write_cfg(qlge, CFG_LRQ, tx_ring->wqicb_dma.dma_addr,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
6672
tx_ring->wq_id);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7070
status = ql_start_tx_ring(qlge, &qlge->tx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7220
if (qlge->tx_ring[i].valid_db_reg)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7222
qlge->tx_ring[i].valid_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7235
mutex_enter(&qlge->tx_ring[i].tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7236
qlge->tx_ring[i].mac_flags = QL_MAC_STARTED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7237
mutex_exit(&qlge->tx_ring[i].tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7268
struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7273
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7274
mutex_init(&tx_ring->tx_lock, NULL, MUTEX_DRIVER,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7689
ql_unbind_pending_tx_dma_handle(struct tx_ring *tx_ring)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7694
if (tx_ring->wq_desc) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7695
tx_ring_desc = tx_ring->wq_desc;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7696
for (i = 0; i < tx_ring->wq_len; i++, tx_ring_desc++) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7716
volatile struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7727
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7729
tx_ring->prod_idx_db_reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7735
ob_ring = &qlge->rx_ring[tx_ring->cq_id];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7749
temp = (tx_ring->wq_len - consumer_idx) +
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7752
if ((tx_ring->tx_free_count + temp) >= tx_ring->wq_len)
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7781
(qlge->tx_ring[i].wq_len -
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7782
qlge->tx_ring[i].tx_free_count),
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7797
tx_ring->prod_idx_db_reg);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7813
if (qlge->tx_ring[i].valid_db_reg) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7815
qlge->tx_ring[i].valid_db_reg, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7866
mutex_enter(&qlge->tx_ring[i].tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7867
qlge->tx_ring[i].mac_flags = QL_MAC_STOPPED;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7868
mutex_exit(&qlge->tx_ring[i].tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7902
ql_unbind_pending_tx_dma_handle(&qlge->tx_ring[i]);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7992
if (qlge->tx_ring[i].valid_db_reg) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge.c
7994
qlge->tx_ring[i].valid_db_reg, 0);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
223
struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
254
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
255
cur_stats->multixmt += tx_ring->multixmt;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
263
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
264
cur_stats->brdcstxmt += tx_ring->brdcstxmt;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
280
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
281
cur_stats->obytes += tx_ring->obytes;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
289
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
290
cur_stats->opackets += tx_ring->opackets;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
298
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
299
cur_stats->defer += (tx_ring->defer);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
307
tx_ring = &qlge->tx_ring[i];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
308
cur_stats->errxmt += tx_ring->errxmt;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
472
struct tx_ring *tx_ring;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
494
tx_ring = &qlge->tx_ring[selected_ring];
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
495
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
496
if (tx_ring->mac_flags != QL_MAC_STARTED) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
497
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
507
if (tx_ring->tx_free_count <= TX_STOP_THRESHOLD) {
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
508
tx_ring->queue_stopped = 1;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
515
tx_ring->defer++;
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
521
rval = ql_send_common(tx_ring, mp);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
535
ql_write_doorbell_reg(tx_ring->qlge, tx_ring->prod_idx_db_reg,
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
536
tx_ring->prod_idx);
usr/src/uts/common/io/fibre-channel/fca/qlge/qlge_gld.c
538
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/igb/igb_buf.c
129
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_buf.c
150
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_buf.c
152
if (igb_alloc_tbd_ring(tx_ring) != IGB_SUCCESS)
usr/src/uts/common/io/igb/igb_buf.c
155
if (igb_alloc_tcb_lists(tx_ring) != IGB_SUCCESS)
usr/src/uts/common/io/igb/igb_buf.c
176
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_buf.c
194
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_buf.c
195
igb_free_tbd_ring(tx_ring);
usr/src/uts/common/io/igb/igb_buf.c
196
igb_free_tcb_lists(tx_ring);
usr/src/uts/common/io/igb/igb_buf.c
204
igb_alloc_tbd_ring(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_buf.c
212
igb_t *igb = tx_ring->igb;
usr/src/uts/common/io/igb/igb_buf.c
215
size = sizeof (union e1000_adv_tx_desc) * tx_ring->ring_size;
usr/src/uts/common/io/igb/igb_buf.c
231
&tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/igb/igb_buf.c
236
tx_ring->tbd_area.dma_handle = NULL;
usr/src/uts/common/io/igb/igb_buf.c
245
ret = ddi_dma_mem_alloc(tx_ring->tbd_area.dma_handle,
usr/src/uts/common/io/igb/igb_buf.c
248
(caddr_t *)&tx_ring->tbd_area.address,
usr/src/uts/common/io/igb/igb_buf.c
249
&len, &tx_ring->tbd_area.acc_handle);
usr/src/uts/common/io/igb/igb_buf.c
254
tx_ring->tbd_area.acc_handle = NULL;
usr/src/uts/common/io/igb/igb_buf.c
255
tx_ring->tbd_area.address = NULL;
usr/src/uts/common/io/igb/igb_buf.c
256
if (tx_ring->tbd_area.dma_handle != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
257
ddi_dma_free_handle(&tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/igb/igb_buf.c
258
tx_ring->tbd_area.dma_handle = NULL;
usr/src/uts/common/io/igb/igb_buf.c
266
bzero(tx_ring->tbd_area.address, len);
usr/src/uts/common/io/igb/igb_buf.c
273
ret = ddi_dma_addr_bind_handle(tx_ring->tbd_area.dma_handle,
usr/src/uts/common/io/igb/igb_buf.c
274
NULL, (caddr_t)tx_ring->tbd_area.address,
usr/src/uts/common/io/igb/igb_buf.c
281
tx_ring->tbd_area.dma_address = 0;
usr/src/uts/common/io/igb/igb_buf.c
282
if (tx_ring->tbd_area.acc_handle != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
283
ddi_dma_mem_free(&tx_ring->tbd_area.acc_handle);
usr/src/uts/common/io/igb/igb_buf.c
284
tx_ring->tbd_area.acc_handle = NULL;
usr/src/uts/common/io/igb/igb_buf.c
285
tx_ring->tbd_area.address = NULL;
usr/src/uts/common/io/igb/igb_buf.c
287
if (tx_ring->tbd_area.dma_handle != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
288
ddi_dma_free_handle(&tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/igb/igb_buf.c
289
tx_ring->tbd_area.dma_handle = NULL;
usr/src/uts/common/io/igb/igb_buf.c
296
tx_ring->tbd_area.dma_address = cookie.dmac_laddress;
usr/src/uts/common/io/igb/igb_buf.c
297
tx_ring->tbd_area.size = len;
usr/src/uts/common/io/igb/igb_buf.c
299
tx_ring->tbd_ring = (union e1000_adv_tx_desc *)(uintptr_t)
usr/src/uts/common/io/igb/igb_buf.c
300
tx_ring->tbd_area.address;
usr/src/uts/common/io/igb/igb_buf.c
309
igb_free_tbd_ring(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_buf.c
311
if (tx_ring->tbd_area.dma_handle != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
312
(void) ddi_dma_unbind_handle(tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/igb/igb_buf.c
314
if (tx_ring->tbd_area.acc_handle != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
315
ddi_dma_mem_free(&tx_ring->tbd_area.acc_handle);
usr/src/uts/common/io/igb/igb_buf.c
316
tx_ring->tbd_area.acc_handle = NULL;
usr/src/uts/common/io/igb/igb_buf.c
318
if (tx_ring->tbd_area.dma_handle != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
319
ddi_dma_free_handle(&tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/igb/igb_buf.c
320
tx_ring->tbd_area.dma_handle = NULL;
usr/src/uts/common/io/igb/igb_buf.c
322
tx_ring->tbd_area.address = NULL;
usr/src/uts/common/io/igb/igb_buf.c
323
tx_ring->tbd_area.dma_address = 0;
usr/src/uts/common/io/igb/igb_buf.c
324
tx_ring->tbd_area.size = 0;
usr/src/uts/common/io/igb/igb_buf.c
326
tx_ring->tbd_ring = NULL;
usr/src/uts/common/io/igb/igb_buf.c
662
igb_alloc_tcb_lists(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_buf.c
668
igb_t *igb = tx_ring->igb;
usr/src/uts/common/io/igb/igb_buf.c
674
tx_ring->work_list = kmem_zalloc(sizeof (tx_control_block_t *) *
usr/src/uts/common/io/igb/igb_buf.c
675
tx_ring->ring_size, KM_NOSLEEP);
usr/src/uts/common/io/igb/igb_buf.c
677
if (tx_ring->work_list == NULL) {
usr/src/uts/common/io/igb/igb_buf.c
686
tx_ring->free_list = kmem_zalloc(sizeof (tx_control_block_t *) *
usr/src/uts/common/io/igb/igb_buf.c
687
tx_ring->free_list_size, KM_NOSLEEP);
usr/src/uts/common/io/igb/igb_buf.c
689
if (tx_ring->free_list == NULL) {
usr/src/uts/common/io/igb/igb_buf.c
690
kmem_free(tx_ring->work_list,
usr/src/uts/common/io/igb/igb_buf.c
691
sizeof (tx_control_block_t *) * tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_buf.c
692
tx_ring->work_list = NULL;
usr/src/uts/common/io/igb/igb_buf.c
702
tx_ring->tcb_area =
usr/src/uts/common/io/igb/igb_buf.c
704
tx_ring->free_list_size, KM_NOSLEEP);
usr/src/uts/common/io/igb/igb_buf.c
706
if (tx_ring->tcb_area == NULL) {
usr/src/uts/common/io/igb/igb_buf.c
707
kmem_free(tx_ring->work_list,
usr/src/uts/common/io/igb/igb_buf.c
708
sizeof (tx_control_block_t *) * tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_buf.c
709
tx_ring->work_list = NULL;
usr/src/uts/common/io/igb/igb_buf.c
711
kmem_free(tx_ring->free_list,
usr/src/uts/common/io/igb/igb_buf.c
712
sizeof (tx_control_block_t *) * tx_ring->free_list_size);
usr/src/uts/common/io/igb/igb_buf.c
713
tx_ring->free_list = NULL;
usr/src/uts/common/io/igb/igb_buf.c
723
tcb = tx_ring->tcb_area;
usr/src/uts/common/io/igb/igb_buf.c
724
for (i = 0; i < tx_ring->free_list_size; i++, tcb++) {
usr/src/uts/common/io/igb/igb_buf.c
727
tx_ring->free_list[i] = tcb;
usr/src/uts/common/io/igb/igb_buf.c
768
igb_free_tcb_lists(tx_ring);
usr/src/uts/common/io/igb/igb_buf.c
778
igb_free_tcb_lists(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_buf.c
783
tcb = tx_ring->tcb_area;
usr/src/uts/common/io/igb/igb_buf.c
787
for (i = 0; i < tx_ring->free_list_size; i++, tcb++) {
usr/src/uts/common/io/igb/igb_buf.c
805
if (tx_ring->tcb_area != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
806
kmem_free(tx_ring->tcb_area,
usr/src/uts/common/io/igb/igb_buf.c
807
sizeof (tx_control_block_t) * tx_ring->free_list_size);
usr/src/uts/common/io/igb/igb_buf.c
808
tx_ring->tcb_area = NULL;
usr/src/uts/common/io/igb/igb_buf.c
811
if (tx_ring->work_list != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
812
kmem_free(tx_ring->work_list,
usr/src/uts/common/io/igb/igb_buf.c
813
sizeof (tx_control_block_t *) * tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_buf.c
814
tx_ring->work_list = NULL;
usr/src/uts/common/io/igb/igb_buf.c
817
if (tx_ring->free_list != NULL) {
usr/src/uts/common/io/igb/igb_buf.c
818
kmem_free(tx_ring->free_list,
usr/src/uts/common/io/igb/igb_buf.c
819
sizeof (tx_control_block_t *) * tx_ring->free_list_size);
usr/src/uts/common/io/igb/igb_buf.c
820
tx_ring->free_list = NULL;
usr/src/uts/common/io/igb/igb_gld.c
823
igb_tx_ring_t *tx_ring = &igb->tx_rings[index];
usr/src/uts/common/io/igb/igb_gld.c
824
tx_ring->ring_handle = rh;
usr/src/uts/common/io/igb/igb_gld.c
826
infop->mri_driver = (mac_ring_driver_t)tx_ring;
usr/src/uts/common/io/igb/igb_gld.c
833
igb->htable[tx_ring->intr_vector];
usr/src/uts/common/io/igb/igb_main.c
1044
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
1095
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_main.c
1096
tx_ring->index = i;
usr/src/uts/common/io/igb/igb_main.c
1097
tx_ring->igb = igb;
usr/src/uts/common/io/igb/igb_main.c
1099
tx_ring->tx_recycle = igb_tx_recycle_head_wb;
usr/src/uts/common/io/igb/igb_main.c
1101
tx_ring->tx_recycle = igb_tx_recycle_legacy;
usr/src/uts/common/io/igb/igb_main.c
1103
tx_ring->ring_size = igb->tx_ring_size;
usr/src/uts/common/io/igb/igb_main.c
1104
tx_ring->free_list_size = igb->tx_ring_size +
usr/src/uts/common/io/igb/igb_main.c
1129
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
1139
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_main.c
1140
mutex_init(&tx_ring->tx_lock, NULL,
usr/src/uts/common/io/igb/igb_main.c
1142
mutex_init(&tx_ring->recycle_lock, NULL,
usr/src/uts/common/io/igb/igb_main.c
1144
mutex_init(&tx_ring->tcb_head_lock, NULL,
usr/src/uts/common/io/igb/igb_main.c
1146
mutex_init(&tx_ring->tcb_tail_lock, NULL,
usr/src/uts/common/io/igb/igb_main.c
1167
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
1176
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_main.c
1177
mutex_destroy(&tx_ring->tx_lock);
usr/src/uts/common/io/igb/igb_main.c
1178
mutex_destroy(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_main.c
1179
mutex_destroy(&tx_ring->tcb_head_lock);
usr/src/uts/common/io/igb/igb_main.c
1180
mutex_destroy(&tx_ring->tcb_tail_lock);
usr/src/uts/common/io/igb/igb_main.c
1724
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
1733
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_main.c
1735
mutex_enter(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_main.c
1745
for (j = 0; j < tx_ring->ring_size; j++) {
usr/src/uts/common/io/igb/igb_main.c
1746
tcb = tx_ring->work_list[j];
usr/src/uts/common/io/igb/igb_main.c
1750
tx_ring->work_list[j] = NULL;
usr/src/uts/common/io/igb/igb_main.c
1759
atomic_add_32(&tx_ring->tbd_free, desc_num);
usr/src/uts/common/io/igb/igb_main.c
1760
ASSERT(tx_ring->tbd_free == tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_main.c
1766
tx_ring->tbd_head = 0;
usr/src/uts/common/io/igb/igb_main.c
1767
tx_ring->tbd_tail = 0;
usr/src/uts/common/io/igb/igb_main.c
1769
*tx_ring->tbd_head_wb = 0;
usr/src/uts/common/io/igb/igb_main.c
1771
E1000_WRITE_REG(&igb->hw, E1000_TDH(tx_ring->index), 0);
usr/src/uts/common/io/igb/igb_main.c
1772
E1000_WRITE_REG(&igb->hw, E1000_TDT(tx_ring->index), 0);
usr/src/uts/common/io/igb/igb_main.c
1775
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_main.c
1781
igb_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/igb/igb_main.c
1791
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
1809
tx_ring = &igb->tx_rings[j];
usr/src/uts/common/io/igb/igb_main.c
1811
(tx_ring->tbd_free == tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_main.c
2328
igb_setup_tx_ring(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_main.c
2330
igb_t *igb = tx_ring->igb;
usr/src/uts/common/io/igb/igb_main.c
2337
ASSERT(mutex_owned(&tx_ring->tx_lock));
usr/src/uts/common/io/igb/igb_main.c
2344
size = tx_ring->ring_size * sizeof (union e1000_adv_tx_desc);
usr/src/uts/common/io/igb/igb_main.c
2345
E1000_WRITE_REG(hw, E1000_TDLEN(tx_ring->index), size);
usr/src/uts/common/io/igb/igb_main.c
2350
buf_low = (uint32_t)tx_ring->tbd_area.dma_address;
usr/src/uts/common/io/igb/igb_main.c
2351
buf_high = (uint32_t)(tx_ring->tbd_area.dma_address >> 32);
usr/src/uts/common/io/igb/igb_main.c
2352
E1000_WRITE_REG(hw, E1000_TDBAL(tx_ring->index), buf_low);
usr/src/uts/common/io/igb/igb_main.c
2353
E1000_WRITE_REG(hw, E1000_TDBAH(tx_ring->index), buf_high);
usr/src/uts/common/io/igb/igb_main.c
2358
E1000_WRITE_REG(hw, E1000_TDH(tx_ring->index), 0);
usr/src/uts/common/io/igb/igb_main.c
2359
E1000_WRITE_REG(hw, E1000_TDT(tx_ring->index), 0);
usr/src/uts/common/io/igb/igb_main.c
2369
tx_ring->tbd_head_wb = (uint32_t *)
usr/src/uts/common/io/igb/igb_main.c
2370
((uintptr_t)tx_ring->tbd_area.address + size);
usr/src/uts/common/io/igb/igb_main.c
2371
*tx_ring->tbd_head_wb = 0;
usr/src/uts/common/io/igb/igb_main.c
2374
(tx_ring->tbd_area.dma_address + size);
usr/src/uts/common/io/igb/igb_main.c
2376
((tx_ring->tbd_area.dma_address + size) >> 32);
usr/src/uts/common/io/igb/igb_main.c
2381
E1000_WRITE_REG(hw, E1000_TDWBAL(tx_ring->index), buf_low);
usr/src/uts/common/io/igb/igb_main.c
2382
E1000_WRITE_REG(hw, E1000_TDWBAH(tx_ring->index), buf_high);
usr/src/uts/common/io/igb/igb_main.c
2389
E1000_DCA_TXCTRL(tx_ring->index));
usr/src/uts/common/io/igb/igb_main.c
2392
E1000_DCA_TXCTRL(tx_ring->index), reg_val);
usr/src/uts/common/io/igb/igb_main.c
2394
tx_ring->tbd_head_wb = NULL;
usr/src/uts/common/io/igb/igb_main.c
2397
tx_ring->tbd_head = 0;
usr/src/uts/common/io/igb/igb_main.c
2398
tx_ring->tbd_tail = 0;
usr/src/uts/common/io/igb/igb_main.c
2399
tx_ring->tbd_free = tx_ring->ring_size;
usr/src/uts/common/io/igb/igb_main.c
2402
tx_ring->tcb_head = 0;
usr/src/uts/common/io/igb/igb_main.c
2403
tx_ring->tcb_tail = 0;
usr/src/uts/common/io/igb/igb_main.c
2404
tx_ring->tcb_free = tx_ring->free_list_size;
usr/src/uts/common/io/igb/igb_main.c
2410
reg_val = E1000_READ_REG(hw, E1000_TXDCTL(tx_ring->index));
usr/src/uts/common/io/igb/igb_main.c
2412
E1000_WRITE_REG(hw, E1000_TXDCTL(tx_ring->index), reg_val);
usr/src/uts/common/io/igb/igb_main.c
2417
bzero(&tx_ring->tx_context, sizeof (tx_context_t));
usr/src/uts/common/io/igb/igb_main.c
2423
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
2429
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_main.c
2430
igb_setup_tx_ring(tx_ring);
usr/src/uts/common/io/igb/igb_main.c
3355
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
3368
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_main.c
3370
if (tx_ring->recycle_fail > 0)
usr/src/uts/common/io/igb/igb_main.c
3371
tx_ring->stall_watchdog++;
usr/src/uts/common/io/igb/igb_main.c
3373
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/igb/igb_main.c
3375
if (tx_ring->stall_watchdog >= STALL_WATCHDOG_TIMEOUT) {
usr/src/uts/common/io/igb/igb_main.c
3386
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/igb/igb_main.c
3387
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/igb/igb_main.c
4072
igb_intr_tx_work(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_main.c
4074
igb_t *igb = tx_ring->igb;
usr/src/uts/common/io/igb/igb_main.c
4077
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/igb/igb_main.c
4080
if (tx_ring->reschedule &&
usr/src/uts/common/io/igb/igb_main.c
4081
(tx_ring->tbd_free >= igb->tx_resched_thresh)) {
usr/src/uts/common/io/igb/igb_main.c
4082
tx_ring->reschedule = B_FALSE;
usr/src/uts/common/io/igb/igb_main.c
4083
mac_tx_ring_update(tx_ring->igb->mac_hdl, tx_ring->ring_handle);
usr/src/uts/common/io/igb/igb_main.c
4084
IGB_DEBUG_STAT(tx_ring->stat_reschedule);
usr/src/uts/common/io/igb/igb_main.c
4127
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
4172
tx_ring = &igb->tx_rings[0];
usr/src/uts/common/io/igb/igb_main.c
4175
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/igb/igb_main.c
4178
tx_reschedule = (tx_ring->reschedule &&
usr/src/uts/common/io/igb/igb_main.c
4179
(tx_ring->tbd_free >= igb->tx_resched_thresh));
usr/src/uts/common/io/igb/igb_main.c
4219
tx_ring->reschedule = B_FALSE;
usr/src/uts/common/io/igb/igb_main.c
4220
mac_tx_ring_update(igb->mac_hdl, tx_ring->ring_handle);
usr/src/uts/common/io/igb/igb_main.c
4221
IGB_DEBUG_STAT(tx_ring->stat_reschedule);
usr/src/uts/common/io/igb/igb_main.c
4304
igb_tx_ring_t *tx_ring = (igb_tx_ring_t *)arg1;
usr/src/uts/common/io/igb/igb_main.c
4312
igb_intr_tx_work(tx_ring);
usr/src/uts/common/io/igb/igb_main.c
4618
igb_tx_ring_t *tx_ring;
usr/src/uts/common/io/igb/igb_main.c
4628
tx_ring = &igb->tx_rings[0];
usr/src/uts/common/io/igb/igb_main.c
4638
tx_ring->intr_vector = vector;
usr/src/uts/common/io/igb/igb_main.c
4667
tx_ring = &igb->tx_rings[i];
usr/src/uts/common/io/igb/igb_main.c
4671
(void *)tx_ring, NULL);
usr/src/uts/common/io/igb/igb_main.c
4684
tx_ring->intr_vector = vector;
usr/src/uts/common/io/igb/igb_stat.c
304
igb_tx_ring_t *tx_ring = (igb_tx_ring_t *)rh;
usr/src/uts/common/io/igb/igb_stat.c
308
*val = tx_ring->tx_bytes;
usr/src/uts/common/io/igb/igb_stat.c
312
*val = tx_ring->tx_pkts;
usr/src/uts/common/io/igb/igb_tx.c
1017
first_tbd->read.olinfo_status |= tx_ring->index << 4;
usr/src/uts/common/io/igb/igb_tx.c
1028
IGB_DEBUG_STAT(tx_ring->stat_pkt_cnt);
usr/src/uts/common/io/igb/igb_tx.c
1033
DMA_SYNC(&tx_ring->tbd_area, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/igb/igb_tx.c
1047
i = igb_atomic_reserve(&tx_ring->tbd_free, desc_num);
usr/src/uts/common/io/igb/igb_tx.c
1050
tx_ring->tbd_tail = index;
usr/src/uts/common/io/igb/igb_tx.c
1055
E1000_WRITE_REG(hw, E1000_TDT(tx_ring->index), index);
usr/src/uts/common/io/igb/igb_tx.c
1095
igb_tx_recycle_legacy(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_tx.c
1102
igb_t *igb = tx_ring->igb;
usr/src/uts/common/io/igb/igb_tx.c
1108
if (mutex_tryenter(&tx_ring->recycle_lock) == 0)
usr/src/uts/common/io/igb/igb_tx.c
1111
ASSERT(tx_ring->tbd_free <= tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_tx.c
1113
if (tx_ring->tbd_free == tx_ring->ring_size) {
usr/src/uts/common/io/igb/igb_tx.c
1114
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/igb/igb_tx.c
1115
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/igb/igb_tx.c
1116
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_tx.c
1123
DMA_SYNC(&tx_ring->tbd_area, DDI_DMA_SYNC_FORKERNEL);
usr/src/uts/common/io/igb/igb_tx.c
1126
tx_ring->tbd_area.dma_handle) != DDI_FM_OK) {
usr/src/uts/common/io/igb/igb_tx.c
1127
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_tx.c
1135
index = tx_ring->tbd_head; /* Index of next tbd/tcb to recycle */
usr/src/uts/common/io/igb/igb_tx.c
1137
tcb = tx_ring->work_list[index];
usr/src/uts/common/io/igb/igb_tx.c
1159
next_index = NEXT_INDEX(last_index, 1, tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_tx.c
1164
desc_done = tx_ring->tbd_ring[last_index].wb.status &
usr/src/uts/common/io/igb/igb_tx.c
1172
tx_ring->work_list[index] = NULL;
usr/src/uts/common/io/igb/igb_tx.c
1185
tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_tx.c
1187
tcb = tx_ring->work_list[index];
usr/src/uts/common/io/igb/igb_tx.c
1200
tx_ring->recycle_fail++;
usr/src/uts/common/io/igb/igb_tx.c
1201
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_tx.c
1205
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/igb/igb_tx.c
1206
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/igb/igb_tx.c
1211
tx_ring->tbd_head = index;
usr/src/uts/common/io/igb/igb_tx.c
1216
atomic_add_32(&tx_ring->tbd_free, desc_num);
usr/src/uts/common/io/igb/igb_tx.c
1218
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_tx.c
1238
igb_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/igb/igb_tx.c
1250
igb_tx_recycle_head_wb(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_tx.c
1257
igb_t *igb = tx_ring->igb;
usr/src/uts/common/io/igb/igb_tx.c
1263
if (mutex_tryenter(&tx_ring->recycle_lock) == 0)
usr/src/uts/common/io/igb/igb_tx.c
1266
ASSERT(tx_ring->tbd_free <= tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_tx.c
1268
if (tx_ring->tbd_free == tx_ring->ring_size) {
usr/src/uts/common/io/igb/igb_tx.c
1269
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/igb/igb_tx.c
1270
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/igb/igb_tx.c
1271
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_tx.c
1285
(void) ddi_dma_sync(tx_ring->tbd_area.dma_handle,
usr/src/uts/common/io/igb/igb_tx.c
1286
sizeof (union e1000_adv_tx_desc) * tx_ring->ring_size,
usr/src/uts/common/io/igb/igb_tx.c
1291
tx_ring->tbd_area.dma_handle) != DDI_FM_OK) {
usr/src/uts/common/io/igb/igb_tx.c
1292
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_tx.c
1300
index = tx_ring->tbd_head; /* Next index to clean */
usr/src/uts/common/io/igb/igb_tx.c
1305
head_wb = *tx_ring->tbd_head_wb;
usr/src/uts/common/io/igb/igb_tx.c
1307
tcb = tx_ring->work_list[index];
usr/src/uts/common/io/igb/igb_tx.c
1310
if (OFFSET(index, head_wb, tx_ring->ring_size) <
usr/src/uts/common/io/igb/igb_tx.c
1323
tx_ring->work_list[index] = NULL;
usr/src/uts/common/io/igb/igb_tx.c
1329
index = NEXT_INDEX(index, tcb->desc_num, tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_tx.c
1341
tx_ring->recycle_fail++;
usr/src/uts/common/io/igb/igb_tx.c
1342
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_tx.c
1346
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/igb/igb_tx.c
1347
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/igb/igb_tx.c
1352
tx_ring->tbd_head = index;
usr/src/uts/common/io/igb/igb_tx.c
1357
atomic_add_32(&tx_ring->tbd_free, desc_num);
usr/src/uts/common/io/igb/igb_tx.c
1359
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/igb/igb_tx.c
1379
igb_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/igb/igb_tx.c
1434
igb_get_free_list(igb_tx_ring_t *tx_ring)
usr/src/uts/common/io/igb/igb_tx.c
1442
if (igb_atomic_reserve(&tx_ring->tcb_free, 1) < 0)
usr/src/uts/common/io/igb/igb_tx.c
1445
mutex_enter(&tx_ring->tcb_head_lock);
usr/src/uts/common/io/igb/igb_tx.c
1447
tcb = tx_ring->free_list[tx_ring->tcb_head];
usr/src/uts/common/io/igb/igb_tx.c
1449
tx_ring->free_list[tx_ring->tcb_head] = NULL;
usr/src/uts/common/io/igb/igb_tx.c
1450
tx_ring->tcb_head = NEXT_INDEX(tx_ring->tcb_head, 1,
usr/src/uts/common/io/igb/igb_tx.c
1451
tx_ring->free_list_size);
usr/src/uts/common/io/igb/igb_tx.c
1453
mutex_exit(&tx_ring->tcb_head_lock);
usr/src/uts/common/io/igb/igb_tx.c
1468
igb_put_free_list(igb_tx_ring_t *tx_ring, link_list_t *pending_list)
usr/src/uts/common/io/igb/igb_tx.c
1474
mutex_enter(&tx_ring->tcb_tail_lock);
usr/src/uts/common/io/igb/igb_tx.c
1476
index = tx_ring->tcb_tail;
usr/src/uts/common/io/igb/igb_tx.c
1481
ASSERT(tx_ring->free_list[index] == NULL);
usr/src/uts/common/io/igb/igb_tx.c
1482
tx_ring->free_list[index] = tcb;
usr/src/uts/common/io/igb/igb_tx.c
1486
index = NEXT_INDEX(index, 1, tx_ring->free_list_size);
usr/src/uts/common/io/igb/igb_tx.c
1491
tx_ring->tcb_tail = index;
usr/src/uts/common/io/igb/igb_tx.c
1498
atomic_add_32(&tx_ring->tcb_free, tcb_num);
usr/src/uts/common/io/igb/igb_tx.c
1500
mutex_exit(&tx_ring->tcb_tail_lock);
usr/src/uts/common/io/igb/igb_tx.c
158
if (tx_ring->tbd_free < igb->tx_recycle_thresh)
usr/src/uts/common/io/igb/igb_tx.c
159
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/igb/igb_tx.c
166
if (tx_ring->tbd_free < igb->tx_overload_thresh) {
usr/src/uts/common/io/igb/igb_tx.c
167
tx_ring->reschedule = B_TRUE;
usr/src/uts/common/io/igb/igb_tx.c
168
IGB_DEBUG_STAT(tx_ring->stat_overload);
usr/src/uts/common/io/igb/igb_tx.c
299
tcb = igb_get_free_list(tx_ring);
usr/src/uts/common/io/igb/igb_tx.c
302
IGB_DEBUG_STAT(tx_ring->stat_fail_no_tcb);
usr/src/uts/common/io/igb/igb_tx.c
358
desc_num = igb_tx_copy(tx_ring, tcb, current_mp,
usr/src/uts/common/io/igb/igb_tx.c
369
desc_num = igb_tx_bind(tx_ring, tcb, current_mp,
usr/src/uts/common/io/igb/igb_tx.c
397
if (tx_ring->tbd_free <= (desc_total + 1)) {
usr/src/uts/common/io/igb/igb_tx.c
398
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/igb/igb_tx.c
401
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/igb/igb_tx.c
411
if (tx_ring->tbd_free <= (desc_total + 1)) {
usr/src/uts/common/io/igb/igb_tx.c
412
IGB_DEBUG_STAT(tx_ring->stat_fail_no_tbd);
usr/src/uts/common/io/igb/igb_tx.c
413
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/igb/igb_tx.c
417
desc_num = igb_tx_fill_ring(tx_ring, &pending_list, ctx, mbsize);
usr/src/uts/common/io/igb/igb_tx.c
422
tx_ring->tx_pkts++;
usr/src/uts/common/io/igb/igb_tx.c
423
tx_ring->tx_bytes += mbsize;
usr/src/uts/common/io/igb/igb_tx.c
425
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/igb/igb_tx.c
461
igb_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/igb/igb_tx.c
464
tx_ring->reschedule = B_TRUE;
usr/src/uts/common/io/igb/igb_tx.c
475
igb_tx_copy(igb_tx_ring_t *tx_ring, tx_control_block_t *tcb, mblk_t *mp,
usr/src/uts/common/io/igb/igb_tx.c
480
_NOTE(ARGUNUSED(tx_ring));
usr/src/uts/common/io/igb/igb_tx.c
49
igb_tx_ring_t *tx_ring = (igb_tx_ring_t *)arg;
usr/src/uts/common/io/igb/igb_tx.c
52
ASSERT(tx_ring != NULL);
usr/src/uts/common/io/igb/igb_tx.c
536
igb_tx_bind(igb_tx_ring_t *tx_ring, tx_control_block_t *tcb, mblk_t *mp,
usr/src/uts/common/io/igb/igb_tx.c
54
igb = tx_ring->igb;
usr/src/uts/common/io/igb/igb_tx.c
553
IGB_DEBUG_STAT(tx_ring->stat_fail_dma_bind);
usr/src/uts/common/io/igb/igb_tx.c
64
return ((igb_tx(tx_ring, mp)) ? NULL : mp);
usr/src/uts/common/io/igb/igb_tx.c
772
igb_check_tx_context(igb_tx_ring_t *tx_ring, tx_context_t *ctx)
usr/src/uts/common/io/igb/igb_tx.c
793
last = &tx_ring->tx_context;
usr/src/uts/common/io/igb/igb_tx.c
878
igb_tx_fill_ring(igb_tx_ring_t *tx_ring, link_list_t *pending_list,
usr/src/uts/common/io/igb/igb_tx.c
881
struct e1000_hw *hw = &tx_ring->igb->hw;
usr/src/uts/common/io/igb/igb_tx.c
888
igb_t *igb = tx_ring->igb;
usr/src/uts/common/io/igb/igb_tx.c
890
ASSERT(mutex_owned(&tx_ring->tx_lock));
usr/src/uts/common/io/igb/igb_tx.c
905
index = tx_ring->tbd_tail;
usr/src/uts/common/io/igb/igb_tx.c
906
tcb_index = tx_ring->tbd_tail;
usr/src/uts/common/io/igb/igb_tx.c
914
load_context = igb_check_tx_context(tx_ring, ctx);
usr/src/uts/common/io/igb/igb_tx.c
916
tbd = &tx_ring->tbd_ring[index];
usr/src/uts/common/io/igb/igb_tx.c
924
ctx, tx_ring->index);
usr/src/uts/common/io/igb/igb_tx.c
926
index = NEXT_INDEX(index, 1, tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_tx.c
933
tx_ring->tx_context = *ctx;
usr/src/uts/common/io/igb/igb_tx.c
937
first_tbd = &tx_ring->tbd_ring[index];
usr/src/uts/common/io/igb/igb_tx.c
956
tbd = &tx_ring->tbd_ring[index];
usr/src/uts/common/io/igb/igb_tx.c
967
index = NEXT_INDEX(index, 1, tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_tx.c
97
igb_tx(igb_tx_ring_t *tx_ring, mblk_t *mp)
usr/src/uts/common/io/igb/igb_tx.c
974
ASSERT(tx_ring->work_list[tcb_index] == NULL);
usr/src/uts/common/io/igb/igb_tx.c
975
tx_ring->work_list[tcb_index] = tcb;
usr/src/uts/common/io/igb/igb_tx.c
988
first_tcb->last_index = PREV_INDEX(index, 1, tx_ring->ring_size);
usr/src/uts/common/io/igb/igb_tx.c
99
igb_t *igb = tx_ring->igb;
usr/src/uts/common/io/igc/igc_gld.c
587
igc_tx_ring_t *tx_ring = (igc_tx_ring_t *)rh;
usr/src/uts/common/io/igc/igc_gld.c
591
*val = tx_ring->itr_stat.its_obytes.value.ui64;
usr/src/uts/common/io/igc/igc_gld.c
594
*val = tx_ring->itr_stat.its_opackets.value.ui64;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
127
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
148
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
150
if (ixgbe_alloc_tbd_ring(tx_ring) != IXGBE_SUCCESS)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
153
if (ixgbe_alloc_tcb_lists(tx_ring) != IXGBE_SUCCESS)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
173
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
191
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
192
ixgbe_free_tbd_ring(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
193
ixgbe_free_tcb_lists(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
309
ixgbe_alloc_tbd_ring(ixgbe_tx_ring_t *tx_ring)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
317
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
320
size = sizeof (union ixgbe_adv_tx_desc) * tx_ring->ring_size;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
336
&tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
341
tx_ring->tbd_area.dma_handle = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
350
ret = ddi_dma_mem_alloc(tx_ring->tbd_area.dma_handle,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
353
(caddr_t *)&tx_ring->tbd_area.address,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
354
&len, &tx_ring->tbd_area.acc_handle);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
359
tx_ring->tbd_area.acc_handle = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
360
tx_ring->tbd_area.address = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
361
if (tx_ring->tbd_area.dma_handle != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
362
ddi_dma_free_handle(&tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
363
tx_ring->tbd_area.dma_handle = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
371
bzero(tx_ring->tbd_area.address, len);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
378
ret = ddi_dma_addr_bind_handle(tx_ring->tbd_area.dma_handle,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
379
NULL, (caddr_t)tx_ring->tbd_area.address,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
386
tx_ring->tbd_area.dma_address = 0;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
387
if (tx_ring->tbd_area.acc_handle != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
388
ddi_dma_mem_free(&tx_ring->tbd_area.acc_handle);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
389
tx_ring->tbd_area.acc_handle = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
390
tx_ring->tbd_area.address = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
392
if (tx_ring->tbd_area.dma_handle != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
393
ddi_dma_free_handle(&tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
394
tx_ring->tbd_area.dma_handle = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
401
tx_ring->tbd_area.dma_address = cookie.dmac_laddress;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
402
tx_ring->tbd_area.size = len;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
404
tx_ring->tbd_ring = (union ixgbe_adv_tx_desc *)(uintptr_t)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
405
tx_ring->tbd_area.address;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
414
ixgbe_free_tbd_ring(ixgbe_tx_ring_t *tx_ring)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
416
if (tx_ring->tbd_area.dma_handle != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
417
(void) ddi_dma_unbind_handle(tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
419
if (tx_ring->tbd_area.acc_handle != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
420
ddi_dma_mem_free(&tx_ring->tbd_area.acc_handle);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
421
tx_ring->tbd_area.acc_handle = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
423
if (tx_ring->tbd_area.dma_handle != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
424
ddi_dma_free_handle(&tx_ring->tbd_area.dma_handle);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
425
tx_ring->tbd_area.dma_handle = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
427
tx_ring->tbd_area.address = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
428
tx_ring->tbd_area.dma_address = 0;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
429
tx_ring->tbd_area.size = 0;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
431
tx_ring->tbd_ring = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
656
ixgbe_alloc_tcb_lists(ixgbe_tx_ring_t *tx_ring)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
662
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
668
tx_ring->work_list = kmem_zalloc(sizeof (tx_control_block_t *) *
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
669
tx_ring->ring_size, KM_NOSLEEP);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
671
if (tx_ring->work_list == NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
680
tx_ring->free_list = kmem_zalloc(sizeof (tx_control_block_t *) *
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
681
tx_ring->free_list_size, KM_NOSLEEP);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
683
if (tx_ring->free_list == NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
684
kmem_free(tx_ring->work_list,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
685
sizeof (tx_control_block_t *) * tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
686
tx_ring->work_list = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
696
tx_ring->tcb_area =
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
698
tx_ring->free_list_size, KM_NOSLEEP);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
700
if (tx_ring->tcb_area == NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
701
kmem_free(tx_ring->work_list,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
702
sizeof (tx_control_block_t *) * tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
703
tx_ring->work_list = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
705
kmem_free(tx_ring->free_list,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
706
sizeof (tx_control_block_t *) * tx_ring->free_list_size);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
707
tx_ring->free_list = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
717
tcb = tx_ring->tcb_area;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
718
for (i = 0; i < tx_ring->free_list_size; i++, tcb++) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
721
tx_ring->free_list[i] = tcb;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
762
ixgbe_free_tcb_lists(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
772
ixgbe_free_tcb_lists(ixgbe_tx_ring_t *tx_ring)
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
777
tcb = tx_ring->tcb_area;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
781
for (i = 0; i < tx_ring->free_list_size; i++, tcb++) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
799
if (tx_ring->tcb_area != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
800
kmem_free(tx_ring->tcb_area,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
801
sizeof (tx_control_block_t) * tx_ring->free_list_size);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
802
tx_ring->tcb_area = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
805
if (tx_ring->work_list != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
806
kmem_free(tx_ring->work_list,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
807
sizeof (tx_control_block_t *) * tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
808
tx_ring->work_list = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
811
if (tx_ring->free_list != NULL) {
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
812
kmem_free(tx_ring->free_list,
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
813
sizeof (tx_control_block_t *) * tx_ring->free_list_size);
usr/src/uts/common/io/ixgbe/ixgbe_buf.c
814
tx_ring->free_list = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1191
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1256
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1257
tx_ring->index = i;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1258
tx_ring->ixgbe = ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1260
tx_ring->tx_recycle = ixgbe_tx_recycle_head_wb;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1262
tx_ring->tx_recycle = ixgbe_tx_recycle_legacy;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1264
tx_ring->ring_size = ixgbe->tx_ring_size;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1265
tx_ring->free_list_size = ixgbe->tx_ring_size +
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1290
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1300
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1301
mutex_init(&tx_ring->tx_lock, NULL,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1303
mutex_init(&tx_ring->recycle_lock, NULL,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1305
mutex_init(&tx_ring->tcb_head_lock, NULL,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1307
mutex_init(&tx_ring->tcb_tail_lock, NULL,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1325
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1334
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1335
mutex_destroy(&tx_ring->tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1336
mutex_destroy(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1337
mutex_destroy(&tx_ring->tcb_head_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1338
mutex_destroy(&tx_ring->tcb_tail_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1964
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1973
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1975
mutex_enter(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1985
for (j = 0; j < tx_ring->ring_size; j++) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1986
tcb = tx_ring->work_list[j];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1990
tx_ring->work_list[j] = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
1999
atomic_add_32(&tx_ring->tbd_free, desc_num);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2000
ASSERT(tx_ring->tbd_free == tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2006
tx_ring->tbd_head = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2007
tx_ring->tbd_tail = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2009
*tx_ring->tbd_head_wb = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2012
IXGBE_TDH(tx_ring->index), 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2014
IXGBE_TDT(tx_ring->index), 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2017
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2023
ixgbe_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2034
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2052
tx_ring = &ixgbe->tx_rings[j];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2054
(tx_ring->tbd_free == tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2901
ixgbe_setup_tx_ring(ixgbe_tx_ring_t *tx_ring)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2903
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2910
ASSERT(mutex_owned(&tx_ring->tx_lock));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2916
size = tx_ring->ring_size * sizeof (union ixgbe_adv_tx_desc);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2917
IXGBE_WRITE_REG(hw, IXGBE_TDLEN(tx_ring->index), size);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2922
buf_low = (uint32_t)tx_ring->tbd_area.dma_address;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2923
buf_high = (uint32_t)(tx_ring->tbd_area.dma_address >> 32);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2924
IXGBE_WRITE_REG(hw, IXGBE_TDBAL(tx_ring->index), buf_low);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2925
IXGBE_WRITE_REG(hw, IXGBE_TDBAH(tx_ring->index), buf_high);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2930
IXGBE_WRITE_REG(hw, IXGBE_TDH(tx_ring->index), 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2931
IXGBE_WRITE_REG(hw, IXGBE_TDT(tx_ring->index), 0);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2941
tx_ring->tbd_head_wb = (uint32_t *)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2942
((uintptr_t)tx_ring->tbd_area.address + size);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2943
*tx_ring->tbd_head_wb = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2946
(tx_ring->tbd_area.dma_address + size);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2948
((tx_ring->tbd_area.dma_address + size) >> 32);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2953
IXGBE_WRITE_REG(hw, IXGBE_TDWBAL(tx_ring->index), buf_low);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2954
IXGBE_WRITE_REG(hw, IXGBE_TDWBAH(tx_ring->index), buf_high);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2962
IXGBE_READ_REG(hw, IXGBE_DCA_TXCTRL(tx_ring->index)) :
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2963
IXGBE_READ_REG(hw, IXGBE_DCA_TXCTRL_82599(tx_ring->index));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2967
IXGBE_DCA_TXCTRL(tx_ring->index), reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2970
IXGBE_DCA_TXCTRL_82599(tx_ring->index), reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2973
tx_ring->tbd_head_wb = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2976
tx_ring->tbd_head = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2977
tx_ring->tbd_tail = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2978
tx_ring->tbd_free = tx_ring->ring_size;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2981
tx_ring->tcb_head = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2982
tx_ring->tcb_tail = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2983
tx_ring->tcb_free = tx_ring->free_list_size;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2989
bzero(&tx_ring->tx_context, sizeof (ixgbe_tx_context_t));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
2996
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3001
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3002
ixgbe_setup_tx_ring(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3051
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3052
reg_val = IXGBE_READ_REG(hw, IXGBE_TXDCTL(tx_ring->index));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
3054
IXGBE_WRITE_REG(hw, IXGBE_TXDCTL(tx_ring->index), reg_val);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4318
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4330
tx_ring = &ixgbe->tx_rings[i];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4331
if (tx_ring->tbd_free <= ixgbe->tx_recycle_thresh) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4332
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4335
if (tx_ring->recycle_fail > 0)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4336
tx_ring->stall_watchdog++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4338
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4340
if (tx_ring->stall_watchdog >= STALL_WATCHDOG_TIMEOUT) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4347
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4348
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4866
ixgbe_intr_tx_work(ixgbe_tx_ring_t *tx_ring)
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4868
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4873
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4878
if (tx_ring->reschedule &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4879
(tx_ring->tbd_free >= ixgbe->tx_resched_thresh)) {
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4880
tx_ring->reschedule = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4881
mac_tx_ring_update(tx_ring->ixgbe->mac_hdl,
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4882
tx_ring->ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
4883
tx_ring->stat_reschedule++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5145
ixgbe_tx_ring_t *tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5204
tx_ring = &ixgbe->tx_rings[0];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5205
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5210
tx_reschedule = (tx_ring->reschedule &&
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5211
(tx_ring->tbd_free >= ixgbe->tx_resched_thresh));
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5262
tx_ring->reschedule = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5263
mac_tx_ring_update(ixgbe->mac_hdl, tx_ring->ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_main.c
5264
tx_ring->stat_reschedule++;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6626
ixgbe_tx_ring_t *tx_ring = &ixgbe->tx_rings[ring_index];
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6627
tx_ring->ring_handle = rh;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6629
infop->mri_driver = (mac_ring_driver_t)tx_ring;
usr/src/uts/common/io/ixgbe/ixgbe_main.c
6637
ixgbe->htable[tx_ring->intr_vector];
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
809
ixgbe_tx_ring_t *tx_ring = (ixgbe_tx_ring_t *)rh;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
810
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
818
*val = tx_ring->stat_obytes;
usr/src/uts/common/io/ixgbe/ixgbe_stat.c
822
*val = tx_ring->stat_opackets;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1046
DMA_SYNC(&tx_ring->tbd_area, DDI_DMA_SYNC_FORDEV);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1060
i = ixgbe_atomic_reserve(&tx_ring->tbd_free, desc_num);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1063
tx_ring->tbd_tail = index;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1068
IXGBE_WRITE_REG(hw, IXGBE_TDT(tx_ring->index), index);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1070
if (ixgbe_check_acc_handle(tx_ring->ixgbe->osdep.reg_handle) !=
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1072
ddi_fm_service_impact(tx_ring->ixgbe->dip,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1074
atomic_or_32(&tx_ring->ixgbe->ixgbe_state, IXGBE_ERROR);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1110
ixgbe_tx_recycle_legacy(ixgbe_tx_ring_t *tx_ring)
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1117
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1119
mutex_enter(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1121
ASSERT(tx_ring->tbd_free <= tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1123
if (tx_ring->tbd_free == tx_ring->ring_size) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1124
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1125
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1126
if (tx_ring->reschedule) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1127
tx_ring->reschedule = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1129
tx_ring->ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1131
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1138
DMA_SYNC(&tx_ring->tbd_area, DDI_DMA_SYNC_FORKERNEL);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1140
if (ixgbe_check_dma_handle(tx_ring->tbd_area.dma_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1141
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1149
index = tx_ring->tbd_head; /* Index of next tbd/tcb to recycle */
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1151
tcb = tx_ring->work_list[index];
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
117
ixgbe_tx_ring_t *tx_ring = (ixgbe_tx_ring_t *)arg;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1176
desc_done = tx_ring->tbd_ring[last_index].wb.status &
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
118
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1188
tx_ring->work_list[index] = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1198
tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1200
tcb = tx_ring->work_list[index];
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1203
tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1216
tx_ring->recycle_fail++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1217
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1221
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1222
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1227
tx_ring->tbd_head = index;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1232
atomic_add_32(&tx_ring->tbd_free, desc_num);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1234
if ((tx_ring->tbd_free >= ixgbe->tx_resched_thresh) &&
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1235
(tx_ring->reschedule)) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1236
tx_ring->reschedule = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1238
tx_ring->ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1240
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1245
ixgbe_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1257
ixgbe_tx_recycle_head_wb(ixgbe_tx_ring_t *tx_ring)
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1264
ixgbe_t *ixgbe = tx_ring->ixgbe;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1266
mutex_enter(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1268
ASSERT(tx_ring->tbd_free <= tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1270
if (tx_ring->tbd_free == tx_ring->ring_size) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1271
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1272
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1273
if (tx_ring->reschedule) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1274
tx_ring->reschedule = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1276
tx_ring->ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1278
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1292
(void) ddi_dma_sync(tx_ring->tbd_area.dma_handle,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1293
sizeof (union ixgbe_adv_tx_desc) * tx_ring->ring_size,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1297
if (ixgbe_check_dma_handle(tx_ring->tbd_area.dma_handle) != DDI_FM_OK) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1298
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1307
index = tx_ring->tbd_head; /* Next index to clean */
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1312
head_wb = *tx_ring->tbd_head_wb;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1314
tcb = tx_ring->work_list[index];
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1317
if (OFFSET(index, head_wb, tx_ring->ring_size) <
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1330
tx_ring->work_list[index] = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1336
index = NEXT_INDEX(index, tcb->desc_num, tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1348
tx_ring->recycle_fail++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1349
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1353
tx_ring->recycle_fail = 0;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1354
tx_ring->stall_watchdog = 0;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1359
tx_ring->tbd_head = index;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1364
atomic_add_32(&tx_ring->tbd_free, desc_num);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1366
if ((tx_ring->tbd_free >= ixgbe->tx_resched_thresh) &&
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1367
(tx_ring->reschedule)) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1368
tx_ring->reschedule = B_FALSE;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1370
tx_ring->ring_handle);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1372
mutex_exit(&tx_ring->recycle_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1377
ixgbe_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1436
ixgbe_get_free_list(ixgbe_tx_ring_t *tx_ring, link_list_t *list)
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1444
if (ixgbe_atomic_reserve(&tx_ring->tcb_free, 1) < 0) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1445
tx_ring->stat_fail_no_tcb++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1449
mutex_enter(&tx_ring->tcb_head_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1451
tcb = tx_ring->free_list[tx_ring->tcb_head];
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1453
tx_ring->free_list[tx_ring->tcb_head] = NULL;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1454
tx_ring->tcb_head = NEXT_INDEX(tx_ring->tcb_head, 1,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1455
tx_ring->free_list_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1457
mutex_exit(&tx_ring->tcb_head_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1473
ixgbe_put_free_list(ixgbe_tx_ring_t *tx_ring, link_list_t *pending_list)
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1489
mutex_enter(&tx_ring->tcb_tail_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1491
index = tx_ring->tcb_tail;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1496
ASSERT(tx_ring->free_list[index] == NULL);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1497
tx_ring->free_list[index] = tcb;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1501
index = NEXT_INDEX(index, 1, tx_ring->free_list_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1506
tx_ring->tcb_tail = index;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1513
atomic_add_32(&tx_ring->tcb_free, tcb_num);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
1515
mutex_exit(&tx_ring->tcb_tail_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
182
if (tx_ring->tbd_free < ixgbe->tx_recycle_thresh) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
183
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
191
if (tx_ring->tbd_free < ixgbe->tx_overload_thresh) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
192
tx_ring->reschedule = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
193
tx_ring->stat_overload++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
230
ret = ixgbe_tx_copy(tx_ring, &tcb, &pending_list,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
242
tx_ring->stat_lso_header_fail++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
296
ret = ixgbe_tx_bind(tx_ring, &tcb, &pending_list, rptr,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
299
ret = ixgbe_tx_copy(tx_ring, &tcb, &pending_list, rptr,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
329
tx_ring->stat_break_tbd_limit++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
332
ixgbe_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
338
tx_ring->reschedule = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
354
if (tx_ring->tbd_free <= (desc_total + 1)) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
355
tx_ring->tx_recycle(tx_ring);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
358
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
367
if (tx_ring->tbd_free <= (desc_total + 1)) {
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
368
tx_ring->stat_fail_no_tbd++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
369
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
381
desc_num = ixgbe_tx_fill_ring(tx_ring, &pending_list, ctx,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
386
tx_ring->stat_obytes += mbsize;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
387
tx_ring->stat_opackets++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
389
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
413
ixgbe_put_free_list(tx_ring, &pending_list);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
416
tx_ring->reschedule = B_TRUE;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
428
ixgbe_tx_copy(ixgbe_tx_ring_t *tx_ring, tx_control_block_t **tcbp,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
444
newtcb = ixgbe_get_free_list(tx_ring, pending_list);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
488
ixgbe_tx_bind(ixgbe_tx_ring_t *tx_ring, tx_control_block_t **tcbp,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
495
tcb = ixgbe_get_free_list(tx_ring, pending_list);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
508
tx_ring->stat_fail_dma_bind++;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
769
ixgbe_check_context(ixgbe_tx_ring_t *tx_ring, ixgbe_tx_context_t *ctx)
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
790
last = &tx_ring->tx_context;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
874
ixgbe_tx_fill_ring(ixgbe_tx_ring_t *tx_ring, link_list_t *pending_list,
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
877
struct ixgbe_hw *hw = &tx_ring->ixgbe->hw;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
885
ASSERT(mutex_owned(&tx_ring->tx_lock));
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
900
index = tx_ring->tbd_tail;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
901
tcb_index = tx_ring->tbd_tail;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
909
load_context = ixgbe_check_context(tx_ring, ctx);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
912
tbd = &tx_ring->tbd_ring[index];
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
921
index = NEXT_INDEX(index, 1, tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
928
tx_ring->tx_context = *ctx;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
932
first_tbd = &tx_ring->tbd_ring[index];
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
951
tbd = &tx_ring->tbd_ring[index];
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
961
index = NEXT_INDEX(index, 1, tx_ring->ring_size);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
968
ASSERT(tx_ring->work_list[tcb_index] == NULL);
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
969
tx_ring->work_list[tcb_index] = tcb;
usr/src/uts/common/io/ixgbe/ixgbe_tx.c
982
first_tcb->last_index = PREV_INDEX(index, 1, tx_ring->ring_size);
usr/src/uts/common/io/mac/mac.c
5058
mac_ring_t *tx_ring = tx->st_arg2;
usr/src/uts/common/io/mac/mac.c
5062
mac_tx_srs_add_ring(mac_srs, tx_ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
3879
mac_tx_srs_add_ring(mac_soft_ring_set_t *mac_srs, mac_ring_t *tx_ring)
usr/src/uts/common/io/mac/mac_datapath_setup.c
3888
ring_info = mac_hwring_getinfo((mac_ring_handle_t)tx_ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
3892
maxclsyspri, mcip, mac_srs, -1, tx_ring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
3943
mac_tx_srs_del_ring(mac_soft_ring_set_t *mac_srs, mac_ring_t *tx_ring)
usr/src/uts/common/io/mac/mac_datapath_setup.c
3952
if (soft_ring->s_ring_tx_arg2 == tx_ring)
usr/src/uts/common/io/mac/mac_datapath_setup.c
3966
ASSERT(tx->st_soft_rings[tx_ring->mr_index] == remove_sring);
usr/src/uts/common/io/mac/mac_datapath_setup.c
3967
tx->st_soft_rings[tx_ring->mr_index] = NULL;
usr/src/uts/common/io/mac/mac_sched.c
4545
mac_tx_srs_ring_present(mac_soft_ring_set_t *srs, mac_ring_t *tx_ring)
usr/src/uts/common/io/mac/mac_sched.c
4550
if (srs->srs_tx.st_arg2 == tx_ring)
usr/src/uts/common/io/mac/mac_sched.c
4555
if (soft_ring->s_ring_tx_arg2 == tx_ring)
usr/src/uts/common/io/mac/mac_sched.c
4568
mac_tx_srs_get_soft_ring(mac_soft_ring_set_t *srs, mac_ring_t *tx_ring)
usr/src/uts/common/io/mac/mac_sched.c
4573
if (srs->srs_tx.st_arg2 == tx_ring)
usr/src/uts/common/io/mac/mac_sched.c
4578
if (soft_ring->s_ring_tx_arg2 == tx_ring)
usr/src/uts/common/io/qede/qede.h
1036
qede_bar2_write32_tx_doorbell(qede_tx_ring_t *tx_ring, u32 val);
usr/src/uts/common/io/qede/qede.h
183
#define TX_RING_MASK (tx_ring->tx_ring_size - 1)
usr/src/uts/common/io/qede/qede.h
379
qede_tx_ring_t *tx_ring[MAX_TC];
usr/src/uts/common/io/qede/qede_dbg.c
258
qede_print_tx_ring(qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_fp.c
1006
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
1007
if (ecore_chain_get_elem_left(&tx_ring->tx_bd_ring)<
usr/src/uts/common/io/qede/qede_fp.c
1009
tx_ring->tx_q_sleeping = 1;
usr/src/uts/common/io/qede/qede_fp.c
101
hw_consumer, chain_idx, tx_ring->sw_tx_prod);
usr/src/uts/common/io/qede/qede_fp.c
1010
qede_put_bcopy_pkt(tx_ring, bcopy_pkt);
usr/src/uts/common/io/qede/qede_fp.c
1011
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
1014
__func__, tx_ring->qede->instance);
usr/src/uts/common/io/qede/qede_fp.c
1019
first_bd = ecore_chain_produce(&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_fp.c
1043
tx_ring->tx_db.data.bd_prod =
usr/src/uts/common/io/qede/qede_fp.c
1044
HOST_TO_LE_16(ecore_chain_get_prod_idx(&tx_ring->tx_bd_ring));
usr/src/uts/common/io/qede/qede_fp.c
1046
tx_ring->tx_recycle_list[tx_ring->sw_tx_prod].bcopy_pkt = bcopy_pkt;
usr/src/uts/common/io/qede/qede_fp.c
1047
tx_ring->tx_recycle_list[tx_ring->sw_tx_prod].dmah_entry = NULL;
usr/src/uts/common/io/qede/qede_fp.c
1049
tx_ring->sw_tx_prod++;
usr/src/uts/common/io/qede/qede_fp.c
1050
tx_ring->sw_tx_prod &= TX_RING_MASK;
usr/src/uts/common/io/qede/qede_fp.c
1052
(void) ddi_dma_sync(tx_ring->tx_bd_dmah,
usr/src/uts/common/io/qede/qede_fp.c
1056
QEDE_DOORBELL_WR(tx_ring, tx_ring->tx_db.raw);
usr/src/uts/common/io/qede/qede_fp.c
1057
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
1069
qede_tx_mapped(qede_tx_ring_t *tx_ring, mblk_t *mp, qede_tx_pktinfo_t *pktinfo)
usr/src/uts/common/io/qede/qede_fp.c
1091
qede_tx_recycle_list_t *tx_recycle_list = tx_ring->tx_recycle_list;
usr/src/uts/common/io/qede/qede_fp.c
1123
qede_info(tx_ring->qede, "mp is premapped");
usr/src/uts/common/io/qede/qede_fp.c
1125
tx_ring->tx_premap_count++;
usr/src/uts/common/io/qede/qede_fp.c
1126
ret = dblk_dma_info_get(tx_ring->pm_handle,
usr/src/uts/common/io/qede/qede_fp.c
1136
tx_ring->tx_premap_fail++;
usr/src/uts/common/io/qede/qede_fp.c
1142
dmah_entry = qede_get_dmah_entry(tx_ring);
usr/src/uts/common/io/qede/qede_fp.c
1144
qede_info(tx_ring->qede, "dmah_entry NULL, "
usr/src/uts/common/io/qede/qede_fp.c
1157
qede_info(tx_ring->qede, "addr_bind() failed for "
usr/src/uts/common/io/qede/qede_fp.c
1163
qede_info(tx_ring->qede, "Falling back to pullup");
usr/src/uts/common/io/qede/qede_fp.c
1166
tx_ring->tx_bind_fail++;
usr/src/uts/common/io/qede/qede_fp.c
1169
tx_ring->tx_bind_count++;
usr/src/uts/common/io/qede/qede_fp.c
1191
tx_ring->tx_too_many_cookies++;
usr/src/uts/common/io/qede/qede_fp.c
1193
qede_info(tx_ring->qede,
usr/src/uts/common/io/qede/qede_fp.c
1227
tx_ring->tx_too_many_cookies++;
usr/src/uts/common/io/qede/qede_fp.c
123
qede_process_tx_completions(qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_fp.c
1288
qede_info(tx_ring->qede,
usr/src/uts/common/io/qede/qede_fp.c
129
u16 nbd, sw_consumer = tx_ring->sw_tx_cons;
usr/src/uts/common/io/qede/qede_fp.c
1333
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
1339
if (ecore_chain_get_elem_left(&tx_ring->tx_bd_ring) <
usr/src/uts/common/io/qede/qede_fp.c
1341
tx_ring->tx_q_sleeping = 1;
usr/src/uts/common/io/qede/qede_fp.c
1344
qede_info(tx_ring->qede, "Pausing tx queue...");
usr/src/uts/common/io/qede/qede_fp.c
1346
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
1352
tx_data_bd = ecore_chain_produce(&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_fp.c
1356
last_producer = tx_ring->sw_tx_prod;
usr/src/uts/common/io/qede/qede_fp.c
1358
tx_ring->tx_recycle_list[tx_ring->sw_tx_prod].dmah_entry = head;
usr/src/uts/common/io/qede/qede_fp.c
1359
tx_ring->tx_recycle_list[tx_ring->sw_tx_prod].bcopy_pkt = NULL;
usr/src/uts/common/io/qede/qede_fp.c
136
hw_consumer = LE_16(*tx_ring->hw_cons_ptr);
usr/src/uts/common/io/qede/qede_fp.c
1360
tx_ring->sw_tx_prod = (tx_ring->sw_tx_prod + 1) & TX_RING_MASK;
usr/src/uts/common/io/qede/qede_fp.c
1362
tx_ring->tx_db.data.bd_prod =
usr/src/uts/common/io/qede/qede_fp.c
1363
HOST_TO_LE_16(ecore_chain_get_prod_idx(&tx_ring->tx_bd_ring));
usr/src/uts/common/io/qede/qede_fp.c
1366
qede_desc_dma_mem_sync(&tx_ring->tx_bd_dmah,
usr/src/uts/common/io/qede/qede_fp.c
1368
tx_ring->tx_ring_size,
usr/src/uts/common/io/qede/qede_fp.c
137
chain_idx = ecore_chain_get_cons_idx(&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_fp.c
1375
QEDE_DOORBELL_WR(tx_ring, tx_ring->tx_db.raw);
usr/src/uts/common/io/qede/qede_fp.c
1377
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
1401
qede_put_dmah_entries(tx_ring, head);
usr/src/uts/common/io/qede/qede_fp.c
1408
qede_send_tx_packet(qede_t *qede, qede_tx_ring_t *tx_ring, mblk_t *mp)
usr/src/uts/common/io/qede/qede_fp.c
1417
mutex_enter(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
1418
if (ecore_chain_get_elem_left(&tx_ring->tx_bd_ring) <
usr/src/uts/common/io/qede/qede_fp.c
1423
if (qede_process_tx_completions(tx_ring) <
usr/src/uts/common/io/qede/qede_fp.c
1429
tx_ring->tx_q_sleeping = 1;
usr/src/uts/common/io/qede/qede_fp.c
1430
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
1435
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
144
recycle_entry = &tx_ring->tx_recycle_list[sw_consumer];
usr/src/uts/common/io/qede/qede_fp.c
1445
tx_ring->tx_pullup_count++;
usr/src/uts/common/io/qede/qede_fp.c
1467
qede_info(tx_ring->qede, "Pullup failed");
usr/src/uts/common/io/qede/qede_fp.c
1479
qede_info(tx_ring->qede,
usr/src/uts/common/io/qede/qede_fp.c
1542
tx_ring->tx_too_many_mblks++;
usr/src/uts/common/io/qede/qede_fp.c
1567
status = qede_tx_mapped(tx_ring, mp, &pktinfo);
usr/src/uts/common/io/qede/qede_fp.c
1570
tx_ring->tx_lso_pkt_count++;
usr/src/uts/common/io/qede/qede_fp.c
1572
tx_ring->tx_jumbo_pkt_count++;
usr/src/uts/common/io/qede/qede_fp.c
1574
tx_ring->tx_mapped_pkts++;
usr/src/uts/common/io/qede/qede_fp.c
1586
status = qede_tx_bcopy(tx_ring, mp, &pktinfo);
usr/src/uts/common/io/qede/qede_fp.c
1588
tx_ring->tx_copy_count++;
usr/src/uts/common/io/qede/qede_fp.c
160
qede_put_dmah_entries(tx_ring,
usr/src/uts/common/io/qede/qede_fp.c
1600
tx_ring->tx_pullup_count++;
usr/src/uts/common/io/qede/qede_fp.c
1617
tx_ring->tx_byte_count += pktinfo.total_len;
usr/src/uts/common/io/qede/qede_fp.c
166
qede_put_bcopy_pkt(tx_ring, bcopy_pkt);
usr/src/uts/common/io/qede/qede_fp.c
169
qede_warn(tx_ring->qede,
usr/src/uts/common/io/qede/qede_fp.c
178
&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_fp.c
1817
qede_tx_ring_t *tx_ring = fp->tx_ring[0];
usr/src/uts/common/io/qede/qede_fp.c
1819
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_fp.c
1829
if (!fp || !tx_ring) {
usr/src/uts/common/io/qede/qede_fp.c
1831
__func__, fp, tx_ring);
usr/src/uts/common/io/qede/qede_fp.c
184
ecore_chain_consume(&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_fp.c
1855
tx_ring = fp->tx_ring[0];
usr/src/uts/common/io/qede/qede_fp.c
1867
status = qede_send_tx_packet(qede, tx_ring, mp);
usr/src/uts/common/io/qede/qede_fp.c
1869
tx_ring->tx_pkt_count++;
usr/src/uts/common/io/qede/qede_fp.c
187
chain_idx = ecore_chain_get_cons_idx(&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_fp.c
1872
tx_ring->tx_ring_pause++;
usr/src/uts/common/io/qede/qede_fp.c
1882
tx_ring->tx_pkt_dropped++;
usr/src/uts/common/io/qede/qede_fp.c
191
tx_ring->sw_tx_cons = sw_consumer;
usr/src/uts/common/io/qede/qede_fp.c
193
if (count && tx_ring->tx_q_sleeping) {
usr/src/uts/common/io/qede/qede_fp.c
194
tx_ring->tx_q_sleeping = 0;
usr/src/uts/common/io/qede/qede_fp.c
196
RESUME_TX(tx_ring);
usr/src/uts/common/io/qede/qede_fp.c
198
mac_tx_update(tx_ring->qede->mac_handle);
usr/src/uts/common/io/qede/qede_fp.c
206
qede_has_tx_work(qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_fp.c
208
u16 hw_bd_cons = LE_16(*tx_ring->hw_cons_ptr);
usr/src/uts/common/io/qede/qede_fp.c
209
u16 sw_bd_cons = ecore_chain_get_cons_idx(&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_fp.c
30
qede_get_dmah_entry(qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_fp.c
32
qede_dma_handles_list_t *list = &tx_ring->dmah_list;
usr/src/uts/common/io/qede/qede_fp.c
45
qede_put_dmah_entries(qede_tx_ring_t *tx_ring, qede_dma_handle_entry_t *dmah)
usr/src/uts/common/io/qede/qede_fp.c
47
qede_dma_handles_list_t *list = &tx_ring->dmah_list;
usr/src/uts/common/io/qede/qede_fp.c
68
qede_get_bcopy_pkt(qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_fp.c
70
qede_tx_bcopy_list_t *list = &tx_ring->bcopy_list;
usr/src/uts/common/io/qede/qede_fp.c
804
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_fp.c
811
tx_ring = fp->tx_ring[i];
usr/src/uts/common/io/qede/qede_fp.c
812
if (qede_has_tx_work(tx_ring)) {
usr/src/uts/common/io/qede/qede_fp.c
814
if (mutex_tryenter(&tx_ring->tx_lock) != 0) {
usr/src/uts/common/io/qede/qede_fp.c
816
qede_process_tx_completions(tx_ring);
usr/src/uts/common/io/qede/qede_fp.c
817
mutex_exit(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_fp.c
83
qede_put_bcopy_pkt(qede_tx_ring_t *tx_ring, qede_tx_bcopy_pkt_t *pkt)
usr/src/uts/common/io/qede/qede_fp.c
85
qede_tx_bcopy_list_t *list = &tx_ring->bcopy_list;
usr/src/uts/common/io/qede/qede_fp.c
94
qede_print_tx_indexes(qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_fp.c
96
uint16_t hw_consumer = LE_16(*tx_ring->hw_cons_ptr);
usr/src/uts/common/io/qede/qede_fp.c
969
qede_tx_bcopy(qede_tx_ring_t *tx_ring, mblk_t *mp, qede_tx_pktinfo_t *pktinfo)
usr/src/uts/common/io/qede/qede_fp.c
97
uint16_t chain_idx = ecore_chain_get_cons_idx(&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_fp.c
974
u16 last_producer = tx_ring->sw_tx_prod;
usr/src/uts/common/io/qede/qede_fp.c
979
bcopy_pkt = qede_get_bcopy_pkt(tx_ring);
usr/src/uts/common/io/qede/qede_fp.c
982
__func__, tx_ring->qede->instance);
usr/src/uts/common/io/qede/qede_fp.h
46
#define RESUME_TX(tx_ring) mac_tx_ring_update(tx_ring->qede->mac_handle, \
usr/src/uts/common/io/qede/qede_fp.h
47
tx_ring->mac_ring_handle)
usr/src/uts/common/io/qede/qede_gld.c
233
qede_tx_ring_t *tx_ring = fp->tx_ring[0];
usr/src/uts/common/io/qede/qede_gld.c
242
*val = tx_ring->tx_byte_count;
usr/src/uts/common/io/qede/qede_gld.c
246
*val = tx_ring->tx_pkt_count;
usr/src/uts/common/io/qede/qede_gld.c
488
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_gld.c
495
tx_ring = fp->tx_ring[0];
usr/src/uts/common/io/qede/qede_gld.c
496
tx_ring->mac_ring_handle = rh;
usr/src/uts/common/io/qede/qede_gld.c
498
tx_ring->tx_queue_index, rh);
usr/src/uts/common/io/qede/qede_gld.c
691
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_kstat.c
261
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_kstat.c
337
tx_ring = fp->tx_ring[j];
usr/src/uts/common/io/qede/qede_kstat.c
338
qede->txTotalPkts += tx_ring->tx_pkt_count;
usr/src/uts/common/io/qede/qede_kstat.c
339
qede->txTotalBytes += tx_ring->tx_byte_count;
usr/src/uts/common/io/qede/qede_kstat.c
340
qede->txTotalDiscards += tx_ring->tx_pkt_dropped;
usr/src/uts/common/io/qede/qede_kstat.c
706
qede_tx_ring_t *tx_ring = &qede->tx_array[0][idx];
usr/src/uts/common/io/qede/qede_kstat.c
721
ecore_chain_get_elem_left(&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_kstat.c
723
ECORE_CHAIN_PAGE_CNT(tx_ring->bd_ring_size,
usr/src/uts/common/io/qede/qede_kstat.c
728
(tx_ring->hw_cons_ptr != NULL) ?
usr/src/uts/common/io/qede/qede_kstat.c
729
HOST_TO_LE_16(*tx_ring->hw_cons_ptr) & TX_RING_MASK : 0;
usr/src/uts/common/io/qede/qede_kstat.c
731
ecore_chain_get_prod_idx(&tx_ring->tx_bd_ring) & TX_RING_MASK;
usr/src/uts/common/io/qede/qede_kstat.c
733
ecore_chain_get_cons_idx(&tx_ring->tx_bd_ring) & TX_RING_MASK;
usr/src/uts/common/io/qede/qede_kstat.c
735
tx_ring->tx_ring_pause;
usr/src/uts/common/io/qede/qede_kstat.c
736
pStats->txDropPkts.value.ui64 = tx_ring->tx_pkt_dropped;
usr/src/uts/common/io/qede/qede_kstat.c
737
pStats->txCopyPkts.value.ui64 = tx_ring->tx_copy_count;
usr/src/uts/common/io/qede/qede_kstat.c
738
pStats->txBind.value.ui64 = tx_ring->tx_bind_count;
usr/src/uts/common/io/qede/qede_kstat.c
739
pStats->txBindFail.value.ui64 = tx_ring->tx_bind_fail;
usr/src/uts/common/io/qede/qede_kstat.c
740
pStats->txPremapped.value.ui64 = tx_ring->tx_premap_count;
usr/src/uts/common/io/qede/qede_kstat.c
741
pStats->txPremappedFail.value.ui64 = tx_ring->tx_premap_fail;
usr/src/uts/common/io/qede/qede_kstat.c
742
pStats->txTooManyCookies.value.ui64 = tx_ring->tx_too_many_cookies;
usr/src/uts/common/io/qede/qede_kstat.c
743
pStats->txPullupPkts.value.ui64 = tx_ring->tx_pullup_count;
usr/src/uts/common/io/qede/qede_kstat.c
744
pStats->txLsoPkts.value.ui64 = tx_ring->tx_lso_pkt_count;
usr/src/uts/common/io/qede/qede_kstat.c
745
pStats->txTooManyMblks.value.ui64 = tx_ring->tx_too_many_mblks;
usr/src/uts/common/io/qede/qede_kstat.c
746
pStats->txMappedPkts.value.ui64 = tx_ring->tx_mapped_pkts;
usr/src/uts/common/io/qede/qede_kstat.c
747
pStats->txRingTotalPkts.value.ui64 = tx_ring->tx_pkt_count;
usr/src/uts/common/io/qede/qede_kstat.c
748
pStats->txRingTotalBytes.value.ui64 = tx_ring->tx_byte_count;
usr/src/uts/common/io/qede/qede_kstat.c
749
pStats->txJumboPkts.value.ui64 = tx_ring->tx_jumbo_pkt_count;
usr/src/uts/common/io/qede/qede_main.c
1613
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
1632
tx_ring = fp->tx_ring[j];
usr/src/uts/common/io/qede/qede_main.c
1633
if (tx_ring->queue_started == B_TRUE) {
usr/src/uts/common/io/qede/qede_main.c
1636
p_tx_cid = tx_ring->p_cid;
usr/src/uts/common/io/qede/qede_main.c
1644
tx_ring->queue_started = B_FALSE;
usr/src/uts/common/io/qede/qede_main.c
1692
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
1746
tx_ring = fp->tx_ring[j];
usr/src/uts/common/io/qede/qede_main.c
1749
params.queue_id = tx_ring->tx_queue_index;
usr/src/uts/common/io/qede/qede_main.c
1755
&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_main.c
1757
&tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_main.c
1765
tx_ring->doorbell_addr = tx_ret_params.p_doorbell;
usr/src/uts/common/io/qede/qede_main.c
1766
tx_ring->p_cid = tx_ret_params.p_handle;
usr/src/uts/common/io/qede/qede_main.c
1772
tx_ring->hw_cons_ptr =
usr/src/uts/common/io/qede/qede_main.c
1775
SET_FIELD(tx_ring->tx_db.data.params,
usr/src/uts/common/io/qede/qede_main.c
1778
SET_FIELD(tx_ring->tx_db.data.params,
usr/src/uts/common/io/qede/qede_main.c
1781
SET_FIELD(tx_ring->tx_db.data.params,
usr/src/uts/common/io/qede/qede_main.c
1783
tx_ring->tx_db.data.agg_flags = DQ_XCM_ETH_DQ_CF_CMD;
usr/src/uts/common/io/qede/qede_main.c
1784
tx_ring->queue_started = B_TRUE;
usr/src/uts/common/io/qede/qede_main.c
2442
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
2448
tx_ring = fp->tx_ring[i];
usr/src/uts/common/io/qede/qede_main.c
2450
if (tx_ring->tx_bd_ring.p_virt_addr) {
usr/src/uts/common/io/qede/qede_main.c
2451
ecore_chain_free(&qede->edev, &tx_ring->tx_bd_ring);
usr/src/uts/common/io/qede/qede_main.c
2452
tx_ring->tx_bd_ring.p_virt_addr = NULL;
usr/src/uts/common/io/qede/qede_main.c
2454
tx_ring->hw_cons_ptr = NULL;
usr/src/uts/common/io/qede/qede_main.c
2455
tx_ring->sw_tx_cons = 0;
usr/src/uts/common/io/qede/qede_main.c
2456
tx_ring->sw_tx_prod = 0;
usr/src/uts/common/io/qede/qede_main.c
2462
qede_alloc_tx_bd_ring(qede_t *qede, qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_main.c
2470
tx_ring->bd_ring_size,
usr/src/uts/common/io/qede/qede_main.c
2472
&tx_ring->tx_bd_ring,
usr/src/uts/common/io/qede/qede_main.c
2486
qede_free_tx_bcopy_buffers(qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_main.c
2491
for (i = 0; i < tx_ring->tx_ring_size; i++) {
usr/src/uts/common/io/qede/qede_main.c
2492
bcopy_pkt = &tx_ring->bcopy_list.bcopy_pool[i];
usr/src/uts/common/io/qede/qede_main.c
2510
if (tx_ring->bcopy_list.bcopy_pool != NULL) {
usr/src/uts/common/io/qede/qede_main.c
2511
kmem_free(tx_ring->bcopy_list.bcopy_pool,
usr/src/uts/common/io/qede/qede_main.c
2512
tx_ring->bcopy_list.size);
usr/src/uts/common/io/qede/qede_main.c
2513
tx_ring->bcopy_list.bcopy_pool = NULL;
usr/src/uts/common/io/qede/qede_main.c
2516
mutex_destroy(&tx_ring->bcopy_list.lock);
usr/src/uts/common/io/qede/qede_main.c
2520
qede_alloc_tx_bcopy_buffers(qede_t *qede, qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_main.c
2551
tx_ring->bcopy_list.size = size;
usr/src/uts/common/io/qede/qede_main.c
2552
tx_ring->bcopy_list.bcopy_pool = bcopy_list;
usr/src/uts/common/io/qede/qede_main.c
2555
tx_ring->bcopy_list.head = 0;
usr/src/uts/common/io/qede/qede_main.c
2556
tx_ring->bcopy_list.tail = 0;
usr/src/uts/common/io/qede/qede_main.c
2557
mutex_init(&tx_ring->bcopy_list.lock, NULL, MUTEX_DRIVER, 0);
usr/src/uts/common/io/qede/qede_main.c
2581
tx_ring->bcopy_list.free_list[i] = bcopy_pkt;
usr/src/uts/common/io/qede/qede_main.c
2590
qede_free_tx_dma_handles(qede_t *qede, qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_main.c
2595
for (i = 0; i < tx_ring->tx_ring_size; i++) {
usr/src/uts/common/io/qede/qede_main.c
2596
dmah_entry = &tx_ring->dmah_list.dmah_pool[i];
usr/src/uts/common/io/qede/qede_main.c
2608
if (tx_ring->dmah_list.dmah_pool != NULL) {
usr/src/uts/common/io/qede/qede_main.c
2609
kmem_free(tx_ring->dmah_list.dmah_pool,
usr/src/uts/common/io/qede/qede_main.c
2610
tx_ring->dmah_list.size);
usr/src/uts/common/io/qede/qede_main.c
2611
tx_ring->dmah_list.dmah_pool = NULL;
usr/src/uts/common/io/qede/qede_main.c
2614
mutex_destroy(&tx_ring->dmah_list.lock);
usr/src/uts/common/io/qede/qede_main.c
2618
qede_alloc_tx_dma_handles(qede_t *qede, qede_tx_ring_t *tx_ring)
usr/src/uts/common/io/qede/qede_main.c
2635
tx_ring->dmah_list.size = size;
usr/src/uts/common/io/qede/qede_main.c
2636
tx_ring->dmah_list.dmah_pool = dmah_list;
usr/src/uts/common/io/qede/qede_main.c
2639
tx_ring->dmah_list.head = 0;
usr/src/uts/common/io/qede/qede_main.c
2640
tx_ring->dmah_list.tail = 0;
usr/src/uts/common/io/qede/qede_main.c
2641
mutex_init(&tx_ring->dmah_list.lock, NULL, MUTEX_DRIVER, 0);
usr/src/uts/common/io/qede/qede_main.c
2661
tx_ring->dmah_list.free_list[i] = dmah_entry;
usr/src/uts/common/io/qede/qede_main.c
2672
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
2681
tx_ring = fp->tx_ring[i];
usr/src/uts/common/io/qede/qede_main.c
2682
tx_ring->bd_ring_size = qede->tx_ring_size;
usr/src/uts/common/io/qede/qede_main.c
2687
ret = qede_alloc_tx_bd_ring(qede, tx_ring);
usr/src/uts/common/io/qede/qede_main.c
2697
ret = qede_alloc_tx_bcopy_buffers(qede, tx_ring);
usr/src/uts/common/io/qede/qede_main.c
2709
ret = qede_alloc_tx_dma_handles(qede, tx_ring);
usr/src/uts/common/io/qede/qede_main.c
2729
tx_ring->tx_recycle_list = recycle_list;
usr/src/uts/common/io/qede/qede_main.c
2804
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
2808
tx_ring = fp->tx_ring[i];
usr/src/uts/common/io/qede/qede_main.c
2809
qede_free_tx_dma_handles(qede, tx_ring);
usr/src/uts/common/io/qede/qede_main.c
2810
qede_free_tx_bcopy_buffers(tx_ring);
usr/src/uts/common/io/qede/qede_main.c
2813
if (tx_ring->tx_recycle_list) {
usr/src/uts/common/io/qede/qede_main.c
2814
kmem_free(tx_ring->tx_recycle_list,
usr/src/uts/common/io/qede/qede_main.c
2845
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
2883
tx_ring = fp->tx_ring[i];
usr/src/uts/common/io/qede/qede_main.c
2886
(void *)tx_ring->tx_bd_ring.p_phys_addr,
usr/src/uts/common/io/qede/qede_main.c
2887
&tx_ring->tx_bd_dmah);
usr/src/uts/common/io/qede/qede_main.c
2892
tx_ring->tx_bd_ring.p_phys_addr);
usr/src/uts/common/io/qede/qede_main.c
2897
(void *)tx_ring->tx_bd_ring.pbl_sp.p_phys_table,
usr/src/uts/common/io/qede/qede_main.c
2898
&tx_ring->tx_pbl_dmah);
usr/src/uts/common/io/qede/qede_main.c
2902
tx_ring->tx_bd_ring.pbl_sp.p_phys_table);
usr/src/uts/common/io/qede/qede_main.c
2951
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
2962
tx_ring = &qede->tx_array[0][0];
usr/src/uts/common/io/qede/qede_main.c
3001
tx_ring = &qede->tx_array[j][i];
usr/src/uts/common/io/qede/qede_main.c
3002
fp->tx_ring[j] = tx_ring;
usr/src/uts/common/io/qede/qede_main.c
3003
tx_ring->qede = qede;
usr/src/uts/common/io/qede/qede_main.c
3004
tx_ring->fp = fp;
usr/src/uts/common/io/qede/qede_main.c
3005
tx_ring->fp_idx = i;
usr/src/uts/common/io/qede/qede_main.c
3006
tx_ring->tx_queue_index = i * qede->num_fp +
usr/src/uts/common/io/qede/qede_main.c
3008
tx_ring->tx_buf_size = qede->tx_buf_size;
usr/src/uts/common/io/qede/qede_main.c
3009
tx_ring->tx_ring_size = qede->tx_ring_size;
usr/src/uts/common/io/qede/qede_main.c
3010
tx_ring->queue_started = B_FALSE;
usr/src/uts/common/io/qede/qede_main.c
3012
tx_ring->pm_handle = qede->pm_handle;
usr/src/uts/common/io/qede/qede_main.c
3015
tx_ring->doorbell_addr =
usr/src/uts/common/io/qede/qede_main.c
3017
tx_ring->doorbell_handle =
usr/src/uts/common/io/qede/qede_main.c
318
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
332
tx_ring = fp->tx_ring[j];
usr/src/uts/common/io/qede/qede_main.c
333
mutex_destroy(&tx_ring->tx_lock);
usr/src/uts/common/io/qede/qede_main.c
346
qede_tx_ring_t *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
365
tx_ring = fp->tx_ring[tc];
usr/src/uts/common/io/qede/qede_main.c
366
mutex_init(&tx_ring->tx_lock, NULL,
usr/src/uts/common/io/qede/qede_main.c
387
qede_tx_ring_t *tx_array, *tx_ring;
usr/src/uts/common/io/qede/qede_main.c
400
tx_ring = &tx_array[i];
usr/src/uts/common/io/qede/qede_main.c
401
fp->tx_ring[tc] = tx_ring;
usr/src/uts/common/io/qede/qede_main.c
518
qede_bar2_write32_tx_doorbell(qede_tx_ring_t *tx_ring, u32 val)
usr/src/uts/common/io/qede/qede_main.c
520
u64 addr = (u64)tx_ring->doorbell_addr;
usr/src/uts/common/io/qede/qede_main.c
521
ddi_put32(tx_ring->doorbell_handle, (u32 *)addr, val);
usr/src/uts/common/io/rge/rge.h
439
rge_bd_t *tx_ring;
usr/src/uts/common/io/rge/rge_main.c
317
bdp = rgep->tx_ring;
usr/src/uts/common/io/rge/rge_main.c
488
rgep->tx_ring = rgep->tx_desc.mem_va;
usr/src/uts/common/io/rge/rge_rxtx.c
411
hw_sbd_p = &rgep->tx_ring[tc_tail];
usr/src/uts/common/io/rge/rge_rxtx.c
536
hw_sbd_p = &rgep->tx_ring[slot];
usr/src/uts/common/io/sfe/sfe.c
1139
tdp = (void *)&dp->tx_ring[SFE_DESC_SIZE * slot];
usr/src/uts/common/io/sfe/sfe.c
1161
tdp = (void *)&dp->tx_ring[SFE_DESC_SIZE * start_slot];
usr/src/uts/common/io/sfe/sfe.c
1217
&dp->tx_ring[SFE_DESC_SIZE * SLOT(slot + ndesc - 1, tx_ring_size)];
usr/src/uts/common/io/sfe/sfe.c
1266
&dp->tx_ring[SFE_DESC_SIZE * n]))->d_cmdsts);
usr/src/uts/common/io/sfe/sfe.c
1412
tdp = (void *)&dp->tx_ring[SFE_DESC_SIZE * slot];
usr/src/uts/common/io/sfe/sfe.c
1421
&dp->tx_ring[SFE_DESC_SIZE * SLOT(slot - 1, tx_ring_size)];
usr/src/uts/common/io/sfe/sfe.c
1450
tdp = (void *)&dp->tx_ring[SFE_DESC_SIZE * slot];
usr/src/uts/common/io/sfe/sfe_util.c
674
dp->tx_ring = dp->rx_ring + dp->rx_desc_size;
usr/src/uts/common/io/sfe/sfe_util.c
678
dp->io_area = dp->tx_ring + dp->tx_desc_size;
usr/src/uts/common/io/sfe/sfe_util.h
204
caddr_t tx_ring;
usr/src/uts/common/io/xge/drv/xgell.c
1475
xgell_tx_ring_t *tx_ring;
usr/src/uts/common/io/xge/drv/xgell.c
1481
tx_ring = lldev->tx_ring + index;
usr/src/uts/common/io/xge/drv/xgell.c
1482
tx_ring->ring_handle = rh;
usr/src/uts/common/io/xge/drv/xgell.c
1484
infop->mri_driver = (mac_ring_driver_t)tx_ring;
usr/src/uts/common/io/xge/drv/xgell.c
1750
xgell_tx_ring_open(xgell_tx_ring_t *tx_ring)
usr/src/uts/common/io/xge/drv/xgell.c
1754
xgelldev_t *lldev = tx_ring->lldev;
usr/src/uts/common/io/xge/drv/xgell.c
1756
if (tx_ring->live)
usr/src/uts/common/io/xge/drv/xgell.c
1759
attr.post_qid = tx_ring->index;
usr/src/uts/common/io/xge/drv/xgell.c
1767
attr.userdata = tx_ring;
usr/src/uts/common/io/xge/drv/xgell.c
1769
status = xge_hal_channel_open(lldev->devh, &attr, &tx_ring->channelh,
usr/src/uts/common/io/xge/drv/xgell.c
1777
tx_ring->live = B_TRUE;
usr/src/uts/common/io/xge/drv/xgell.c
1783
xgell_tx_ring_close(xgell_tx_ring_t *tx_ring)
usr/src/uts/common/io/xge/drv/xgell.c
1785
if (!tx_ring->live)
usr/src/uts/common/io/xge/drv/xgell.c
1787
xge_hal_channel_close(tx_ring->channelh, XGE_HAL_CHANNEL_OC_NORMAL);
usr/src/uts/common/io/xge/drv/xgell.c
1788
tx_ring->live = B_FALSE;
usr/src/uts/common/io/xge/drv/xgell.c
1800
xgell_tx_ring_t *tx_ring;
usr/src/uts/common/io/xge/drv/xgell.c
1812
tx_ring = &lldev->tx_ring[i];
usr/src/uts/common/io/xge/drv/xgell.c
1813
tx_ring->index = i;
usr/src/uts/common/io/xge/drv/xgell.c
1814
tx_ring->lldev = lldev;
usr/src/uts/common/io/xge/drv/xgell.c
1815
tx_ring->live = B_FALSE;
usr/src/uts/common/io/xge/drv/xgell.c
1817
if (!xgell_tx_ring_open(tx_ring))
usr/src/uts/common/io/xge/drv/xgell.c
1829
xgell_tx_ring_t *tx_ring;
usr/src/uts/common/io/xge/drv/xgell.c
1839
tx_ring = &lldev->tx_ring[i];
usr/src/uts/common/io/xge/drv/xgell.c
1840
if (tx_ring->live) {
usr/src/uts/common/io/xge/drv/xgell.c
1841
xgell_tx_ring_close(tx_ring);
usr/src/uts/common/io/xge/drv/xgell.c
2299
xgell_tx_ring_t *tx_ring = (xgell_tx_ring_t *)rh;
usr/src/uts/common/io/xge/drv/xgell.c
2303
*val = tx_ring->tx_bytes;
usr/src/uts/common/io/xge/drv/xgell.c
2307
*val = tx_ring->tx_pkts;
usr/src/uts/common/io/xge/drv/xgell.h
371
xgell_tx_ring_t tx_ring[XGELL_TX_RING_NUM_DEFAULT];
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
190
#define RESUME_TX(tx_ring) mac_tx_update(tx_ring->qlge->mh);
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
800
struct tx_ring tx_ring[MAX_TX_RINGS];
usr/src/uts/common/sys/fibre-channel/fca/qlge/qlge.h
865
extern int ql_send_common(struct tx_ring *, mblk_t *);
usr/src/uts/sun/io/eri/eri.c
1877
uint64_t tx_ring;
usr/src/uts/sun/io/eri/eri.c
1883
tx_ring = ERI_IOPBIOADDR(erip, erip->eri_tmdp);
usr/src/uts/sun/io/eri/eri.c
1884
PUT_ETXREG(txring_lo, (uint32_t)(tx_ring));
usr/src/uts/sun/io/eri/eri.c
1885
PUT_ETXREG(txring_hi, (uint32_t)(tx_ring >> 32));