Lines Matching defs:tx_queue

26 static inline u8 *efx_tx_get_copy_buffer(struct efx_tx_queue *tx_queue,
29 unsigned int index = efx_tx_queue_get_insert_index(tx_queue);
31 &tx_queue->cb_page[index >> (PAGE_SHIFT - EFX_TX_CB_ORDER)];
36 efx_siena_alloc_buffer(tx_queue->efx, page_buf, PAGE_SIZE,
83 static int efx_enqueue_skb_copy(struct efx_tx_queue *tx_queue,
93 buffer = efx_tx_queue_get_insert_buffer(tx_queue);
95 copy_buffer = efx_tx_get_copy_buffer(tx_queue, buffer);
106 ++tx_queue->insert_count;
139 netdev_tx_t __efx_siena_enqueue_skb(struct efx_tx_queue *tx_queue,
142 unsigned int old_insert_count = tx_queue->insert_count;
159 rc = efx_siena_tx_tso_fallback(tx_queue, skb);
160 tx_queue->tso_fallbacks++;
166 if (efx_enqueue_skb_copy(tx_queue, skb))
168 tx_queue->cb_packets++;
173 if (!data_mapped && (efx_siena_tx_map_data(tx_queue, skb, segments)))
176 efx_tx_maybe_stop_queue(tx_queue);
178 tx_queue->xmit_pending = true;
181 if (__netdev_tx_sent_queue(tx_queue->core_txq, skb_len, xmit_more))
182 efx_tx_send_pending(tx_queue->channel);
184 tx_queue->tx_packets++;
189 efx_siena_enqueue_unwind(tx_queue, old_insert_count);
197 efx_tx_send_pending(tx_queue->channel);
212 struct efx_tx_queue *tx_queue;
229 tx_queue = efx->xdp_tx_queues[cpu];
230 if (unlikely(!tx_queue))
233 if (!tx_queue->initialised)
237 HARD_TX_LOCK(efx->net_dev, tx_queue->core_txq, cpu);
243 if (netif_tx_queue_stopped(tx_queue->core_txq))
245 efx_tx_maybe_stop_queue(tx_queue);
252 tx_queue->read_count - tx_queue->insert_count;
261 prefetchw(__efx_tx_queue_get_insert_buffer(tx_queue));
273 tx_buffer = efx_siena_tx_map_chunk(tx_queue, dma_addr, len);
279 tx_queue->tx_packets++;
284 efx_nic_push_buffers(tx_queue);
288 HARD_TX_UNLOCK(efx->net_dev, tx_queue->core_txq);
303 struct efx_tx_queue *tx_queue;
327 tx_queue = efx_get_tx_queue(efx, index, type);
328 if (WARN_ON_ONCE(!tx_queue)) {
343 return __efx_siena_enqueue_skb(tx_queue, skb);
346 void efx_siena_init_tx_queue_core_txq(struct efx_tx_queue *tx_queue)
348 struct efx_nic *efx = tx_queue->efx;
351 tx_queue->core_txq =
353 tx_queue->channel->channel +
354 ((tx_queue->type & EFX_TXQ_TYPE_HIGHPRI) ?