[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250708210554.1662-1-tatyana.e.nikolova@intel.com>
Date: Tue, 8 Jul 2025 16:05:48 -0500
From: Tatyana Nikolova <tatyana.e.nikolova@...el.com>
To: intel-wired-lan@...ts.osuosl.org
Cc: jgg@...dia.com,
leon@...nel.org,
linux-rdma@...r.kernel.org,
netdev@...r.kernel.org,
kuba@...nel.org,
Tatyana Nikolova <tatyana.e.nikolova@...el.com>
Subject: [iwl-next v3 0/6] Add RDMA support for Intel IPU E2000 in idpf
This idpf patch series is the second part of the staged submission for
introducing RDMA RoCEv2 support for the IPU E2000 line of products,
referred to as GEN3.
To support RDMA GEN3 devices, the idpf driver uses common definitions of
the IIDC interface and implements specific device functionality in
iidc_rdma_idpf.h.
The IPU model can host one or more logical network endpoints called vPorts
per PCI function that are flexibly associated with a physical port or an
internal communication port.
Other features as it pertains to GEN3 devices include:
* MMIO learning
* RDMA capability negotiation
* RDMA vectors discovery between idpf and control plane
These patches are split from the submission "Add RDMA support for Intel
IPU E2000 (GEN3)" [1] and are based on 6.16-rc1. The patches have been
tested on a range of hosts and platforms with a variety of general RDMA
applications which include standalone verbs (rping, perftest, etc.),
storage and HPC applications.
A shared pull request for net-next and rdma-next will be sent following review.
Changelog:
v3:
* Include export.h header file
* Use managed version of pci_request_region API
v2 at [5]:
* Minor improvements like variable rename, logging,
remove a redundant variable, etc.
* A couple of cdev_info fixes to properly free it in
error path and not to dereference it before NULL check.
Changes since split (v1) at [4]:
* Replace core dev_ops with exported symbols
* Align with new header split scheme (iidc_rdma.h common header
and iidc_rdma_idpf.h specific header)
* Align with new naming scheme (idc_rdma -> iidc_rdma)
* The idpf patches are submitted separately from the ice and
irdma changes.
At [3]:
* Reduce required minimum RDMA vectors to 2
At [2]:
* RDMA vector number adjustment
* Fix unplugging vport auxiliary device twice
* General cleanup and minor improvements
[1] https://lore.kernel.org/all/20240724233917.704-1-tatyana.e.nikolova@intel.com/
[2] https://lore.kernel.org/all/20240824031924.421-1-tatyana.e.nikolova@intel.com/
[3] https://lore.kernel.org/all/20250207194931.1569-1-tatyana.e.nikolova@intel.com/
[4] https://lore.kernel.org/all/20250523170435.668-1-tatyana.e.nikolova@intel.com/
[5] https://lore.kernel.org/all/20250612220002.1120-1-tatyana.e.nikolova@intel.com/
Joshua Hay (6):
idpf: use reserved RDMA vectors from control plane
idpf: implement core RDMA auxiliary dev create, init, and destroy
idpf: implement RDMA vport auxiliary dev create, init, and destroy
idpf: implement remaining IDC RDMA core callbacks and handlers
idpf: implement IDC vport aux driver MTU change handler
idpf: implement get LAN MMIO memory regions
drivers/net/ethernet/intel/idpf/Makefile | 1 +
drivers/net/ethernet/intel/idpf/idpf.h | 117 +++-
.../net/ethernet/intel/idpf/idpf_controlq.c | 14 +-
.../net/ethernet/intel/idpf/idpf_controlq.h | 19 +-
drivers/net/ethernet/intel/idpf/idpf_dev.c | 49 +-
drivers/net/ethernet/intel/idpf/idpf_idc.c | 499 ++++++++++++++++++
drivers/net/ethernet/intel/idpf/idpf_lib.c | 102 +++-
drivers/net/ethernet/intel/idpf/idpf_main.c | 32 +-
drivers/net/ethernet/intel/idpf/idpf_mem.h | 8 +-
drivers/net/ethernet/intel/idpf/idpf_txrx.h | 1 +
drivers/net/ethernet/intel/idpf/idpf_vf_dev.c | 45 +-
.../net/ethernet/intel/idpf/idpf_virtchnl.c | 191 ++++++-
.../net/ethernet/intel/idpf/idpf_virtchnl.h | 3 +
drivers/net/ethernet/intel/idpf/virtchnl2.h | 42 +-
include/linux/net/intel/iidc_rdma_idpf.h | 55 ++
15 files changed, 1105 insertions(+), 73 deletions(-)
create mode 100644 drivers/net/ethernet/intel/idpf/idpf_idc.c
create mode 100644 include/linux/net/intel/iidc_rdma_idpf.h
--
2.37.3
Powered by blists - more mailing lists