• Home
  • Raw
  • Download

Lines Matching refs:tx_queue

69 efx_tx_desc(struct efx_tx_queue *tx_queue, unsigned int index)  in efx_tx_desc()  argument
71 return ((efx_qword_t *) (tx_queue->txd.buf.addr)) + index; in efx_tx_desc()
75 static struct efx_tx_queue *efx_tx_queue_partner(struct efx_tx_queue *tx_queue) in efx_tx_queue_partner() argument
77 if (tx_queue->queue & EFX_TXQ_TYPE_OFFLOAD) in efx_tx_queue_partner()
78 return tx_queue - EFX_TXQ_TYPE_OFFLOAD; in efx_tx_queue_partner()
80 return tx_queue + EFX_TXQ_TYPE_OFFLOAD; in efx_tx_queue_partner()
86 static inline bool __efx_nic_tx_is_empty(struct efx_tx_queue *tx_queue, in __efx_nic_tx_is_empty() argument
89 unsigned int empty_read_count = ACCESS_ONCE(tx_queue->empty_read_count); in __efx_nic_tx_is_empty()
103 static inline bool efx_nic_may_tx_pio(struct efx_tx_queue *tx_queue) in efx_nic_may_tx_pio() argument
105 struct efx_tx_queue *partner = efx_tx_queue_partner(tx_queue); in efx_nic_may_tx_pio()
106 return tx_queue->piobuf && in efx_nic_may_tx_pio()
107 __efx_nic_tx_is_empty(tx_queue, tx_queue->insert_count) && in efx_nic_may_tx_pio()
119 static inline bool efx_nic_may_push_tx_desc(struct efx_tx_queue *tx_queue, in efx_nic_may_push_tx_desc() argument
122 bool was_empty = __efx_nic_tx_is_empty(tx_queue, write_count); in efx_nic_may_push_tx_desc()
124 tx_queue->empty_read_count = 0; in efx_nic_may_push_tx_desc()
125 return was_empty && tx_queue->write_count - write_count == 1; in efx_nic_may_push_tx_desc()
601 static inline int efx_nic_probe_tx(struct efx_tx_queue *tx_queue) in efx_nic_probe_tx() argument
603 return tx_queue->efx->type->tx_probe(tx_queue); in efx_nic_probe_tx()
605 static inline void efx_nic_init_tx(struct efx_tx_queue *tx_queue) in efx_nic_init_tx() argument
607 tx_queue->efx->type->tx_init(tx_queue); in efx_nic_init_tx()
609 static inline void efx_nic_remove_tx(struct efx_tx_queue *tx_queue) in efx_nic_remove_tx() argument
611 tx_queue->efx->type->tx_remove(tx_queue); in efx_nic_remove_tx()
613 static inline void efx_nic_push_buffers(struct efx_tx_queue *tx_queue) in efx_nic_push_buffers() argument
615 tx_queue->efx->type->tx_write(tx_queue); in efx_nic_push_buffers()
669 int efx_farch_tx_probe(struct efx_tx_queue *tx_queue);
670 void efx_farch_tx_init(struct efx_tx_queue *tx_queue);
671 void efx_farch_tx_fini(struct efx_tx_queue *tx_queue);
672 void efx_farch_tx_remove(struct efx_tx_queue *tx_queue);
673 void efx_farch_tx_write(struct efx_tx_queue *tx_queue);