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

Function idpf_tx_queue_stop

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

Source from the content-addressed store, hash-verified

692}
693
694int
695idpf_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
696{
697 struct idpf_vport *vport = dev->data->dev_private;
698 struct idpf_tx_queue *txq;
699 int err;
700
701 if (tx_queue_id >= dev->data->nb_tx_queues)
702 return -EINVAL;
703
704 err = idpf_vc_queue_switch(vport, tx_queue_id, false, false);
705 if (err != 0) {
706 PMD_DRV_LOG(ERR, "Failed to switch TX queue %u off",
707 tx_queue_id);
708 return err;
709 }
710
711 txq = dev->data->tx_queues[tx_queue_id];
712 txq->q_started = false;
713 txq->ops->release_mbufs(txq);
714 if (vport->txq_model == VIRTCHNL2_QUEUE_MODEL_SINGLE) {
715 idpf_qc_single_tx_queue_reset(txq);
716 } else {
717 idpf_qc_split_tx_descq_reset(txq);
718 idpf_qc_split_tx_complq_reset(txq->complq);
719 }
720 dev->data->tx_queue_state[tx_queue_id] = RTE_ETH_QUEUE_STATE_STOPPED;
721
722 return 0;
723}
724
725void
726idpf_dev_rx_queue_release(struct rte_eth_dev *dev, uint16_t qid)

Callers 1

idpf_stop_queuesFunction · 0.85

Calls 4

idpf_vc_queue_switchFunction · 0.85

Tested by

no test coverage detected