]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
RDMA/ionic: Add Makefile/Kconfig to kernel build environment
authorAbhijit Gangurde <abhijit.gangurde@amd.com>
Wed, 3 Sep 2025 06:16:06 +0000 (11:46 +0530)
committerLeon Romanovsky <leon@kernel.org>
Thu, 11 Sep 2025 06:18:36 +0000 (02:18 -0400)
Add ionic to the kernel build environment.

Co-developed-by: Allen Hubbe <allen.hubbe@amd.com>
Signed-off-by: Allen Hubbe <allen.hubbe@amd.com>
Signed-off-by: Abhijit Gangurde <abhijit.gangurde@amd.com>
Link: https://patch.msgid.link/20250903061606.4139957-15-abhijit.gangurde@amd.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Documentation/networking/device_drivers/ethernet/index.rst
Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst [new file with mode: 0644]
MAINTAINERS
drivers/infiniband/Kconfig
drivers/infiniband/hw/Makefile
drivers/infiniband/hw/ionic/Kconfig [new file with mode: 0644]
drivers/infiniband/hw/ionic/Makefile [new file with mode: 0644]

index 40ac552641a3af89002e1e69b2abd33e22a4ace4..1fabfe02eb12881444f9bba690b81e5379ed31d6 100644 (file)
@@ -50,6 +50,7 @@ Contents:
    neterion/s2io
    netronome/nfp
    pensando/ionic
+   pensando/ionic_rdma
    smsc/smc9
    stmicro/stmmac
    ti/cpsw
diff --git a/Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst b/Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst
new file mode 100644 (file)
index 0000000..42eb461
--- /dev/null
@@ -0,0 +1,52 @@
+.. 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
index fe168477caa45799dfe07de2f54de6d6a1ce0615..088558cc8b1889e54a8b29a4b2a62b021e4a4978 100644 (file)
@@ -1176,6 +1176,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
index 3a394cd772f66eebb89391c72e6c0c93d73b89c0..f0323f1d6f01f9075317b495fe2cd9f2fe63a4a7 100644 (file)
@@ -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"
index df61b2299ec0447b41367e828364ba6d09b36d14..b706dc0d026359f1aa5de0dda4de0927c9b5d5ef 100644 (file)
@@ -14,3 +14,4 @@ obj-$(CONFIG_INFINIBAND_HNS_HIP08)    += hns/
 obj-$(CONFIG_INFINIBAND_QEDR)          += qedr/
 obj-$(CONFIG_INFINIBAND_BNXT_RE)       += bnxt_re/
 obj-$(CONFIG_INFINIBAND_ERDMA)         += erdma/
+obj-$(CONFIG_INFINIBAND_IONIC)         += ionic/
diff --git a/drivers/infiniband/hw/ionic/Kconfig b/drivers/infiniband/hw/ionic/Kconfig
new file mode 100644 (file)
index 0000000..de6f10e
--- /dev/null
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2018-2025, Advanced Micro Devices, Inc.
+
+config INFINIBAND_IONIC
+       tristate "AMD Pensando DSC RDMA/RoCE Support"
+       depends on NETDEVICES && ETHERNET && PCI && INET && IONIC
+       help
+         This enables RDMA/RoCE support for the AMD Pensando family of
+         Distributed Services Cards (DSCs).
+
+         To learn more, visit our website at
+         <https://www.amd.com/en/products/accelerators/pensando.html>.
+
+         To compile this driver as a module, choose M here. The module
+         will be called ionic_rdma.
diff --git a/drivers/infiniband/hw/ionic/Makefile b/drivers/infiniband/hw/ionic/Makefile
new file mode 100644 (file)
index 0000000..9579737
--- /dev/null
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0
+
+ccflags-y :=  -I $(srctree)/drivers/net/ethernet/pensando/ionic
+
+obj-$(CONFIG_INFINIBAND_IONIC) += ionic_rdma.o
+
+ionic_rdma-y :=        \
+       ionic_ibdev.o ionic_lif_cfg.o ionic_queue.o ionic_pgtbl.o ionic_admin.o \
+       ionic_controlpath.o ionic_datapath.o ionic_hw_stats.o