Now lib security is enabled by default, and cannot be disabled if the
driver is intended to be used. So Tdm_desc_chk is always unable to enable.
Remove this restriction, and just enable the corresponding queue check.

Fixes: 0eabdfcd4af4 ("net/txgbe: enable Tx descriptor error interrupt")
Cc: [email protected]

Signed-off-by: Zaiyu Wang <[email protected]>
---
 drivers/net/txgbe/txgbe_rxtx.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c
index ef53a868a6..8b3d5eec14 100644
--- a/drivers/net/txgbe/txgbe_rxtx.c
+++ b/drivers/net/txgbe/txgbe_rxtx.c
@@ -4768,6 +4768,12 @@ txgbe_dev_tx_init(struct rte_eth_dev *dev)
                wr32(hw, TXGBE_TXRP(txq->reg_idx), 0);
                wr32(hw, TXGBE_TXWP(txq->reg_idx), 0);
 
+#ifdef RTE_LIBRTE_SECURITY
+               if (!(txq->using_ipsec))
+#endif
+                       wr32m(hw, TXGBE_TDM_DESC_CHK(txq->reg_idx / 32),
+                             BIT(txq->reg_idx % 32), BIT(txq->reg_idx % 32));
+
                if (txq->headwb_mem) {
                        uint32_t txdctl;
 
@@ -4785,11 +4791,6 @@ txgbe_dev_tx_init(struct rte_eth_dev *dev)
                }
        }
 
-#ifndef RTE_LIB_SECURITY
-       for (i = 0; i < 4; i++)
-               wr32(hw, TXGBE_TDM_DESC_CHK(i), 0xFFFFFFFF);
-#endif
-
        /* Device configured with multiple TX queues. */
        txgbe_dev_mq_tx_configure(dev);
 }
-- 
2.21.0.windows.1

Reply via email to