• Home
  • Raw
  • Download

Lines Matching refs:tx_ring

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()
34 if (!tx_ring->desc) in fm10k_setup_tx_resources()
40 vfree(tx_ring->tx_buffer); in fm10k_setup_tx_resources()
41 tx_ring->tx_buffer = NULL; in fm10k_setup_tx_resources()
60 err = fm10k_setup_tx_resources(interface->tx_ring[i]); in fm10k_setup_all_tx_resources()
73 fm10k_free_tx_resources(interface->tx_ring[i]); in fm10k_setup_all_tx_resources()
170 static void fm10k_clean_tx_ring(struct fm10k_ring *tx_ring) in fm10k_clean_tx_ring() argument
176 if (!tx_ring->tx_buffer) in fm10k_clean_tx_ring()
180 for (i = 0; i < tx_ring->count; i++) { in fm10k_clean_tx_ring()
181 struct fm10k_tx_buffer *tx_buffer = &tx_ring->tx_buffer[i]; in fm10k_clean_tx_ring()
183 fm10k_unmap_and_free_tx_resource(tx_ring, tx_buffer); in fm10k_clean_tx_ring()
187 netdev_tx_reset_queue(txring_txq(tx_ring)); in fm10k_clean_tx_ring()
189 size = sizeof(struct fm10k_tx_buffer) * tx_ring->count; in fm10k_clean_tx_ring()
190 memset(tx_ring->tx_buffer, 0, size); in fm10k_clean_tx_ring()
193 memset(tx_ring->desc, 0, tx_ring->size); in fm10k_clean_tx_ring()
202 void fm10k_free_tx_resources(struct fm10k_ring *tx_ring) in fm10k_free_tx_resources() argument
204 fm10k_clean_tx_ring(tx_ring); in fm10k_free_tx_resources()
206 vfree(tx_ring->tx_buffer); in fm10k_free_tx_resources()
207 tx_ring->tx_buffer = NULL; in fm10k_free_tx_resources()
210 if (!tx_ring->desc) in fm10k_free_tx_resources()
213 dma_free_coherent(tx_ring->dev, tx_ring->size, in fm10k_free_tx_resources()
214 tx_ring->desc, tx_ring->dma); in fm10k_free_tx_resources()
215 tx_ring->desc = NULL; in fm10k_free_tx_resources()
227 fm10k_clean_tx_ring(interface->tx_ring[i]); in fm10k_clean_all_tx_rings()
241 fm10k_free_tx_resources(interface->tx_ring[i]); in fm10k_free_all_tx_resources()
691 err = fm10k_xmit_frame_ring(skb, interface->tx_ring[r_idx]); in fm10k_xmit_frame()
708 struct fm10k_ring *tx_ring = interface->tx_ring[i]; in fm10k_tx_timeout() local
710 if (check_for_tx_hang(tx_ring) && fm10k_check_tx_hang(tx_ring)) in fm10k_tx_timeout()
1355 ring = READ_ONCE(interface->tx_ring[i]); in fm10k_get_stats64()