| /freebsd-14.2/sys/dev/ena/ |
| H A D | ena_datapath.c | 73 struct ena_ring *tx_ring; in ena_cleanup() local 80 tx_ring = que->tx_ring; in ena_cleanup() 127 while (!drbr_empty(ifp, tx_ring->br) && tx_ring->running && in ena_deferred_mq_start() 130 ena_start_xmit(tx_ring); in ena_deferred_mq_start() 139 struct ena_ring *tx_ring; in ena_mq_start() local 166 tx_ring = &adapter->tx_ring[i]; in ena_mq_start() 172 taskqueue_enqueue(tx_ring->enqueue_tq, &tx_ring->enqueue_task); in ena_mq_start() 177 ena_start_xmit(tx_ring); in ena_mq_start() 180 taskqueue_enqueue(tx_ring->enqueue_tq, &tx_ring->enqueue_task); in ena_mq_start() 190 struct ena_ring *tx_ring = adapter->tx_ring; in ena_qflush() local [all …]
|
| H A D | ena.c | 413 que->tx_ring = txr; in ena_init_io_rings_basic() 640 struct ena_ring *tx_ring = que->tx_ring; in ena_setup_tx_resources() local 712 TASK_INIT(&tx_ring->enqueue_task, 0, ena_deferred_mq_start, tx_ring); in ena_setup_tx_resources() 759 struct ena_ring *tx_ring = &adapter->tx_ring[qid]; in ena_free_tx_resources() local 766 taskqueue_drain(tx_ring->enqueue_tq, &tx_ring->enqueue_task); in ena_free_tx_resources() 1504 struct ena_ring *tx_ring = &adapter->tx_ring[qid]; in ena_free_tx_bufs() local 2110 tx_ring = &adapter->tx_ring[i]; in ena_unmask_all_io_irqs() 3166 tx_ring->qid); in check_cdesc_in_tx_cq() 3173 tx_ring->qid); in check_cdesc_in_tx_cq() 3214 tx_ring->qid); in check_missing_comp_in_tx_queue() [all …]
|
| H A D | ena_netmap.c | 347 struct ena_ring *tx_ring = ctx->ring; in ena_netmap_tx_frames() local 369 tx_ring->acum_pkts++; in ena_netmap_tx_frames() 375 ena_ring_tx_doorbell(tx_ring); in ena_netmap_tx_frames() 389 struct ena_ring *tx_ring; in ena_netmap_tx_frame() local 404 tx_ring = ctx->ring; in ena_netmap_tx_frame() 430 ena_ring_tx_doorbell(tx_ring); in ena_netmap_tx_frame() 554 struct ena_ring *tx_ring; in ena_netmap_tx_map_slots() local 568 tx_ring = ctx->ring; in ena_netmap_tx_map_slots() 593 tx_ring->tx_max_header_size); in ena_netmap_tx_map_slots() 803 ctx->nt = tx_ring->next_to_clean; in ena_netmap_tx_cleanup() [all …]
|
| H A D | ena.h | 222 struct ena_ring *tx_ring; member 486 struct ena_ring tx_ring[ENA_MAX_NUM_IO_QUEUES] 588 int validate_tx_req_id(struct ena_ring *tx_ring, uint16_t req_id, int tx_req_id_rc); 628 ena_ring_tx_doorbell(struct ena_ring *tx_ring) in ena_ring_tx_doorbell() argument 630 ena_com_write_sq_doorbell(tx_ring->ena_com_io_sq); in ena_ring_tx_doorbell() 631 counter_u64_add(tx_ring->tx_stats.doorbells, 1); in ena_ring_tx_doorbell() 632 tx_ring->acum_pkts = 0; in ena_ring_tx_doorbell()
|
| /freebsd-14.2/sys/ofed/drivers/infiniband/ulp/sdp/ |
| H A D | sdp_tx.c | 172 struct sdp_tx_ring *tx_ring = &ssk->tx_ring; in sdp_send_completion() local 191 atomic_inc(&tx_ring->tail); in sdp_send_completion() 288 if (!ssk->tx_ring.cq) { in sdp_process_tx_cq() 319 ring_head(ssk->tx_ring), ring_tail(ssk->tx_ring)); in sdp_poll_tx() 344 if (ssk->tx_ring.rdma_inflight && ssk->tx_ring.rdma_inflight->busy) { in sdp_poll_tx() 438 ssk->tx_ring.buffer = malloc(sizeof(*ssk->tx_ring.buffer) * SDP_TX_SIZE, in sdp_tx_ring_create() 448 ssk->tx_ring.cq = tx_cq; in sdp_tx_ring_create() 449 ssk->tx_ring.poll_cnt = 0; in sdp_tx_ring_create() 478 if (ssk->tx_ring.cq) { in sdp_tx_ring_destroy() 480 ssk->tx_ring.cq = NULL; in sdp_tx_ring_destroy() [all …]
|
| H A D | sdp.h | 150 #define tx_ring_posted(ssk) (ring_posted(ssk->tx_ring) + \ 151 (ssk->tx_ring.rdma_inflight ? ssk->tx_ring.rdma_inflight->busy : 0)) 153 #define tx_ring_posted(ssk) ring_posted(ssk->tx_ring) 280 #define tx_credits(ssk) (atomic_read(&ssk->tx_ring.credits)) 360 struct sdp_tx_ring tx_ring; member 459 ib_req_notify_cq(ssk->tx_ring.cq, IB_CQ_NEXT_COMP); in sdp_arm_tx_cq()
|
| /freebsd-14.2/sys/dev/rtwn/pci/ |
| H A D | rtwn_pci_attach.c | 268 struct rtwn_tx_ring *tx_ring = &pc->tx_ring[qid]; in rtwn_pci_alloc_tx_list() local 281 error = bus_dmamem_alloc(tx_ring->desc_dmat, &tx_ring->desc, in rtwn_pci_alloc_tx_list() 287 error = bus_dmamap_load(tx_ring->desc_dmat, tx_ring->desc_map, in rtwn_pci_alloc_tx_list() 288 tx_ring->desc, size, rtwn_pci_dma_map_addr, &tx_ring->paddr, in rtwn_pci_alloc_tx_list() 294 bus_dmamap_sync(tx_ring->desc_dmat, tx_ring->desc_map, in rtwn_pci_alloc_tx_list() 439 struct rtwn_tx_ring *tx_ring = &pc->tx_ring[qid]; in rtwn_pci_free_tx_list() local 448 tx_ring->desc_map); in rtwn_pci_free_tx_list() 449 bus_dmamem_free(tx_ring->desc_dmat, tx_ring->desc, in rtwn_pci_free_tx_list() 450 tx_ring->desc_map); in rtwn_pci_free_tx_list() 472 tx_ring->queued = 0; in rtwn_pci_free_tx_list() [all …]
|
| /freebsd-14.2/sys/dev/al_eth/ |
| H A D | al_eth.c | 1398 tx_ring->next_to_use = AL_ETH_TX_RING_IDX_NEXT(tx_ring, next_to_use); in al_eth_xmit_mbuf() 1425 al_eth_irq_config(tx_ring->unmask_reg_offset, tx_ring->unmask_val); in al_eth_tx_cmpl_work() 1443 taskqueue_enqueue(tx_ring->cmpl_tq, &tx_ring->cmpl_task); in al_eth_tx_cmlp_irq_filter() 1739 tx_ring = &adapter->tx_ring[i]; in al_mq_start() 1751 taskqueue_enqueue(tx_ring->enqueue_tq, &tx_ring->enqueue_task); in al_mq_start() 2279 struct al_eth_ring *tx_ring = &adapter->tx_ring[qid]; in al_eth_setup_tx_resources() local 2315 TASK_INIT(&tx_ring->enqueue_task, 0, al_eth_start_xmit, tx_ring); in al_eth_setup_tx_resources() 2320 TASK_INIT(&tx_ring->cmpl_task, 0, al_eth_tx_cmpl_work, tx_ring); in al_eth_setup_tx_resources() 2376 struct al_eth_ring *tx_ring = &adapter->tx_ring[qid]; in al_eth_free_tx_resources() local 2382 taskqueue_drain(tx_ring->cmpl_tq, &tx_ring->cmpl_task); in al_eth_free_tx_resources() [all …]
|
| /freebsd-14.2/sys/contrib/dev/athk/ath11k/ |
| H A D | dp_tx.c | 96 struct dp_tx_ring *tx_ring; in ath11k_dp_tx() local 128 tx_ring = &dp->tx_ring[ti.ring_id]; in ath11k_dp_tx() 284 idr_remove(&tx_ring->txbuf_idr, in ath11k_dp_tx() 702 struct dp_tx_ring *tx_ring = &dp->tx_ring[ring_id]; in ath11k_dp_tx_completion_handler() local 712 tx_ring->tx_status_tail) && in ath11k_dp_tx_completion_handler() 714 memcpy(&tx_ring->tx_status[tx_ring->tx_status_head], in ath11k_dp_tx_completion_handler() 716 tx_ring->tx_status_head = in ath11k_dp_tx_completion_handler() 731 while (ATH11K_TX_COMPL_NEXT(tx_ring->tx_status_tail) != tx_ring->tx_status_head) { in ath11k_dp_tx_completion_handler() 735 tx_ring->tx_status_tail = in ath11k_dp_tx_completion_handler() 737 tx_status = &tx_ring->tx_status[tx_ring->tx_status_tail]; in ath11k_dp_tx_completion_handler() [all …]
|
| H A D | dp.c | 430 dp->tx_ring[i].tcl_data_ring.ring_id); in ath11k_dp_srng_common_setup() 1049 spin_lock_bh(&dp->tx_ring[i].tx_idr_lock); in ath11k_dp_free() 1050 idr_for_each(&dp->tx_ring[i].txbuf_idr, in ath11k_dp_free() 1052 idr_destroy(&dp->tx_ring[i].txbuf_idr); in ath11k_dp_free() 1053 spin_unlock_bh(&dp->tx_ring[i].tx_idr_lock); in ath11k_dp_free() 1054 kfree(dp->tx_ring[i].tx_status); in ath11k_dp_free() 1100 idr_init(&dp->tx_ring[i].txbuf_idr); in ath11k_dp_alloc() 1101 spin_lock_init(&dp->tx_ring[i].tx_idr_lock); in ath11k_dp_alloc() 1102 dp->tx_ring[i].tcl_data_ring_id = i; in ath11k_dp_alloc() 1104 dp->tx_ring[i].tx_status_head = 0; in ath11k_dp_alloc() [all …]
|
| /freebsd-14.2/sys/contrib/dev/rtw89/ |
| H A D | pci.c | 384 tx_ring->tx_acked++; in rtw89_pci_tx_status() 391 tx_ring->tx_retry_lmt++; in rtw89_pci_tx_status() 394 tx_ring->tx_life_time++; in rtw89_pci_tx_status() 397 tx_ring->tx_mac_id_drop++; in rtw89_pci_tx_status() 453 u8 txch = tx_ring->txch; in rtw89_pci_release_txwd_skb() 500 wd_ring = &tx_ring->wd_ring; in rtw89_pci_release_rpp() 1244 tx_ring->tx_cnt++; in rtw89_pci_txwd_submit() 2863 ring_sz = tx_ring->bd_ring.desc_size * tx_ring->bd_ring.len; in rtw89_pci_free_tx_ring() 3051 tx_ring->bd_ring.wp = 0; in rtw89_pci_alloc_tx_ring() 3052 tx_ring->bd_ring.rp = 0; in rtw89_pci_alloc_tx_ring() [all …]
|
| /freebsd-14.2/sys/dev/qlxge/ |
| H A D | qls_hw.c | 689 ha->tx_ring[txr_idx].txr_free); in qls_hw_send() 763 ha->tx_ring[txr_idx].txr_free--; in qls_hw_send() 930 ha->tx_ring[0].wq_db_offset)); in qls_init_hw_if() 1135 txr = &ha->tx_ring[wid]; in qls_init_work_queue() 1354 txb = &ha->tx_ring[i].tx_buf[j]; in qls_free_tx_dma() 1380 ha->tx_ring[ridx].wq_dma.size = in qls_alloc_tx_ring_dma() 1403 ha->tx_ring[ridx].wq_vaddr = ha->tx_ring[ridx].wq_dma.dma_b; in qls_alloc_tx_ring_dma() 1404 ha->tx_ring[ridx].wq_paddr = ha->tx_ring[ridx].wq_dma.dma_addr; in qls_alloc_tx_ring_dma() 1412 ha->tx_ring[ridx].txr_cons_vaddr = in qls_alloc_tx_ring_dma() 1419 txb = ha->tx_ring[ridx].tx_buf; in qls_alloc_tx_ring_dma() [all …]
|
| H A D | qls_isr.c | 54 txb = &ha->tx_ring[txr_idx].tx_buf[tx_idx]; in qls_tx_comp() 66 ha->tx_ring[txr_idx].txr_done++; in qls_tx_comp() 68 if (ha->tx_ring[txr_idx].txr_done == NUM_TX_DESCRIPTORS) in qls_tx_comp() 69 ha->tx_ring[txr_idx].txr_done = 0; in qls_tx_comp()
|
| /freebsd-14.2/sys/contrib/dev/athk/ath12k/ |
| H A D | dp_tx.c | 146 struct dp_tx_ring *tx_ring; in ath12k_dp_tx() local 179 tx_ring = &dp->tx_ring[ti.ring_id]; in ath12k_dp_tx() 546 struct dp_tx_ring *tx_ring = &dp->tx_ring[ring_id]; in ath12k_dp_tx_completion_handler() local 555 while (ATH12K_TX_COMPL_NEXT(tx_ring->tx_status_head) != tx_ring->tx_status_tail) { in ath12k_dp_tx_completion_handler() 560 memcpy(&tx_ring->tx_status[tx_ring->tx_status_head], in ath12k_dp_tx_completion_handler() 562 tx_ring->tx_status_head = in ath12k_dp_tx_completion_handler() 567 (ATH12K_TX_COMPL_NEXT(tx_ring->tx_status_head) == tx_ring->tx_status_tail)) { in ath12k_dp_tx_completion_handler() 576 while (ATH12K_TX_COMPL_NEXT(tx_ring->tx_status_tail) != tx_ring->tx_status_head) { in ath12k_dp_tx_completion_handler() 580 tx_ring->tx_status_tail = in ath12k_dp_tx_completion_handler() 582 tx_status = &tx_ring->tx_status[tx_ring->tx_status_tail]; in ath12k_dp_tx_completion_handler() [all …]
|
| /freebsd-14.2/sys/contrib/dev/rtw88/ |
| H A D | pci.c | 162 u8 *head = tx_ring->r.head; in rtw_pci_free_tx_ring() 163 u32 len = tx_ring->r.len; in rtw_pci_free_tx_ring() 170 tx_ring->r.head = NULL; in rtw_pci_free_tx_ring() 209 struct rtw_pci_tx_ring *tx_ring; in rtw_pci_free_trx_ring() local 214 tx_ring = &rtwpci->tx_rings[i]; in rtw_pci_free_trx_ring() 245 tx_ring->r.head = head; in rtw_pci_init_tx_ring() 246 tx_ring->r.dma = dma; in rtw_pci_init_tx_ring() 247 tx_ring->r.len = len; in rtw_pci_init_tx_ring() 249 tx_ring->r.wp = 0; in rtw_pci_init_tx_ring() 250 tx_ring->r.rp = 0; in rtw_pci_init_tx_ring() [all …]
|
| /freebsd-14.2/sys/dev/et/ |
| H A D | if_et.c | 879 tx_ring = &sc->sc_tx_ring; in et_dma_alloc() 881 &tx_ring->tr_dtag, (uint8_t **)&tx_ring->tr_desc, &tx_ring->tr_dmap, in et_dma_alloc() 1113 tx_ring = &sc->sc_tx_ring; in et_dma_free() 1114 et_dma_ring_free(sc, &tx_ring->tr_dtag, (void *)&tx_ring->tr_desc, in et_dma_free() 1115 tx_ring->tr_dmap, &tx_ring->tr_paddr); in et_dma_free() 1424 bus_dmamap_sync(tx_ring->tr_dtag, tx_ring->tr_dmap, in et_start_locked() 1676 tx_ring = &sc->sc_tx_ring; in et_init_tx_ring() 1678 bus_dmamap_sync(tx_ring->tr_dtag, tx_ring->tr_dmap, in et_init_tx_ring() 1813 tx_ring = &sc->sc_tx_ring; in et_init_txdma() 2153 tx_ring = &sc->sc_tx_ring; in et_encap() [all …]
|
| /freebsd-14.2/sys/dev/mlx4/mlx4_ib/ |
| H A D | mlx4_ib_mad.c | 559 if (tun_qp->tx_ring[tun_tx_ix].ah) in mlx4_ib_send_to_slave() 1577 if (!tun_qp->tx_ring) { in mlx4_ib_alloc_pv_bufs() 1606 tun_qp->tx_ring[i].buf.addr = in mlx4_ib_alloc_pv_bufs() 1610 tun_qp->tx_ring[i].buf.map = in mlx4_ib_alloc_pv_bufs() 1620 tun_qp->tx_ring[i].ah = NULL; in mlx4_ib_alloc_pv_bufs() 1636 kfree(tun_qp->tx_ring); in mlx4_ib_alloc_pv_bufs() 1637 tun_qp->tx_ring = NULL; in mlx4_ib_alloc_pv_bufs() 1681 if (tun_qp->tx_ring[i].ah) in mlx4_ib_free_pv_qp_bufs() 1684 kfree(tun_qp->tx_ring); in mlx4_ib_free_pv_qp_bufs() 1870 kfree(sqp->tx_ring[wc.wr_id & in mlx4_ib_sqp_comp_worker() [all …]
|
| /freebsd-14.2/sys/dev/axgbe/ |
| H A D | if_axgbe_pci.c | 746 channel->tx_ring = NULL; in axgbe_alloc_channels() 1642 struct xgbe_ring *tx_ring; in axgbe_if_tx_queues_alloc() local 1659 if (tx_ring == NULL) { in axgbe_if_tx_queues_alloc() 1664 channel->tx_ring = tx_ring; in axgbe_if_tx_queues_alloc() 1667 tx_ring->rdata = in axgbe_if_tx_queues_alloc() 1689 tx_ring = channel->tx_ring; in axgbe_if_tx_queues_alloc() 1691 if (tx_ring && tx_ring->rdata) in axgbe_if_tx_queues_alloc() 1696 channel->tx_ring = NULL; in axgbe_if_tx_queues_alloc() 1792 tx_ring = channel->tx_ring; in axgbe_if_queues_free() 1794 if (tx_ring && tx_ring->rdata) in axgbe_if_queues_free() [all …]
|
| /freebsd-14.2/sys/dev/ixl/ |
| H A D | ixl_txrx.c | 149 ixl_is_tx_desc_done(struct tx_ring *txr, int idx) in ixl_is_tx_desc_done() 280 ixl_tso_setup(struct tx_ring *txr, if_pkt_info_t pi) in ixl_tso_setup() 343 struct tx_ring *txr = &que->txr; in ixl_isc_txd_encap() 417 struct tx_ring *txr = &vsi->tx_queues[txqid].txr; in ixl_isc_txd_flush() 437 struct tx_ring *txr = &que->txr; in ixl_init_tx_ring() 455 struct tx_ring *txr = &que->txr; in ixl_get_tx_head() 467 struct tx_ring *txr = &que->txr; in ixl_isc_txd_credits_update_hwb() 488 struct tx_ring *txr = &tx_que->txr; in ixl_isc_txd_credits_update_dwb() 788 struct tx_ring *txr = &tx_que->txr; in ixl_init_tx_rsqs() 812 struct tx_ring *txr = &tx_que->txr; in ixl_init_tx_cidx() [all …]
|
| /freebsd-14.2/sys/dev/igc/ |
| H A D | igc_txrx.c | 58 static int igc_tx_ctx_setup(struct tx_ring *, if_pkt_info_t, uint32_t *, 60 static int igc_tso_setup(struct tx_ring *, if_pkt_info_t, uint32_t *, 85 struct tx_ring *txr; in igc_dump_rs() 122 igc_tso_setup(struct tx_ring *txr, if_pkt_info_t pi, uint32_t *cmd_type_len, in igc_tso_setup() 183 igc_tx_ctx_setup(struct tx_ring *txr, if_pkt_info_t pi, uint32_t *cmd_type_len, in igc_tx_ctx_setup() 267 struct tx_ring *txr = &que->txr; in igc_isc_txd_encap() 329 struct tx_ring *txr = &que->txr; in igc_isc_txd_flush() 340 struct tx_ring *txr = &que->txr; in igc_isc_txd_credits_update()
|
| /freebsd-14.2/sys/dev/iavf/ |
| H A D | iavf_txrx_iflib.c | 105 iavf_is_tx_desc_done(struct tx_ring *txr, int idx) in iavf_is_tx_desc_done() 259 iavf_tso_setup(struct tx_ring *txr, if_pkt_info_t pi) in iavf_tso_setup() 325 struct tx_ring *txr = &que->txr; in iavf_isc_txd_encap() 413 struct tx_ring *txr = &vsi->tx_queues[txqid].txr; in iavf_isc_txd_flush() 430 struct tx_ring *txr = &que->txr; in iavf_init_tx_ring() 452 struct tx_ring *txr = &que->txr; in iavf_get_tx_head() 479 struct tx_ring *txr = &que->txr; in iavf_isc_txd_credits_update_hwb() 515 struct tx_ring *txr = &tx_que->txr; in iavf_isc_txd_credits_update_dwb()
|
| /freebsd-14.2/sys/dev/e1000/ |
| H A D | igb_txrx.c | 56 static int igb_tx_ctx_setup(struct tx_ring *, if_pkt_info_t, uint32_t *, 58 static int igb_tso_setup(struct tx_ring *, if_pkt_info_t, uint32_t *, 85 igb_tso_setup(struct tx_ring *txr, if_pkt_info_t pi, uint32_t *cmd_type_len, in igb_tso_setup() 150 igb_tx_ctx_setup(struct tx_ring *txr, if_pkt_info_t pi, uint32_t *cmd_type_len, in igb_tx_ctx_setup() 239 struct tx_ring *txr = &que->txr; in igb_isc_txd_encap() 305 struct tx_ring *txr = &que->txr; in igb_isc_txd_flush() 316 struct tx_ring *txr = &que->txr; in igb_isc_txd_credits_update()
|
| /freebsd-14.2/sys/dev/xen/netback/ |
| H A D | netback.c | 157 const netif_tx_back_ring_t *tx_ring, 319 netif_tx_back_ring_t tx_ring; member 545 &xnb->ring_configs[XNB_RING_TYPE_TX].back_ring.tx_ring; in xnb_dump_rings() 729 BACK_RING_INIT(&ring->back_ring.tx_ring, in xnb_connect_ring() 1495 if (RING_HAS_UNCONSUMED_REQUESTS_2(tx_ring, idx)) { in xnb_ring2pkt() 1496 netif_tx_request_t *tx = RING_GET_REQUEST(tx_ring, idx); in xnb_ring2pkt() 1507 RING_HAS_UNCONSUMED_REQUESTS_2(tx_ring, idx)) { in xnb_ring2pkt() 1525 xnb_dump_txreq(start, RING_GET_REQUEST(tx_ring, in xnb_ring2pkt() 1527 xnb_dump_txreq(idx, RING_GET_REQUEST(tx_ring, in xnb_ring2pkt() 1544 xnb_dump_txreq(idx, RING_GET_REQUEST(tx_ring, idx)); in xnb_ring2pkt() [all …]
|
| /freebsd-14.2/sys/dev/neta/ |
| H A D | if_mvnetavar.h | 216 KASSERT(mtx_owned(&(sc)->tx_ring[(q)].ring_mtx),\ 290 struct mvneta_tx_ring tx_ring[MVNETA_TX_QNUM_MAX]; member 319 (&(sc)->tx_ring[(q)])
|
| /freebsd-14.2/sys/dev/mlx4/mlx4_en/ |
| H A D | mlx4_en_netdev.c | 1266 struct mlx4_en_tx_ring *tx_ring; in mlx4_en_start_port() local 1360 tx_ring = priv->tx_ring[i]; in mlx4_en_start_port() 1580 ring = priv->tx_ring[i]; in mlx4_en_restart() 1619 priv->tx_ring[i]->bytes = 0; in mlx4_en_clear_stats() 1620 priv->tx_ring[i]->packets = 0; in mlx4_en_clear_stats() 1621 priv->tx_ring[i]->tx_csum = 0; in mlx4_en_clear_stats() 1676 if (priv->tx_ring && priv->tx_ring[i]) in mlx4_en_free_resources() 1741 if (priv->tx_ring[i]) in mlx4_en_alloc_resources() 1809 kfree(priv->tx_ring); in mlx4_en_destroy_netdev() 2186 if (!priv->tx_ring) { in mlx4_en_init_netdev() [all …]
|