]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/mana_ib: Allow registration of DMA-mapped memory in PDs
authorKonstantin Taranov <kotaranov@microsoft.com>
Mon, 20 Jan 2025 17:27:07 +0000 (09:27 -0800)
committerLeon Romanovsky <leon@kernel.org>
Mon, 3 Feb 2025 11:56:19 +0000 (06:56 -0500)
Allow the HW to register DMA-mapped memory for kernel-level PDs.

Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
Link: https://patch.msgid.link/1737394039-28772-2-git-send-email-kotaranov@linux.microsoft.com
Reviewed-by: Shiraz Saleem <shirazsaleem@microsoft.com>
Reviewed-by: Long Li <longli@microsoft.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mana/main.c
include/net/mana/gdma.h

index 67c2d43135a8af1c31b15979d22eeaab0f286205..45b251b911310e083ecc4077fe5dcd10597cdde2 100644 (file)
@@ -82,6 +82,9 @@ int mana_ib_alloc_pd(struct ib_pd *ibpd, struct ib_udata *udata)
        mana_gd_init_req_hdr(&req.hdr, GDMA_CREATE_PD, sizeof(req),
                             sizeof(resp));
 
+       if (!udata)
+               flags |= GDMA_PD_FLAG_ALLOW_GPA_MR;
+
        req.flags = flags;
        err = mana_gd_send_request(gc, sizeof(req), &req,
                                   sizeof(resp), &resp);
index 90f56656b5724bb99674f2a73f98066e375f7463..03e1b257953eb09b3bf2f741e327f2312851f22e 100644 (file)
@@ -775,6 +775,7 @@ struct gdma_destroy_dma_region_req {
 
 enum gdma_pd_flags {
        GDMA_PD_FLAG_INVALID = 0,
+       GDMA_PD_FLAG_ALLOW_GPA_MR = 1,
 };
 
 struct gdma_create_pd_req {