From: Gagandeep Singh <[email protected]>

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 <[email protected]>
Signed-off-by: Gagandeep Singh <[email protected]>
---
 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

Reply via email to