MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ionic_dev_tx_queue_stop

Function ionic_dev_tx_queue_stop

dpdk/drivers/net/ionic/ionic_rxtx.c:96–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

94}
95
96int __rte_cold
97ionic_dev_tx_queue_stop(struct rte_eth_dev *eth_dev, uint16_t tx_queue_id)
98{
99 struct ionic_tx_stats *stats;
100 struct ionic_tx_qcq *txq;
101
102 IONIC_PRINT(DEBUG, "Stopping TX queue %u", tx_queue_id);
103
104 txq = eth_dev->data->tx_queues[tx_queue_id];
105
106 eth_dev->data->tx_queue_state[tx_queue_id] =
107 RTE_ETH_QUEUE_STATE_STOPPED;
108
109 /*
110 * Note: we should better post NOP Tx desc and wait for its completion
111 * before disabling Tx queue
112 */
113
114 ionic_lif_txq_deinit(txq);
115
116 /* Free all buffers from descriptor ring */
117 ionic_tx_empty(txq);
118
119 stats = &txq->stats;
120 IONIC_PRINT(DEBUG, "TX queue %u pkts %ju tso %ju",
121 txq->qcq.q.index, stats->packets, stats->tso);
122
123 return 0;
124}
125
126int __rte_cold
127ionic_dev_tx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t tx_queue_id,

Callers 1

ionic_lif_stopFunction · 0.85

Calls 2

ionic_lif_txq_deinitFunction · 0.85
ionic_tx_emptyFunction · 0.85

Tested by

no test coverage detected