On 2/9/2026 4:45 PM, Bruce Richardson wrote:
The common "simple Tx" function - in some ways a scalar version of the
vector Tx functions - can be used by the idpf driver as well as i40e and
ice, so add support for it to the driver.

Signed-off-by: Bruce Richardson <[email protected]>
---
  drivers/net/intel/idpf/idpf_common_device.h |  2 ++
  drivers/net/intel/idpf/idpf_common_rxtx.c   | 19 +++++++++++++++
  drivers/net/intel/idpf/idpf_common_rxtx.h   |  3 +++
  drivers/net/intel/idpf/idpf_rxtx.c          | 26 ++++++++++++++++++++-
  4 files changed, 49 insertions(+), 1 deletion(-)
<snip>
diff --git a/drivers/net/intel/idpf/idpf_rxtx.c 
b/drivers/net/intel/idpf/idpf_rxtx.c
index 9420200f6d..f2e202d57d 100644
--- a/drivers/net/intel/idpf/idpf_rxtx.c
+++ b/drivers/net/intel/idpf/idpf_rxtx.c
@@ -509,6 +509,22 @@ idpf_tx_queue_setup(struct rte_eth_dev *dev, uint16_t 
queue_idx,
        txq->q_set = true;
        dev->data->tx_queues[queue_idx] = txq;
+ /* Set tx_simple_allowed flag based on queue configuration.
+        * For queue 0: explicitly set the flag based on its configuration.
+        * For other queues: only set to false if this queue cannot use 
simple_tx.
+        */
+       if (vport->txq_model == VIRTCHNL2_QUEUE_MODEL_SPLIT)
+               goto out;
+
+       /* for first queue, default to true, disable later if any queue can't 
meet conditions */
There are no restrictions in which queue order user may call rte_eth_tx_queue_setup(). If user called queue_setup() for queue #1 w/o RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE, and then for queue #0 with RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE, there could be inconsistencies.
+       if (queue_idx == 0)
+               adapter->tx_simple_allowed = true;
+
+       if ((txq->offloads != (txq->offloads & 
RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE)) ||
+                       txq->tx_rs_thresh < IDPF_VPMD_TX_MAX_BURST)
+               adapter->tx_simple_allowed = false;
+
+out:
        return 0;
err_complq_setup:
<snip>
/* The primary process selects the tx path for all processes. */

--
Regards,
Vladimir

Reply via email to