* Start Transmit Units for specified queue. */
| 198 | * Start Transmit Units for specified queue. |
| 199 | */ |
| 200 | int __rte_cold |
| 201 | ionic_dev_tx_queue_start(struct rte_eth_dev *eth_dev, uint16_t tx_queue_id) |
| 202 | { |
| 203 | uint8_t *tx_queue_state = eth_dev->data->tx_queue_state; |
| 204 | struct ionic_tx_qcq *txq; |
| 205 | int err; |
| 206 | |
| 207 | if (tx_queue_state[tx_queue_id] == RTE_ETH_QUEUE_STATE_STARTED) { |
| 208 | IONIC_PRINT(DEBUG, "TX queue %u already started", |
| 209 | tx_queue_id); |
| 210 | return 0; |
| 211 | } |
| 212 | |
| 213 | txq = eth_dev->data->tx_queues[tx_queue_id]; |
| 214 | |
| 215 | IONIC_PRINT(DEBUG, "Starting TX queue %u, %u descs", |
| 216 | tx_queue_id, txq->qcq.q.num_descs); |
| 217 | |
| 218 | err = ionic_lif_txq_init(txq); |
| 219 | if (err) |
| 220 | return err; |
| 221 | |
| 222 | tx_queue_state[tx_queue_id] = RTE_ETH_QUEUE_STATE_STARTED; |
| 223 | |
| 224 | return 0; |
| 225 | } |
| 226 | |
| 227 | static void |
| 228 | ionic_tx_tcp_pseudo_csum(struct rte_mbuf *txm) |
no test coverage detected