sys/arch/xen/xen/if_xennet_xenbus.c
285
netif_tx_sring_t *tx_ring;
sys/arch/xen/xen/if_xennet_xenbus.c
434
tx_ring = (void *)uvm_km_alloc(kernel_map, PAGE_SIZE, 0,
sys/arch/xen/xen/if_xennet_xenbus.c
438
if (tx_ring == NULL || rx_ring == NULL)
sys/arch/xen/xen/if_xennet_xenbus.c
441
sc->sc_tx_ring.sring = tx_ring;
sys/arch/xen/xen/if_xennet_xenbus.c
470
uvm_km_free(kernel_map, (vaddr_t)tx_ring, PAGE_SIZE,
sys/arch/xen/xen/if_xennet_xenbus.c
557
netif_tx_sring_t *tx_ring;
sys/arch/xen/xen/if_xennet_xenbus.c
571
tx_ring = sc->sc_tx_ring.sring;
sys/arch/xen/xen/if_xennet_xenbus.c
575
memset(tx_ring, 0, PAGE_SIZE);
sys/arch/xen/xen/if_xennet_xenbus.c
576
SHARED_RING_INIT(tx_ring);
sys/arch/xen/xen/if_xennet_xenbus.c
577
FRONT_RING_INIT(&sc->sc_tx_ring, tx_ring, PAGE_SIZE);
sys/arch/xen/xen/if_xennet_xenbus.c
583
(void)pmap_extract_ma(pmap_kernel(), (vaddr_t)tx_ring, &ma);
sys/arch/xen/xen/xennetback_xenbus.c
410
netif_tx_sring_t *tx_ring;
sys/arch/xen/xen/xennetback_xenbus.c
461
tx_ring = (void *)xneti->xni_tx_ring_va;
sys/arch/xen/xen/xennetback_xenbus.c
479
BACK_RING_INIT(&xneti->xni_txring, tx_ring, PAGE_SIZE);
sys/dev/pci/if_ena.c
1211
struct ena_ring *tx_ring = &adapter->tx_ring[qid];
sys/dev/pci/if_ena.c
1213
for (int i = 0; i < tx_ring->ring_size; i++) {
sys/dev/pci/if_ena.c
1214
struct ena_tx_buffer *tx_info = &tx_ring->tx_buffer_info[i];
sys/dev/pci/if_ena.c
1276
validate_tx_req_id(struct ena_ring *tx_ring, uint16_t req_id)
sys/dev/pci/if_ena.c
1278
struct ena_adapter *adapter = tx_ring->adapter;
sys/dev/pci/if_ena.c
1280
KASSERT(ENA_RING_MTX_OWNED(tx_ring));
sys/dev/pci/if_ena.c
1282
if (likely(req_id < tx_ring->ring_size)) {
sys/dev/pci/if_ena.c
1283
tx_info = &tx_ring->tx_buffer_info[req_id];
sys/dev/pci/if_ena.c
1294
counter_u64_add(tx_ring->tx_stats.bad_req_id, 1);
sys/dev/pci/if_ena.c
1324
ring = &adapter->tx_ring[i];
sys/dev/pci/if_ena.c
1391
ena_tx_cleanup(struct ena_ring *tx_ring)
sys/dev/pci/if_ena.c
1404
KASSERT(ENA_RING_MTX_OWNED(tx_ring));
sys/dev/pci/if_ena.c
1406
adapter = tx_ring->que->adapter;
sys/dev/pci/if_ena.c
1407
ena_qid = ENA_IO_TXQ_IDX(tx_ring->que->id);
sys/dev/pci/if_ena.c
1409
next_to_clean = tx_ring->next_to_clean;
sys/dev/pci/if_ena.c
1419
rc = validate_tx_req_id(tx_ring, req_id);
sys/dev/pci/if_ena.c
1423
tx_info = &tx_ring->tx_buffer_info[req_id];
sys/dev/pci/if_ena.c
1436
tx_ring->qid, mbuf);
sys/dev/pci/if_ena.c
1442
tx_ring->free_tx_ids[next_to_clean] = req_id;
sys/dev/pci/if_ena.c
1444
tx_ring->ring_size);
sys/dev/pci/if_ena.c
1449
tx_ring->next_to_clean = next_to_clean;
sys/dev/pci/if_ena.c
1461
tx_ring->qid, work_done);
sys/dev/pci/if_ena.c
1465
tx_ring->next_to_clean = next_to_clean;
sys/dev/pci/if_ena.c
1471
if (atomic_cas_uint(&tx_ring->task_pending, 0, 1) == 0)
sys/dev/pci/if_ena.c
1472
workqueue_enqueue(tx_ring->enqueue_tq, &tx_ring->enqueue_task, NULL);
sys/dev/pci/if_ena.c
179
static int ena_check_and_collapse_mbuf(struct ena_ring *tx_ring,
sys/dev/pci/if_ena.c
1866
struct ena_ring *tx_ring = que->tx_ring;
sys/dev/pci/if_ena.c
1899
ENA_RING_MTX_LOCK(tx_ring);
sys/dev/pci/if_ena.c
1900
if (tx_ring->stopping) {
sys/dev/pci/if_ena.c
1901
ENA_RING_MTX_UNLOCK(tx_ring);
sys/dev/pci/if_ena.c
1904
txc = ena_tx_cleanup(tx_ring);
sys/dev/pci/if_ena.c
1905
ENA_RING_MTX_UNLOCK(tx_ring);
sys/dev/pci/if_ena.c
2612
ring = adapter->que[i].tx_ring;
sys/dev/pci/if_ena.c
2765
ena_check_and_collapse_mbuf(struct ena_ring *tx_ring, struct mbuf **mbuf)
sys/dev/pci/if_ena.c
2771
adapter = tx_ring->adapter;
sys/dev/pci/if_ena.c
2777
counter_u64_add(tx_ring->tx_stats.collapse, 1);
sys/dev/pci/if_ena.c
2782
counter_u64_add(tx_ring->tx_stats.collapse_err, 1);
sys/dev/pci/if_ena.c
2793
ena_xmit_mbuf(struct ena_ring *tx_ring, struct mbuf **mbuf)
sys/dev/pci/if_ena.c
2809
KASSERT(ENA_RING_MTX_OWNED(tx_ring));
sys/dev/pci/if_ena.c
2811
ena_qid = ENA_IO_TXQ_IDX(tx_ring->que->id);
sys/dev/pci/if_ena.c
2812
adapter = tx_ring->que->adapter;
sys/dev/pci/if_ena.c
2816
rc = ena_check_and_collapse_mbuf(tx_ring, mbuf);
sys/dev/pci/if_ena.c
2823
next_to_use = tx_ring->next_to_use;
sys/dev/pci/if_ena.c
2824
req_id = tx_ring->free_tx_ids[next_to_use];
sys/dev/pci/if_ena.c
2825
tx_info = &tx_ring->tx_buffer_info[req_id];
sys/dev/pci/if_ena.c
2851
counter_u64_add(tx_ring->tx_stats.dma_mapping_err, 1);
sys/dev/pci/if_ena.c
2879
counter_u64_add(tx_ring->tx_stats.prepare_ctx_err, 1);
sys/dev/pci/if_ena.c
2884
counter_u64_add_protected(tx_ring->tx_stats.cnt, 1);
sys/dev/pci/if_ena.c
2885
counter_u64_add_protected(tx_ring->tx_stats.bytes,
sys/dev/pci/if_ena.c
2897
tx_ring->next_to_use = ENA_TX_RING_IDX_NEXT(next_to_use,
sys/dev/pci/if_ena.c
2898
tx_ring->ring_size);
sys/dev/pci/if_ena.c
2913
ena_start_xmit(struct ena_ring *tx_ring)
sys/dev/pci/if_ena.c
2916
struct ena_adapter *adapter = tx_ring->adapter;
sys/dev/pci/if_ena.c
2923
KASSERT(ENA_RING_MTX_OWNED(tx_ring));
sys/dev/pci/if_ena.c
2932
ena_qid = ENA_IO_TXQ_IDX(tx_ring->que->id);
sys/dev/pci/if_ena.c
2941
if ((mbuf = pcq_get(tx_ring->br)) == NULL)
sys/dev/pci/if_ena.c
2948
if (likely((ret = ena_xmit_mbuf(tx_ring, &mbuf)) == 0)) {
sys/dev/pci/if_ena.c
2980
counter_u64_add(tx_ring->tx_stats.doorbells, 1);
sys/dev/pci/if_ena.c
2991
counter_u64_add(tx_ring->tx_stats.doorbells, 1);
sys/dev/pci/if_ena.c
2995
ena_tx_cleanup(tx_ring);
sys/dev/pci/if_ena.c
3001
struct ena_ring *tx_ring = (struct ena_ring *)arg;
sys/dev/pci/if_ena.c
3002
struct ifnet *ifp = tx_ring->adapter->ifp;
sys/dev/pci/if_ena.c
3004
atomic_swap_uint(&tx_ring->task_pending, 0);
sys/dev/pci/if_ena.c
3006
while (pcq_peek(tx_ring->br) != NULL &&
sys/dev/pci/if_ena.c
3008
ENA_RING_MTX_LOCK(tx_ring);
sys/dev/pci/if_ena.c
3009
if (tx_ring->stopping) {
sys/dev/pci/if_ena.c
3010
ENA_RING_MTX_UNLOCK(tx_ring);
sys/dev/pci/if_ena.c
3013
ena_start_xmit(tx_ring);
sys/dev/pci/if_ena.c
3014
ENA_RING_MTX_UNLOCK(tx_ring);
sys/dev/pci/if_ena.c
3022
struct ena_ring *tx_ring;
sys/dev/pci/if_ena.c
3038
tx_ring = &adapter->tx_ring[i];
sys/dev/pci/if_ena.c
3041
is_drbr_empty = pcq_peek(tx_ring->br);
sys/dev/pci/if_ena.c
3042
ret = pcq_put(tx_ring->br, m);
sys/dev/pci/if_ena.c
3045
counter_u64_add(tx_ring->tx_stats.pcq_drops, 1);
sys/dev/pci/if_ena.c
3046
if (atomic_cas_uint(&tx_ring->task_pending, 0, 1) == 0)
sys/dev/pci/if_ena.c
3047
workqueue_enqueue(tx_ring->enqueue_tq, &tx_ring->enqueue_task,
sys/dev/pci/if_ena.c
3052
if ((is_drbr_empty != NULL) && (ENA_RING_MTX_TRYLOCK(tx_ring) != 0)) {
sys/dev/pci/if_ena.c
3053
if (!tx_ring->stopping)
sys/dev/pci/if_ena.c
3054
ena_start_xmit(tx_ring);
sys/dev/pci/if_ena.c
3055
ENA_RING_MTX_UNLOCK(tx_ring);
sys/dev/pci/if_ena.c
3057
if (atomic_cas_uint(&tx_ring->task_pending, 0, 1) == 0)
sys/dev/pci/if_ena.c
3058
workqueue_enqueue(tx_ring->enqueue_tq, &tx_ring->enqueue_task,
sys/dev/pci/if_ena.c
3070
struct ena_ring *tx_ring = adapter->tx_ring;
sys/dev/pci/if_ena.c
3073
for(i = 0; i < adapter->num_queues; ++i, ++tx_ring)
sys/dev/pci/if_ena.c
3074
if (!drbr_empty(ifp, tx_ring->br)) {
sys/dev/pci/if_ena.c
3075
ENA_RING_MTX_LOCK(tx_ring);
sys/dev/pci/if_ena.c
3076
drbr_flush(ifp, tx_ring->br);
sys/dev/pci/if_ena.c
3077
ENA_RING_MTX_UNLOCK(tx_ring);
sys/dev/pci/if_ena.c
3413
struct ena_ring *tx_ring)
sys/dev/pci/if_ena.c
3422
for (i = 0; i < tx_ring->ring_size; i++) {
sys/dev/pci/if_ena.c
3423
tx_buf = &tx_ring->tx_buffer_info[i];
sys/dev/pci/if_ena.c
3437
tx_ring->qid, i);
sys/dev/pci/if_ena.c
3441
counter_u64_add(tx_ring->tx_stats.missing_tx_comp, 1);
sys/dev/pci/if_ena.c
3471
struct ena_ring *tx_ring;
sys/dev/pci/if_ena.c
3489
tx_ring = &adapter->tx_ring[i];
sys/dev/pci/if_ena.c
3491
rc = check_missing_comp_in_queue(adapter, tx_ring);
sys/dev/pci/if_ena.c
546
txr = &adapter->tx_ring[i];
sys/dev/pci/if_ena.c
587
que->tx_ring = txr;
sys/dev/pci/if_ena.c
600
struct ena_ring *txr = &adapter->tx_ring[qid];
sys/dev/pci/if_ena.c
681
struct ena_ring *tx_ring = que->tx_ring;
sys/dev/pci/if_ena.c
684
size = sizeof(struct ena_tx_buffer) * tx_ring->ring_size;
sys/dev/pci/if_ena.c
685
tx_ring->tx_buffer_info = kmem_zalloc(size, KM_SLEEP);
sys/dev/pci/if_ena.c
687
size = sizeof(uint16_t) * tx_ring->ring_size;
sys/dev/pci/if_ena.c
688
tx_ring->free_tx_ids = kmem_zalloc(size, KM_SLEEP);
sys/dev/pci/if_ena.c
691
for (i = 0; i < tx_ring->ring_size; i++)
sys/dev/pci/if_ena.c
692
tx_ring->free_tx_ids[i] = i;
sys/dev/pci/if_ena.c
695
ena_reset_counters((struct evcnt *)&tx_ring->tx_stats,
sys/dev/pci/if_ena.c
696
sizeof(tx_ring->tx_stats),
sys/dev/pci/if_ena.c
699
tx_ring->next_to_use = 0;
sys/dev/pci/if_ena.c
700
tx_ring->next_to_clean = 0;
sys/dev/pci/if_ena.c
702
tx_ring->br = pcq_create(ENA_DEFAULT_RING_SIZE, KM_SLEEP);
sys/dev/pci/if_ena.c
705
for (i = 0; i < tx_ring->ring_size; i++) {
sys/dev/pci/if_ena.c
709
&tx_ring->tx_buffer_info[i].map);
sys/dev/pci/if_ena.c
718
int rc = workqueue_create(&tx_ring->enqueue_tq, "ena_tx_enq",
sys/dev/pci/if_ena.c
719
ena_deferred_mq_start, tx_ring, 0, IPL_NET, WQ_PERCPU | WQ_MPSAFE);
sys/dev/pci/if_ena.c
723
i = tx_ring->ring_size;
sys/dev/pci/if_ena.c
731
tx_ring->tx_buffer_info[i].map);
sys/dev/pci/if_ena.c
733
size = sizeof(uint16_t) * tx_ring->ring_size;
sys/dev/pci/if_ena.c
734
kmem_free(tx_ring->free_tx_ids, size);
sys/dev/pci/if_ena.c
735
tx_ring->free_tx_ids = NULL;
sys/dev/pci/if_ena.c
736
size = sizeof(struct ena_tx_buffer) * tx_ring->ring_size;
sys/dev/pci/if_ena.c
737
kmem_free(tx_ring->tx_buffer_info, size);
sys/dev/pci/if_ena.c
738
tx_ring->tx_buffer_info = NULL;
sys/dev/pci/if_ena.c
753
struct ena_ring *tx_ring = &adapter->tx_ring[qid];
sys/dev/pci/if_ena.c
756
workqueue_wait(tx_ring->enqueue_tq, &tx_ring->enqueue_task);
sys/dev/pci/if_ena.c
757
workqueue_destroy(tx_ring->enqueue_tq);
sys/dev/pci/if_ena.c
758
tx_ring->enqueue_tq = NULL;
sys/dev/pci/if_ena.c
761
while ((m = pcq_get(tx_ring->br)) != NULL)
sys/dev/pci/if_ena.c
763
pcq_destroy(tx_ring->br);
sys/dev/pci/if_ena.c
764
tx_ring->br = NULL;
sys/dev/pci/if_ena.c
767
for (int i = 0; i < tx_ring->ring_size; i++) {
sys/dev/pci/if_ena.c
769
tx_ring->tx_buffer_info[i].map);
sys/dev/pci/if_ena.c
771
tx_ring->tx_buffer_info[i].map);
sys/dev/pci/if_ena.c
772
m_freem(tx_ring->tx_buffer_info[i].mbuf);
sys/dev/pci/if_ena.c
773
tx_ring->tx_buffer_info[i].mbuf = NULL;
sys/dev/pci/if_ena.c
777
kmem_free(tx_ring->tx_buffer_info,
sys/dev/pci/if_ena.c
778
sizeof(struct ena_tx_buffer) * tx_ring->ring_size);
sys/dev/pci/if_ena.c
779
tx_ring->tx_buffer_info = NULL;
sys/dev/pci/if_ena.c
781
kmem_free(tx_ring->free_tx_ids, sizeof(uint16_t) * tx_ring->ring_size);
sys/dev/pci/if_ena.c
782
tx_ring->free_tx_ids = NULL;
sys/dev/pci/if_enavar.h
190
struct ena_ring *tx_ring;
sys/dev/pci/if_enavar.h
403
struct ena_ring tx_ring[ENA_MAX_NUM_IO_QUEUES]
sys/dev/pci/if_et.c
1231
struct et_txdesc_ring *tx_ring = &sc->sc_tx_ring;
sys/dev/pci/if_et.c
1244
bzero(tx_ring->tr_desc, ET_TX_RING_SIZE);
sys/dev/pci/if_et.c
1245
bus_dmamap_sync(sc->sc_dmat, tx_ring->tr_dmap, 0,
sys/dev/pci/if_et.c
1246
tx_ring->tr_dmap->dm_mapsize, BUS_DMASYNC_PREWRITE);
sys/dev/pci/if_et.c
1391
struct et_txdesc_ring *tx_ring = &sc->sc_tx_ring;
sys/dev/pci/if_et.c
1395
bzero(tx_ring->tr_desc, ET_TX_RING_SIZE);
sys/dev/pci/if_et.c
1396
bus_dmamap_sync(sc->sc_dmat, tx_ring->tr_dmap, 0,
sys/dev/pci/if_et.c
1397
tx_ring->tr_dmap->dm_mapsize, BUS_DMASYNC_PREWRITE);
sys/dev/pci/if_et.c
1514
struct et_txdesc_ring *tx_ring = &sc->sc_tx_ring;
sys/dev/pci/if_et.c
1527
CSR_WRITE_4(sc, ET_TX_RING_HI, ET_ADDR_HI(tx_ring->tr_paddr));
sys/dev/pci/if_et.c
1528
CSR_WRITE_4(sc, ET_TX_RING_LO, ET_ADDR_LO(tx_ring->tr_paddr));
sys/dev/pci/if_et.c
1540
tx_ring->tr_ready_index = 0;
sys/dev/pci/if_et.c
1541
tx_ring->tr_ready_wrap = 0;
sys/dev/pci/if_et.c
1832
struct et_txdesc_ring *tx_ring = &sc->sc_tx_ring;
sys/dev/pci/if_et.c
1845
KASSERT(tx_ring->tr_ready_index < ET_TX_NDESC);
sys/dev/pci/if_et.c
1846
first_idx = tx_ring->tr_ready_index;
sys/dev/pci/if_et.c
1917
td = &tx_ring->tr_desc[idx];
sys/dev/pci/if_et.c
1928
KASSERT(tx_ring->tr_ready_index < ET_TX_NDESC);
sys/dev/pci/if_et.c
1929
if (++tx_ring->tr_ready_index == ET_TX_NDESC) {
sys/dev/pci/if_et.c
1930
tx_ring->tr_ready_index = 0;
sys/dev/pci/if_et.c
1931
tx_ring->tr_ready_wrap ^= 1;
sys/dev/pci/if_et.c
1934
td = &tx_ring->tr_desc[first_idx];
sys/dev/pci/if_et.c
1945
bus_dmamap_sync(sc->sc_dmat, tx_ring->tr_dmap, 0,
sys/dev/pci/if_et.c
1946
tx_ring->tr_dmap->dm_mapsize, BUS_DMASYNC_PREWRITE);
sys/dev/pci/if_et.c
1948
tx_ready_pos = __SHIFTIN(tx_ring->tr_ready_index,
sys/dev/pci/if_et.c
1950
if (tx_ring->tr_ready_wrap)
sys/dev/pci/if_et.c
1967
struct et_txdesc_ring *tx_ring = &sc->sc_tx_ring;
sys/dev/pci/if_et.c
1988
bzero(&tx_ring->tr_desc[tbd->tbd_start_index],
sys/dev/pci/if_et.c
1990
bus_dmamap_sync(sc->sc_dmat, tx_ring->tr_dmap, 0,
sys/dev/pci/if_et.c
1991
tx_ring->tr_dmap->dm_mapsize, BUS_DMASYNC_PREWRITE);
sys/dev/pci/if_et.c
701
struct et_txdesc_ring *tx_ring = &sc->sc_tx_ring;
sys/dev/pci/if_et.c
711
(void **)&tx_ring->tr_desc, &tx_ring->tr_paddr, &tx_ring->tr_dmap,
sys/dev/pci/if_et.c
712
&tx_ring->tr_seg);
sys/dev/pci/if_et.c
784
struct et_txdesc_ring *tx_ring = &sc->sc_tx_ring;
sys/dev/pci/if_et.c
793
et_dma_mem_destroy(sc, tx_ring->tr_desc, tx_ring->tr_dmap);
sys/dev/pci/if_rtwn.c
1831
struct rtwn_tx_ring *tx_ring;
sys/dev/pci/if_rtwn.c
1867
tx_ring = &sc->tx_ring[qid];
sys/dev/pci/if_rtwn.c
1868
data = &tx_ring->tx_data[tx_ring->cur];
sys/dev/pci/if_rtwn.c
1875
txd = &tx_ring->desc[tx_ring->cur];
sys/dev/pci/if_rtwn.c
1986
bus_dmamap_sync(sc->sc_dmat, tx_ring->map, 0,
sys/dev/pci/if_rtwn.c
2006
tx_ring->cur = (tx_ring->cur + 1) % RTWN_TX_LIST_COUNT;
sys/dev/pci/if_rtwn.c
2007
tx_ring->queued++;
sys/dev/pci/if_rtwn.c
2009
if (tx_ring->queued > RTWN_TX_LIST_HIMARK)
sys/dev/pci/if_rtwn.c
2023
struct rtwn_tx_ring *tx_ring = &sc->tx_ring[qid];
sys/dev/pci/if_rtwn.c
2033
bus_dmamap_sync(sc->sc_dmat, tx_ring->map,
sys/dev/pci/if_rtwn.c
2038
tx_data = &tx_ring->tx_data[i];
sys/dev/pci/if_rtwn.c
2042
tx_desc = &tx_ring->desc[i];
sys/dev/pci/if_rtwn.c
2054
tx_ring->queued--;
sys/dev/pci/if_rtwn.c
2057
if (tx_ring->queued < RTWN_TX_LIST_LOMARK)
sys/dev/pci/if_rtwn.c
2626
sc->tx_ring[RTWN_BK_QUEUE].map->dm_segs[0].ds_addr);
sys/dev/pci/if_rtwn.c
2628
sc->tx_ring[RTWN_BE_QUEUE].map->dm_segs[0].ds_addr);
sys/dev/pci/if_rtwn.c
2630
sc->tx_ring[RTWN_VI_QUEUE].map->dm_segs[0].ds_addr);
sys/dev/pci/if_rtwn.c
2632
sc->tx_ring[RTWN_VO_QUEUE].map->dm_segs[0].ds_addr);
sys/dev/pci/if_rtwn.c
2634
sc->tx_ring[RTWN_BEACON_QUEUE].map->dm_segs[0].ds_addr);
sys/dev/pci/if_rtwn.c
2636
sc->tx_ring[RTWN_MGNT_QUEUE].map->dm_segs[0].ds_addr);
sys/dev/pci/if_rtwn.c
2638
sc->tx_ring[RTWN_HIGH_QUEUE].map->dm_segs[0].ds_addr);
sys/dev/pci/if_rtwn.c
618
struct rtwn_tx_ring *tx_ring = &sc->tx_ring[qid];
sys/dev/pci/if_rtwn.c
624
&tx_ring->map);
sys/dev/pci/if_rtwn.c
632
&tx_ring->seg, 1, &tx_ring->nsegs, BUS_DMA_NOWAIT);
sys/dev/pci/if_rtwn.c
639
error = bus_dmamem_map(sc->sc_dmat, &tx_ring->seg, tx_ring->nsegs,
sys/dev/pci/if_rtwn.c
640
size, (void **)&tx_ring->desc, BUS_DMA_NOWAIT);
sys/dev/pci/if_rtwn.c
642
bus_dmamem_free(sc->sc_dmat, &tx_ring->seg, tx_ring->nsegs);
sys/dev/pci/if_rtwn.c
646
memset(tx_ring->desc, 0, size);
sys/dev/pci/if_rtwn.c
648
error = bus_dmamap_load(sc->sc_dmat, tx_ring->map, tx_ring->desc,
sys/dev/pci/if_rtwn.c
657
struct r92c_tx_desc_pci *desc = &tx_ring->desc[i];
sys/dev/pci/if_rtwn.c
660
desc->nextdescaddr = htole32(tx_ring->map->dm_segs[0].ds_addr
sys/dev/pci/if_rtwn.c
663
tx_data = &tx_ring->tx_data[i];
sys/dev/pci/if_rtwn.c
684
struct rtwn_tx_ring *tx_ring = &sc->tx_ring[qid];
sys/dev/pci/if_rtwn.c
688
struct r92c_tx_desc_pci *desc = &tx_ring->desc[i];
sys/dev/pci/if_rtwn.c
689
struct rtwn_tx_data *tx_data = &tx_ring->tx_data[i];
sys/dev/pci/if_rtwn.c
705
tx_ring->queued = 0;
sys/dev/pci/if_rtwn.c
706
tx_ring->cur = 0;
sys/dev/pci/if_rtwn.c
712
struct rtwn_tx_ring *tx_ring = &sc->tx_ring[qid];
sys/dev/pci/if_rtwn.c
716
if (tx_ring->map != NULL) {
sys/dev/pci/if_rtwn.c
717
if (tx_ring->desc != NULL) {
sys/dev/pci/if_rtwn.c
718
bus_dmamap_unload(sc->sc_dmat, tx_ring->map);
sys/dev/pci/if_rtwn.c
719
bus_dmamem_unmap(sc->sc_dmat, tx_ring->desc,
sys/dev/pci/if_rtwn.c
721
bus_dmamem_free(sc->sc_dmat, &tx_ring->seg,
sys/dev/pci/if_rtwn.c
722
tx_ring->nsegs);
sys/dev/pci/if_rtwn.c
724
bus_dmamap_destroy(sc->sc_dmat, tx_ring->map);
sys/dev/pci/if_rtwn.c
728
tx_data = &tx_ring->tx_data[i];
sys/dev/pci/if_rtwn.c
739
tx_ring->queued = 0;
sys/dev/pci/if_rtwn.c
740
tx_ring->cur = 0;
sys/dev/pci/if_rtwnreg.h
194
struct rtwn_tx_ring tx_ring[RTWN_NTXQUEUES];
sys/dev/pci/igc/if_igc.c
1641
struct tx_ring *txr = &sc->tx_rings[0]; /* queue 0 */
sys/dev/pci/igc/if_igc.c
1660
struct tx_ring *txr = &sc->tx_rings[qid];
sys/dev/pci/igc/if_igc.c
1677
igc_tx_common_locked(struct ifnet *ifp, struct tx_ring *txr, int caller)
sys/dev/pci/igc/if_igc.c
1786
igc_txeof(struct tx_ring *txr, u_int limit)
sys/dev/pci/igc/if_igc.c
189
static void igc_tx_common_locked(struct ifnet *, struct tx_ring *, int);
sys/dev/pci/igc/if_igc.c
190
static bool igc_txeof(struct tx_ring *, u_int);
sys/dev/pci/igc/if_igc.c
1918
struct tx_ring *txr = &sc->tx_rings[iq];
sys/dev/pci/igc/if_igc.c
212
static bool igc_tx_ctx_setup(struct tx_ring *, struct mbuf *, int,
sys/dev/pci/igc/if_igc.c
228
static int igc_allocate_transmit_buffers(struct tx_ring *);
sys/dev/pci/igc/if_igc.c
230
static int igc_setup_transmit_ring(struct tx_ring *);
sys/dev/pci/igc/if_igc.c
233
static void igc_free_transmit_buffers(struct tx_ring *);
sys/dev/pci/igc/if_igc.c
234
static void igc_withdraw_transmit_packets(struct tx_ring *, bool);
sys/dev/pci/igc/if_igc.c
271
igc_txdesc_sync(struct tx_ring *txr, int id, int ops)
sys/dev/pci/igc/if_igc.c
2782
struct tx_ring *txr = iq->txr;
sys/dev/pci/igc/if_igc.c
2816
struct tx_ring *txr = iq->txr;
sys/dev/pci/igc/if_igc.c
2886
struct tx_ring *txr = iq->txr;
sys/dev/pci/igc/if_igc.c
2962
igc_allocate_transmit_buffers(struct tx_ring *txr)
sys/dev/pci/igc/if_igc.c
3003
struct tx_ring *txr = &sc->tx_rings[iq];
sys/dev/pci/igc/if_igc.c
3021
igc_setup_transmit_ring(struct tx_ring *txr)
sys/dev/pci/igc/if_igc.c
3061
struct tx_ring *txr = &sc->tx_rings[iq];
sys/dev/pci/igc/if_igc.c
3109
struct tx_ring *txr = &sc->tx_rings[iq];
sys/dev/pci/igc/if_igc.c
3121
igc_free_transmit_buffers(struct tx_ring *txr)
sys/dev/pci/igc/if_igc.c
3145
igc_withdraw_transmit_packets(struct tx_ring *txr, bool destroy)
sys/dev/pci/igc/if_igc.c
3200
igc_tx_ctx_setup(struct tx_ring *txr, struct mbuf *mp, int prod,
sys/dev/pci/igc/if_igc.c
652
kmem_zalloc(sc->sc_nqueues * sizeof(struct tx_ring), KM_SLEEP);
sys/dev/pci/igc/if_igc.c
660
struct tx_ring *txr = &sc->tx_rings[iq];
sys/dev/pci/igc/if_igc.c
730
for (struct tx_ring *txr = sc->tx_rings; txconf > 0; txr++, txconf--)
sys/dev/pci/igc/if_igc.c
735
kmem_free(sc->tx_rings, sc->sc_nqueues * sizeof(struct tx_ring));
sys/dev/pci/igc/if_igc.c
781
struct tx_ring *txr = &sc->tx_rings[iq];
sys/dev/pci/igc/if_igc.c
787
kmem_free(sc->tx_rings, sc->sc_nqueues * sizeof(struct tx_ring));
sys/dev/pci/igc/if_igc.h
267
struct tx_ring *txr;
sys/dev/pci/igc/if_igc.h
369
struct tx_ring *tx_rings;
sys/dev/pci/ixgbe/if_fdir.c
161
ixgbe_atr(struct tx_ring *txr, struct mbuf *mp)
sys/dev/pci/ixgbe/if_fdir.c
86
ixgbe_atr(struct tx_ring *txr, struct mbuf *mp)
sys/dev/pci/ixgbe/ix_txrx.c
110
static void ixgbe_setup_transmit_ring(struct tx_ring *);
sys/dev/pci/ixgbe/ix_txrx.c
111
static void ixgbe_free_transmit_buffers(struct tx_ring *);
sys/dev/pci/ixgbe/ix_txrx.c
1111
ixgbe_txeof(struct tx_ring *txr)
sys/dev/pci/ixgbe/ix_txrx.c
117
static void ixgbe_drain(struct ifnet *, struct tx_ring *);
sys/dev/pci/ixgbe/ix_txrx.c
118
static int ixgbe_xmit(struct tx_ring *, struct mbuf *);
sys/dev/pci/ixgbe/ix_txrx.c
119
static int ixgbe_tx_ctx_setup(struct tx_ring *,
sys/dev/pci/ixgbe/ix_txrx.c
121
static int ixgbe_tso_setup(struct tx_ring *,
sys/dev/pci/ixgbe/ix_txrx.c
143
ixgbe_legacy_start_locked(struct ifnet *ifp, struct tx_ring *txr)
sys/dev/pci/ixgbe/ix_txrx.c
198
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ix_txrx.c
216
struct tx_ring *txr;
sys/dev/pci/ixgbe/ix_txrx.c
2360
struct tx_ring *txr;
sys/dev/pci/ixgbe/ix_txrx.c
2370
sc->tx_rings = kmem_zalloc(sizeof(struct tx_ring) * sc->num_queues,
sys/dev/pci/ixgbe/ix_txrx.c
2495
kmem_free(sc->tx_rings, sizeof(struct tx_ring) * sc->num_queues);
sys/dev/pci/ixgbe/ix_txrx.c
301
ixgbe_mq_start_locked(struct ifnet *ifp, struct tx_ring *txr)
sys/dev/pci/ixgbe/ix_txrx.c
358
struct tx_ring *txr = arg;
sys/dev/pci/ixgbe/ix_txrx.c
376
struct tx_ring *txr = container_of(wk, struct tx_ring, wq_cookie);
sys/dev/pci/ixgbe/ix_txrx.c
395
struct tx_ring *txr = que->txr;
sys/dev/pci/ixgbe/ix_txrx.c
412
ixgbe_xmit(struct tx_ring *txr, struct mbuf *m_head)
sys/dev/pci/ixgbe/ix_txrx.c
580
ixgbe_drain(struct ifnet *ifp, struct tx_ring *txr)
sys/dev/pci/ixgbe/ix_txrx.c
608
ixgbe_allocate_transmit_buffers(struct tx_ring *txr)
sys/dev/pci/ixgbe/ix_txrx.c
661
ixgbe_setup_transmit_ring(struct tx_ring *txr)
sys/dev/pci/ixgbe/ix_txrx.c
743
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ix_txrx.c
757
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ix_txrx.c
764
kmem_free(sc->tx_rings, sizeof(struct tx_ring) * sc->num_queues);
sys/dev/pci/ixgbe/ix_txrx.c
773
ixgbe_free_transmit_buffers(struct tx_ring *txr)
sys/dev/pci/ixgbe/ix_txrx.c
828
ixgbe_tx_ctx_setup(struct tx_ring *txr, struct mbuf *mp,
sys/dev/pci/ixgbe/ix_txrx.c
992
ixgbe_tso_setup(struct tx_ring *txr, struct mbuf *mp, u32 *cmd_type_len,
sys/dev/pci/ixgbe/ixgbe.c
1812
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixgbe.c
2141
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixgbe.c
2281
struct tx_ring *txr = (struct tx_ring *)node.sysctl_data;
sys/dev/pci/ixgbe/ixgbe.c
2306
struct tx_ring *txr = (struct tx_ring *)node.sysctl_data;
sys/dev/pci/ixgbe/ixgbe.c
2820
struct tx_ring *txr = que->txr;
sys/dev/pci/ixgbe/ixgbe.c
3649
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixgbe.c
3702
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixgbe.c
4054
struct tx_ring *txr;
sys/dev/pci/ixgbe/ixgbe.c
409
static int (*ixgbe_start_locked)(struct ifnet *, struct tx_ring *);
sys/dev/pci/ixgbe/ixgbe.c
4400
struct tx_ring *txr = &sc->tx_rings[i];
sys/dev/pci/ixgbe/ixgbe.c
4660
struct tx_ring *txr = que->txr;
sys/dev/pci/ixgbe/ixgbe.c
5300
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixgbe.c
6693
struct tx_ring *txr = que->txr;
sys/dev/pci/ixgbe/ixgbe.c
670
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixgbe.c
6752
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixgbe.c
6861
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixgbe.h
331
struct tx_ring *txr;
sys/dev/pci/ixgbe/ixgbe.h
566
struct tx_ring *tx_rings;
sys/dev/pci/ixgbe/ixgbe.h
751
int ixgbe_legacy_start_locked(struct ifnet *, struct tx_ring *);
sys/dev/pci/ixgbe/ixgbe.h
753
int ixgbe_mq_start_locked(struct ifnet *, struct tx_ring *);
sys/dev/pci/ixgbe/ixgbe.h
764
bool ixgbe_txeof(struct tx_ring *);
sys/dev/pci/ixgbe/ixgbe_fdir.h
57
void ixgbe_atr(struct tx_ring *, struct mbuf *);
sys/dev/pci/ixgbe/ixgbe_netmap.c
211
struct tx_ring *txr = &sc->tx_rings[kring->ring_id];
sys/dev/pci/ixgbe/ixv.c
1306
struct tx_ring *txr = que->txr;
sys/dev/pci/ixgbe/ixv.c
1557
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixv.c
1724
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixv.c
1994
struct tx_ring *txr = (struct tx_ring *)node.sysctl_data;
sys/dev/pci/ixgbe/ixv.c
2014
struct tx_ring *txr = (struct tx_ring *)node.sysctl_data;
sys/dev/pci/ixgbe/ixv.c
233
static int (*ixv_start_locked)(struct ifnet *, struct tx_ring *);
sys/dev/pci/ixgbe/ixv.c
2625
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixv.c
2814
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixv.c
3303
struct tx_ring *txr = que->txr;
sys/dev/pci/ixgbe/ixv.c
3366
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixv.c
607
struct tx_ring *txr = sc->tx_rings;
sys/dev/pci/ixgbe/ixv.c
886
struct tx_ring *txr = que->txr;