From: Mohammad Shuab Siddique <[email protected]>

This series is based on dpdk-next-net-brcm for-next-net.

Patch 1 enables Tx completion coalescing in hardware on P7 devices.
Patch 2 adds recovery from the function error state.
Patch 3 fixes an Rx stall caused by doorbell and vector Rx issues.
Patches 4-6 stop the AVX2 Rx burst functions from reading and writing
past the end of the completion ring and the caller's array.
Patch 7 fixes an Rx throughput drop on Thor2 with 256 byte packets.

v2:
* Patch 3: declare the Rx burst size variable as uint16_t instead of
  uint32_t in the vector Rx burst functions. It holds a value clamped
  to uint16_t, matching the rest of the driver.
* Patch 5: remove a duplicated comment line.
* Patches 5 and 6 are adjusted to match the type change in patch 3;
  the resulting code is unchanged.
* No other changes.

Keegan Freyhof (4):
  net/bnxt: modify AVX2 v3 path to prevent OOB accesses
  net/bnxt: modify AVX2 v2 path to prevent OOB accesses
  net/bnxt: modify AVX2 CRX path to prevent OOB accesses
  net/bnxt: fix cache thrashing for vector Rx and Tx paths

Mohammad Shuab Siddique (2):
  net/bnxt: enable Tx completion coalescing in hardware
  net/bnxt: add recovery from function error

Shuanglin Wang (1):
  net/bnxt: fix Rx packet stall

 doc/guides/nics/bnxt.rst                |   27 +
 doc/guides/rel_notes/release_26_11.rst  |    6 +
 drivers/net/bnxt/bnxt.h                 |    4 +
 drivers/net/bnxt/bnxt_ethdev.c          |   55 +-
 drivers/net/bnxt/bnxt_func_error.c      |  228 ++++
 drivers/net/bnxt/bnxt_func_error.h      |   33 +
 drivers/net/bnxt/bnxt_hwrm.c            |  137 ++-
 drivers/net/bnxt/bnxt_hwrm.h            |    5 +-
 drivers/net/bnxt/bnxt_mpc.c             |    2 +-
 drivers/net/bnxt/bnxt_ring.c            |   12 +-
 drivers/net/bnxt/bnxt_ring.h            |   15 +-
 drivers/net/bnxt/bnxt_rxr.c             |   26 -
 drivers/net/bnxt/bnxt_rxr.h             |   30 +
 drivers/net/bnxt/bnxt_rxtx_vec_avx2.c   | 1319 ++++++++++++-----------
 drivers/net/bnxt/bnxt_rxtx_vec_common.h |  150 +++
 drivers/net/bnxt/bnxt_rxtx_vec_neon.c   |   16 +-
 drivers/net/bnxt/bnxt_rxtx_vec_sse.c    |   20 +-
 drivers/net/bnxt/bnxt_stats.c           |   21 +
 drivers/net/bnxt/bnxt_stats.h           |    2 +-
 drivers/net/bnxt/bnxt_txq.c             |    1 +
 drivers/net/bnxt/bnxt_txr.c             |    1 -
 drivers/net/bnxt/hsi_struct_def_dpdk.h  |  130 +++
 drivers/net/bnxt/meson.build            |    1 +
 23 files changed, 1568 insertions(+), 673 deletions(-)
 create mode 100644 drivers/net/bnxt/bnxt_func_error.c
 create mode 100644 drivers/net/bnxt/bnxt_func_error.h

Reply via email to