| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_gso.c | 40 int bnxt_sw_udp_gso_xmit(struct bnxt *bp, struct bnxt_tx_ring_info *txr, in bnxt_sw_udp_gso_xmit() argument 73 if (unlikely(bnxt_tx_avail(bp, txr) < bds_needed)) { in bnxt_sw_udp_gso_xmit() 74 netif_txq_try_stop(txq, bnxt_tx_avail(bp, txr), in bnxt_sw_udp_gso_xmit() 82 if (!netif_txq_maybe_stop(txq, bnxt_inline_avail(txr), in bnxt_sw_udp_gso_xmit() 101 prod = txr->tx_prod; in bnxt_sw_udp_gso_xmit() 106 u16 slot = (txr->tx_inline_prod + i) & in bnxt_sw_udp_gso_xmit() 123 this_hdr = txr->tx_inline_buf + offset; in bnxt_sw_udp_gso_xmit() 124 this_hdr_dma = txr->tx_inline_dma + offset; in bnxt_sw_udp_gso_xmit() 144 tx_buf = &txr->tx_buf_ring[RING_TX(bp, prod)]; in bnxt_sw_udp_gso_xmit() 145 txbd = &txr->tx_desc_ring[TX_RING(bp, prod)][TX_IDX(prod)]; in bnxt_sw_udp_gso_xmit() [all …]
|
| 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_gso.h | 26 static inline u16 bnxt_inline_avail(struct bnxt_tx_ring_info *txr) in bnxt_inline_avail() argument 29 (u16)(txr->tx_inline_prod - READ_ONCE(txr->tx_inline_cons)); in bnxt_inline_avail() 41 int bnxt_sw_udp_gso_xmit(struct bnxt *bp, struct bnxt_tx_ring_info *txr,
|
| H A D | bnxt.c | 414 void bnxt_sched_reset_txr(struct bnxt *bp, struct bnxt_tx_ring_info *txr, in bnxt_sched_reset_txr() argument 417 struct bnxt_napi *bnapi = txr->bnapi; in bnxt_sched_reset_txr() 423 txr->txq_index, txr->tx_hw_cons, in bnxt_sched_reset_txr() 424 txr->tx_cons, txr->tx_prod, curr); in bnxt_sched_reset_txr() 462 static void bnxt_txr_db_kick(struct bnxt *bp, struct bnxt_tx_ring_info *txr, in bnxt_txr_db_kick() argument 469 if (txr->kick_txbd0) { in bnxt_txr_db_kick() 470 txr->kick_txbd0->tx_bd_len_flags_type &= in bnxt_txr_db_kick() 472 txr in bnxt_txr_db_kick() 494 struct bnxt_tx_ring_info *txr; bnxt_start_xmit() local 836 __bnxt_tx_int(struct bnxt * bp,struct bnxt_tx_ring_info * txr,int budget) __bnxt_tx_int() argument 944 struct bnxt_tx_ring_info *txr; bnxt_tx_int() local 3100 struct bnxt_tx_ring_info *txr; __bnxt_poll_work() local 3160 struct bnxt_tx_ring_info *txr = bnapi->tx_ring[0]; __bnxt_poll_work() local 3459 bnxt_free_one_tx_ring_skbs(struct bnxt * bp,struct bnxt_tx_ring_info * txr,int idx) bnxt_free_one_tx_ring_skbs() argument 3551 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i]; bnxt_free_tx_skbs() local 4059 bnxt_free_tx_inline_buf(struct bnxt_tx_ring_info * txr,struct pci_dev * pdev) bnxt_free_tx_inline_buf() argument 4072 bnxt_alloc_tx_inline_buf(struct bnxt_tx_ring_info * txr,struct pci_dev * pdev,unsigned int size) bnxt_alloc_tx_inline_buf() argument 4101 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i]; bnxt_free_tx_rings() local 4148 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i]; bnxt_alloc_tx_rings() local 4458 struct bnxt_tx_ring_info *txr; bnxt_init_ring_struct() local 4734 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i]; bnxt_init_tx_rings() local 5446 struct bnxt_tx_ring_info *txr; bnxt_clear_ring_indices() local 5686 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i]; bnxt_alloc_mem() local 6657 bnxt_cp_ring_for_tx(struct bnxt * bp,struct bnxt_tx_ring_info * txr) bnxt_cp_ring_for_tx() argument 7292 struct bnxt_tx_ring_info *txr; hwrm_ring_alloc_send_msg() local 7521 bnxt_hwrm_tx_ring_alloc(struct bnxt * bp,struct bnxt_tx_ring_info * txr,u32 tx_idx) bnxt_hwrm_tx_ring_alloc() argument 7571 struct bnxt_tx_ring_info *txr = &bp->tx_ring[i]; bnxt_hwrm_ring_alloc() local 7664 bnxt_hwrm_tx_ring_free(struct bnxt * bp,struct bnxt_tx_ring_info * txr,bool close_path) bnxt_hwrm_tx_ring_free() argument 8536 struct bnxt_tx_ring_info *txr; bnxt_hwrm_set_tx_coal() local 11755 struct bnxt_tx_ring_info *txr; bnxt_tx_queue_stop() local 11786 struct bnxt_tx_ring_info *txr; bnxt_tx_queue_start() local 12156 struct bnxt_tx_ring_info *txr; bnxt_tx_disable() local 12175 struct bnxt_tx_ring_info *txr; bnxt_tx_enable() local 14355 struct bnxt_tx_ring_info *txr; bnxt_dump_tx_sw_state() local [all...] |
| H A D | bnxt.h | 75 #define SET_TX_OPAQUE(bp, txr, idx, bds) \ argument 76 (((txr)->tx_napi_idx << TX_OPAQUE_RING_SHIFT) | \ 1232 #define bnxt_for_each_napi_tx(iter, bnapi, txr) \ argument 1233 for (iter = 0, txr = (bnapi)->tx_ring[0]; txr; \ 1234 txr = (iter < BNXT_MAX_TXR_PER_NAPI - 1) ? \ 2860 const struct bnxt_tx_ring_info *txr) in bnxt_tx_avail() 2862 u32 used = READ_ONCE(txr->tx_prod) - READ_ONCE(txr->tx_cons); in bnxt_tx_avail() 2868 bnxt_init_ext_bd(struct bnxt *bp, struct bnxt_tx_ring_info *txr, 2861 bnxt_tx_avail(struct bnxt * bp,const struct bnxt_tx_ring_info * txr) bnxt_tx_avail() argument 2869 bnxt_init_ext_bd(struct bnxt * bp,struct bnxt_tx_ring_info * txr,u16 prod,__le32 lflags,u32 vlan_tag_flags,u32 cfa_action) bnxt_init_ext_bd() argument [all...] |
| H A D | bnxt_ptp.c | 845 struct bnxt_tx_ring_info *txr; in bnxt_tx_ts_cmp() local 850 txr = bnapi->tx_ring[TX_OPAQUE_RING(opaque)]; in bnxt_tx_ts_cmp() 853 tx_buf = &txr->tx_buf_ring[RING_TX(bp, cons)]; in bnxt_tx_ts_cmp()
|
| H A D | bnxt_ethtool.c | 5164 struct bnxt_tx_ring_info *txr = &bp->tx_ring[0]; in bnxt_run_loopback() local 5195 bnxt_xmit_bd(bp, txr, map, pkt_size, NULL); in bnxt_run_loopback() 5200 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/meta/fbnic/ |
| H A D | fbnic_txrx.c | 1456 struct fbnic_ring *txr) in fbnic_aggregate_ring_tx_counters() argument 1458 struct fbnic_queue_stats *stats = &txr->stats; in fbnic_aggregate_ring_tx_counters() 1489 struct fbnic_ring *txr) in fbnic_remove_tx_ring() argument 1491 if (!(txr->flags & FBNIC_RING_F_STATS)) in fbnic_remove_tx_ring() 1494 fbnic_aggregate_ring_tx_counters(fbn, txr); in fbnic_remove_tx_ring() 1497 WARN_ON(fbn->tx[txr->q_idx] && fbn->tx[txr->q_idx] != txr); in fbnic_remove_tx_ring() 1498 fbn->tx[txr->q_idx] = NULL; in fbnic_remove_tx_ring() 1855 struct fbnic_ring *txr) in fbnic_alloc_tx_ring_desc() argument 1861 size = ALIGN(array_size(sizeof(*txr->desc), fbn->txq_size), 4096); in fbnic_alloc_tx_ring_desc() 1863 txr->desc = dma_alloc_coherent(dev, size, &txr->dma, in fbnic_alloc_tx_ring_desc() [all …]
|
| H A D | fbnic_netdev.c | 433 struct fbnic_ring *txr = fbn->tx[i]; in fbnic_get_stats64() local 435 if (!txr) in fbnic_get_stats64() 438 stats = &txr->stats; in fbnic_get_stats64() 636 struct fbnic_ring *txr = fbn->tx[idx]; in fbnic_get_queue_stats_tx() local 643 if (!txr) in fbnic_get_queue_stats_tx() 646 stats = &txr->stats; in fbnic_get_queue_stats_tx()
|
| H A D | fbnic_txrx.h | 180 struct fbnic_ring *txr);
|
| /linux/drivers/net/ethernet/broadcom/bnge/ |
| H A D | bnge_netdev.c | 775 struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; in bnge_free_tx_skbs() local 778 if (!txr->tx_buf_ring) in bnge_free_tx_skbs() 782 struct bnge_sw_tx_bd *tx_buf = &txr->tx_buf_ring[j]; in bnge_free_tx_skbs() 805 tx_buf = &txr->tx_buf_ring[ring_idx]; in bnge_free_tx_skbs() 1028 struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; in bnge_free_tx_rings() local 1031 ring = &txr->tx_ring_struct; in bnge_free_tx_rings() 1043 struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; in bnge_alloc_tx_rings() local 1047 ring = &txr->tx_ring_struct; in bnge_alloc_tx_rings() 1053 ring->grp_idx = txr->bnapi->index; in bnge_alloc_tx_rings() 1274 struct bnge_tx_ring_info *txr = &bn->tx_ring[i]; in bnge_alloc_core() local [all …]
|
| H A D | bnge_netdev.h | 414 #define bnge_for_each_napi_tx(iter, bnapi, txr) \ argument 415 for (iter = 0, txr = (bnapi)->tx_ring[0]; txr; \ 416 txr = (iter < BNGE_MAX_TXR_PER_NAPI - 1) ? \ 640 u32 bnge_cp_ring_for_tx(struct bnge_tx_ring_info *txr);
|
| H A D | bnge_hwrm_lib.c | 1342 struct bnge_tx_ring_info *txr; in hwrm_ring_alloc_send_msg() local 1344 txr = container_of(ring, struct bnge_tx_ring_info, in hwrm_ring_alloc_send_msg() 1349 req->cmpl_ring_id = cpu_to_le16(bnge_cp_ring_for_tx(txr)); in hwrm_ring_alloc_send_msg()
|
| /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() 1040 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/drivers/net/ethernet/broadcom/ |
| H A D | bcmsysport.c | 1110 struct bcm_sysport_tx_ring *txr; in bcm_sysport_rx_isr() 1145 txr = &priv->tx_rings[ring]; in bcm_sysport_rx_isr() 1147 if (likely(napi_schedule_prep(&txr->napi))) { in bcm_sysport_rx_isr() 1149 __napi_schedule(&txr->napi); in bcm_sysport_rx_isr() 1161 struct bcm_sysport_tx_ring *txr; in bcm_sysport_tx_isr() 1177 txr = &priv->tx_rings[ring]; in bcm_sysport_tx_isr() 1179 if (likely(napi_schedule_prep(&txr->napi))) { in bcm_sysport_tx_isr() 1181 __napi_schedule_irqoff(&txr->napi); in bcm_sysport_tx_isr() 1108 struct bcm_sysport_tx_ring *txr; bcm_sysport_rx_isr() local 1159 struct bcm_sysport_tx_ring *txr; bcm_sysport_tx_isr() local
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | test_xsk.c | 156 struct xsk_ring_prod *txr; in xsk_configure_socket() local 171 txr = ifobject->tx_on ? &xsk->tx : NULL; in xsk_configure_socket() 173 return xsk_socket__create(&xsk->xsk, ifobject->ifindex, 0, umem->umem, rxr, txr, &cfg); in xsk_configure_socket()
|