[SRU][Mantic][Pull] Update bnxt with bug fixes and support for Broadcom 5760X network adapters

Jeff Lane jeffrey.lane at canonical.com
Wed Jan 3 18:05:34 UTC 2024


BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045796

This is requested by one of our larger server hardware partners and the
upstream (Broadcom) to update the bnxt network driver code to add some bug
fixes and support for the newer 5760X adapters into Mantic with the goal of
having these land in 22.04.4 HWE and the installer environment via the HWE
kernel.

Missing these patches will mean customers running this hardware will not be
able to use it with Ubuntu Server 22.04 LTS until the much later 22.04.5 point
release, setting up a months-long gap in support for these adapters.

The following changes since commit 8f48b50cf7bcbcbfa6a5eebc7a677bdcbd6a3aee:

  UBUNTU: Ubuntu-6.5.0-14.14 (2023-11-14 14:46:30 +0100)

are available in the Git repository at:

  https://git.launchpad.net/~bladernr/ubuntu/+source/linux/+git/mantic 2045796-bnxt_en-for-22.04.4

for you to fetch changes up to 84f8c75dbc405ce858ce29f66907ace46e440a79:

  net: bnxt: fix a potential use-after-free in bnxt_init_tc (2023-12-14 00:59:25 -0500)

----------------------------------------------------------------
Ajit Khaparde (1):
      bnxt_en: Refactor RSS capability fields

Dinghao Liu (1):
      net: bnxt: fix a potential use-after-free in bnxt_init_tc

Edwin Peer (5):
      bnxt_en: add infrastructure to lookup ethtool link mode
      bnxt_en: support lane configuration via ethtool
      bnxt_en: refactor speed independent ethtool modes
      bnxt_en: convert to linkmode_set_bit() API
      bnxt_en: extend media types to supported and autoneg modes

Hongguang Gao (1):
      bnxt_en: Consolidate DB offset calculation

Jakub Kicinski (8):
      eth: bnxt: move and rename reset helpers
      eth: bnxt: take the bit to set as argument of bnxt_queue_sp_work()
      eth: bnxt: handle invalid Tx completions more gracefully
      eth: bnxt: fix one of the W=1 warnings about fortified memcpy()
      eth: bnxt: fix warning for define in struct_group
      bnxt: use the NAPI skb allocation cache
      Revert "bnxt_en: Support QOS and TPID settings for the SRIOV VLAN"
      eth: bnxt: fix backward compatibility with older devices

Kalesh AP (8):
      bnxt_en: Enhance hwmon temperature reporting
      bnxt_en: Move hwmon functions into a dedicated file
      bnxt_en: Modify the driver to use hwmon_device_register_with_info
      bnxt_en: Expose threshold temperatures through hwmon
      bnxt_en: Use non-standard attribute to expose shutdown temperature
      bnxt_en: Event handler for Thermal event
      bnxt_en: Do not call sleeping hwmon_notify_event() from NAPI
      bnxt_en: Fix invoking hwmon_notify_event

Menglong Dong (1):
      bnxt_en: use dev_consume_skb_any() in bnxt_tx_int

Michael Chan (47):
      bnxt_en: Fix W=1 warning in bnxt_dcb.c from fortify memcpy()
      bnxt_en: Fix W=stringop-overflow warning in bnxt_dcb.c
      bnxt_en: Increment rx_resets counter in bnxt_disable_napi()
      bnxt_en: Save ring error counters across reset
      bnxt_en: Display the ring error counters under ethtool -S
      bnxt_en: Add tx_resets ring counter
      bnxt_en: Update firmware interface to 1.10.2.171
      bnxt_en: Refactor NRZ/PAM4 link speed related logic
      bnxt_en: Fix 2 stray ethtool -S counters
      bnxt_en: Put the TX producer information in the TX BD opaque field
      bnxt_en: Add completion ring pointer in TX and RX ring structures
      bnxt_en: Restructure cp_ring_arr in struct bnxt_cp_ring_info
      bnxt_en: Add completion ring pointer in TX and RX ring structures
      bnxt_en: Remove BNXT_RX_HDL and BNXT_TX_HDL
      bnxt_en: Refactor bnxt_tx_int()
      bnxt_en: New encoding for the TX opaque field
      bnxt_en: Refactor bnxt_hwrm_set_coal()
      bnxt_en: Support up to 8 TX rings per MSIX
      bnxt_en: Add helper to get the number of CP rings required for TX rings
      bnxt_en: Add macros related to TC and TX rings
      bnxt_en: Use existing MSIX vectors for all mqprio TX rings
      bnxt_en: Optimize xmit_more TX path
      bnxt_en: The caller of bnxt_alloc_ctx_mem() should always free bp->ctx
      bnxt_en: Free bp->ctx inside bnxt_free_ctx_mem()
      bnxt_en: Restructure context memory data structures
      bnxt_en: Add page info to struct bnxt_ctx_mem_type
      bnxt_en: Use the pg_info field in bnxt_ctx_mem_type struct
      bnxt_en: Add bnxt_setup_ctxm_pg_tbls() helper function
      bnxt_en: Add support for new backing store query firmware API
      bnxt_en: Add support for HWRM_FUNC_BACKING_STORE_CFG_V2 firmware calls
      bnxt_en: Add db_ring_mask and related macro to bnxt_db_info struct.
      bnxt_en: Modify TX ring indexing logic.
      bnxt_en: Modify RX ring indexing logic.
      bnxt_en: Modify the NAPI logic for the new P7 chips
      bnxt_en: Fix backing store V2 logic
      bnxt_en: Update firmware interface to 1.10.3.15
      bnxt_en: Define basic P7 macros
      bnxt_en: Implement the new toggle bit doorbell mechanism on P7 chips
      bnxt_en: Add new P7 hardware interface definitions
      bnxt_en: Refactor RX VLAN acceleration logic.
      bnxt_en: Refactor and refine bnxt_tpa_start() and bnxt_tpa_end().
      bnxt_en: Add support for new RX and TPA_START completion types for P7
      bnxt_en: Refactor ethtool speeds logic
      bnxt_en: Support new firmware link parameters
      bnxt_en: Support force speed using the new HWRM fields
      bnxt_en: Report the new ethtool link modes in the new firmware interface
      bnxt_en: Add 5760X (P7) PCI IDs

Randy Schacher (1):
      bnxt_en: Rename some macros for the P5 chips

Somnath Kotur (2):
      bnxt_en: Use the unified RX page pool buffers for XDP and non-XDP
      bnxt_en: Let the page pool manage the DMA mapping

Sreekanth Reddy (1):
      bnxt_en: Support QOS and TPID settings for the SRIOV VLAN

Vikas Gupta (1):
      bnxt_en: Update VNIC resource calculation for VFs

 drivers/net/ethernet/broadcom/bnxt/Makefile       |    1 +
 drivers/net/ethernet/broadcom/bnxt/bnxt.c         | 2378 +++++++++++++--------
 drivers/net/ethernet/broadcom/bnxt/bnxt.h         |  443 +++-
 drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c     |   26 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h     |    3 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c |   12 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c |  981 +++++++--
 drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h     | 1656 +++++++-------
 drivers/net/ethernet/broadcom/bnxt/bnxt_hwmon.c   |  241 +++
 drivers/net/ethernet/broadcom/bnxt/bnxt_hwmon.h   |   30 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c    |    2 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.h    |   14 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c     |    4 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c   |   34 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c      |    1 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c     |   10 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h     |    4 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c     |   37 +-
 18 files changed, 3756 insertions(+), 2121 deletions(-)
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_hwmon.c
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_hwmon.h



More information about the kernel-team mailing list