From: Sunil Kumar Kori Date: Wed, 23 Jun 2021 04:46:47 +0000 (+0530) Subject: net/cnxk: support pending Tx mbuf cleanup X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=4be0b2b140d41dff78ea72f70952d57aa8d5c68f;p=dpdk.git net/cnxk: support pending Tx mbuf cleanup Once mbufs are transmitted, mbufs are freed by H/W. No mbufs are accumalated as a pending mbuf. Hence operation is NOP for cnxk platform. Signed-off-by: Sunil Kumar Kori --- diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c index 24f02e6a28..529adf7c4a 100644 --- a/drivers/net/cnxk/cnxk_ethdev.c +++ b/drivers/net/cnxk/cnxk_ethdev.c @@ -1211,6 +1211,7 @@ struct eth_dev_ops cnxk_eth_dev_ops = { .xstats_get_names_by_id = cnxk_nix_xstats_get_names_by_id, .rxq_info_get = cnxk_nix_rxq_info_get, .txq_info_get = cnxk_nix_txq_info_get, + .tx_done_cleanup = cnxk_nix_tx_done_cleanup, }; static int diff --git a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h index 32977eb613..1c4403c1f3 100644 --- a/drivers/net/cnxk/cnxk_ethdev.h +++ b/drivers/net/cnxk/cnxk_ethdev.h @@ -266,6 +266,7 @@ int cnxk_nix_rx_queue_intr_enable(struct rte_eth_dev *eth_dev, int cnxk_nix_rx_queue_intr_disable(struct rte_eth_dev *eth_dev, uint16_t rx_queue_id); int cnxk_nix_pool_ops_supported(struct rte_eth_dev *eth_dev, const char *pool); +int cnxk_nix_tx_done_cleanup(void *txq, uint32_t free_cnt); int cnxk_nix_configure(struct rte_eth_dev *eth_dev); int cnxk_nix_tx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t qid, diff --git a/drivers/net/cnxk/cnxk_ethdev_ops.c b/drivers/net/cnxk/cnxk_ethdev_ops.c index 782f163450..305220af45 100644 --- a/drivers/net/cnxk/cnxk_ethdev_ops.c +++ b/drivers/net/cnxk/cnxk_ethdev_ops.c @@ -658,3 +658,13 @@ cnxk_nix_txq_info_get(struct rte_eth_dev *eth_dev, uint16_t qid, memcpy(&qinfo->conf, &txq_sp->qconf.conf.tx, sizeof(qinfo->conf)); } + +/* It is a NOP for cnxk as HW frees the buffer on xmit */ +int +cnxk_nix_tx_done_cleanup(void *txq, uint32_t free_cnt) +{ + RTE_SET_USED(txq); + RTE_SET_USED(free_cnt); + + return 0; +}