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>
---
v2->v3
- Removed select of ethernet driver
- Fixed make htmldocs error
.../device_drivers/ethernet/index.rst | 1 +
.../ethernet/pensando/ionic_rdma.rst | 43 +++++++++++++++++++
MAINTAINERS | 9 ++++
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/hw/Makefile | 1 +
drivers/infiniband/hw/ionic/Kconfig | 15 +++++++
drivers/infiniband/hw/ionic/Makefile | 9 ++++
7 files changed, 79 insertions(+)
create mode 100644 Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst
create mode 100644 drivers/infiniband/hw/ionic/Kconfig
create mode 100644 drivers/infiniband/hw/ionic/Makefile
diff --git a/Documentation/networking/device_drivers/ethernet/index.rst b/Documentation/networking/device_drivers/ethernet/index.rst
index 139b4c75a191..4b16ecd289da 100644
--- a/Documentation/networking/device_drivers/ethernet/index.rst
+++ b/Documentation/networking/device_drivers/ethernet/index.rst
@@ -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
index 000000000000..80c4d9876d3e
--- /dev/null
+++ b/Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst
@@ -0,0 +1,43 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+============================================================
+Linux Driver for the AMD Pensando(R) Ethernet adapter family
+============================================================
+
+AMD Pensando RDMA driver.
+Copyright (C) 2018-2025, Advanced Micro Devices, Inc.
+
+Contents
+========
+
+- Identifying the Adapter
+- Enabling the driver
+- Support
+
+Identifying the Adapter
+=======================
+
+See Documentation/networking/device_drivers/ethernet/pensando/ionic.rst
+for more information on identifying the adapter.
+
+Enabling the driver
+===================
+
+The 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
diff --git a/MAINTAINERS b/MAINTAINERS
index b4f3fa14ddca..f52409bde673 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1165,6 +1165,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
diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig
index 3a394cd772f6..f0323f1d6f01 100644
--- a/drivers/infiniband/Kconfig
+++ b/drivers/infiniband/Kconfig
@@ -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"
diff --git a/drivers/infiniband/hw/Makefile b/drivers/infiniband/hw/Makefile
index df61b2299ec0..b706dc0d0263 100644
--- a/drivers/infiniband/hw/Makefile
+++ b/drivers/infiniband/hw/Makefile
@@ -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
index 000000000000..de6f10e9b6e9
--- /dev/null
+++ b/drivers/infiniband/hw/ionic/Kconfig
@@ -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
index 000000000000..957973742820
--- /dev/null
+++ b/drivers/infiniband/hw/ionic/Makefile
@@ -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
--
2.43.0
Hi Abhijit, kernel test robot noticed the following build errors: [auto build test ERROR on e1bed9a94da86a7c01b985c2e9a030207269cbc7] url: https://github.com/intel-lab-lkp/linux/commits/Abhijit-Gangurde/net-ionic-Create-an-auxiliary-device-for-rdma-driver/20250724-014031 base: e1bed9a94da86a7c01b985c2e9a030207269cbc7 patch link: https://lore.kernel.org/r/20250723173149.2568776-15-abhijit.gangurde%40amd.com patch subject: [PATCH v4 14/14] RDMA/ionic: Add Makefile/Kconfig to kernel build environment config: s390-allyesconfig (https://download.01.org/0day-ci/archive/20250724/202507242337.xwu7Zm2I-lkp@intel.com/config) compiler: s390-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250724/202507242337.xwu7Zm2I-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202507242337.xwu7Zm2I-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/infiniband/hw/ionic/ionic_ibdev.c:235:24: error: initialization of 'struct ib_mr * (*)(struct ib_pd *, u64, u64, u64, int, struct ib_dmah *, struct ib_udata *)' {aka 'struct ib_mr * (*)(struct ib_pd *, long long unsigned int, long long unsigned int, long long unsigned int, int, struct ib_dmah *, struct ib_udata *)'} from incompatible pointer type 'struct ib_mr * (*)(struct ib_pd *, u64, u64, u64, int, struct ib_udata *)' {aka 'struct ib_mr * (*)(struct ib_pd *, long long unsigned int, long long unsigned int, long long unsigned int, int, struct ib_udata *)'} [-Wincompatible-pointer-types] 235 | .reg_user_mr = ionic_reg_user_mr, | ^~~~~~~~~~~~~~~~~ drivers/infiniband/hw/ionic/ionic_ibdev.c:235:24: note: (near initialization for 'ionic_dev_ops.reg_user_mr') In file included from drivers/infiniband/hw/ionic/ionic_ibdev.c:12: drivers/infiniband/hw/ionic/ionic_ibdev.h:469:15: note: 'ionic_reg_user_mr' declared here 469 | struct ib_mr *ionic_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 length, | ^~~~~~~~~~~~~~~~~ >> drivers/infiniband/hw/ionic/ionic_ibdev.c:236:31: error: initialization of 'struct ib_mr * (*)(struct ib_pd *, u64, u64, u64, int, int, struct ib_dmah *, struct uverbs_attr_bundle *)' {aka 'struct ib_mr * (*)(struct ib_pd *, long long unsigned int, long long unsigned int, long long unsigned int, int, int, struct ib_dmah *, struct uverbs_attr_bundle *)'} from incompatible pointer type 'struct ib_mr * (*)(struct ib_pd *, u64, u64, u64, int, int, struct uverbs_attr_bundle *)' {aka 'struct ib_mr * (*)(struct ib_pd *, long long unsigned int, long long unsigned int, long long unsigned int, int, int, struct uverbs_attr_bundle *)'} [-Wincompatible-pointer-types] 236 | .reg_user_mr_dmabuf = ionic_reg_user_mr_dmabuf, | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/infiniband/hw/ionic/ionic_ibdev.c:236:31: note: (near initialization for 'ionic_dev_ops.reg_user_mr_dmabuf') drivers/infiniband/hw/ionic/ionic_ibdev.h:471:15: note: 'ionic_reg_user_mr_dmabuf' declared here 471 | struct ib_mr *ionic_reg_user_mr_dmabuf(struct ib_pd *ibpd, u64 offset, | ^~~~~~~~~~~~~~~~~~~~~~~~ vim +235 drivers/infiniband/hw/ionic/ionic_ibdev.c 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 218 2dd4118243d6859 Abhijit Gangurde 2025-07-23 219 static const struct ib_device_ops ionic_dev_ops = { 2dd4118243d6859 Abhijit Gangurde 2025-07-23 220 .owner = THIS_MODULE, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 221 .driver_id = RDMA_DRIVER_IONIC, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 222 .uverbs_abi_ver = IONIC_ABI_VERSION, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 223 2dd4118243d6859 Abhijit Gangurde 2025-07-23 224 .alloc_ucontext = ionic_alloc_ucontext, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 225 .dealloc_ucontext = ionic_dealloc_ucontext, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 226 .mmap = ionic_mmap, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 227 .mmap_free = ionic_mmap_free, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 228 .alloc_pd = ionic_alloc_pd, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 229 .dealloc_pd = ionic_dealloc_pd, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 230 .create_ah = ionic_create_ah, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 231 .query_ah = ionic_query_ah, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 232 .destroy_ah = ionic_destroy_ah, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 233 .create_user_ah = ionic_create_ah, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 234 .get_dma_mr = ionic_get_dma_mr, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 @235 .reg_user_mr = ionic_reg_user_mr, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 @236 .reg_user_mr_dmabuf = ionic_reg_user_mr_dmabuf, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 237 .dereg_mr = ionic_dereg_mr, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 238 .alloc_mr = ionic_alloc_mr, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 239 .map_mr_sg = ionic_map_mr_sg, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 240 .alloc_mw = ionic_alloc_mw, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 241 .dealloc_mw = ionic_dealloc_mw, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 242 .create_cq = ionic_create_cq, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 243 .destroy_cq = ionic_destroy_cq, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 244 .create_qp = ionic_create_qp, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 245 .modify_qp = ionic_modify_qp, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 246 .query_qp = ionic_query_qp, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 247 .destroy_qp = ionic_destroy_qp, 2dd4118243d6859 Abhijit Gangurde 2025-07-23 248 423894d5361e62f Abhijit Gangurde 2025-07-23 249 .post_send = ionic_post_send, 423894d5361e62f Abhijit Gangurde 2025-07-23 250 .post_recv = ionic_post_recv, 423894d5361e62f Abhijit Gangurde 2025-07-23 251 .poll_cq = ionic_poll_cq, 423894d5361e62f Abhijit Gangurde 2025-07-23 252 .req_notify_cq = ionic_req_notify_cq, 423894d5361e62f Abhijit Gangurde 2025-07-23 253 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 254 .query_device = ionic_query_device, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 255 .query_port = ionic_query_port, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 256 .get_link_layer = ionic_get_link_layer, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 257 .query_pkey = ionic_query_pkey, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 258 .modify_device = ionic_modify_device, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 259 .get_port_immutable = ionic_get_port_immutable, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 260 .get_dev_fw_str = ionic_get_dev_fw_str, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 261 .get_vector_affinity = ionic_get_vector_affinity, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 262 .device_group = &ionic_rdma_attr_group, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 263 .disassociate_ucontext = ionic_disassociate_ucontext, 5bac24d9a932cb6 Abhijit Gangurde 2025-07-23 264 2dd4118243d6859 Abhijit Gangurde 2025-07-23 265 INIT_RDMA_OBJ_SIZE(ib_ucontext, ionic_ctx, ibctx), 2dd4118243d6859 Abhijit Gangurde 2025-07-23 266 INIT_RDMA_OBJ_SIZE(ib_pd, ionic_pd, ibpd), 2dd4118243d6859 Abhijit Gangurde 2025-07-23 267 INIT_RDMA_OBJ_SIZE(ib_ah, ionic_ah, ibah), 2dd4118243d6859 Abhijit Gangurde 2025-07-23 268 INIT_RDMA_OBJ_SIZE(ib_cq, ionic_vcq, ibcq), 2dd4118243d6859 Abhijit Gangurde 2025-07-23 269 INIT_RDMA_OBJ_SIZE(ib_qp, ionic_qp, ibqp), 2dd4118243d6859 Abhijit Gangurde 2025-07-23 270 INIT_RDMA_OBJ_SIZE(ib_mw, ionic_mr, ibmw), 2dd4118243d6859 Abhijit Gangurde 2025-07-23 271 }; 2dd4118243d6859 Abhijit Gangurde 2025-07-23 272 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
On 7/23/25 10:31 AM, Abhijit Gangurde wrote: > 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> > --- > v2->v3 > - Removed select of ethernet driver > - Fixed make htmldocs error > > .../device_drivers/ethernet/index.rst | 1 + > .../ethernet/pensando/ionic_rdma.rst | 43 +++++++++++++++++++ > MAINTAINERS | 9 ++++ > drivers/infiniband/Kconfig | 1 + > drivers/infiniband/hw/Makefile | 1 + > drivers/infiniband/hw/ionic/Kconfig | 15 +++++++ > drivers/infiniband/hw/ionic/Makefile | 9 ++++ > 7 files changed, 79 insertions(+) > create mode 100644 Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst > create mode 100644 drivers/infiniband/hw/ionic/Kconfig > create mode 100644 drivers/infiniband/hw/ionic/Makefile > > diff --git a/Documentation/networking/device_drivers/ethernet/index.rst b/Documentation/networking/device_drivers/ethernet/index.rst > index 139b4c75a191..4b16ecd289da 100644 > --- a/Documentation/networking/device_drivers/ethernet/index.rst > +++ b/Documentation/networking/device_drivers/ethernet/index.rst > @@ -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 > index 000000000000..80c4d9876d3e > --- /dev/null > +++ b/Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst > @@ -0,0 +1,43 @@ > +.. SPDX-License-Identifier: GPL-2.0+ > + > +============================================================ > +Linux Driver for the AMD Pensando(R) Ethernet adapter family > +============================================================ > + > +AMD Pensando RDMA driver. > +Copyright (C) 2018-2025, Advanced Micro Devices, Inc. > + > +Contents > +======== > + > +- Identifying the Adapter > +- Enabling the driver > +- Support > + > +Identifying the Adapter > +======================= > + > +See Documentation/networking/device_drivers/ethernet/pensando/ionic.rst > +for more information on identifying the adapter. > + > +Enabling the driver > +=================== > + > +The 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 Please add some verbage about this being an auxiliary_device dependent on the ionic driver, and that it can be disabled/enab led with a devlink command. sln > + > +Support > +======= > + > +For general Linux rdma support, please use the rdma mailing > +list, which is monitored by AMD Pensando personnel:: > + > + linux-rdma@vger.kernel.org > diff --git a/MAINTAINERS b/MAINTAINERS > index b4f3fa14ddca..f52409bde673 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1165,6 +1165,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 > diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig > index 3a394cd772f6..f0323f1d6f01 100644 > --- a/drivers/infiniband/Kconfig > +++ b/drivers/infiniband/Kconfig > @@ -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" > diff --git a/drivers/infiniband/hw/Makefile b/drivers/infiniband/hw/Makefile > index df61b2299ec0..b706dc0d0263 100644 > --- a/drivers/infiniband/hw/Makefile > +++ b/drivers/infiniband/hw/Makefile > @@ -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 > index 000000000000..de6f10e9b6e9 > --- /dev/null > +++ b/drivers/infiniband/hw/ionic/Kconfig > @@ -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 > index 000000000000..957973742820 > --- /dev/null > +++ b/drivers/infiniband/hw/ionic/Makefile > @@ -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
On 7/23/25 23:43, Shannon Nelson wrote: > On 7/23/25 10:31 AM, Abhijit Gangurde wrote: >> 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> >> --- >> v2->v3 >> - Removed select of ethernet driver >> - Fixed make htmldocs error >> >> .../device_drivers/ethernet/index.rst | 1 + >> .../ethernet/pensando/ionic_rdma.rst | 43 +++++++++++++++++++ >> MAINTAINERS | 9 ++++ >> drivers/infiniband/Kconfig | 1 + >> drivers/infiniband/hw/Makefile | 1 + >> drivers/infiniband/hw/ionic/Kconfig | 15 +++++++ >> drivers/infiniband/hw/ionic/Makefile | 9 ++++ >> 7 files changed, 79 insertions(+) >> create mode 100644 >> Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst >> create mode 100644 drivers/infiniband/hw/ionic/Kconfig >> create mode 100644 drivers/infiniband/hw/ionic/Makefile >> >> diff --git >> a/Documentation/networking/device_drivers/ethernet/index.rst >> b/Documentation/networking/device_drivers/ethernet/index.rst >> index 139b4c75a191..4b16ecd289da 100644 >> --- a/Documentation/networking/device_drivers/ethernet/index.rst >> +++ b/Documentation/networking/device_drivers/ethernet/index.rst >> @@ -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 >> index 000000000000..80c4d9876d3e >> --- /dev/null >> +++ >> b/Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst >> @@ -0,0 +1,43 @@ >> +.. SPDX-License-Identifier: GPL-2.0+ >> + >> +============================================================ >> +Linux Driver for the AMD Pensando(R) Ethernet adapter family >> +============================================================ >> + >> +AMD Pensando RDMA driver. >> +Copyright (C) 2018-2025, Advanced Micro Devices, Inc. >> + >> +Contents >> +======== >> + >> +- Identifying the Adapter >> +- Enabling the driver >> +- Support >> + >> +Identifying the Adapter >> +======================= >> + >> +See Documentation/networking/device_drivers/ethernet/pensando/ionic.rst >> +for more information on identifying the adapter. >> + >> +Enabling the driver >> +=================== >> + >> +The 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 > > Please add some verbage about this being an auxiliary_device dependent > on the ionic driver, and that it can be disabled/enab led with a > devlink command. > > sln > Sure. I'll add verbiage explaining that this is an auxiliary device dependent on the ionic driver. Although this series doesn't include the devlink changes for enabling/disabling functionality, I'll make sure to mention this aspect when the devlink changes are submitted. Thanks, Abhijit
On 7/23/25 10:31 AM, Abhijit Gangurde wrote: > 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> > --- > v2->v3 > - Removed select of ethernet driver > - Fixed make htmldocs error > > .../device_drivers/ethernet/index.rst | 1 + > .../ethernet/pensando/ionic_rdma.rst | 43 +++++++++++++++++++ > MAINTAINERS | 9 ++++ > drivers/infiniband/Kconfig | 1 + > drivers/infiniband/hw/Makefile | 1 + > drivers/infiniband/hw/ionic/Kconfig | 15 +++++++ > drivers/infiniband/hw/ionic/Makefile | 9 ++++ > 7 files changed, 79 insertions(+) > create mode 100644 Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst > create mode 100644 drivers/infiniband/hw/ionic/Kconfig > create mode 100644 drivers/infiniband/hw/ionic/Makefile > > 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 > index 000000000000..80c4d9876d3e > --- /dev/null > +++ b/Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst > @@ -0,0 +1,43 @@ > +.. SPDX-License-Identifier: GPL-2.0+ > + > +============================================================ > +Linux Driver for the AMD Pensando(R) Ethernet adapter family > +============================================================ Please try to differentiate the title of this driver from that of the Pensando ethernet driver: ======================================================== Linux Driver for the Pensando(R) Ethernet adapter family ======================================================== Thanks. > + > +AMD Pensando RDMA driver. > +Copyright (C) 2018-2025, Advanced Micro Devices, Inc. > + > +Contents > +======== > + > +- Identifying the Adapter > +- Enabling the driver > +- Support > + > +Identifying the Adapter > +======================= > + > +See Documentation/networking/device_drivers/ethernet/pensando/ionic.rst > +for more information on identifying the adapter. > + > +Enabling the driver > +=================== > + > +The 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 -- ~Randy
On 7/23/25 23:40, Randy Dunlap wrote: > > On 7/23/25 10:31 AM, Abhijit Gangurde wrote: >> 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> >> --- >> v2->v3 >> - Removed select of ethernet driver >> - Fixed make htmldocs error >> >> .../device_drivers/ethernet/index.rst | 1 + >> .../ethernet/pensando/ionic_rdma.rst | 43 +++++++++++++++++++ >> MAINTAINERS | 9 ++++ >> drivers/infiniband/Kconfig | 1 + >> drivers/infiniband/hw/Makefile | 1 + >> drivers/infiniband/hw/ionic/Kconfig | 15 +++++++ >> drivers/infiniband/hw/ionic/Makefile | 9 ++++ >> 7 files changed, 79 insertions(+) >> create mode 100644 Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst >> create mode 100644 drivers/infiniband/hw/ionic/Kconfig >> create mode 100644 drivers/infiniband/hw/ionic/Makefile >> >> 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 >> index 000000000000..80c4d9876d3e >> --- /dev/null >> +++ b/Documentation/networking/device_drivers/ethernet/pensando/ionic_rdma.rst >> @@ -0,0 +1,43 @@ >> +.. SPDX-License-Identifier: GPL-2.0+ >> + >> +============================================================ >> +Linux Driver for the AMD Pensando(R) Ethernet adapter family >> +============================================================ > Please try to differentiate the title of this driver from that of > the Pensando ethernet driver: > > ======================================================== > Linux Driver for the Pensando(R) Ethernet adapter family > ======================================================== > > Thanks. Thanks. I will correct the title of the RDMA driver. Abhijit > >> + >> +AMD Pensando RDMA driver. >> +Copyright (C) 2018-2025, Advanced Micro Devices, Inc. >> + >> +Contents >> +======== >> + >> +- Identifying the Adapter >> +- Enabling the driver >> +- Support >> + >> +Identifying the Adapter >> +======================= >> + >> +See Documentation/networking/device_drivers/ethernet/pensando/ionic.rst >> +for more information on identifying the adapter. >> + >> +Enabling the driver >> +=================== >> + >> +The 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 >
© 2016 - 2025 Red Hat, Inc.