net/mlx5: fix Tx burst routines set
[dpdk.git] / drivers / net / mlx5 / mlx5_rxtx.c
index 73c16de..b4702ff 100644 (file)
@@ -3888,7 +3888,9 @@ mlx5_tx_burst_empw_simple(struct mlx5_txq_data *restrict txq,
 
 next_empw:
                assert(NB_SEGS(loc->mbuf) == 1);
-               part = RTE_MIN(pkts_n, MLX5_EMPW_MAX_PACKETS);
+               part = RTE_MIN(pkts_n, MLX5_TXOFF_CONFIG(MPW) ?
+                                      MLX5_MPW_MAX_PACKETS :
+                                      MLX5_EMPW_MAX_PACKETS);
                if (unlikely(loc->elts_free < part)) {
                        /* We have no enough elts to save all mbufs. */
                        if (unlikely(loc->elts_free < MLX5_EMPW_MIN_PACKETS))
@@ -4057,7 +4059,9 @@ mlx5_tx_burst_empw_inline(struct mlx5_txq_data *restrict txq,
                 * Limits the amount of packets in one WQE
                 * to improve CQE latency generation.
                 */
-               nlim = RTE_MIN(pkts_n, MLX5_EMPW_MAX_PACKETS);
+               nlim = RTE_MIN(pkts_n, MLX5_TXOFF_CONFIG(MPW) ?
+                                      MLX5_MPW_INLINE_MAX_PACKETS :
+                                      MLX5_EMPW_MAX_PACKETS);
                /* Check whether we have minimal amount WQEs */
                if (unlikely(loc->wqe_free <
                            ((2 + MLX5_EMPW_MIN_PACKETS + 3) / 4)))
@@ -4991,6 +4995,10 @@ MLX5_TXOFF_DECL(mci_mpw,
                MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
                MLX5_TXOFF_CONFIG_MPW)
 
+MLX5_TXOFF_DECL(mc_mpw,
+               MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_CSUM |
+               MLX5_TXOFF_CONFIG_EMPW | MLX5_TXOFF_CONFIG_MPW)
+
 MLX5_TXOFF_DECL(i_mpw,
                MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
                MLX5_TXOFF_CONFIG_MPW)
@@ -5147,6 +5155,10 @@ MLX5_TXOFF_INFO(mci_mpw,
                MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
                MLX5_TXOFF_CONFIG_MPW)
 
+MLX5_TXOFF_INFO(mc_mpw,
+               MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_CSUM |
+               MLX5_TXOFF_CONFIG_EMPW | MLX5_TXOFF_CONFIG_MPW)
+
 MLX5_TXOFF_INFO(i_mpw,
                MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
                MLX5_TXOFF_CONFIG_MPW)