Lines Matching refs:tx_queue
59 efx_tx_desc(struct efx_tx_queue *tx_queue, unsigned int index) in efx_tx_desc() argument
61 return ((efx_qword_t *)(tx_queue->txd.addr)) + index; in efx_tx_desc()
67 static inline bool efx_nic_tx_is_empty(struct efx_tx_queue *tx_queue, unsigned int write_count) in efx_nic_tx_is_empty() argument
69 unsigned int empty_read_count = READ_ONCE(tx_queue->empty_read_count); in efx_nic_tx_is_empty()
77 int efx_enqueue_skb_tso(struct efx_tx_queue *tx_queue, struct sk_buff *skb,
86 static inline bool efx_nic_may_push_tx_desc(struct efx_tx_queue *tx_queue, in efx_nic_may_push_tx_desc() argument
89 bool was_empty = efx_nic_tx_is_empty(tx_queue, write_count); in efx_nic_may_push_tx_desc()
91 tx_queue->empty_read_count = 0; in efx_nic_may_push_tx_desc()
92 return was_empty && tx_queue->write_count - write_count == 1; in efx_nic_may_push_tx_desc()
118 static inline int efx_nic_probe_tx(struct efx_tx_queue *tx_queue) in efx_nic_probe_tx() argument
120 return tx_queue->efx->type->tx_probe(tx_queue); in efx_nic_probe_tx()
122 static inline void efx_nic_init_tx(struct efx_tx_queue *tx_queue) in efx_nic_init_tx() argument
124 tx_queue->efx->type->tx_init(tx_queue); in efx_nic_init_tx()
126 static inline void efx_nic_remove_tx(struct efx_tx_queue *tx_queue) in efx_nic_remove_tx() argument
128 if (tx_queue->efx->type->tx_remove) in efx_nic_remove_tx()
129 tx_queue->efx->type->tx_remove(tx_queue); in efx_nic_remove_tx()
131 static inline void efx_nic_push_buffers(struct efx_tx_queue *tx_queue) in efx_nic_push_buffers() argument
133 tx_queue->efx->type->tx_write(tx_queue); in efx_nic_push_buffers()