]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
RDMA/irdma: Add GEN3 core driver support
authorMustafa Ismail <mustafa.ismail@intel.com>
Wed, 27 Aug 2025 15:25:31 +0000 (10:25 -0500)
committerLeon Romanovsky <leon@kernel.org>
Thu, 18 Sep 2025 08:48:45 +0000 (04:48 -0400)
commitd5edd33364a59795a3e3ba83bcdabe591a4b9931
tree2571fb244c598777b29486ad7b296c3745e9ec75
parent0c2b80cac96e199674de464a4b619bebab3d7761
RDMA/irdma: Add GEN3 core driver support

Introduce support for the GEN3 auxiliary core driver, which is
responsible for initializing PCI-level RDMA resources.

Facilitate host-driver communication with the device's Control Plane (CP)
to discover capabilities and perform privileged operations through an
RDMA-specific messaging interface built atop the IDPF mailbox and virtual
channel protocol.

Establish the RDMA virtual channel message interface and incorporate
operations to retrieve the hardware version and discover capabilities
from the CP.

Additionally, set up the RDMA MMIO regions and initialize the RF structure.

Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Co-developed-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Link: https://patch.msgid.link/20250827152545.2056-3-tatyana.e.nikolova@intel.com
Tested-by: Jacob Moroni <jmoroni@google.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
19 files changed:
drivers/infiniband/hw/irdma/Makefile
drivers/infiniband/hw/irdma/ctrl.c
drivers/infiniband/hw/irdma/defs.h
drivers/infiniband/hw/irdma/hmc.c
drivers/infiniband/hw/irdma/hmc.h
drivers/infiniband/hw/irdma/hw.c
drivers/infiniband/hw/irdma/i40iw_if.c
drivers/infiniband/hw/irdma/icrdma_if.c
drivers/infiniband/hw/irdma/ig3rdma_hw.h [new file with mode: 0644]
drivers/infiniband/hw/irdma/ig3rdma_if.c [new file with mode: 0644]
drivers/infiniband/hw/irdma/irdma.h
drivers/infiniband/hw/irdma/main.c
drivers/infiniband/hw/irdma/main.h
drivers/infiniband/hw/irdma/pble.c
drivers/infiniband/hw/irdma/puda.h
drivers/infiniband/hw/irdma/type.h
drivers/infiniband/hw/irdma/user.h
drivers/infiniband/hw/irdma/virtchnl.c [new file with mode: 0644]
drivers/infiniband/hw/irdma/virtchnl.h [new file with mode: 0644]