[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250509200712.2911060-1-anthony.l.nguyen@intel.com>
Date: Fri, 9 May 2025 13:07:06 -0700
From: Tony Nguyen <anthony.l.nguyen@...el.com>
To: davem@...emloft.net,
kuba@...nel.org,
pabeni@...hat.com,
edumazet@...gle.com,
andrew+netdev@...n.ch,
jgg@...pe.ca,
leon@...nel.org,
linux-rdma@...r.kernel.org,
netdev@...r.kernel.org
Cc: Tony Nguyen <anthony.l.nguyen@...el.com>,
tatyana.e.nikolova@...el.com,
david.m.ertman@...el.com,
przemyslaw.kitszel@...el.com
Subject: [PATCH net-next,rdma-next v2 0/5][pull request] Prepare for Intel IPU E2000 (GEN3)
This is the first part in introducing RDMA support for idpf.
This shared pull request targets both net-next and rdma-next branches
and is based on tag v6.15-rc1.
v2:
- Free cdev_info and iidc_priv in ice_deinit_rdma() (patch 5)
v1: https://lore.kernel.org/all/20250505212037.2092288-1-anthony.l.nguyen@intel.com/
IWL reviews:
[v5] https://lore.kernel.org/all/20250416021549.606-1-tatyana.e.nikolova@intel.com/
[v4] https://lore.kernel.org/all/20250225050428.2166-1-tatyana.e.nikolova@intel.com/
[v3] https://lore.kernel.org/all/20250207194931.1569-1-tatyana.e.nikolova@intel.com/
[v2] https://lore.kernel.org/all/20240824031924.421-1-tatyana.e.nikolova@intel.com/
[v1] https://lore.kernel.org/all/20240724233917.704-1-tatyana.e.nikolova@intel.com/
There are a few minor conflicts that exist with this series and the
respective trees:
net-next:
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@@ -9341,9 -9310,8 +9341,10 @@@ ice_setup_tc(struct net_device *netdev
void *type_data)
{
struct ice_netdev_priv *np = netdev_priv(netdev);
+ enum flow_block_binder_type binder_type;
+ struct iidc_rdma_core_dev_info *cdev;
struct ice_pf *pf = np->vsi->back;
+ flow_setup_cb_t *flower_handler;
bool locked = false;
int err;
RDMA for-rc series [1] (showing direct conflicts):
--- a/drivers/infiniband/hw/irdma/main.c
+++ b/drivers/infiniband/hw/irdma/main.c
@@@ -221,8 -221,8 +221,8 @@@ static int irdma_init_interrupts(struc
break;
if (i < IRDMA_MIN_MSIX) {
- for (; i > 0; i--)
+ while (--i >= 0)
- ice_free_rdma_qvector(pf, &rf->msix_entries[i]);
+ ice_free_rdma_qvector(cdev, &rf->msix_entries[i]);
kfree(rf->msix_entries);
return -ENOMEM;
@@@ -245,40 -245,35 +245,42 @@@ static void irdma_deinit_interrupts(str
static void irdma_remove(struct auxiliary_device *aux_dev)
{
...
+ kfree(iwdev->rf);
+
- pr_debug("INIT: Gen2 PF[%d] device remove success\n", PCI_FUNC(pf->pdev->devfn));
+ pr_debug("INIT: Gen2 PF[%d] device remove success\n", PCI_FUNC(cdev_info->pdev->devfn));
}
[1] https://lore.kernel.org/linux-rdma/174514658010.719262.13870226048967432907.b4-ty@kernel.org/
The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:
Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/linux.git for-next
for you to fetch changes up to c24a65b6a27c78d8540409800886b6622ea86ebf:
iidc/ice/irdma: Update IDC to support multiple consumers (2025-05-09 11:35:43 -0700)
----------------------------------------------------------------
Tatyana Nikolova says:
To align with review comments, the patch series introducing RDMA
RoCEv2 support for the Intel Infrastructure Processing Unit (IPU)
E2000 line of products is going to be submitted in three parts:
1. Modify ice to use specific and common IIDC definitions and
pass a core device info to irdma.
2. Add RDMA support to idpf and modify idpf to use specific and
common IIDC definitions and pass a core device info to irdma.
3. Add RDMA RoCEv2 support for the E2000 products, referred to as
GEN3 to irdma.
This first part is a 5 patch series based on the original
"iidc/ice/irdma: Update IDC to support multiple consumers" patch
to allow for multiple CORE PCI drivers, using the auxbus.
Patches:
1) Move header file to new name for clarity and replace ice
specific DSCP define with a kernel equivalent one in irdma
2) Unify naming convention
3) Separate header file into common and driver specific info
4) Replace ice specific DSCP define with a kernel equivalent
one in ice
5) Implement core device info struct and update drivers to use it
Signed-off-by: Tony Nguyen <anthony.l.nguyen@...el.com>
----------------------------------------------------------------
Dave Ertman (4):
iidc/ice/irdma: Rename IDC header file
iidc/ice/irdma: Rename to iidc_* convention
iidc/ice/irdma: Break iidc.h into two headers
iidc/ice/irdma: Update IDC to support multiple consumers
Tatyana Nikolova (1):
ice: Replace ice specific DSCP mapping num with a kernel define
MAINTAINERS | 2 +-
drivers/infiniband/hw/irdma/main.c | 125 ++++++-----
drivers/infiniband/hw/irdma/main.h | 3 +-
drivers/infiniband/hw/irdma/osdep.h | 2 +-
drivers/infiniband/hw/irdma/type.h | 4 +-
.../net/ethernet/intel/ice/devlink/devlink.c | 45 +++-
drivers/net/ethernet/intel/ice/ice.h | 6 +-
drivers/net/ethernet/intel/ice/ice_dcb.c | 2 +-
drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 47 +++-
drivers/net/ethernet/intel/ice/ice_dcb_lib.h | 9 +
drivers/net/ethernet/intel/ice/ice_dcb_nl.c | 4 +-
drivers/net/ethernet/intel/ice/ice_ethtool.c | 8 +-
drivers/net/ethernet/intel/ice/ice_idc.c | 207 +++++++++++-------
drivers/net/ethernet/intel/ice/ice_idc_int.h | 5 +-
drivers/net/ethernet/intel/ice/ice_main.c | 18 +-
drivers/net/ethernet/intel/ice/ice_type.h | 6 +-
include/linux/net/intel/iidc.h | 109 ---------
include/linux/net/intel/iidc_rdma.h | 68 ++++++
include/linux/net/intel/iidc_rdma_ice.h | 70 ++++++
19 files changed, 452 insertions(+), 288 deletions(-)
delete mode 100644 include/linux/net/intel/iidc.h
create mode 100644 include/linux/net/intel/iidc_rdma.h
create mode 100644 include/linux/net/intel/iidc_rdma_ice.h
Powered by blists - more mailing lists