Lines Matching full:tx
14 * 1) Allocates TX WQE array using coherent DMA mapping
15 * 2) Allocates TX completion counter using coherent DMA mapping
30 /* Write TX WQE base address into MMIO reg */ in mlxbf_gige_tx_init()
33 /* Allocate address for TX completion count */ in mlxbf_gige_tx_init()
42 /* Write TX CC base address into MMIO reg */ in mlxbf_gige_tx_init()
56 * namely the TX WQE array and the TX completion counter
92 /* Function that returns status of TX ring:
93 * 0: TX ring is full, i.e. there are no
94 * available un-used entries in TX ring.
95 * non-null: TX ring is not full, i.e. there are
96 * some available entries in TX ring.
98 * how many TX entries are available, but
103 * (prev_tx_ci == tx_pi) then the TX ring is empty.
141 * index (in SW) equals TX consumer index (from HW). These in mlxbf_gige_handle_tx_complete()
143 * to be supported, that is TX consumer index wrapped from 0xFFFF in mlxbf_gige_handle_tx_complete()
144 * to 0 while TX completion index is still < 0xFFFF. in mlxbf_gige_handle_tx_complete()
148 /* Each TX WQE is 16 bytes. The 8 MSB store the 2KB TX in mlxbf_gige_handle_tx_complete()
150 * about the TX WQE. in mlxbf_gige_handle_tx_complete()
167 /* Since the TX ring was likely just drained, check if TX queue in mlxbf_gige_handle_tx_complete()
168 * had previously been stopped and now that there are TX buffers in mlxbf_gige_handle_tx_complete()
169 * available the TX queue can be awakened. in mlxbf_gige_handle_tx_complete()
178 /* Function to advance the tx_wqe_next pointer to next TX WQE */
184 /* Check if 'next' pointer is beyond end of TX ring */ in mlxbf_gige_update_tx_wqe_next()
202 /* If needed, linearize TX SKB as hardware DMA expects this */ in mlxbf_gige_start_xmit()
242 /* Get address of TX WQE */ in mlxbf_gige_start_xmit()
247 /* Put PA of buffer address into first 64-bit word of TX WQE */ in mlxbf_gige_start_xmit()
250 /* Set TX WQE pkt_len appropriately in mlxbf_gige_start_xmit()
256 /* Write entire 2nd word of TX WQE */ in mlxbf_gige_start_xmit()
265 /* Create memory barrier before write to TX PI */ in mlxbf_gige_start_xmit()
270 /* Check if the last TX entry was just used */ in mlxbf_gige_start_xmit()
272 /* TX ring is full, inform stack */ in mlxbf_gige_start_xmit()
275 /* Since there is no separate "TX complete" interrupt, need in mlxbf_gige_start_xmit()
277 * which processes TX completions, and will hopefully drain in mlxbf_gige_start_xmit()
278 * the TX ring allowing the TX queue to be awakened. in mlxbf_gige_start_xmit()