[PATCH 15/45] net/dpaa2: set Tx confirmation on device init
Prashant Gupta
prashant.gupta_3 at nxp.com
Thu Sep 3 15:53:23 CEST 2026
From: Gagandeep Singh <g.singh at nxp.com>
Move TX confirmation mode setting from TXQ setup to device
initialization because TXQ0 is not always set up by the user.
Signed-off-by: Jun Yang <jun.yang at nxp.com>
Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
---
drivers/net/dpaa2/dpaa2_ethdev.c | 40 ++++++++++++--------------------
1 file changed, 15 insertions(+), 25 deletions(-)
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index f211357919..c95704d4ca 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -1153,7 +1153,6 @@ dpaa2_dev_tx_queue_setup(struct rte_eth_dev *dev,
struct dpni_queue tx_conf_cfg;
struct dpni_queue tx_flow_cfg;
uint8_t options = 0, flow_id;
- uint8_t ceetm_ch_idx;
uint16_t channel_id;
struct dpni_queue_id qid;
uint32_t tc_id;
@@ -1174,30 +1173,6 @@ dpaa2_dev_tx_queue_setup(struct rte_eth_dev *dev,
memset(&tx_conf_cfg, 0, sizeof(struct dpni_queue));
memset(&tx_flow_cfg, 0, sizeof(struct dpni_queue));
- if (!tx_queue_id) {
- for (ceetm_ch_idx = 0;
- ceetm_ch_idx <= (priv->num_channels - 1);
- ceetm_ch_idx++) {
- /*Set tx-conf and error configuration*/
- if (priv->flags & DPAA2_TX_CONF_ENABLE) {
- ret = dpni_set_tx_confirmation_mode(dpni,
- CMD_PRI_LOW, priv->token,
- ceetm_ch_idx,
- DPNI_CONF_AFFINE);
- } else {
- ret = dpni_set_tx_confirmation_mode(dpni,
- CMD_PRI_LOW, priv->token,
- ceetm_ch_idx,
- DPNI_CONF_DISABLE);
- }
- if (ret) {
- DPAA2_PMD_ERR("Error(%d) in tx conf setting",
- ret);
- return ret;
- }
- }
- }
-
tc_id = tx_queue_id % priv->num_tx_tc;
channel_id = (uint8_t)(tx_queue_id / priv->num_tx_tc) % priv->num_channels;
flow_id = 0;
@@ -3624,6 +3599,21 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
goto init_err;
}
+ for (i = 0; i < priv->num_channels; i++) {
+ /*Set tx-conf and error configuration*/
+ if (priv->flags & DPAA2_TX_CONF_ENABLE) {
+ ret = dpni_set_tx_confirmation_mode(dpni_dev,
+ CMD_PRI_LOW, priv->token, i, DPNI_CONF_AFFINE);
+ } else {
+ ret = dpni_set_tx_confirmation_mode(dpni_dev,
+ CMD_PRI_LOW, priv->token, i, DPNI_CONF_DISABLE);
+ }
+ if (ret) {
+ DPAA2_PMD_ERR("Error(%d) in tx conf setting", ret);
+ goto init_err;
+ }
+ }
+
/* Allocate memory for storing MAC addresses.
* Table of mac_filter_entries size is allocated so that RTE ether lib
* can add MAC entries when rte_eth_dev_mac_addr_add is called.
--
2.43.0
More information about the dev
mailing list