| /Linux-v5.15/drivers/net/ethernet/intel/ice/ |
| D | ice_txrx.c | 35 struct ice_ring *tx_ring; in ice_prgm_fdir_fltr() local 44 tx_ring = vsi->tx_rings[0]; in ice_prgm_fdir_fltr() 45 if (!tx_ring || !tx_ring->desc) in ice_prgm_fdir_fltr() 47 dev = tx_ring->dev; in ice_prgm_fdir_fltr() 50 for (i = ICE_FDIR_CLEAN_DELAY; ICE_DESC_UNUSED(tx_ring) < 2; i--) { in ice_prgm_fdir_fltr() 63 i = tx_ring->next_to_use; in ice_prgm_fdir_fltr() 64 first = &tx_ring->tx_buf[i]; in ice_prgm_fdir_fltr() 65 f_desc = ICE_TX_FDIRDESC(tx_ring, i); in ice_prgm_fdir_fltr() 69 i = (i < tx_ring->count) ? i : 0; in ice_prgm_fdir_fltr() 70 tx_desc = ICE_TX_DESC(tx_ring, i); in ice_prgm_fdir_fltr() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/intel/iavf/ |
| D | iavf_txrx.c | 57 void iavf_clean_tx_ring(struct iavf_ring *tx_ring) in iavf_clean_tx_ring() argument 63 if (!tx_ring->tx_bi) in iavf_clean_tx_ring() 67 for (i = 0; i < tx_ring->count; i++) in iavf_clean_tx_ring() 68 iavf_unmap_and_free_tx_resource(tx_ring, &tx_ring->tx_bi[i]); in iavf_clean_tx_ring() 70 bi_size = sizeof(struct iavf_tx_buffer) * tx_ring->count; in iavf_clean_tx_ring() 71 memset(tx_ring->tx_bi, 0, bi_size); in iavf_clean_tx_ring() 74 memset(tx_ring->desc, 0, tx_ring->size); in iavf_clean_tx_ring() 76 tx_ring->next_to_use = 0; in iavf_clean_tx_ring() 77 tx_ring->next_to_clean = 0; in iavf_clean_tx_ring() 79 if (!tx_ring->netdev) in iavf_clean_tx_ring() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/netronome/nfp/ |
| D | nfp_net_debugfs.c | 76 struct nfp_net_tx_ring *tx_ring; in nfp_tx_q_show() local 85 tx_ring = r_vec->tx_ring; in nfp_tx_q_show() 87 tx_ring = r_vec->xdp_ring; in nfp_tx_q_show() 88 if (!r_vec->nfp_net || !tx_ring) in nfp_tx_q_show() 94 txd_cnt = tx_ring->cnt; in nfp_tx_q_show() 96 d_rd_p = nfp_qcp_rd_ptr_read(tx_ring->qcp_q); in nfp_tx_q_show() 97 d_wr_p = nfp_qcp_wr_ptr_read(tx_ring->qcp_q); in nfp_tx_q_show() 100 tx_ring->idx, tx_ring->qcidx, in nfp_tx_q_show() 101 tx_ring == r_vec->tx_ring ? "" : "xdp", in nfp_tx_q_show() 102 tx_ring->cnt, &tx_ring->dma, tx_ring->txds, in nfp_tx_q_show() [all …]
|
| D | nfp_net_common.c | 579 nfp_net_tx_ring_init(struct nfp_net_tx_ring *tx_ring, in nfp_net_tx_ring_init() argument 585 tx_ring->idx = idx; in nfp_net_tx_ring_init() 586 tx_ring->r_vec = r_vec; in nfp_net_tx_ring_init() 587 tx_ring->is_xdp = is_xdp; in nfp_net_tx_ring_init() 588 u64_stats_init(&tx_ring->r_vec->tx_sync); in nfp_net_tx_ring_init() 590 tx_ring->qcidx = tx_ring->idx * nn->stride_tx; in nfp_net_tx_ring_init() 591 tx_ring->qcp_q = nn->tx_bar + NFP_QCP_QUEUE_OFF(tx_ring->qcidx); in nfp_net_tx_ring_init() 685 static int nfp_net_tx_full(struct nfp_net_tx_ring *tx_ring, int dcnt) in nfp_net_tx_full() argument 687 return (tx_ring->wr_p - tx_ring->rd_p) >= (tx_ring->cnt - dcnt); in nfp_net_tx_full() 691 static int nfp_net_tx_ring_should_wake(struct nfp_net_tx_ring *tx_ring) in nfp_net_tx_ring_should_wake() argument [all …]
|
| /Linux-v5.15/drivers/net/ethernet/intel/fm10k/ |
| D | fm10k_main.c | 735 static int fm10k_tso(struct fm10k_ring *tx_ring, in fm10k_tso() argument 768 tx_desc = FM10K_TX_DESC(tx_ring, tx_ring->next_to_use); in fm10k_tso() 775 tx_ring->netdev->features &= ~NETIF_F_GSO_UDP_TUNNEL; in fm10k_tso() 777 netdev_err(tx_ring->netdev, in fm10k_tso() 782 static void fm10k_tx_csum(struct fm10k_ring *tx_ring, in fm10k_tx_csum() argument 804 dev_warn(tx_ring->dev, in fm10k_tx_csum() 806 tx_ring->tx_stats.csum_err++; in fm10k_tx_csum() 847 dev_warn(tx_ring->dev, in fm10k_tx_csum() 852 tx_ring->tx_stats.csum_err++; in fm10k_tx_csum() 858 tx_ring->tx_stats.csum_good++; in fm10k_tx_csum() [all …]
|
| D | fm10k_netdev.c | 15 int fm10k_setup_tx_resources(struct fm10k_ring *tx_ring) in fm10k_setup_tx_resources() argument 17 struct device *dev = tx_ring->dev; in fm10k_setup_tx_resources() 20 size = sizeof(struct fm10k_tx_buffer) * tx_ring->count; in fm10k_setup_tx_resources() 22 tx_ring->tx_buffer = vzalloc(size); in fm10k_setup_tx_resources() 23 if (!tx_ring->tx_buffer) in fm10k_setup_tx_resources() 26 u64_stats_init(&tx_ring->syncp); in fm10k_setup_tx_resources() 29 tx_ring->size = tx_ring->count * sizeof(struct fm10k_tx_desc); in fm10k_setup_tx_resources() 30 tx_ring->size = ALIGN(tx_ring->size, 4096); in fm10k_setup_tx_resources() 32 tx_ring->desc = dma_alloc_coherent(dev, tx_ring->size, in fm10k_setup_tx_resources() 33 &tx_ring->dma, GFP_KERNEL); in fm10k_setup_tx_resources() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/intel/i40e/ |
| D | i40e_txrx_common.h | 43 static inline void i40e_update_tx_stats(struct i40e_ring *tx_ring, in i40e_update_tx_stats() argument 47 u64_stats_update_begin(&tx_ring->syncp); in i40e_update_tx_stats() 48 tx_ring->stats.bytes += total_bytes; in i40e_update_tx_stats() 49 tx_ring->stats.packets += total_packets; in i40e_update_tx_stats() 50 u64_stats_update_end(&tx_ring->syncp); in i40e_update_tx_stats() 51 tx_ring->q_vector->tx.total_bytes += total_bytes; in i40e_update_tx_stats() 52 tx_ring->q_vector->tx.total_packets += total_packets; in i40e_update_tx_stats() 63 static inline void i40e_arm_wb(struct i40e_ring *tx_ring, in i40e_arm_wb() argument 67 if (tx_ring->flags & I40E_TXR_FLAGS_WB_ON_ITR) { in i40e_arm_wb() 73 unsigned int j = i40e_get_tx_pending(tx_ring, false); in i40e_arm_wb() [all …]
|
| D | i40e_txrx.c | 21 static void i40e_fdir(struct i40e_ring *tx_ring, in i40e_fdir() argument 25 struct i40e_pf *pf = tx_ring->vsi->back; in i40e_fdir() 30 i = tx_ring->next_to_use; in i40e_fdir() 31 fdir_desc = I40E_TX_FDIRDESC(tx_ring, i); in i40e_fdir() 34 tx_ring->next_to_use = (i < tx_ring->count) ? i : 0; in i40e_fdir() 91 struct i40e_ring *tx_ring; in i40e_program_fdir_filter() local 103 tx_ring = vsi->tx_rings[0]; in i40e_program_fdir_filter() 104 dev = tx_ring->dev; in i40e_program_fdir_filter() 107 for (i = I40E_FD_CLEAN_DELAY; I40E_DESC_UNUSED(tx_ring) < 2; i--) { in i40e_program_fdir_filter() 119 i = tx_ring->next_to_use; in i40e_program_fdir_filter() [all …]
|
| D | i40e_xsk.c | 503 static void i40e_clean_xdp_tx_buffer(struct i40e_ring *tx_ring, in i40e_clean_xdp_tx_buffer() argument 507 tx_ring->xdp_tx_active--; in i40e_clean_xdp_tx_buffer() 508 dma_unmap_single(tx_ring->dev, in i40e_clean_xdp_tx_buffer() 521 bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi, struct i40e_ring *tx_ring) in i40e_clean_xdp_tx_irq() argument 523 struct xsk_buff_pool *bp = tx_ring->xsk_pool; in i40e_clean_xdp_tx_irq() 525 u32 head_idx = i40e_get_head(tx_ring); in i40e_clean_xdp_tx_irq() 529 if (head_idx < tx_ring->next_to_clean) in i40e_clean_xdp_tx_irq() 530 head_idx += tx_ring->count; in i40e_clean_xdp_tx_irq() 531 completed_frames = head_idx - tx_ring->next_to_clean; in i40e_clean_xdp_tx_irq() 536 if (likely(!tx_ring->xdp_tx_active)) { in i40e_clean_xdp_tx_irq() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/intel/igbvf/ |
| D | netdev.c | 418 struct igbvf_ring *tx_ring) in igbvf_setup_tx_resources() argument 423 size = sizeof(struct igbvf_buffer) * tx_ring->count; in igbvf_setup_tx_resources() 424 tx_ring->buffer_info = vzalloc(size); in igbvf_setup_tx_resources() 425 if (!tx_ring->buffer_info) in igbvf_setup_tx_resources() 429 tx_ring->size = tx_ring->count * sizeof(union e1000_adv_tx_desc); in igbvf_setup_tx_resources() 430 tx_ring->size = ALIGN(tx_ring->size, 4096); in igbvf_setup_tx_resources() 432 tx_ring->desc = dma_alloc_coherent(&pdev->dev, tx_ring->size, in igbvf_setup_tx_resources() 433 &tx_ring->dma, GFP_KERNEL); in igbvf_setup_tx_resources() 434 if (!tx_ring->desc) in igbvf_setup_tx_resources() 437 tx_ring->adapter = adapter; in igbvf_setup_tx_resources() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/freescale/enetc/ |
| D | enetc.c | 25 struct enetc_bdr *tx_ring) in enetc_rx_ring_from_xdp_tx_ring() argument 27 int index = &priv->tx_ring[tx_ring->index] - priv->xdp_tx_ring; in enetc_rx_ring_from_xdp_tx_ring() 49 static void enetc_unmap_tx_buff(struct enetc_bdr *tx_ring, in enetc_unmap_tx_buff() argument 57 dma_unmap_page(tx_ring->dev, tx_swbd->dma, in enetc_unmap_tx_buff() 61 dma_unmap_single(tx_ring->dev, tx_swbd->dma, in enetc_unmap_tx_buff() 66 static void enetc_free_tx_frame(struct enetc_bdr *tx_ring, in enetc_free_tx_frame() argument 73 enetc_unmap_tx_buff(tx_ring, tx_swbd); in enetc_free_tx_frame() 85 static void enetc_update_tx_ring_tail(struct enetc_bdr *tx_ring) in enetc_update_tx_ring_tail() argument 88 enetc_wr_reg_hot(tx_ring->tpir, tx_ring->next_to_use); in enetc_update_tx_ring_tail() 124 static int enetc_map_tx_buffs(struct enetc_bdr *tx_ring, struct sk_buff *skb) in enetc_map_tx_buffs() argument [all …]
|
| /Linux-v5.15/drivers/net/ethernet/qlogic/qlcnic/ |
| D | qlcnic_io.c | 270 u16 vlan_id, struct qlcnic_host_tx_ring *tx_ring) in qlcnic_82xx_change_filter() argument 279 producer = tx_ring->producer; in qlcnic_82xx_change_filter() 280 hwdesc = &tx_ring->desc_head[tx_ring->producer]; in qlcnic_82xx_change_filter() 296 tx_ring->producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_82xx_change_filter() 303 struct qlcnic_host_tx_ring *tx_ring) in qlcnic_send_filter() argument 337 vlan_id, tx_ring); in qlcnic_send_filter() 352 qlcnic_change_filter(adapter, &src_addr, vlan_id, tx_ring); in qlcnic_send_filter() 372 struct qlcnic_host_tx_ring *tx_ring) in qlcnic_tx_encap_pkt() argument 376 u32 producer = tx_ring->producer; in qlcnic_tx_encap_pkt() 406 hwdesc = &tx_ring->desc_head[producer]; in qlcnic_tx_encap_pkt() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/intel/igc/ |
| D | igc_xdp.c | 42 struct igc_ring *rx_ring, *tx_ring; in igc_xdp_enable_pool() local 71 tx_ring = adapter->tx_ring[queue_id]; in igc_xdp_enable_pool() 77 igc_disable_tx_ring(tx_ring); in igc_xdp_enable_pool() 82 set_bit(IGC_RING_FLAG_AF_XDP_ZC, &tx_ring->flags); in igc_xdp_enable_pool() 87 igc_enable_tx_ring(tx_ring); in igc_xdp_enable_pool() 101 struct igc_ring *rx_ring, *tx_ring; in igc_xdp_disable_pool() local 117 tx_ring = adapter->tx_ring[queue_id]; in igc_xdp_disable_pool() 123 igc_disable_tx_ring(tx_ring); in igc_xdp_disable_pool() 129 clear_bit(IGC_RING_FLAG_AF_XDP_ZC, &tx_ring->flags); in igc_xdp_disable_pool() 134 igc_enable_tx_ring(tx_ring); in igc_xdp_disable_pool()
|
| D | igc_dump.c | 118 struct igc_ring *tx_ring; in igc_rings_dump() local 138 tx_ring = adapter->tx_ring[n]; in igc_rings_dump() 139 buffer_info = &tx_ring->tx_buffer_info[tx_ring->next_to_clean]; in igc_rings_dump() 142 n, tx_ring->next_to_use, tx_ring->next_to_clean, in igc_rings_dump() 167 tx_ring = adapter->tx_ring[n]; in igc_rings_dump() 170 tx_ring->queue_index); in igc_rings_dump() 174 for (i = 0; tx_ring->desc && (i < tx_ring->count); i++) { in igc_rings_dump() 178 tx_desc = IGC_TX_DESC(tx_ring, i); in igc_rings_dump() 179 buffer_info = &tx_ring->tx_buffer_info[i]; in igc_rings_dump() 181 if (i == tx_ring->next_to_use && in igc_rings_dump() [all …]
|
| D | igc_main.c | 194 static void igc_clean_tx_ring(struct igc_ring *tx_ring) in igc_clean_tx_ring() argument 196 u16 i = tx_ring->next_to_clean; in igc_clean_tx_ring() 197 struct igc_tx_buffer *tx_buffer = &tx_ring->tx_buffer_info[i]; in igc_clean_tx_ring() 200 while (i != tx_ring->next_to_use) { in igc_clean_tx_ring() 209 igc_unmap_tx_buffer(tx_ring->dev, tx_buffer); in igc_clean_tx_ring() 213 igc_unmap_tx_buffer(tx_ring->dev, tx_buffer); in igc_clean_tx_ring() 216 netdev_warn_once(tx_ring->netdev, "Unknown Tx buffer type\n"); in igc_clean_tx_ring() 222 tx_desc = IGC_TX_DESC(tx_ring, i); in igc_clean_tx_ring() 229 if (unlikely(i == tx_ring->count)) { in igc_clean_tx_ring() 231 tx_buffer = tx_ring->tx_buffer_info; in igc_clean_tx_ring() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/broadcom/ |
| D | bcm4908_enet.c | 74 struct bcm4908_enet_dma_ring tx_ring; member 187 struct bcm4908_enet_dma_ring *tx_ring = &enet->tx_ring; in bcm4908_enet_dma_free() local 197 size = tx_ring->length * sizeof(struct bcm4908_enet_dma_ring_bd); in bcm4908_enet_dma_free() 198 if (tx_ring->cpu_addr) in bcm4908_enet_dma_free() 199 dma_free_coherent(dev, size, tx_ring->cpu_addr, tx_ring->dma_addr); in bcm4908_enet_dma_free() 200 kfree(tx_ring->slots); in bcm4908_enet_dma_free() 205 struct bcm4908_enet_dma_ring *tx_ring = &enet->tx_ring; in bcm4908_enet_dma_alloc() local 210 tx_ring->length = ENET_TX_BDS_NUM; in bcm4908_enet_dma_alloc() 211 tx_ring->is_tx = 1; in bcm4908_enet_dma_alloc() 212 tx_ring->cfg_block = ENET_DMA_CH_TX_CFG; in bcm4908_enet_dma_alloc() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/amazon/ena/ |
| D | ena_netdev.c | 71 static void ena_unmask_interrupt(struct ena_ring *tx_ring, 73 static void ena_update_ring_numa_node(struct ena_ring *tx_ring, 75 static void ena_unmap_tx_buff(struct ena_ring *tx_ring, 89 static void ena_ring_tx_doorbell(struct ena_ring *tx_ring) in ena_ring_tx_doorbell() argument 91 ena_com_write_sq_doorbell(tx_ring->ena_com_io_sq); in ena_ring_tx_doorbell() 92 ena_increase_stat(&tx_ring->tx_stats.doorbells, 1, &tx_ring->syncp); in ena_ring_tx_doorbell() 358 xdp_ring = &adapter->tx_ring[qid]; in ena_xdp_xmit() 693 txr = &adapter->tx_ring[i]; in ena_init_io_rings() 723 rxr->xdp_ring = &adapter->tx_ring[i + adapter->num_io_queues]; in ena_init_io_rings() 736 struct ena_ring *tx_ring = &adapter->tx_ring[qid]; in ena_setup_tx_resources() local [all …]
|
| /Linux-v5.15/drivers/net/ethernet/intel/ixgbevf/ |
| D | ixgbevf_main.c | 210 static inline bool ixgbevf_check_tx_hang(struct ixgbevf_ring *tx_ring) in ixgbevf_check_tx_hang() argument 212 u32 tx_done = ixgbevf_get_tx_completed(tx_ring); in ixgbevf_check_tx_hang() 213 u32 tx_done_old = tx_ring->tx_stats.tx_done_old; in ixgbevf_check_tx_hang() 214 u32 tx_pending = ixgbevf_get_tx_pending(tx_ring); in ixgbevf_check_tx_hang() 216 clear_check_for_tx_hang(tx_ring); in ixgbevf_check_tx_hang() 226 &tx_ring->state); in ixgbevf_check_tx_hang() 229 clear_bit(__IXGBEVF_HANG_CHECK_ARMED, &tx_ring->state); in ixgbevf_check_tx_hang() 232 tx_ring->tx_stats.tx_done_old = tx_done; in ixgbevf_check_tx_hang() 265 struct ixgbevf_ring *tx_ring, int napi_budget) in ixgbevf_clean_tx_irq() argument 271 unsigned int budget = tx_ring->count / 2; in ixgbevf_clean_tx_irq() [all …]
|
| /Linux-v5.15/drivers/net/wireless/ath/ath11k/ |
| D | dp_tx.c | 90 struct dp_tx_ring *tx_ring; in ath11k_dp_tx() local 126 tx_ring = &dp->tx_ring[ti.ring_id]; in ath11k_dp_tx() 128 spin_lock_bh(&tx_ring->tx_idr_lock); in ath11k_dp_tx() 129 ret = idr_alloc(&tx_ring->txbuf_idr, skb, 0, in ath11k_dp_tx() 131 spin_unlock_bh(&tx_ring->tx_idr_lock); in ath11k_dp_tx() 221 hal_ring_id = tx_ring->tcl_data_ring.ring_id; in ath11k_dp_tx() 272 spin_lock_bh(&tx_ring->tx_idr_lock); in ath11k_dp_tx() 273 idr_remove(&tx_ring->txbuf_idr, in ath11k_dp_tx() 275 spin_unlock_bh(&tx_ring->tx_idr_lock); in ath11k_dp_tx() 285 struct dp_tx_ring *tx_ring) in ath11k_dp_tx_free_txbuf() argument [all …]
|
| /Linux-v5.15/drivers/net/ethernet/intel/ixgbe/ |
| D | ixgbe_xsk.c | 433 static void ixgbe_clean_xdp_tx_buffer(struct ixgbe_ring *tx_ring, in ixgbe_clean_xdp_tx_buffer() argument 437 dma_unmap_single(tx_ring->dev, in ixgbe_clean_xdp_tx_buffer() 444 struct ixgbe_ring *tx_ring, int napi_budget) in ixgbe_clean_xdp_tx_irq() argument 446 u16 ntc = tx_ring->next_to_clean, ntu = tx_ring->next_to_use; in ixgbe_clean_xdp_tx_irq() 448 struct xsk_buff_pool *pool = tx_ring->xsk_pool; in ixgbe_clean_xdp_tx_irq() 453 tx_bi = &tx_ring->tx_buffer_info[ntc]; in ixgbe_clean_xdp_tx_irq() 454 tx_desc = IXGBE_TX_DESC(tx_ring, ntc); in ixgbe_clean_xdp_tx_irq() 464 ixgbe_clean_xdp_tx_buffer(tx_ring, tx_bi); in ixgbe_clean_xdp_tx_irq() 473 if (unlikely(ntc == tx_ring->count)) { in ixgbe_clean_xdp_tx_irq() 475 tx_bi = tx_ring->tx_buffer_info; in ixgbe_clean_xdp_tx_irq() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/agere/ |
| D | et131x.c | 359 struct tx_ring { struct 489 struct tx_ring tx_ring; member 1639 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_config_tx_dma_regs() local 1642 writel(upper_32_bits(tx_ring->tx_desc_ring_pa), &txdma->pr_base_hi); in et131x_config_tx_dma_regs() 1643 writel(lower_32_bits(tx_ring->tx_desc_ring_pa), &txdma->pr_base_lo); in et131x_config_tx_dma_regs() 1649 writel(upper_32_bits(tx_ring->tx_status_pa), &txdma->dma_wb_base_hi); in et131x_config_tx_dma_regs() 1650 writel(lower_32_bits(tx_ring->tx_status_pa), &txdma->dma_wb_base_lo); in et131x_config_tx_dma_regs() 1652 *tx_ring->tx_status = 0; in et131x_config_tx_dma_regs() 1655 tx_ring->send_idx = 0; in et131x_config_tx_dma_regs() 1752 struct tx_ring *tx_ring = &adapter->tx_ring; in et131x_init_send() local [all …]
|
| /Linux-v5.15/drivers/net/ethernet/oki-semi/pch_gbe/ |
| D | pch_gbe_main.c | 555 adapter->tx_ring = devm_kzalloc(&adapter->pdev->dev, in pch_gbe_alloc_queues() 556 sizeof(*adapter->tx_ring), GFP_KERNEL); in pch_gbe_alloc_queues() 557 if (!adapter->tx_ring) in pch_gbe_alloc_queues() 788 (unsigned long long)adapter->tx_ring->dma, in pch_gbe_configure_tx() 789 adapter->tx_ring->size); in pch_gbe_configure_tx() 792 tdba = adapter->tx_ring->dma; in pch_gbe_configure_tx() 793 tdlen = adapter->tx_ring->size - 0x10; in pch_gbe_configure_tx() 907 struct pch_gbe_tx_ring *tx_ring) in pch_gbe_clean_tx_ring() argument 915 for (i = 0; i < tx_ring->count; i++) { in pch_gbe_clean_tx_ring() 916 buffer_info = &tx_ring->buffer_info[i]; in pch_gbe_clean_tx_ring() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/apm/xgene-v2/ |
| D | main.c | 176 struct xge_desc_ring *tx_ring; in xge_start_xmit() local 184 tx_ring = pdata->tx_ring; in xge_start_xmit() 185 tail = tx_ring->tail; in xge_start_xmit() 187 raw_desc = &tx_ring->raw_desc[tail]; in xge_start_xmit() 210 tx_ring->pkt_info[tail].skb = skb; in xge_start_xmit() 211 tx_ring->pkt_info[tail].dma_addr = dma_addr; in xge_start_xmit() 212 tx_ring->pkt_info[tail].pkt_buf = pkt_buf; in xge_start_xmit() 222 tx_ring->tail = (tail + 1) & (XGENE_ENET_NUM_DESC - 1); in xge_start_xmit() 240 struct xge_desc_ring *tx_ring; in xge_txc_poll() local 248 tx_ring = pdata->tx_ring; in xge_txc_poll() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/marvell/prestera/ |
| D | prestera_rxtx.c | 97 struct prestera_tx_ring tx_ring; member 497 struct prestera_tx_ring *tx_ring; in prestera_sdma_tx_recycle_work_fn() local 503 tx_ring = &sdma->tx_ring; in prestera_sdma_tx_recycle_work_fn() 506 struct prestera_sdma_buf *buf = &tx_ring->bufs[b]; in prestera_sdma_tx_recycle_work_fn() 528 struct prestera_tx_ring *tx_ring = &sdma->tx_ring; in prestera_sdma_tx_init() local 535 tx_ring->bufs = kmalloc_array(bnum, sizeof(*head), GFP_KERNEL); in prestera_sdma_tx_init() 536 if (!tx_ring->bufs) in prestera_sdma_tx_init() 539 tail = &tx_ring->bufs[bnum - 1]; in prestera_sdma_tx_init() 540 head = &tx_ring->bufs[0]; in prestera_sdma_tx_init() 544 tx_ring->max_burst = PRESTERA_SDMA_TX_MAX_BURST; in prestera_sdma_tx_init() [all …]
|
| /Linux-v5.15/drivers/net/ethernet/intel/ixgb/ |
| D | ixgb_main.c | 665 struct ixgb_desc_ring *txdr = &adapter->tx_ring; in ixgb_setup_tx_resources() 702 u64 tdba = adapter->tx_ring.dma; in ixgb_configure_tx() 703 u32 tdlen = adapter->tx_ring.count * sizeof(struct ixgb_tx_desc); in ixgb_configure_tx() 878 vfree(adapter->tx_ring.buffer_info); in ixgb_free_tx_resources() 879 adapter->tx_ring.buffer_info = NULL; in ixgb_free_tx_resources() 881 dma_free_coherent(&pdev->dev, adapter->tx_ring.size, in ixgb_free_tx_resources() 882 adapter->tx_ring.desc, adapter->tx_ring.dma); in ixgb_free_tx_resources() 884 adapter->tx_ring.desc = NULL; in ixgb_free_tx_resources() 919 struct ixgb_desc_ring *tx_ring = &adapter->tx_ring; in ixgb_clean_tx_ring() local 926 for (i = 0; i < tx_ring->count; i++) { in ixgb_clean_tx_ring() [all …]
|