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
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
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]>