2024-03-04 13:53:24

by Konstantin Taranov

[permalink] [raw]
Subject: [PATCH rdma-next v3 0/2] RDMA/mana_ib: Improve dma region creation

From: Konstantin Taranov <[email protected]>

This patch series fixes an incorrect offset calculation for dma
regions and adds new functions to create dma regions:
1) with iova
2) without iova but with zero dma offset

Changes:
v1->v2:
Split the patch into 2 commits
In 1/2, Improved commit messages and added "Fixes:"
In 2/2, Used correct helpers to get page size for iova and no-iova cases
In 2/2, Introduced mana helpers to work with iova and no-iova cases

v2->v3:
In 2/2, Return -EINVAL on failed ib_umem_find_best_pgoff
In 2/2, Improved commit message and added "Fixes:"

Konstantin Taranov (2):
RDMA/mana_ib: Fix bug in creation of dma regions
RDMA/mana_ib: Use virtual address in dma regions for MRs

drivers/infiniband/hw/mana/cq.c | 4 +--
drivers/infiniband/hw/mana/main.c | 42 +++++++++++++++++++++-------
drivers/infiniband/hw/mana/mana_ib.h | 7 +++--
drivers/infiniband/hw/mana/mr.c | 4 +--
drivers/infiniband/hw/mana/qp.c | 6 ++--
drivers/infiniband/hw/mana/wq.c | 4 +--
6 files changed, 46 insertions(+), 21 deletions(-)


base-commit: 14b526f55ba5916856126f9793309fd6de5c5e7e
--
2.43.0



2024-03-04 14:11:24

by Konstantin Taranov

[permalink] [raw]
Subject: [PATCH rdma-next v3 1/2] RDMA/mana_ib: Fix bug in creation of dma regions

From: Konstantin Taranov <[email protected]>

Use ib_umem_dma_offset() helper to calculate correct dma offset.

Fixes: 0266a177631d ("RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter")
Signed-off-by: Konstantin Taranov <[email protected]>
---
drivers/infiniband/hw/mana/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/mana/main.c b/drivers/infiniband/hw/mana/main.c
index 29dd2438d..dd570832d 100644
--- a/drivers/infiniband/hw/mana/main.c
+++ b/drivers/infiniband/hw/mana/main.c
@@ -348,7 +348,7 @@ int mana_ib_gd_create_dma_region(struct mana_ib_dev *dev, struct ib_umem *umem,
sizeof(struct gdma_create_dma_region_resp));

create_req->length = umem->length;
- create_req->offset_in_page = umem->address & (page_sz - 1);
+ create_req->offset_in_page = ib_umem_dma_offset(umem, page_sz);
create_req->gdma_page_type = order_base_2(page_sz) - PAGE_SHIFT;
create_req->page_count = num_pages_total;

--
2.43.0


2024-03-07 09:42:28

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH rdma-next v3 0/2] RDMA/mana_ib: Improve dma region creation


On Mon, 04 Mar 2024 05:52:39 -0800, Konstantin Taranov wrote:
> From: Konstantin Taranov <[email protected]>
>
> This patch series fixes an incorrect offset calculation for dma
> regions and adds new functions to create dma regions:
> 1) with iova
> 2) without iova but with zero dma offset
>
> [...]

Applied, thanks!

[1/2] RDMA/mana_ib: Fix bug in creation of dma regions
https://git.kernel.org/rdma/rdma/c/e02497fb654689
[2/2] RDMA/mana_ib: Use virtual address in dma regions for MRs
https://git.kernel.org/rdma/rdma/c/2d5c00815778ec

Best regards,
--
Leon Romanovsky <[email protected]>