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

Function idpf_tx_queue_start

dpdk/drivers/net/idpf/idpf_rxtx.c:627–660  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

625}
626
627int
628idpf_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)
629{
630 struct idpf_vport *vport = dev->data->dev_private;
631 struct idpf_tx_queue *txq =
632 dev->data->tx_queues[tx_queue_id];
633 int err = 0;
634
635 err = idpf_vc_txq_config(vport, txq);
636 if (err != 0) {
637 PMD_DRV_LOG(ERR, "Fail to configure Tx queue %u", tx_queue_id);
638 return err;
639 }
640
641 err = idpf_tx_queue_init(dev, tx_queue_id);
642 if (err != 0) {
643 PMD_DRV_LOG(ERR, "Failed to init TX queue %u",
644 tx_queue_id);
645 return err;
646 }
647
648 /* Ready to switch the queue on */
649 err = idpf_vc_queue_switch(vport, tx_queue_id, false, true);
650 if (err != 0) {
651 PMD_DRV_LOG(ERR, "Failed to switch TX queue %u on",
652 tx_queue_id);
653 } else {
654 txq->q_started = true;
655 dev->data->tx_queue_state[tx_queue_id] =
656 RTE_ETH_QUEUE_STATE_STARTED;
657 }
658
659 return err;
660}
661
662int
663idpf_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)

Callers 1

idpf_start_queuesFunction · 0.85

Calls 3

idpf_vc_txq_configFunction · 0.85
idpf_tx_queue_initFunction · 0.85
idpf_vc_queue_switchFunction · 0.85

Tested by

no test coverage detected