| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_xdp.c | 27 struct bnxt_tx_ring_info *txr, in bnxt_xmit_bd() argument 45 prod = txr->tx_prod; in bnxt_xmit_bd() 46 tx_buf = &txr->tx_buf_ring[RING_TX(bp, prod)]; in bnxt_xmit_bd() 51 txbd = &txr->tx_desc_ring[TX_RING(bp, prod)][TX_IDX(prod)]; in bnxt_xmit_bd() 55 txbd->tx_bd_opaque = SET_TX_OPAQUE(bp, txr, prod, 1 + num_frags); in bnxt_xmit_bd() 66 WRITE_ONCE(txr->tx_prod, prod); in bnxt_xmit_bd() 69 frag_tx_buf = &txr->tx_buf_ring[RING_TX(bp, prod)]; in bnxt_xmit_bd() 72 txbd = &txr->tx_desc_ring[TX_RING(bp, prod)][TX_IDX(prod)]; in bnxt_xmit_bd() 90 WRITE_ONCE(txr->tx_prod, prod); in bnxt_xmit_bd() 95 static void __bnxt_xmit_xdp(struct bnxt *bp, struct bnxt_tx_ring_info *txr, in __bnxt_xmit_xdp() argument [all …]
|
| H A D | bnxt.c | 412 void bnxt_sched_reset_txr(struct bnxt *bp, struct bnxt_tx_ring_info *txr, in bnxt_sched_reset_txr() argument 415 struct bnxt_napi *bnapi = txr->bnapi; in bnxt_sched_reset_txr() 421 txr->txq_index, txr->tx_hw_cons, in bnxt_sched_reset_txr() 422 txr->tx_cons, txr->tx_prod, curr); in bnxt_sched_reset_txr() 460 static void bnxt_txr_db_kick(struct bnxt *bp, struct bnxt_tx_ring_info *txr, in bnxt_txr_db_kick() argument 465 bnxt_db_write(bp, &txr->tx_db, prod); in bnxt_txr_db_kick() 466 txr->kick_pending = 0; in bnxt_txr_db_kick() 482 struct bnxt_tx_ring_info *txr; in bnxt_start_xmit() local 495 txr = &bp->tx_ring[bp->tx_ring_map[i]]; in bnxt_start_xmit() 496 prod = txr->tx_prod; in bnxt_start_xmit() [all …]
|
| H A D | bnxt.h | 73 #define SET_TX_OPAQUE(bp, txr, idx, bds) \ argument 74 (((txr)->tx_napi_idx << TX_OPAQUE_RING_SHIFT) | \ 1216 #define bnxt_for_each_napi_tx(iter, bnapi, txr) \ argument 1217 for (iter = 0, txr = (bnapi)->tx_ring[0]; txr; \ 1218 txr = (iter < BNXT_MAX_TXR_PER_NAPI - 1) ? \ 2830 const struct bnxt_tx_ring_info *txr) in bnxt_tx_avail() argument 2832 u32 used = READ_ONCE(txr->tx_prod) - READ_ONCE(txr->tx_cons); in bnxt_tx_avail() 2953 void bnxt_sched_reset_txr(struct bnxt *bp, struct bnxt_tx_ring_info *txr,
|
| H A D | bnxt_ptp.c | 861 struct bnxt_tx_ring_info *txr; in bnxt_tx_ts_cmp() local 866 txr = bnapi->tx_ring[TX_OPAQUE_RING(opaque)]; in bnxt_tx_ts_cmp() 869 tx_buf = &txr->tx_buf_ring[RING_TX(bp, cons)]; in bnxt_tx_ts_cmp()
|
| H A D | bnxt_ethtool.c | 5130 struct bnxt_tx_ring_info *txr = &bp->tx_ring[0]; in bnxt_run_loopback() local 5161 bnxt_xmit_bd(bp, txr, map, pkt_size, NULL); in bnxt_run_loopback() 5166 bnxt_db_write(bp, &txr->tx_db, txr->tx_prod); in bnxt_run_loopback()
|
| /linux/drivers/net/ethernet/qualcomm/ |
| H A D | qca_spi.c | 276 if (qca->txr.skb[qca->txr.head] == NULL) in qcaspi_transmit() 289 while (qca->txr.skb[qca->txr.head]) { in qcaspi_transmit() 290 pkt_len = qca->txr.skb[qca->txr.head]->len + QCASPI_HW_PKT_LEN; in qcaspi_transmit() 298 if (qcaspi_tx_frame(qca, qca->txr.skb[qca->txr.head]) == -1) { in qcaspi_transmit() 305 n_stats->tx_bytes += qca->txr.skb[qca->txr.head]->len; in qcaspi_transmit() 313 dev_kfree_skb(qca->txr.skb[qca->txr.head]); in qcaspi_transmit() 314 qca->txr.skb[qca->txr.head] = NULL; in qcaspi_transmit() 315 qca->txr.size -= pkt_len; in qcaspi_transmit() 316 new_head = qca->txr.head + 1; in qcaspi_transmit() 317 if (new_head >= qca->txr.count) in qcaspi_transmit() [all …]
|
| H A D | qca_spi.h | 74 struct tx_ring txr; member
|
| /linux/drivers/net/ethernet/broadcom/bnge/ |
| H A D | bnge_netdev.c | 431 struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; in bnge_free_tx_skbs() local 434 if (!txr->tx_buf_ring) in bnge_free_tx_skbs() 438 struct bnge_sw_tx_bd *tx_buf = &txr->tx_buf_ring[j]; in bnge_free_tx_skbs() 461 tx_buf = &txr->tx_buf_ring[ring_idx]; in bnge_free_tx_skbs() 684 struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; in bnge_free_tx_rings() local 687 ring = &txr->tx_ring_struct; in bnge_free_tx_rings() 699 struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; in bnge_alloc_tx_rings() local 703 ring = &txr->tx_ring_struct; in bnge_alloc_tx_rings() 709 ring->grp_idx = txr->bnapi->index; in bnge_alloc_tx_rings() 930 struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; in bnge_alloc_core() local [all …]
|
| H A D | bnge_rmem.c | 452 struct bnge_tx_ring_info *txr; in bnge_init_ring_struct() local 487 bnge_for_each_napi_tx(j, bnapi, txr) { in bnge_init_ring_struct() 488 ring = &txr->tx_ring_struct; in bnge_init_ring_struct() 492 rmem->pg_arr = (void **)txr->tx_desc_ring; in bnge_init_ring_struct() 493 rmem->dma_arr = txr->tx_desc_mapping; in bnge_init_ring_struct() 495 rmem->vmem = (void **)&txr->tx_buf_ring; in bnge_init_ring_struct()
|
| H A D | bnge_hwrm_lib.c | 1098 struct bnge_tx_ring_info *txr; in hwrm_ring_alloc_send_msg() local 1100 txr = container_of(ring, struct bnge_tx_ring_info, in hwrm_ring_alloc_send_msg() 1105 req->cmpl_ring_id = cpu_to_le16(bnge_cp_ring_for_tx(txr)); in hwrm_ring_alloc_send_msg()
|
| /linux/drivers/net/ethernet/meta/fbnic/ |
| H A D | fbnic_txrx.c | 1431 struct fbnic_ring *txr) in fbnic_aggregate_ring_tx_counters() argument 1433 struct fbnic_queue_stats *stats = &txr->stats; in fbnic_aggregate_ring_tx_counters() 1464 struct fbnic_ring *txr) in fbnic_remove_tx_ring() argument 1466 if (!(txr->flags & FBNIC_RING_F_STATS)) in fbnic_remove_tx_ring() 1469 fbnic_aggregate_ring_tx_counters(fbn, txr); in fbnic_remove_tx_ring() 1472 WARN_ON(fbn->tx[txr->q_idx] && fbn->tx[txr->q_idx] != txr); in fbnic_remove_tx_ring() 1473 fbn->tx[txr->q_idx] = NULL; in fbnic_remove_tx_ring() 1830 struct fbnic_ring *txr) in fbnic_alloc_tx_ring_desc() argument 1836 size = ALIGN(array_size(sizeof(*txr->desc), fbn->txq_size), 4096); in fbnic_alloc_tx_ring_desc() 1838 txr->desc = dma_alloc_coherent(dev, size, &txr->dma, in fbnic_alloc_tx_ring_desc() [all …]
|
| H A D | fbnic_netdev.c | 420 struct fbnic_ring *txr = fbn->tx[i]; in fbnic_get_stats64() local 422 if (!txr) in fbnic_get_stats64() 425 stats = &txr->stats; in fbnic_get_stats64() 623 struct fbnic_ring *txr = fbn->tx[idx]; in fbnic_get_queue_stats_tx() local 630 if (!txr) in fbnic_get_queue_stats_tx() 633 stats = &txr->stats; in fbnic_get_queue_stats_tx()
|
| H A D | fbnic_txrx.h | 175 struct fbnic_ring *txr);
|
| /linux/drivers/net/ethernet/broadcom/ |
| H A D | bnx2.c | 246 static inline u32 bnx2_tx_avail(struct bnx2 *bp, struct bnx2_tx_ring_info *txr) in bnx2_tx_avail() argument 253 diff = READ_ONCE(txr->tx_prod) - READ_ONCE(txr->tx_cons); in bnx2_tx_avail() 697 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_free_tx_mem() local 699 if (txr->tx_desc_ring) { in bnx2_free_tx_mem() 701 txr->tx_desc_ring, in bnx2_free_tx_mem() 702 txr->tx_desc_mapping); in bnx2_free_tx_mem() 703 txr->tx_desc_ring = NULL; in bnx2_free_tx_mem() 705 kfree(txr->tx_buf_ring); in bnx2_free_tx_mem() 706 txr->tx_buf_ring = NULL; in bnx2_free_tx_mem() 749 struct bnx2_tx_ring_info *txr = &bnapi->tx_ring; in bnx2_alloc_tx_mem() local [all …]
|
| H A D | bcmsysport.c | 1108 struct bcm_sysport_tx_ring *txr; in bcm_sysport_rx_isr() local 1143 txr = &priv->tx_rings[ring]; in bcm_sysport_rx_isr() 1145 if (likely(napi_schedule_prep(&txr->napi))) { in bcm_sysport_rx_isr() 1147 __napi_schedule(&txr->napi); in bcm_sysport_rx_isr() 1159 struct bcm_sysport_tx_ring *txr; in bcm_sysport_tx_isr() local 1175 txr = &priv->tx_rings[ring]; in bcm_sysport_tx_isr() 1177 if (likely(napi_schedule_prep(&txr->napi))) { in bcm_sysport_tx_isr() 1179 __napi_schedule_irqoff(&txr->napi); in bcm_sysport_tx_isr()
|
| /linux/drivers/net/ethernet/sgi/ |
| H A D | ioc3-eth.c | 86 struct ioc3_etxd *txr; member 615 desc = &ip->txr[entry]; in ioc3_tx_unmap() 642 ip->txr[i].cmd = 0; in ioc3_clean_tx_ring() 902 ip->txr = PTR_ALIGN(ip->tx_ring, SZ_16K); in ioc3eth_probe() 1039 desc = &ip->txr[produce]; in ioc3_start_xmit()
|
| /linux/drivers/net/ethernet/amazon/ena/ |
| H A D | ena_netdev.c | 187 struct ena_ring *txr, *rxr; in ena_init_io_rings() local 193 txr = &adapter->tx_ring[i]; in ena_init_io_rings() 197 ena_init_io_rings_common(adapter, txr, i); in ena_init_io_rings() 200 txr->ring_size = adapter->requested_tx_ring_size; in ena_init_io_rings() 201 txr->tx_max_header_size = ena_dev->tx_max_header_size; in ena_init_io_rings() 202 txr->tx_mem_queue_type = ena_dev->tx_mem_queue_type; in ena_init_io_rings() 203 txr->sgl_size = adapter->max_tx_sgl_size; in ena_init_io_rings() 204 txr->smoothed_interval = in ena_init_io_rings() 206 txr->disable_meta_caching = adapter->disable_meta_caching; in ena_init_io_rings() 207 spin_lock_init(&txr->xdp_tx_lock); in ena_init_io_rings() [all …]
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | test_xsk.c | 162 struct xsk_ring_prod *txr; in xsk_configure_socket() local 177 txr = ifobject->tx_on ? &xsk->tx : NULL; in xsk_configure_socket() 179 return xsk_socket__create(&xsk->xsk, ifobject->ifindex, 0, umem->umem, rxr, txr, &cfg); in xsk_configure_socket()
|