Hi Linus, This PR has another new RDMA driver "bng_en" for latest generation Broadcom NICs. There might be one more new driver still to come. Otherwise it is a fairly quite cycle. Thanks, Jason The following changes since commit 3a8660878839faadb4f1a6dd72c3179c1df56787: Linux 6.18-rc1 (2025-10-12 13:42:36 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 80a85a771deb113cfe2e295fb9e84467a43ebfe4: RDMA/rxe: reclassify sockets in order to avoid false positives from lockdep (2025-11-27 07:10:02 -0500) ---------------------------------------------------------------- RDMA v6.19 merge window pull request - Minor driver bug fixes and updates to cxgb4, rxe, rdmavt, bnxt_re, mlx5 - Many bug fix patches for irdma - WQ_PERCPU annotations and system_dfl_wq changes - Improved mlx5 support for "other eswitches" and multiple PFs - 1600Gbps link speed reporting support. Four Digits Now! - New driver bng_en for latest generation Broadcom NICs - Bonding support for hns - Adjust mlx5's hmm based ODP to work with the very large address space created by the new 5 level paging default on x86 - Lockdep fixups in rxe and siw ---------------------------------------------------------------- Adithya Jayachandran (1): {rdma,net}/mlx5: Query vports mac address from device Alok Tiwari (1): RDMA/cxgb4: fix typo in write_pbl() debug message Anil Samal (1): RDMA/irdma: Add missing mutex destroy Colin Ian King (1): RDMA/rxe: Remove redundant assignment to variable page_offset HÃ¥kon Bugge (1): RDMA/cm: Base cm_id destruction timeout on CMA values Jacob Moroni (5): RDMA/irdma: Enforce local fence for LOCAL_INV WRs RDMA/irdma: Remove unused CQ registry RDMA/irdma: Do not directly rely on IB_PD_UNSAFE_GLOBAL_RKEY RDMA/irdma: Do not set IBK_LOCAL_DMA_LKEY for GEN3+ RDMA/irdma: Remove doorbell elision logic Jay Bhat (4): RDMA/irdma: Initialize cqp_cmds_info to prevent resource leaks RDMA/irdma: Silently consume unsignaled completions RDMA/irdma: CQ size and shadow update changes for GEN3 RDMA/irdma: Take a lock before moving SRQ tail in poll_cq Jijun Wang (1): RDMA/irdma: Fix SRQ shadow area address initialization Junxian Huang (8): RDMA/hns: Add helpers to obtain netdev and bus_num from hr_dev RDMA/hns: Initialize bonding resources RDMA/hns: Add bonding event handler RDMA/hns: Add bonding cmds RDMA/hns: Implement bonding init/uninit process RDMA/hns: Add delayed work for bonding RDMA/hns: Support link state reporting for bond RDMA/hns: Support reset recovery for bond Kalesh AP (3): RDMA/bnxt_re: Add a debugfs entry for CQE coalescing tuning RDMA/restrack: Fix typos in the comments RDMA/bnxt_re: Fix wrong check for CQ coalesc support Krzysztof Czurylo (3): RDMA/irdma: Fix data race in irdma_sc_ccq_arm RDMA/irdma: Fix data race in irdma_free_pble RDMA/irdma: Fix SIGBUS in AEQ destroy Leon Romanovsky (3): Add other eswitch support Expose definition for 1600Gbps link mode RDMA/bng_re: Remove prefetch instruction Li RongQing (2): RDMA/core: Prevent soft lockup during large user memory region cleanup RDMA/core: Reduce cond_resched() frequency in __ib_umem_release Ma Ke (1): RDMA/rtrs: server: Fix error handling in get_or_create_srv Maher Sanalla (2): RDMA/core: Add new IB rate for XDR (8x) support RDMA/mlx5: Add support for 1600_8x lane speed Marco Crivellari (7): RDMA/core: RDMA/mlx5: replace use of system_unbound_wq with system_dfl_wq RDMA/core: WQ_PERCPU added to alloc_workqueue users hfi1: WQ_PERCPU added to alloc_workqueue users RDMA/mlx4: WQ_PERCPU added to alloc_workqueue users IB/rdmavt: WQ_PERCPU added to alloc_workqueue users IB/iser: add WQ_PERCPU to alloc_workqueue users IB/isert: add WQ_PERCPU to alloc_workqueue users Patrisious Haddad (7): net/mlx5: Add OTHER_ESWITCH HW capabilities net/mlx5: fs, Add other_eswitch support for steering tables net/mlx5: fs, set non default device per namespace RDMA/mlx5: Change default device for LAG slaves in RDMA TRANSPORT namespaces RDMA/mlx5: Add other_eswitch support for devx destruction RDMA/mlx5: Refactor _get_prio() function RDMA/mlx5: Add other eswitch support to userspace tables Randy Dunlap (3): RDMA/uverbs: fix some kernel-doc warnings IB/rdmavt: rdmavt_qp.h: clean up kernel-doc comments RDMA/cm: Correct typedef and bad line warnings Selvin Xavier (2): RDMA/bnxt_re: Fix the inline size for GenP7 devices RDMA/bnxt_re: Pass correct flag for dma mr creation Siva Reddy Kallam (7): RDMA/bng_re: Add Auxiliary interface RDMA/bng_re: Register and get the resources from bnge driver RDMA/bng_re: Allocate required memory resources for Firmware channel RDMA/bng_re: Add infrastructure for enabling Firmware channel RDMA/bng_re: Enable Firmware channel and query device attributes RDMA/bng_re: Add basic debugfs infrastructure RDMA/bng_re: Initialize the Firmware and Hardware Stefan Metzmacher (3): RDMA/core: let rdma_connect_locked() call lockdep_assert_held(&id_priv->handler_mutex) RDMA/siw: reclassify sockets in order to avoid false positives from lockdep RDMA/rxe: reclassify sockets in order to avoid false positives from lockdep Tariq Toukan (1): net/mlx5: Expose definition for 1600Gbps link mode Tatyana Nikolova (1): RDMA/irdma: Add a missing kfree of struct irdma_pci_f for GEN2 Tuo Li (1): RDMA/irdma: Remove redundant NULL check of udata in irdma_create_user_ah() Vikas Gupta (1): bng_en: Add RoCE aux device support Yishai Hadas (3): PCI/TPH: Expose pcie_tph_get_st_table_loc() net/mlx5: Add direct ST mode support for RDMA IB/mlx5: Reduce IMR KSM size when 5-level paging is enabled Zhu Yanjun (1): RDMA/rxe: Fix null deref on srq->rq.queue after resize failure MAINTAINERS | 7 + drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/cm.c | 9 +- drivers/infiniband/core/cma.c | 2 + drivers/infiniband/core/device.c | 4 +- drivers/infiniband/core/restrack.c | 4 +- drivers/infiniband/core/ucma.c | 2 +- drivers/infiniband/core/umem.c | 8 +- drivers/infiniband/core/verbs.c | 3 + drivers/infiniband/hw/Makefile | 1 + drivers/infiniband/hw/bng_re/Kconfig | 10 + drivers/infiniband/hw/bng_re/Makefile | 8 + drivers/infiniband/hw/bng_re/bng_debugfs.c | 39 + drivers/infiniband/hw/bng_re/bng_debugfs.h | 12 + drivers/infiniband/hw/bng_re/bng_dev.c | 534 +++++++++++ drivers/infiniband/hw/bng_re/bng_fw.c | 767 +++++++++++++++ drivers/infiniband/hw/bng_re/bng_fw.h | 211 ++++ drivers/infiniband/hw/bng_re/bng_re.h | 85 ++ drivers/infiniband/hw/bng_re/bng_res.c | 279 ++++++ drivers/infiniband/hw/bng_re/bng_res.h | 215 +++++ drivers/infiniband/hw/bng_re/bng_sp.c | 131 +++ drivers/infiniband/hw/bng_re/bng_sp.h | 47 + drivers/infiniband/hw/bng_re/bng_tlv.h | 128 +++ drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 + drivers/infiniband/hw/bnxt_re/debugfs.c | 128 +++ drivers/infiniband/hw/bnxt_re/debugfs.h | 19 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 8 +- drivers/infiniband/hw/bnxt_re/main.c | 1 + drivers/infiniband/hw/bnxt_re/qplib_fp.c | 3 +- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 1 + drivers/infiniband/hw/bnxt_re/qplib_sp.c | 8 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 +- drivers/infiniband/hw/cxgb4/mem.c | 2 +- drivers/infiniband/hw/hfi1/init.c | 4 +- drivers/infiniband/hw/hfi1/opfn.c | 4 +- drivers/infiniband/hw/hns/Makefile | 4 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 1 - drivers/infiniband/hw/hns/hns_roce_bond.c | 1012 ++++++++++++++++++++ drivers/infiniband/hw/hns/hns_roce_bond.h | 95 ++ drivers/infiniband/hw/hns/hns_roce_device.h | 16 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 141 ++- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 20 + drivers/infiniband/hw/hns/hns_roce_main.c | 185 +++- drivers/infiniband/hw/hns/hns_roce_pd.c | 1 - drivers/infiniband/hw/hns/hns_roce_qp.c | 5 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 1 - drivers/infiniband/hw/irdma/cm.c | 2 +- drivers/infiniband/hw/irdma/ctrl.c | 107 +-- drivers/infiniband/hw/irdma/hw.c | 3 - drivers/infiniband/hw/irdma/icrdma_if.c | 6 +- drivers/infiniband/hw/irdma/ig3rdma_if.c | 4 + drivers/infiniband/hw/irdma/main.h | 3 +- drivers/infiniband/hw/irdma/pble.c | 6 +- drivers/infiniband/hw/irdma/puda.c | 20 +- drivers/infiniband/hw/irdma/type.h | 5 - drivers/infiniband/hw/irdma/uk.c | 67 +- drivers/infiniband/hw/irdma/user.h | 6 +- drivers/infiniband/hw/irdma/utils.c | 58 +- drivers/infiniband/hw/irdma/verbs.c | 49 +- drivers/infiniband/hw/irdma/verbs.h | 3 +- drivers/infiniband/hw/mlx4/cm.c | 2 +- drivers/infiniband/hw/mlx5/devx.c | 14 + drivers/infiniband/hw/mlx5/fs.c | 65 +- drivers/infiniband/hw/mlx5/ib_rep.c | 74 +- drivers/infiniband/hw/mlx5/main.c | 6 +- drivers/infiniband/hw/mlx5/odp.c | 93 +- drivers/infiniband/hw/mlx5/qp.c | 5 +- drivers/infiniband/sw/rdmavt/cq.c | 3 +- drivers/infiniband/sw/rxe/rxe_mr.c | 1 - drivers/infiniband/sw/rxe/rxe_net.c | 49 + drivers/infiniband/sw/rxe/rxe_odp.c | 1 - drivers/infiniband/sw/rxe/rxe_qp.c | 49 + drivers/infiniband/sw/rxe/rxe_srq.c | 7 +- drivers/infiniband/sw/siw/siw_cm.c | 51 + drivers/infiniband/ulp/iser/iscsi_iser.c | 2 +- drivers/infiniband/ulp/isert/ib_isert.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2 +- drivers/net/ethernet/broadcom/bnge/Makefile | 3 +- drivers/net/ethernet/broadcom/bnge/bnge.h | 10 + drivers/net/ethernet/broadcom/bnge/bnge_auxr.c | 258 +++++ drivers/net/ethernet/broadcom/bnge/bnge_auxr.h | 84 ++ drivers/net/ethernet/broadcom/bnge/bnge_core.c | 18 +- drivers/net/ethernet/broadcom/bnge/bnge_hwrm.c | 40 + drivers/net/ethernet/broadcom/bnge/bnge_hwrm.h | 2 + drivers/net/ethernet/broadcom/bnge/bnge_resc.c | 12 + drivers/net/ethernet/broadcom/bnge/bnge_resc.h | 1 + drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 20 +- .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 3 + drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 31 + drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 74 +- drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 19 +- drivers/net/ethernet/mellanox/mlx5/core/lib/st.c | 29 +- drivers/net/ethernet/mellanox/mlx5/core/vport.c | 24 +- drivers/pci/tph.c | 16 +- include/linux/mlx5/fs.h | 24 + include/linux/mlx5/mlx5_ifc.h | 47 +- include/linux/mlx5/port.h | 1 + include/linux/mlx5/vport.h | 3 +- include/linux/pci-tph.h | 1 + include/rdma/ib_cm.h | 4 +- include/rdma/ib_verbs.h | 100 +- include/rdma/rdmavt_qp.h | 70 +- 102 files changed, 5280 insertions(+), 549 deletions(-) create mode 100644 drivers/infiniband/hw/bng_re/Kconfig create mode 100644 drivers/infiniband/hw/bng_re/Makefile create mode 100644 drivers/infiniband/hw/bng_re/bng_debugfs.c create mode 100644 drivers/infiniband/hw/bng_re/bng_debugfs.h create mode 100644 drivers/infiniband/hw/bng_re/bng_dev.c create mode 100644 drivers/infiniband/hw/bng_re/bng_fw.c create mode 100644 drivers/infiniband/hw/bng_re/bng_fw.h create mode 100644 drivers/infiniband/hw/bng_re/bng_re.h create mode 100644 drivers/infiniband/hw/bng_re/bng_res.c create mode 100644 drivers/infiniband/hw/bng_re/bng_res.h create mode 100644 drivers/infiniband/hw/bng_re/bng_sp.c create mode 100644 drivers/infiniband/hw/bng_re/bng_sp.h create mode 100644 drivers/infiniband/hw/bng_re/bng_tlv.h create mode 100644 drivers/infiniband/hw/hns/hns_roce_bond.c create mode 100644 drivers/infiniband/hw/hns/hns_roce_bond.h create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_auxr.c create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_auxr.h