Lines Matching refs:tx_queue

63 ef4_tx_desc(struct ef4_tx_queue *tx_queue, unsigned int index)
65 return ((ef4_qword_t *) (tx_queue->txd.buf.addr)) + index;
69 static inline struct ef4_tx_queue *ef4_tx_queue_partner(struct ef4_tx_queue *tx_queue)
71 if (tx_queue->queue & EF4_TXQ_TYPE_OFFLOAD)
72 return tx_queue - EF4_TXQ_TYPE_OFFLOAD;
74 return tx_queue + EF4_TXQ_TYPE_OFFLOAD;
80 static inline bool __ef4_nic_tx_is_empty(struct ef4_tx_queue *tx_queue,
83 unsigned int empty_read_count = READ_ONCE(tx_queue->empty_read_count);
99 static inline bool ef4_nic_may_push_tx_desc(struct ef4_tx_queue *tx_queue,
102 bool was_empty = __ef4_nic_tx_is_empty(tx_queue, write_count);
104 tx_queue->empty_read_count = 0;
105 return was_empty && tx_queue->write_count - write_count == 1;
315 static inline int ef4_nic_probe_tx(struct ef4_tx_queue *tx_queue)
317 return tx_queue->efx->type->tx_probe(tx_queue);
319 static inline void ef4_nic_init_tx(struct ef4_tx_queue *tx_queue)
321 tx_queue->efx->type->tx_init(tx_queue);
323 static inline void ef4_nic_remove_tx(struct ef4_tx_queue *tx_queue)
325 tx_queue->efx->type->tx_remove(tx_queue);
327 static inline void ef4_nic_push_buffers(struct ef4_tx_queue *tx_queue)
329 tx_queue->efx->type->tx_write(tx_queue);
383 int ef4_farch_tx_probe(struct ef4_tx_queue *tx_queue);
384 void ef4_farch_tx_init(struct ef4_tx_queue *tx_queue);
385 void ef4_farch_tx_fini(struct ef4_tx_queue *tx_queue);
386 void ef4_farch_tx_remove(struct ef4_tx_queue *tx_queue);
387 void ef4_farch_tx_write(struct ef4_tx_queue *tx_queue);
388 unsigned int ef4_farch_tx_limit_len(struct ef4_tx_queue *tx_queue,