Fix the split queue AVX2 vectorized path to correctly handle the
virtchnl2_rx_flex_desc_adv_nic_3 completion descriptor format and
the flex scheduled Tx descriptor encoding.

The split queue completion descriptor layout is significantly
different from the single queue path — the generation bit, DD bit,
and packet length occupy different positions than the base Rx
descriptor, and the buffer queue owns the mbuf pool rather than the
completion queue.

On Rx, four issues are fixed:
  - Generation bit extraction order (mask-before-shift)
  - DD bit byte offset (byte 8 not byte 1)
  - mbuf initializer sourced from bufq2 instead of the completion queue
  - Packet type inserted into the correct AVX2 lane

On Tx, two issues are fixed:
  - Buffer size shift corrected from 34 to 48 for flex descriptors
  - Burst clamped to tx_rs_thresh with proper tx_next_rs tracking

Shaiq Wani (6):
  net/idpf: fix gen bit extraction in split queue AVX2 Rx
  net/idpf: fix DD bit byte offset in split queue AVX2 Rx
  net/idpf: fix mbuf initializer source in split queue AVX2 Rx
  net/idpf: fix ptype insert position in split queue AVX2 Rx
  net/idpf: fix split queue AVX2 Tx buffer size shift
  net/idpf: fix split queue AVX2 Tx burst and completion

 .../net/intel/idpf/idpf_common_rxtx_avx2.c    | 72 +++++++++++--------
 1 file changed, 43 insertions(+), 29 deletions(-)

-- 
2.34.1

Reply via email to