Commit 2ccb4d20 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull rdma updates from Jason Gunthorpe:
 "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"

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (85 commits)
  RDMA/ionic: Fix memory leak of admin q_wr
  RDMA/siw: Always report immediate post SQ errors
  RDMA/bnxt_re: improve clarity in ALLOC_PAGE handler
  RDMA/irdma: Remove unused struct irdma_cq fields
  RDMA/irdma: Fix positive vs negative error codes in irdma_post_send()
  RDMA/bnxt_re: Remove non-statistics counters from hw_counters
  RDMA/bnxt_re: Add debugfs info entry for device and resource information
  RDMA/bnxt_re: Fix incorrect errno used in function comments
  RDMA: Use %pe format specifier for error pointers
  RDMA/ionic: Use ether_addr_copy instead of memcpy
  RDMA/ionic: Fix build failure on SPARC due to xchg() operand size
  RDMA/rxe: Fix race in do_task() when draining
  IB/sa: Fix sa_local_svc_timeout_ms read race
  IB/ipoib: Ignore L3 master device
  RDMA/core: Use route entry flag to decide on loopback traffic
  RDMA/core: Resolve MAC of next-hop device without ARP support
  RDMA/core: Squash a single user static function
  RDMA/irdma: Update Kconfig
  RDMA/irdma: Extend CQE Error and Flush Handling for GEN3 Devices
  RDMA/irdma: Add Atomic Operations support
  ...
parents e56ebe27 e6d736bd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ Contents:
   neterion/s2io
   netronome/nfp
   pensando/ionic
   pensando/ionic_rdma
   qualcomm/ppe/ppe
   smsc/smc9
   stmicro/stmmac
+10 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ Contents
- Identifying the Adapter
- Enabling the driver
- Configuring the driver
- RDMA Support via Auxiliary Device
- Statistics
- Support

@@ -105,6 +106,15 @@ XDP
Support for XDP includes the basics, plus Jumbo frames, Redirect and
ndo_xmit.  There is no current support for zero-copy sockets or HW offload.

RDMA Support via Auxiliary Device
=================================

The ionic driver supports RDMA (Remote Direct Memory Access) functionality
through the Linux auxiliary device framework when advertised by the firmware.
RDMA capability is detected during device initialization, and if supported,
the ethernet driver will create an auxiliary device that allows the RDMA
driver to bind and provide InfiniBand/RoCE functionality.

Statistics
==========

+52 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0+

===========================================================
RDMA Driver for the AMD Pensando(R) Ethernet adapter family
===========================================================

AMD Pensando RDMA driver.
Copyright (C) 2018-2025, Advanced Micro Devices, Inc.

Overview
========

The ionic_rdma driver provides Remote Direct Memory Access functionality
for AMD Pensando DSC (Distributed Services Card) devices. This driver
implements RDMA capabilities as an auxiliary driver that operates in
conjunction with the ionic ethernet driver.

The ionic ethernet driver detects RDMA capability during device
initialization and creates auxiliary devices that the ionic_rdma driver
binds to, establishing the RDMA data path and control interfaces.

Identifying the Adapter
=======================

See Documentation/networking/device_drivers/ethernet/pensando/ionic.rst
for more information on identifying the adapter.

Enabling the driver
===================

The ionic_rdma driver depends on the ionic ethernet driver.
See Documentation/networking/device_drivers/ethernet/pensando/ionic.rst
for detailed information on enabling and configuring the ionic driver.

The ionic_rdma driver is enabled via the standard kernel configuration system,
using the make command::

  make oldconfig/menuconfig/etc.

The driver is located in the menu structure at:

  -> Device Drivers
    -> InfiniBand support
      -> AMD Pensando DSC RDMA/RoCE Support

Support
=======

For general Linux RDMA support, please use the RDMA mailing
list, which is monitored by AMD Pensando personnel::

  linux-rdma@vger.kernel.org
+9 −0
Original line number Diff line number Diff line
@@ -1177,6 +1177,15 @@ F: Documentation/networking/device_drivers/ethernet/amd/pds_core.rst
F:	drivers/net/ethernet/amd/pds_core/
F:	include/linux/pds/
AMD PENSANDO RDMA DRIVER
M:	Abhijit Gangurde <abhijit.gangurde@amd.com>
M:	Allen Hubbe <allen.hubbe@amd.com>
L:	linux-rdma@vger.kernel.org
S:	Maintained
F:	Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst
F:	drivers/infiniband/hw/ionic/
F:	include/uapi/rdma/ionic-abi.h
AMD PMC DRIVER
M:	Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
L:	platform-driver-x86@vger.kernel.org
+1 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ source "drivers/infiniband/hw/efa/Kconfig"
source "drivers/infiniband/hw/erdma/Kconfig"
source "drivers/infiniband/hw/hfi1/Kconfig"
source "drivers/infiniband/hw/hns/Kconfig"
source "drivers/infiniband/hw/ionic/Kconfig"
source "drivers/infiniband/hw/irdma/Kconfig"
source "drivers/infiniband/hw/mana/Kconfig"
source "drivers/infiniband/hw/mlx4/Kconfig"
Loading