[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251003000244.GA3344797@nvidia.com>
Date: Thu, 2 Oct 2025 21:02:44 -0300
From: Jason Gunthorpe <jgg@...dia.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-rdma@...r.kernel.org, linux-kernel@...r.kernel.org,
Leon Romanovsky <leonro@...dia.com>
Subject: [GIT PULL] Please pull RDMA subsystem changes
Hi Linus,
Much larger pull request this time. We got a new Pensando ionic
driver, a new Gen 3 HW support for Intel irdma, and lots of small
bnxt_re improvements. Plus the usual little driver fixes all over.
There are two or three more new drivers on the list so I expect a few
more larger merge windows going forward.
The merge conflict is resolved as Stephen did:
https://lore.kernel.org/r/20250911122330.14834c0a@canb.auug.org.au
Keep bnxt_re_free_gid_ctx() and move it ahead of
bnxt_re_get_stats_ctx(), bnxt added their new functions to the same
spot in the rc and next branches.
The tag for-linus-merged with my merge resolution to v6.17 is also
available to pull.
Thanks,
Jason
The following changes since commit 8f5ae30d69d7543eee0d70083daf4de8fe15d585:
Linux 6.17-rc1 (2025-08-10 19:41:16 +0300)
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 e6d736bd08902ba53460df1b62ee4218bbd17d9b:
RDMA/ionic: Fix memory leak of admin q_wr (2025-09-26 13:12:56 -0300)
----------------------------------------------------------------
RDMA v6.18 merge window pull request
A new Pensando ionic driver, a new Gen 3 HW support for Intel irdma,
and lots of small bnxt_re improvements.
- Small bug fixes and improves to hfi1, efa, mlx5, erdma, rdmarvt, siw
- Allow userspace access to IB service records through the rdmacm
- Optimize dma mapping for erdma
- Fix shutdown of the GSI QP in mana
- Support relaxed ordering MR and fix a corruption bug with mlx5 DMA Data
Direct
- Many improvement to bnxt_re:
* Debugging features and counters
* Improve performance of some commands
* Change flow_label reporting in completions
* Mirror vnic
* RDMA flow support
- New RDMA driver for Pensando Ethernet devices: ionic
- Gen 3 hardware support for the Intel irdma driver
- Fix rdma routing resolution with VRFs
----------------------------------------------------------------
Abhijit Gangurde (17):
net: ionic: Create an auxiliary device for rdma driver
net: ionic: Update LIF identity with additional RDMA capabilities
net: ionic: Export the APIs from net driver to support device commands
net: ionic: Provide RDMA reset support for the RDMA driver
net: ionic: Provide interrupt allocation support for the RDMA driver
net: ionic: Provide doorbell and CMB region information
RDMA: Add IONIC to rdma_driver_id definition
RDMA/ionic: Register auxiliary module for ionic ethernet adapter
RDMA/ionic: Create device queues to support admin operations
RDMA/ionic: Register device ops for control path
RDMA/ionic: Register device ops for datapath
RDMA/ionic: Register device ops for miscellaneous functionality
RDMA/ionic: Implement device stats ops
RDMA/ionic: Add Makefile/Kconfig to kernel build environment
RDMA/ionic: Fix build failure on SPARC due to xchg() operand size
RDMA/ionic: Use ether_addr_copy instead of memcpy
RDMA/ionic: Fix memory leak of admin q_wr
Abhishek Mohapatra (1):
RDMA/bnxt_re: Report udp source port for flow_label in bnxt_re_query_qp
Alok Tiwari (2):
RDMA/bnxt_re: Fix incorrect errno used in function comments
RDMA/bnxt_re: improve clarity in ALLOC_PAGE handler
Anantha Prabhu (3):
RDMA/bnxt_re: Update sysfs entries with appropriate data
RDMA/bnxt_re: Add debugfs info entry for device and resource information
RDMA/bnxt_re: Remove non-statistics counters from hw_counters
Bernard Metzler (1):
RDMA/siw: Always report immediate post SQ errors
Boshi Yu (1):
RDMA/erdma: Use dma_map_page to map scatter MTT buffer
Chenna Arnoori (1):
RDMA/bnxt_re: RoCE Driver Dynamic Debug for HWRM's
Christopher Bednarz (1):
RDMA/irdma: Discover and set up GEN3 hardware register layout
Damodharam Ammepalli (1):
RDMA/bnxt_re: Optimize bnxt_qplib_get_dev_attr function
Dan Carpenter (1):
RDMA/irdma: Fix positive vs negative error codes in irdma_post_send()
Edward Srouji (1):
RDMA/mlx5: Fix page size bitmap calculation for KSM mode
Faisal Latif (2):
RDMA/irdma: Add SRQ support
RDMA/irdma: Add Atomic Operations support
Fushuai Wang (1):
IB/hfi1: Use for_each_online_cpu() instead of for_each_cpu()
Gui-Dong Han (1):
RDMA/rxe: Fix race in do_task() when draining
HÃ¥kon Bugge (1):
RDMA/cm: Rate limit destroy CM ID timeout error message
Jacob Moroni (1):
RDMA/irdma: Remove unused struct irdma_cq fields
Kalesh AP (5):
RDMA/bnxt_re: Delete always true SGID table check
RDMA/bnxt_re: Enhance a log message when bnxt_re_register_netdev fails
RDMA/bnxt_re: Refactor hw context memory allocation
RDMA/bnxt_re: Refactor stats context memory allocation
RDMA/bnxt_re: Remove unnecessary condition checks
Kashyap Desai (1):
RDMA/bnxt_re: Show srq_limit in fill_res_srq_entry hook
Konstantin Taranov (1):
RDMA/mana_ib: Drain send wrs of GSI QP
Krzysztof Czurylo (2):
RDMA/irdma: Add GEN3 CQP support with deferred completions
RDMA/irdma: Add GEN3 HW statistics support
Leon Romanovsky (1):
RDMA: Use %pe format specifier for error pointers
Mark Zhang (5):
RDMA/sa_query: Add RMPP support for SA queries
RDMA/sa_query: Support IB service records resolution
RDMA/cma: Support IB service record resolution
RDMA/ucma: Support query resolved service records
RDMA/ucma: Support write an event into a CM
Michael Margolin (1):
RDMA/efa: Extend admin timeout error print
Mustafa Ismail (3):
RDMA/irdma: Refactor GEN2 auxiliary driver
RDMA/irdma: Add GEN3 core driver support
RDMA/irdma: Introduce GEN3 vPort driver support
Or Har-Toov (1):
RDMA/mlx5: Better estimate max_qp_wr to reflect WQE count
Parav Pandit (3):
RDMA/core: Squash a single user static function
RDMA/core: Resolve MAC of next-hop device without ARP support
RDMA/core: Use route entry flag to decide on loopback traffic
Patrisious Haddad (1):
RDMA/mlx5: Fix vport loopback forcing for MPV device
Qianfeng Rong (2):
RDMA/erdma: Use vcalloc() instead of vzalloc()
RDMA/rdmavt: Use int type to store negative error codes
Saravanan Vajravel (7):
bnxt_en: Enhance stats context reservation logic
RDMA/bnxt_re: Add data structures for RoCE mirror support
RDMA/bnxt_re: Add support for unique GID
RDMA/bnxt_re: Add support for mirror vnic
RDMA/bnxt_re: Add support for flow create/destroy
RDMA/bnxt_re: Initialize fw with roce_mirror support
RDMA/bnxt_re: Use firmware provided message timeout value
Shiraz Saleem (7):
RDMA/mana_ib: Extend modify QP
RDMA/irdma: Add GEN3 support for AEQ and CEQ
RDMA/irdma: Add GEN3 virtual QP1 support
RDMA/irdma: Extend QP context programming for GEN3
RDMA/irdma: Support 64-byte CQEs and GEN3 CQE opcode decoding
RDMA/irdma: Restrict Memory Window and CQE Timestamping to GEN3
RDMA/irdma: Extend CQE Error and Flush Handling for GEN3 Devices
Shravya KN (1):
RDMA/bnxt_re: Avoid GID level QoS update from the driver
Tatyana Nikolova (1):
RDMA/irdma: Update Kconfig
Thorsten Blum (1):
RDMA/bnxt_re: Call strscpy() with correct size argument
Vasuthevan Maheswaran (1):
RDMA/bnxt_re: RoCE related hardware counters update
Vinoth Kumar Chandra Mohan (1):
RDMA/irdma: Add support for V2 HMC resource management scheme
Vlad Dumitrescu (2):
IB/ipoib: Ignore L3 master device
IB/sa: Fix sa_local_svc_timeout_ms read race
Xichao Zhao (1):
RDMA/core: fix "truely"->"truly"
Yishai Hadas (1):
RDMA/mlx5: Enable Data-Direct with Relaxed Ordering
.../networking/device_drivers/ethernet/index.rst | 1 +
.../device_drivers/ethernet/pensando/ionic.rst | 10 +
.../ethernet/pensando/ionic_rdma.rst | 52 +
MAINTAINERS | 9 +
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/core/addr.c | 83 +-
drivers/infiniband/core/agent.c | 3 +-
drivers/infiniband/core/cm.c | 4 +-
drivers/infiniband/core/cma.c | 136 +-
drivers/infiniband/core/cma_priv.h | 4 +-
drivers/infiniband/core/device.c | 2 +-
drivers/infiniband/core/sa_query.c | 283 ++-
drivers/infiniband/core/ucma.c | 120 +-
drivers/infiniband/hw/Makefile | 1 +
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 19 +-
drivers/infiniband/hw/bnxt_re/debugfs.c | 37 +
drivers/infiniband/hw/bnxt_re/hw_counters.c | 109 +-
drivers/infiniband/hw/bnxt_re/hw_counters.h | 26 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 156 +-
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 10 +
drivers/infiniband/hw/bnxt_re/main.c | 378 +--
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 13 +-
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 +
drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 10 +-
drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 1 +
drivers/infiniband/hw/bnxt_re/qplib_res.c | 38 +-
drivers/infiniband/hw/bnxt_re/qplib_res.h | 21 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.c | 98 +-
drivers/infiniband/hw/bnxt_re/qplib_sp.h | 6 +-
drivers/infiniband/hw/bnxt_re/roce_hsi.h | 44 +-
drivers/infiniband/hw/cxgb4/device.c | 5 +-
drivers/infiniband/hw/efa/efa_com.c | 18 +-
drivers/infiniband/hw/efa/efa_verbs.c | 6 +-
drivers/infiniband/hw/erdma/erdma_verbs.c | 110 +-
drivers/infiniband/hw/erdma/erdma_verbs.h | 4 +-
drivers/infiniband/hw/hfi1/device.c | 4 +-
drivers/infiniband/hw/hfi1/sdma.c | 2 +-
drivers/infiniband/hw/hfi1/user_sdma.c | 4 +-
drivers/infiniband/hw/hns/hns_roce_mr.c | 8 +-
drivers/infiniband/hw/ionic/Kconfig | 15 +
drivers/infiniband/hw/ionic/Makefile | 9 +
drivers/infiniband/hw/ionic/ionic_admin.c | 1229 +++++++++
drivers/infiniband/hw/ionic/ionic_controlpath.c | 2679 ++++++++++++++++++++
drivers/infiniband/hw/ionic/ionic_datapath.c | 1399 ++++++++++
drivers/infiniband/hw/ionic/ionic_fw.h | 1029 ++++++++
drivers/infiniband/hw/ionic/ionic_hw_stats.c | 484 ++++
drivers/infiniband/hw/ionic/ionic_ibdev.c | 440 ++++
drivers/infiniband/hw/ionic/ionic_ibdev.h | 517 ++++
drivers/infiniband/hw/ionic/ionic_lif_cfg.c | 111 +
drivers/infiniband/hw/ionic/ionic_lif_cfg.h | 66 +
drivers/infiniband/hw/ionic/ionic_pgtbl.c | 143 ++
drivers/infiniband/hw/ionic/ionic_queue.c | 52 +
drivers/infiniband/hw/ionic/ionic_queue.h | 234 ++
drivers/infiniband/hw/ionic/ionic_res.h | 154 ++
drivers/infiniband/hw/irdma/Kconfig | 7 +-
drivers/infiniband/hw/irdma/Makefile | 4 +
drivers/infiniband/hw/irdma/ctrl.c | 1468 ++++++++++-
drivers/infiniband/hw/irdma/defs.h | 264 +-
drivers/infiniband/hw/irdma/hmc.c | 18 +-
drivers/infiniband/hw/irdma/hmc.h | 19 +-
drivers/infiniband/hw/irdma/hw.c | 363 +--
drivers/infiniband/hw/irdma/i40iw_hw.c | 2 +
drivers/infiniband/hw/irdma/i40iw_hw.h | 2 +
drivers/infiniband/hw/irdma/i40iw_if.c | 3 +
drivers/infiniband/hw/irdma/icrdma_hw.c | 3 +
drivers/infiniband/hw/irdma/icrdma_hw.h | 5 +-
drivers/infiniband/hw/irdma/icrdma_if.c | 343 +++
drivers/infiniband/hw/irdma/ig3rdma_hw.c | 170 ++
drivers/infiniband/hw/irdma/ig3rdma_hw.h | 32 +
drivers/infiniband/hw/irdma/ig3rdma_if.c | 232 ++
drivers/infiniband/hw/irdma/irdma.h | 22 +-
drivers/infiniband/hw/irdma/main.c | 371 +--
drivers/infiniband/hw/irdma/main.h | 35 +-
drivers/infiniband/hw/irdma/pble.c | 20 +-
drivers/infiniband/hw/irdma/protos.h | 1 +
drivers/infiniband/hw/irdma/puda.h | 4 +-
drivers/infiniband/hw/irdma/type.h | 221 +-
drivers/infiniband/hw/irdma/uda_d.h | 5 +-
drivers/infiniband/hw/irdma/uk.c | 303 ++-
drivers/infiniband/hw/irdma/user.h | 267 +-
drivers/infiniband/hw/irdma/utils.c | 112 +-
drivers/infiniband/hw/irdma/verbs.c | 834 +++++-
drivers/infiniband/hw/irdma/verbs.h | 50 +-
drivers/infiniband/hw/irdma/virtchnl.c | 618 +++++
drivers/infiniband/hw/irdma/virtchnl.h | 176 ++
drivers/infiniband/hw/mana/cq.c | 26 +
drivers/infiniband/hw/mana/device.c | 3 +
drivers/infiniband/hw/mana/main.c | 5 +-
drivers/infiniband/hw/mana/mana_ib.h | 14 +-
drivers/infiniband/hw/mana/mr.c | 6 +-
drivers/infiniband/hw/mana/qp.c | 9 +
drivers/infiniband/hw/mlx4/mad.c | 8 +-
drivers/infiniband/hw/mlx4/qp.c | 3 +-
drivers/infiniband/hw/mlx5/data_direct.c | 2 +-
drivers/infiniband/hw/mlx5/gsi.c | 15 +-
drivers/infiniband/hw/mlx5/main.c | 113 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 7 +
drivers/infiniband/hw/mlx5/mr.c | 11 +-
drivers/infiniband/hw/mlx5/umr.c | 6 +-
drivers/infiniband/sw/rdmavt/qp.c | 13 +-
drivers/infiniband/sw/rxe/rxe_task.c | 8 +-
drivers/infiniband/sw/siw/siw_verbs.c | 25 +-
drivers/infiniband/ulp/ipoib/ipoib_main.c | 21 +-
drivers/infiniband/ulp/srpt/ib_srpt.c | 16 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 3 +
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 6 +
drivers/net/ethernet/pensando/Kconfig | 1 +
drivers/net/ethernet/pensando/ionic/Makefile | 2 +-
drivers/net/ethernet/pensando/ionic/ionic.h | 7 -
drivers/net/ethernet/pensando/ionic/ionic_api.h | 131 +
drivers/net/ethernet/pensando/ionic/ionic_aux.c | 102 +
drivers/net/ethernet/pensando/ionic/ionic_aux.h | 10 +
.../net/ethernet/pensando/ionic/ionic_bus_pci.c | 7 +
drivers/net/ethernet/pensando/ionic/ionic_dev.c | 270 +-
drivers/net/ethernet/pensando/ionic/ionic_dev.h | 28 +-
drivers/net/ethernet/pensando/ionic/ionic_if.h | 118 +-
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 47 +-
drivers/net/ethernet/pensando/ionic/ionic_lif.h | 3 +
drivers/net/ethernet/pensando/ionic/ionic_main.c | 4 +-
include/rdma/ib_mad.h | 1 +
include/rdma/ib_sa.h | 37 +
include/rdma/rdma_cm.h | 21 +-
include/uapi/rdma/ib_user_ioctl_verbs.h | 1 +
include/uapi/rdma/ib_user_sa.h | 14 +
include/uapi/rdma/ionic-abi.h | 115 +
include/uapi/rdma/irdma-abi.h | 16 +-
include/uapi/rdma/rdma_user_cm.h | 42 +-
128 files changed, 16190 insertions(+), 1488 deletions(-)
(diffstat from tag for-linus-merged)
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists