[PATCH] net: mana: add msix index sharing between EQs

2023-12-08 Thread Konstantin Taranov
From: Konstantin Taranov This patch allows to assign and poll more than 1 EQ on the same msix index. It is achieved by introducing a list of attached EQs in each IRQ context. This patch export symbols for creating EQs from other MANA kernel modules. Signed-off-by: Konstantin Taranov

[PATCH for-next v2] net: mana: add msix index sharing between EQs

2023-12-13 Thread Konstantin Taranov
From: Konstantin Taranov This patch allows to assign and poll more than one EQ on the same msix index. It is achieved by introducing a list of attached EQs in each IRQ context. It also removes the existing msix_index map that tried to ensure that there is only one EQ at each msix_index. This

RE: [PATCH] net: mana: Fix possible double free in error handling path

2024-06-24 Thread Konstantin Taranov
> > - kfree(madev); > I think you can just avoid using add_fail and keep/retain rest of init_fail, > idx_fail > conditions in old way right? I do agree with Sai. I think the patch can be just: @@ -2797,7 +2797,8 @@ static int add_adev(struct gdma_dev *gd) ret = auxiliary_device_init(a

RE: [PATCH v2] net: mana: Fix possible double free in error handling path

2024-06-25 Thread Konstantin Taranov
goto init_fail; > > + /* madev is owned by the auxiliary device */ > + madev = NULL; > ret = auxiliary_device_add(adev); > if (ret) > goto add_fail; > -- > 2.25.1 Reviewed-by: Konstantin Taranov

RE: [PATCH v2] net: mana: Fix possible double free in error handling path

2024-06-25 Thread Konstantin Taranov
> When auxiliary_device_add() returns error and then calls > auxiliary_device_uninit(), callback function adev_release calls kfree(madev). > We shouldn't call kfree(madev) again in the error handling path. Set 'madev' > to NULL. > > Signed-off-by: Ma Ke > --- > Changes in v2: > - streamlined the

[PATCH rdma-next 02/13] RDMA/mana_ib: implement get_dma_mr

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Implement allocation of DMA-mapped memory regions. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/device.c | 1 + drivers/infiniband/hw/mana/mr.c | 36 + include/net/mana/gdma.h

[PATCH rdma-next 00/13] RDMA/mana_ib: Enable CM for mana_ib

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov This patch series enables GSI QPs and CM on mana_ib. Konstantin Taranov (13): RDMA/mana_ib: Allow registration of DMA-mapped memory in PDs RDMA/mana_ib: implement get_dma_mr RDMA/mana_ib: helpers to allocate kernel queues RDMA/mana_ib: create kernel-level CQs

[PATCH rdma-next 07/13] RDMA/mana_ib: create/destroy AH

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Implement create and destroy AH for kernel. In mana_ib, AV is passed as an sge in WQE. Allocate DMA memory and write an AV there. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/Makefile | 2 +- drivers/infiniband/hw

[PATCH rdma-next 03/13] RDMA/mana_ib: helpers to allocate kernel queues

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Introduce helpers to allocate queues for kernel-level use. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/main.c | 23 +++ drivers/infiniband/hw/mana/mana_ib.h | 3 +++ .../net

[PATCH rdma-next 01/13] RDMA/mana_ib: Allow registration of DMA-mapped memory in PDs

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Allow the HW to register DMA-mapped memory for kernel-level PDs. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/main.c | 3 +++ include/net/mana/gdma.h | 1 + 2 files changed, 4 insertions(+) diff --git a

[PATCH rdma-next 08/13] net/mana: fix warning in the writer of client oob

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Do not warn on missing pad_data when oob is in sgl. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/net/ethernet/microsoft/mana/gdma_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/microsoft

[PATCH rdma-next 05/13] RDMA/mana_ib: Create and destroy UD/GSI QP

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Implement HW requests to create and destroy UD/GSI QPs. An UD/GSI QP has send and receive queues. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/main.c| 58 drivers/infiniband/hw/mana

[PATCH rdma-next 11/13] RDMA/mana_ib: extend mana QP table

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Enable mana QP table to store UD/GSI QPs. For send queues, set the most significant bit to one, as send and receive WQs can have the same ID in mana. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/main.c| 2

[PATCH rdma-next 10/13] RDMA/mana_ib: implement req_notify_cq

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Arm a CQ when req_notify_cq is called. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/cq.c | 12 drivers/infiniband/hw/mana/device.c | 1 + drivers/infiniband/hw/mana/mana_ib.h

[PATCH rdma-next 13/13] RDMA/mana_ib: indicate CM support

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Set max_mad_size and IB_PORT_CM_SUP capability to enable connection manager. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/main.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers

[PATCH rdma-next 04/13] RDMA/mana_ib: create kernel-level CQs

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Implement creation of CQs for the kernel. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/cq.c | 80 + 1 file changed, 52 insertions(+), 28 deletions(-) diff --git a/drivers/infiniband/hw

[PATCH rdma-next 06/13] RDMA/mana_ib: UD/GSI QP creation for kernel

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Implement UD/GSI QPs for the kernel. Allow create/modify/destroy for such QPs. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/qp.c | 115 1 file changed, 115 insertions(+) diff --git a

[PATCH rdma-next 09/13] RDMA/mana_ib: UD/GSI work requests

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Implement post send and post recv for UD/GSI QPs. Add information about posted requests into shadow queues. Co-developed-by: Shiraz Saleem Signed-off-by: Shiraz Saleem Signed-off-by: Konstantin Taranov --- drivers/infiniband/hw/mana/Makefile | 2

[PATCH rdma-next 12/13] RDMA/mana_ib: polling of CQs for GSI/UD

2025-01-20 Thread Konstantin Taranov
From: Konstantin Taranov Add polling for the kernel CQs. Process completion events for UD/GSI QPs. Signed-off-by: Konstantin Taranov Reviewed-by: Shiraz Saleem --- drivers/infiniband/hw/mana/cq.c | 135 ++ drivers/infiniband/hw/mana/device.c | 1

RE: [PATCH rdma-next 04/13] RDMA/mana_ib: create kernel-level CQs

2025-01-28 Thread Konstantin Taranov
> Subject: RE: [PATCH rdma-next 04/13] RDMA/mana_ib: create kernel-level > CQs > > > Subject: [PATCH rdma-next 04/13] RDMA/mana_ib: create kernel-level CQs > > > > From: Konstantin Taranov > > > > Implement creation of CQs for the kernel. > > > &