Lines Matching refs:tx_queue

79 static inline void prefetch_ptr(struct efx_tx_queue *tx_queue)
81 unsigned int insert_ptr = efx_tx_queue_get_insert_index(tx_queue);
84 ptr = (char *) (tx_queue->buffer + insert_ptr);
88 ptr = (char *)(((efx_qword_t *)tx_queue->txd.addr) + insert_ptr);
95 * @tx_queue: Efx TX queue
102 static void efx_tx_queue_insert(struct efx_tx_queue *tx_queue,
112 buffer = efx_tx_queue_get_insert_buffer(tx_queue);
113 ++tx_queue->insert_count;
115 EFX_WARN_ON_ONCE_PARANOID(tx_queue->insert_count -
116 tx_queue->read_count >=
117 tx_queue->efx->txq_entries);
121 dma_len = tx_queue->efx->type->tx_limit_len(tx_queue,
170 struct efx_tx_queue *tx_queue,
225 * @tx_queue: Efx TX queue
232 static void tso_fill_packet_with_fragment(struct efx_tx_queue *tx_queue,
253 efx_tx_queue_insert(tx_queue, st->dma_addr, n, &buffer);
278 * @tx_queue: Efx TX queue
285 static int tso_start_new_packet(struct efx_tx_queue *tx_queue,
290 efx_tx_queue_get_insert_buffer(tx_queue);
319 ++tx_queue->insert_count;
324 buffer = efx_tx_queue_get_insert_buffer(tx_queue);
339 ++tx_queue->insert_count;
351 * @tx_queue: Efx TX queue
358 * Add socket buffer @skb to @tx_queue, doing TSO or return != 0 if
362 int efx_enqueue_skb_tso(struct efx_tx_queue *tx_queue,
366 struct efx_nic *efx = tx_queue->efx;
370 if (tx_queue->tso_version != 1)
378 EFX_WARN_ON_ONCE_PARANOID(tx_queue->write_count != tx_queue->insert_count);
380 rc = tso_start(&state, efx, tx_queue, skb);
397 rc = tso_start_new_packet(tx_queue, skb, &state);
401 prefetch_ptr(tx_queue);
404 tso_fill_packet_with_fragment(tx_queue, skb, &state);
419 rc = tso_start_new_packet(tx_queue, skb, &state);