]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/umem: Rename ib_umem_get() to ib_umem_get_va()
authorJiri Pirko <jiri@nvidia.com>
Fri, 29 May 2026 13:42:57 +0000 (15:42 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 29 May 2026 23:19:57 +0000 (20:19 -0300)
The new umem getter family being introduced in follow-up patches
need a fitting name for the central all-source helper that resolves
attributes, legacy fillers and a UHW VA fallback.

Rename the existing VA-pinning helper ib_umem_get() to ib_umem_get_va()
so the name is freed up. The new name is consistent with names of rest
of the helpers that are about to be introduced.

Link: https://patch.msgid.link/r/20260529134312.2836341-2-jiri@resnulli.us
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
34 files changed:
drivers/infiniband/core/umem.c
drivers/infiniband/core/uverbs_std_types_cq.c
drivers/infiniband/hw/bnxt_re/ib_verbs.c
drivers/infiniband/hw/cxgb4/mem.c
drivers/infiniband/hw/efa/efa_verbs.c
drivers/infiniband/hw/erdma/erdma_verbs.c
drivers/infiniband/hw/hns/hns_roce_db.c
drivers/infiniband/hw/hns/hns_roce_mr.c
drivers/infiniband/hw/ionic/ionic_controlpath.c
drivers/infiniband/hw/irdma/verbs.c
drivers/infiniband/hw/mana/main.c
drivers/infiniband/hw/mana/mr.c
drivers/infiniband/hw/mlx4/cq.c
drivers/infiniband/hw/mlx4/doorbell.c
drivers/infiniband/hw/mlx4/mr.c
drivers/infiniband/hw/mlx4/qp.c
drivers/infiniband/hw/mlx4/srq.c
drivers/infiniband/hw/mlx5/cq.c
drivers/infiniband/hw/mlx5/devx.c
drivers/infiniband/hw/mlx5/doorbell.c
drivers/infiniband/hw/mlx5/mr.c
drivers/infiniband/hw/mlx5/qp.c
drivers/infiniband/hw/mlx5/srq.c
drivers/infiniband/hw/mthca/mthca_provider.c
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
drivers/infiniband/hw/qedr/verbs.c
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c
drivers/infiniband/sw/rdmavt/mr.c
drivers/infiniband/sw/rxe/rxe_mr.c
drivers/infiniband/sw/siw/siw_mem.c
include/rdma/ib_umem.h

index 786fa1aa8e552bfbb87f87b3f1e390a767d17406..b253090bb1abd0d32953fab7141163fbc68c010e 100644 (file)
@@ -154,15 +154,15 @@ unsigned long ib_umem_find_best_pgsz(struct ib_umem *umem,
 EXPORT_SYMBOL(ib_umem_find_best_pgsz);
 
 /**
- * ib_umem_get - Pin and DMA map userspace memory.
+ * ib_umem_get_va - Pin and DMA map userspace memory.
  *
  * @device: IB device to connect UMEM
  * @addr: userspace virtual address to start at
  * @size: length of region to pin
  * @access: IB_ACCESS_xxx flags for memory being pinned
  */
-struct ib_umem *ib_umem_get(struct ib_device *device, unsigned long addr,
-                           size_t size, int access)
+struct ib_umem *ib_umem_get_va(struct ib_device *device, unsigned long addr,
+                              size_t size, int access)
 {
        struct ib_umem *umem;
        struct page **page_list;
@@ -275,10 +275,10 @@ umem_kfree:
        }
        return ret ? ERR_PTR(ret) : umem;
 }
-EXPORT_SYMBOL(ib_umem_get);
+EXPORT_SYMBOL(ib_umem_get_va);
 
 /**
- * ib_umem_release - release memory pinned with ib_umem_get
+ * ib_umem_release - release pinned memory
  * @umem: umem struct to release
  */
 void ib_umem_release(struct ib_umem *umem)
index 79b51f60ce2a37be53a84e8feaf7eea05bab118a..1a6bc8baa52be5f0ff22afab603c458dc3493a79 100644 (file)
@@ -139,7 +139,7 @@ static int UVERBS_HANDLER(UVERBS_METHOD_CQ_CREATE)(
                        goto err_event_file;
                }
 
-               umem = ib_umem_get(ib_dev, buffer_va, buffer_length, IB_ACCESS_LOCAL_WRITE);
+               umem = ib_umem_get_va(ib_dev, buffer_va, buffer_length, IB_ACCESS_LOCAL_WRITE);
                if (IS_ERR(umem)) {
                        ret = PTR_ERR(umem);
                        goto err_event_file;
index 94aa06e3b828ca2b1fb662e49e3a1e2706ca919e..5e8fa7bf99cb09e7750e398ed770bd221e6783fe 100644 (file)
@@ -1210,8 +1210,8 @@ static int bnxt_re_init_user_qp(struct bnxt_re_dev *rdev, struct bnxt_re_pd *pd,
                bytes += bnxt_re_get_psn_bytes(rdev, cntx, qplib_qp, ureq, fixed_que_attr);
 
        bytes = PAGE_ALIGN(bytes);
-       umem = ib_umem_get(&rdev->ibdev, ureq->qpsva, bytes,
-                          IB_ACCESS_LOCAL_WRITE);
+       umem = ib_umem_get_va(&rdev->ibdev, ureq->qpsva, bytes,
+                             IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(umem))
                return PTR_ERR(umem);
 
@@ -1225,8 +1225,8 @@ static int bnxt_re_init_user_qp(struct bnxt_re_dev *rdev, struct bnxt_re_pd *pd,
 
        bytes = (qplib_qp->rq.max_wqe * qplib_qp->rq.wqe_size);
        bytes = PAGE_ALIGN(bytes);
-       umem = ib_umem_get(&rdev->ibdev, ureq->qprva, bytes,
-                          IB_ACCESS_LOCAL_WRITE);
+       umem = ib_umem_get_va(&rdev->ibdev, ureq->qprva, bytes,
+                             IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(umem)) {
                rc = PTR_ERR(umem);
                goto fail;
@@ -2171,8 +2171,8 @@ static int bnxt_re_init_user_srq(struct bnxt_re_dev *rdev,
 
        bytes = (qplib_srq->max_wqe * qplib_srq->wqe_size);
        bytes = PAGE_ALIGN(bytes);
-       umem = ib_umem_get(&rdev->ibdev, ureq.srqva, bytes,
-                          IB_ACCESS_LOCAL_WRITE);
+       umem = ib_umem_get_va(&rdev->ibdev, ureq.srqva, bytes,
+                             IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(umem))
                return PTR_ERR(umem);
 
@@ -3496,9 +3496,9 @@ int bnxt_re_create_user_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *att
                                             dev_attr->max_cq_wqes + 1, uctx);
 
        if (!ibcq->umem) {
-               ibcq->umem = ib_umem_get(&rdev->ibdev, req.cq_va,
-                                        entries * sizeof(struct cq_base),
-                                        IB_ACCESS_LOCAL_WRITE);
+               ibcq->umem = ib_umem_get_va(&rdev->ibdev, req.cq_va,
+                                           entries * sizeof(struct cq_base),
+                                           IB_ACCESS_LOCAL_WRITE);
                if (IS_ERR(ibcq->umem))
                        return PTR_ERR(ibcq->umem);
        }
@@ -3655,12 +3655,12 @@ int bnxt_re_resize_cq(struct ib_cq *ibcq, unsigned int cqe,
        if (rc)
                goto fail;
 
-       cq->resize_umem = ib_umem_get(&rdev->ibdev, req.cq_va,
-                                     entries * sizeof(struct cq_base),
-                                     IB_ACCESS_LOCAL_WRITE);
+       cq->resize_umem = ib_umem_get_va(&rdev->ibdev, req.cq_va,
+                                        entries * sizeof(struct cq_base),
+                                        IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(cq->resize_umem)) {
                rc = PTR_ERR(cq->resize_umem);
-               ibdev_err(&rdev->ibdev, "%s: ib_umem_get failed! rc = %pe\n",
+               ibdev_err(&rdev->ibdev, "%s: ib_umem_get_va failed! rc = %pe\n",
                          __func__, cq->resize_umem);
                cq->resize_umem = NULL;
                goto fail;
@@ -4670,7 +4670,7 @@ struct ib_mr *bnxt_re_reg_user_mr(struct ib_pd *ib_pd, u64 start, u64 length,
        if (dmah)
                return ERR_PTR(-EOPNOTSUPP);
 
-       umem = ib_umem_get(&rdev->ibdev, start, length, mr_access_flags);
+       umem = ib_umem_get_va(&rdev->ibdev, start, length, mr_access_flags);
        if (IS_ERR(umem))
                return ERR_CAST(umem);
 
index 9fde78b746900b65fefe070b76ef36e313f065ae..cd1b0101419842922d9e0148b122b538076447b5 100644 (file)
@@ -530,7 +530,7 @@ struct ib_mr *c4iw_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
 
        mhp->rhp = rhp;
 
-       mhp->umem = ib_umem_get(pd->device, start, length, acc);
+       mhp->umem = ib_umem_get_va(pd->device, start, length, acc);
        if (IS_ERR(mhp->umem))
                goto err_free_skb;
 
index 395290ab05847aaac60fce4c9db2a2cfcb2526fd..8d97a837fa6ab24554dd5df85d9e2bb999b3ef2b 100644 (file)
@@ -1745,7 +1745,7 @@ struct ib_mr *efa_reg_mr(struct ib_pd *ibpd, u64 start, u64 length,
                goto err_out;
        }
 
-       mr->umem = ib_umem_get(ibpd->device, start, length, access_flags);
+       mr->umem = ib_umem_get_va(ibpd->device, start, length, access_flags);
        if (IS_ERR(mr->umem)) {
                err = PTR_ERR(mr->umem);
                ibdev_dbg(&dev->ibdev,
index b59c2e3a5306d1142bbd309d36affa8684f25ac2..9a9dc78c7ab64690a8b9ddc7c90208d1143c97c2 100644 (file)
@@ -829,7 +829,7 @@ static int get_mtt_entries(struct erdma_dev *dev, struct erdma_mem *mem,
 {
        int ret = 0;
 
-       mem->umem = ib_umem_get(&dev->ibdev, start, len, access);
+       mem->umem = ib_umem_get_va(&dev->ibdev, start, len, access);
        if (IS_ERR(mem->umem)) {
                ret = PTR_ERR(mem->umem);
                mem->umem = NULL;
@@ -896,8 +896,8 @@ static int erdma_map_user_dbrecords(struct erdma_ucontext *ctx,
        page->va = (dbrecords_va & PAGE_MASK);
        page->refcnt = 0;
 
-       page->umem = ib_umem_get(ctx->ibucontext.device,
-                                dbrecords_va & PAGE_MASK, PAGE_SIZE, 0);
+       page->umem = ib_umem_get_va(ctx->ibucontext.device,
+                                   dbrecords_va & PAGE_MASK, PAGE_SIZE, 0);
        if (IS_ERR(page->umem)) {
                rv = PTR_ERR(page->umem);
                kfree(page);
index f64023f5cf0a81c21f30cccd6fa757a78b368135..5e008a1700efb5cf0ad681f6d555d8e5d4f0e084 100644 (file)
@@ -29,8 +29,8 @@ int hns_roce_db_map_user(struct hns_roce_ucontext *context, unsigned long virt,
 
        refcount_set(&page->refcount, 1);
        page->user_virt = page_addr;
-       page->umem = ib_umem_get(context->ibucontext.device, page_addr,
-                                PAGE_SIZE, 0);
+       page->umem = ib_umem_get_va(context->ibucontext.device, page_addr,
+                                   PAGE_SIZE, 0);
        if (IS_ERR(page->umem)) {
                ret = PTR_ERR(page->umem);
                kfree(page);
index e8a9e7d8f267bdfcc99f2dcb4a68bb5eb9b1751c..01818a679d0a5f9bdc47f7c9c55013f6b1018709 100644 (file)
@@ -591,8 +591,8 @@ static int mtr_alloc_bufs(struct hns_roce_dev *hr_dev, struct hns_roce_mtr *mtr,
 
        if (udata) {
                mtr->kmem = NULL;
-               mtr->umem = ib_umem_get(ibdev, user_addr, total_size,
-                                       buf_attr->user_access);
+               mtr->umem = ib_umem_get_va(ibdev, user_addr, total_size,
+                                          buf_attr->user_access);
                if (IS_ERR(mtr->umem)) {
                        ibdev_err(ibdev, "failed to get umem, ret = %pe.\n",
                                  mtr->umem);
index 2b01345848ddb7ee9b34e5c9bb074912734536e1..db18c315cc2110bf648c8a8e11b0ba6a715e8c56 100644 (file)
@@ -110,8 +110,8 @@ int ionic_create_cq_common(struct ionic_vcq *vcq,
                if (rc)
                        goto err_qdesc;
 
-               cq->umem = ib_umem_get(&dev->ibdev, req_cq->addr, req_cq->size,
-                                      IB_ACCESS_LOCAL_WRITE);
+               cq->umem = ib_umem_get_va(&dev->ibdev, req_cq->addr,
+                                         req_cq->size, IB_ACCESS_LOCAL_WRITE);
                if (IS_ERR(cq->umem)) {
                        rc = PTR_ERR(cq->umem);
                        goto err_qdesc;
@@ -895,7 +895,7 @@ struct ib_mr *ionic_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 length,
 
        mr->flags = IONIC_MRF_USER_MR | to_ionic_mr_flags(access);
 
-       mr->umem = ib_umem_get(&dev->ibdev, start, length, access);
+       mr->umem = ib_umem_get_va(&dev->ibdev, start, length, access);
        if (IS_ERR(mr->umem)) {
                rc = PTR_ERR(mr->umem);
                goto err_umem;
@@ -1837,7 +1837,7 @@ static int ionic_qp_sq_init(struct ionic_ibdev *dev, struct ionic_ctx *ctx,
                qp->sq_meta = NULL;
                qp->sq_msn_idx = NULL;
 
-               qp->sq_umem = ib_umem_get(&dev->ibdev, sq->addr, sq->size, 0);
+               qp->sq_umem = ib_umem_get_va(&dev->ibdev, sq->addr, sq->size, 0);
                if (IS_ERR(qp->sq_umem))
                        return PTR_ERR(qp->sq_umem);
        } else {
@@ -2050,7 +2050,7 @@ static int ionic_qp_rq_init(struct ionic_ibdev *dev, struct ionic_ctx *ctx,
 
                qp->rq_meta = NULL;
 
-               qp->rq_umem = ib_umem_get(&dev->ibdev, rq->addr, rq->size, 0);
+               qp->rq_umem = ib_umem_get_va(&dev->ibdev, rq->addr, rq->size, 0);
                if (IS_ERR(qp->rq_umem))
                        return PTR_ERR(qp->rq_umem);
        } else {
index 3f4811bb5514c6dc154f4464c748910094fb6563..baee48df5fdf36ed2209634512a1d01f02a44f7a 100644 (file)
@@ -3527,7 +3527,7 @@ static struct ib_mr *irdma_reg_user_mr(struct ib_pd *pd, u64 start, u64 len,
        if (udata->inlen < IRDMA_MEM_REG_MIN_REQ_LEN)
                return ERR_PTR(-EINVAL);
 
-       region = ib_umem_get(pd->device, start, len, access);
+       region = ib_umem_get_va(pd->device, start, len, access);
 
        if (IS_ERR(region)) {
                ibdev_dbg(&iwdev->ibdev,
@@ -3729,7 +3729,7 @@ static int irdma_rereg_mr_trans(struct irdma_mr *iwmr, u64 start, u64 len,
        struct ib_umem *region;
        int err;
 
-       region = ib_umem_get(pd->device, start, len, iwmr->access);
+       region = ib_umem_get_va(pd->device, start, len, iwmr->access);
        if (IS_ERR(region))
                return PTR_ERR(region);
 
index 307ae01bf26f3457f2b9d131df2694f95ff067ed..1e93df6455f5b74f82c28255fd0001b3330ed784 100644 (file)
@@ -238,7 +238,7 @@ int mana_ib_create_queue(struct mana_ib_dev *mdev, u64 addr, u32 size,
        queue->id = INVALID_QUEUE_ID;
        queue->gdma_region = GDMA_INVALID_DMA_REGION;
 
-       umem = ib_umem_get(&mdev->ib_dev, addr, size, IB_ACCESS_LOCAL_WRITE);
+       umem = ib_umem_get_va(&mdev->ib_dev, addr, size, IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(umem)) {
                ibdev_dbg(&mdev->ib_dev, "Failed to get umem, %pe\n", umem);
                return PTR_ERR(umem);
index 8092a7bb785b7ddc9d548cd5a26829ba8c834f65..030bfdcfff3cbef9719601a29ed9fd06d25a99cd 100644 (file)
@@ -127,7 +127,7 @@ struct ib_mr *mana_ib_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 length,
        if (!mr)
                return ERR_PTR(-ENOMEM);
 
-       mr->umem = ib_umem_get(ibdev, start, length, access_flags);
+       mr->umem = ib_umem_get_va(ibdev, start, length, access_flags);
        if (IS_ERR(mr->umem)) {
                err = PTR_ERR(mr->umem);
                ibdev_dbg(ibdev,
index 7e4505f6c78b30526a8562a9218006f2d094a273..f9ec6917d9c9184975a525ec739ca6d0a47783b7 100644 (file)
@@ -180,9 +180,9 @@ int mlx4_ib_create_user_cq(struct ib_cq *ibcq,
        buf_addr = (void *)(unsigned long)ucmd.buf_addr;
 
        if (!ibcq->umem)
-               ibcq->umem = ib_umem_get(&dev->ib_dev, ucmd.buf_addr,
-                                        entries * cqe_size,
-                                        IB_ACCESS_LOCAL_WRITE);
+               ibcq->umem = ib_umem_get_va(&dev->ib_dev, ucmd.buf_addr,
+                                           entries * cqe_size,
+                                           IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(ibcq->umem)) {
                err = PTR_ERR(ibcq->umem);
                goto err_cq;
@@ -344,9 +344,9 @@ static int mlx4_alloc_resize_umem(struct mlx4_ib_dev *dev, struct mlx4_ib_cq *cq
        if (!cq->resize_buf)
                return -ENOMEM;
 
-       cq->resize_umem = ib_umem_get(&dev->ib_dev, ucmd.buf_addr,
-                                     entries * cqe_size,
-                                     IB_ACCESS_LOCAL_WRITE);
+       cq->resize_umem = ib_umem_get_va(&dev->ib_dev, ucmd.buf_addr,
+                                        entries * cqe_size,
+                                        IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(cq->resize_umem)) {
                err = PTR_ERR(cq->resize_umem);
                goto err_buf;
index 8ba86b1e4e46375bcbcd4f87d66676cf848a9475..22ae728834fcf71c9012f6dac3d0333518339201 100644 (file)
@@ -64,8 +64,8 @@ int mlx4_ib_db_map_user(struct ib_udata *udata, unsigned long virt,
 
        page->user_virt = (virt & PAGE_MASK);
        page->refcnt    = 0;
-       page->umem = ib_umem_get(context->ibucontext.device, virt & PAGE_MASK,
-                                PAGE_SIZE, 0);
+       page->umem = ib_umem_get_va(context->ibucontext.device,
+                                   virt & PAGE_MASK, PAGE_SIZE, 0);
        if (IS_ERR(page->umem)) {
                err = PTR_ERR(page->umem);
                kfree(page);
index 650b4a9121ff6d6e149eb16217f9dd7b57907094..027ffb6f79d32ced8759a0c02513f3015429260d 100644 (file)
@@ -110,7 +110,7 @@ static struct ib_umem *mlx4_get_umem_mr(struct ib_device *device, u64 start,
        /*
         * Force registering the memory as writable if the underlying pages
         * are writable.  This is so rereg can change the access permissions
-        * from readable to writable without having to run through ib_umem_get
+        * from readable to writable without having to run through ib_umem_get_va
         * again
         */
        if (!ib_access_writable(access_flags)) {
@@ -135,7 +135,7 @@ static struct ib_umem *mlx4_get_umem_mr(struct ib_device *device, u64 start,
                mmap_read_unlock(current->mm);
        }
 
-       return ib_umem_get(device, start, length, access_flags);
+       return ib_umem_get_va(device, start, length, access_flags);
 }
 
 struct ib_mr *mlx4_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
index 8dc4196218bf05ae9f25c22d1a95ecc717372303..effc6bcceb76532f1556f8cbc680daf31885d4e2 100644 (file)
@@ -897,7 +897,7 @@ static int create_rq(struct ib_pd *pd, struct ib_qp_init_attr *init_attr,
        qp->buf_size = (qp->rq.wqe_cnt << qp->rq.wqe_shift) +
                       (qp->sq.wqe_cnt << qp->sq.wqe_shift);
 
-       qp->umem = ib_umem_get(pd->device, wq.buf_addr, qp->buf_size, 0);
+       qp->umem = ib_umem_get_va(pd->device, wq.buf_addr, qp->buf_size, 0);
        if (IS_ERR(qp->umem)) {
                err = PTR_ERR(qp->umem);
                goto err;
@@ -1080,7 +1080,7 @@ static int create_qp_common(struct ib_pd *pd, struct ib_qp_init_attr *init_attr,
                        goto err;
 
                qp->umem =
-                       ib_umem_get(pd->device, ucmd.buf_addr, qp->buf_size, 0);
+                       ib_umem_get_va(pd->device, ucmd.buf_addr, qp->buf_size, 0);
                if (IS_ERR(qp->umem)) {
                        err = PTR_ERR(qp->umem);
                        goto err;
index dd868f9b893d7020f4397a645a03b3bc844f574f..7bcb7e225662396feb916ac1c798dc17cb439ee7 100644 (file)
@@ -116,7 +116,7 @@ int mlx4_ib_create_srq(struct ib_srq *ib_srq,
                        return err;
 
                srq->umem =
-                       ib_umem_get(ib_srq->device, ucmd.buf_addr, buf_size, 0);
+                       ib_umem_get_va(ib_srq->device, ucmd.buf_addr, buf_size, 0);
                if (IS_ERR(srq->umem))
                        return PTR_ERR(srq->umem);
 
index 64fad78cb256df15e0cff229610fb347344fd21b..5a89676ebeb24f7c65a73c45f8e29d1b7c17b8c1 100644 (file)
@@ -747,9 +747,9 @@ static int create_cq_user(struct mlx5_ib_dev *dev, struct ib_udata *udata,
        *cqe_size = ucmd.cqe_size;
 
        if (!cq->ibcq.umem)
-               cq->ibcq.umem = ib_umem_get(&dev->ib_dev, ucmd.buf_addr,
-                                           entries * ucmd.cqe_size,
-                                           IB_ACCESS_LOCAL_WRITE);
+               cq->ibcq.umem = ib_umem_get_va(&dev->ib_dev, ucmd.buf_addr,
+                                              entries * ucmd.cqe_size,
+                                              IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(cq->ibcq.umem))
                return PTR_ERR(cq->ibcq.umem);
 
@@ -1242,9 +1242,9 @@ static int resize_user(struct mlx5_ib_dev *dev, struct mlx5_ib_cq *cq,
        if (ucmd.cqe_size && SIZE_MAX / ucmd.cqe_size <= entries - 1)
                return -EINVAL;
 
-       umem = ib_umem_get(&dev->ib_dev, ucmd.buf_addr,
-                          (size_t)ucmd.cqe_size * entries,
-                          IB_ACCESS_LOCAL_WRITE);
+       umem = ib_umem_get_va(&dev->ib_dev, ucmd.buf_addr,
+                             (size_t)ucmd.cqe_size * entries,
+                             IB_ACCESS_LOCAL_WRITE);
        if (IS_ERR(umem)) {
                err = PTR_ERR(umem);
                return err;
index c5929d023ee38ebab502eeb557ca45b7f941c6f1..fc6f793dcc6584e6a22b40c57e2df8f24579eb14 100644 (file)
@@ -2287,7 +2287,7 @@ static int devx_umem_get(struct mlx5_ib_dev *dev, struct ib_ucontext *ucontext,
                        return PTR_ERR(umem_dmabuf);
                obj->umem = &umem_dmabuf->umem;
        } else {
-               obj->umem = ib_umem_get(&dev->ib_dev, addr, size, access_flags);
+               obj->umem = ib_umem_get_va(&dev->ib_dev, addr, size, access_flags);
                if (IS_ERR(obj->umem))
                        return PTR_ERR(obj->umem);
        }
index bd68fcf011f4d5cbc1fffd660cf7fac4e95cbc3d..020c7032866342a712e66ec189abfbded9402c7e 100644 (file)
@@ -66,8 +66,8 @@ int mlx5_ib_db_map_user(struct mlx5_ib_ucontext *context, unsigned long virt,
 
        page->user_virt = (virt & PAGE_MASK);
        page->refcnt    = 0;
-       page->umem = ib_umem_get(context->ibucontext.device, virt & PAGE_MASK,
-                                PAGE_SIZE, 0);
+       page->umem = ib_umem_get_va(context->ibucontext.device,
+                                   virt & PAGE_MASK, PAGE_SIZE, 0);
        if (IS_ERR(page->umem)) {
                err = PTR_ERR(page->umem);
                kfree(page);
index d7d8f3ae8b647a5b66a189eaec8eb71480385791..254e6aa4ccafb2d6a545ceeff64fc241023e567a 100644 (file)
@@ -874,7 +874,7 @@ struct ib_mr *mlx5_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
        if (access_flags & IB_ACCESS_ON_DEMAND)
                return create_user_odp_mr(pd, start, length, iova, access_flags,
                                          udata);
-       umem = ib_umem_get(&dev->ib_dev, start, length, access_flags);
+       umem = ib_umem_get_va(&dev->ib_dev, start, length, access_flags);
        if (IS_ERR(umem))
                return ERR_CAST(umem);
        return create_real_mr(pd, umem, iova, access_flags, dmah);
@@ -1227,8 +1227,8 @@ struct ib_mr *mlx5_ib_rereg_user_mr(struct ib_mr *ib_mr, int flags, u64 start,
                struct ib_umem *new_umem;
                unsigned long page_size;
 
-               new_umem = ib_umem_get(&dev->ib_dev, start, length,
-                                      new_access_flags);
+               new_umem = ib_umem_get_va(&dev->ib_dev, start, length,
+                                         new_access_flags);
                if (IS_ERR(new_umem))
                        return ERR_CAST(new_umem);
 
index 043b12cf7c1fd34f5122037ad73da163e408b911..dc5e6e3e5a642c31cb971bc1baf1173c520a79d8 100644 (file)
@@ -886,7 +886,7 @@ static int create_user_rq(struct mlx5_ib_dev *dev, struct ib_pd *pd,
        if (!ucmd->buf_addr)
                return -EINVAL;
 
-       rwq->umem = ib_umem_get(&dev->ib_dev, ucmd->buf_addr, rwq->buf_size, 0);
+       rwq->umem = ib_umem_get_va(&dev->ib_dev, ucmd->buf_addr, rwq->buf_size, 0);
        if (IS_ERR(rwq->umem)) {
                mlx5_ib_dbg(dev, "umem_get failed\n");
                err = PTR_ERR(rwq->umem);
@@ -996,8 +996,8 @@ static int _create_user_qp(struct mlx5_ib_dev *dev, struct ib_pd *pd,
 
        if (ucmd->buf_addr && ubuffer->buf_size) {
                ubuffer->buf_addr = ucmd->buf_addr;
-               ubuffer->umem = ib_umem_get(&dev->ib_dev, ubuffer->buf_addr,
-                                           ubuffer->buf_size, 0);
+               ubuffer->umem = ib_umem_get_va(&dev->ib_dev, ubuffer->buf_addr,
+                                              ubuffer->buf_size, 0);
                if (IS_ERR(ubuffer->umem)) {
                        err = PTR_ERR(ubuffer->umem);
                        goto err_bfreg;
@@ -1348,8 +1348,8 @@ static int create_raw_packet_qp_sq(struct mlx5_ib_dev *dev,
        if (ts_format < 0)
                return ts_format;
 
-       sq->ubuffer.umem = ib_umem_get(&dev->ib_dev, ubuffer->buf_addr,
-                                      ubuffer->buf_size, 0);
+       sq->ubuffer.umem = ib_umem_get_va(&dev->ib_dev, ubuffer->buf_addr,
+                                         ubuffer->buf_size, 0);
        if (IS_ERR(sq->ubuffer.umem))
                return PTR_ERR(sq->ubuffer.umem);
        page_size = mlx5_umem_find_best_quantized_pgoff(
index 3fb8519a4ce0d7c766bceb5283160dd50dd7f45a..44903015c6c9e262412eb42dffefcd1658e07aec 100644 (file)
@@ -66,7 +66,7 @@ static int create_srq_user(struct ib_pd *pd, struct mlx5_ib_srq *srq,
 
        srq->wq_sig = !!(ucmd.flags & MLX5_SRQ_FLAG_SIGNATURE);
 
-       srq->umem = ib_umem_get(pd->device, ucmd.buf_addr, buf_size, 0);
+       srq->umem = ib_umem_get_va(pd->device, ucmd.buf_addr, buf_size, 0);
        if (IS_ERR(srq->umem)) {
                mlx5_ib_dbg(dev, "failed umem get, size %d\n", buf_size);
                err = PTR_ERR(srq->umem);
index afa97d3801f783e1d8c036667c035b2a819eaa4a..23e387dba79da8b40bf5a054985595e538e87941 100644 (file)
@@ -878,7 +878,7 @@ static struct ib_mr *mthca_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
        if (!mr)
                return ERR_PTR(-ENOMEM);
 
-       mr->umem = ib_umem_get(pd->device, start, length, acc);
+       mr->umem = ib_umem_get_va(pd->device, start, length, acc);
        if (IS_ERR(mr->umem)) {
                err = PTR_ERR(mr->umem);
                goto err;
index 383f1d9c15d1516ddaa4207f3e47a516fc46843e..69caadcff810ed4c8568f463d4d7a23f596b895a 100644 (file)
@@ -864,7 +864,7 @@ struct ib_mr *ocrdma_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len,
        mr = kzalloc_obj(*mr);
        if (!mr)
                return ERR_PTR(status);
-       mr->umem = ib_umem_get(ibpd->device, start, len, acc);
+       mr->umem = ib_umem_get_va(ibpd->device, start, len, acc);
        if (IS_ERR(mr->umem)) {
                status = -EFAULT;
                goto umem_err;
index 1af908275ca7290a6a748d2463df675df1860aab..7195eeede5301374addafb9f54064d49b8ff33c2 100644 (file)
@@ -779,9 +779,9 @@ static inline int qedr_init_user_queue(struct ib_udata *udata,
 
        q->buf_addr = buf_addr;
        q->buf_len = buf_len;
-       q->umem = ib_umem_get(&dev->ibdev, q->buf_addr, q->buf_len, access);
+       q->umem = ib_umem_get_va(&dev->ibdev, q->buf_addr, q->buf_len, access);
        if (IS_ERR(q->umem)) {
-               DP_ERR(dev, "create user queue: failed ib_umem_get, got %ld\n",
+               DP_ERR(dev, "create user queue: failed ib_umem_get_va, got %ld\n",
                       PTR_ERR(q->umem));
                return PTR_ERR(q->umem);
        }
@@ -1439,13 +1439,14 @@ static int qedr_init_srq_user_params(struct ib_udata *udata,
        if (rc)
                return rc;
 
-       srq->prod_umem = ib_umem_get(srq->ibsrq.device, ureq->prod_pair_addr,
-                                    sizeof(struct rdma_srq_producers), access);
+       srq->prod_umem = ib_umem_get_va(srq->ibsrq.device, ureq->prod_pair_addr,
+                                       sizeof(struct rdma_srq_producers),
+                                       access);
        if (IS_ERR(srq->prod_umem)) {
                qedr_free_pbl(srq->dev, &srq->usrq.pbl_info, srq->usrq.pbl_tbl);
                ib_umem_release(srq->usrq.umem);
                DP_ERR(srq->dev,
-                      "create srq: failed ib_umem_get for producer, got %ld\n",
+                      "create srq: failed ib_umem_get_va for producer, got %ld\n",
                       PTR_ERR(srq->prod_umem));
                return PTR_ERR(srq->prod_umem);
        }
@@ -2932,7 +2933,7 @@ struct ib_mr *qedr_reg_user_mr(struct ib_pd *ibpd, u64 start, u64 len,
 
        mr->type = QEDR_MR_USER;
 
-       mr->umem = ib_umem_get(ibpd->device, start, len, acc);
+       mr->umem = ib_umem_get_va(ibpd->device, start, len, acc);
        if (IS_ERR(mr->umem)) {
                rc = -EFAULT;
                goto err0;
index d5bfdbfe1376d1297926dc4d272bd5c15b6ee2ee..0bdb4452d6f6ce3917cb4b000f64320dac93c8e2 100644 (file)
@@ -138,8 +138,8 @@ int pvrdma_create_cq(struct ib_cq *ibcq, const struct ib_cq_init_attr *attr,
                if (ret)
                        goto err_cq;
 
-               cq->umem = ib_umem_get(ibdev, ucmd.buf_addr, ucmd.buf_size,
-                                      IB_ACCESS_LOCAL_WRITE);
+               cq->umem = ib_umem_get_va(ibdev, ucmd.buf_addr, ucmd.buf_size,
+                                         IB_ACCESS_LOCAL_WRITE);
                if (IS_ERR(cq->umem)) {
                        ret = PTR_ERR(cq->umem);
                        goto err_cq;
index 05a6bd991502bc3d4a94e904219d2fe7418a8850..942381ab0367322a7f862dbb4d2b5c5d6c9f4fe5 100644 (file)
@@ -131,7 +131,7 @@ struct ib_mr *pvrdma_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
                return ERR_PTR(-EINVAL);
        }
 
-       umem = ib_umem_get(pd->device, start, length, access_flags);
+       umem = ib_umem_get_va(pd->device, start, length, access_flags);
        if (IS_ERR(umem)) {
                dev_warn(&dev->pdev->dev,
                         "could not get umem for mem region\n");
index cefcb243c3a6f2577031a4e8592ee75d3bc128b7..e939cd5ce40b09fd73ee96c16a464acb1fe8e6c0 100644 (file)
@@ -268,9 +268,9 @@ int pvrdma_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *init_attr,
 
                        if (!is_srq) {
                                /* set qp->sq.wqe_cnt, shift, buf_size.. */
-                               qp->rumem = ib_umem_get(ibqp->device,
-                                                       ucmd.rbuf_addr,
-                                                       ucmd.rbuf_size, 0);
+                               qp->rumem = ib_umem_get_va(ibqp->device,
+                                                          ucmd.rbuf_addr,
+                                                          ucmd.rbuf_size, 0);
                                if (IS_ERR(qp->rumem)) {
                                        ret = PTR_ERR(qp->rumem);
                                        goto err_qp;
@@ -281,8 +281,8 @@ int pvrdma_create_qp(struct ib_qp *ibqp, struct ib_qp_init_attr *init_attr,
                                qp->srq = to_vsrq(init_attr->srq);
                        }
 
-                       qp->sumem = ib_umem_get(ibqp->device, ucmd.sbuf_addr,
-                                               ucmd.sbuf_size, 0);
+                       qp->sumem = ib_umem_get_va(ibqp->device, ucmd.sbuf_addr,
+                                                  ucmd.sbuf_size, 0);
                        if (IS_ERR(qp->sumem)) {
                                if (!is_srq)
                                        ib_umem_release(qp->rumem);
index e69eadde6c26e998c27912f7380ec1292f70c507..345ec486a223aea5b9a775290af972f37ee6aeaa 100644 (file)
@@ -146,7 +146,7 @@ int pvrdma_create_srq(struct ib_srq *ibsrq, struct ib_srq_init_attr *init_attr,
        if (ret)
                goto err_srq;
 
-       srq->umem = ib_umem_get(ibsrq->device, ucmd.buf_addr, ucmd.buf_size, 0);
+       srq->umem = ib_umem_get_va(ibsrq->device, ucmd.buf_addr, ucmd.buf_size, 0);
        if (IS_ERR(srq->umem)) {
                ret = PTR_ERR(srq->umem);
                goto err_srq;
index 15f1ff917d6c134dbdf9db5e7edbd643ceaab36c..3266129e63e72e91482bc3cfe3a5cd23fb6fc4bc 100644 (file)
@@ -351,7 +351,7 @@ struct ib_mr *rvt_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
        if (length == 0)
                return ERR_PTR(-EINVAL);
 
-       umem = ib_umem_get(pd->device, start, length, mr_access_flags);
+       umem = ib_umem_get_va(pd->device, start, length, mr_access_flags);
        if (IS_ERR(umem))
                return ERR_CAST(umem);
 
index c696ff874980e248656cb3100c42efaa10257f6c..875eceb55fdfa27fd8bf5b063480b944d264e38a 100644 (file)
@@ -197,7 +197,7 @@ int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length,
 
        rxe_mr_init(access, mr);
 
-       umem = ib_umem_get(&rxe->ib_dev, start, length, access);
+       umem = ib_umem_get_va(&rxe->ib_dev, start, length, access);
        if (IS_ERR(umem)) {
                rxe_dbg_mr(mr, "Unable to pin memory region err = %d\n",
                        (int)PTR_ERR(umem));
index 4df792ebe02fae23056854d96b7cd5bff0735766..2a08817d3cce08942ce70531003ce4a592ff4f17 100644 (file)
@@ -350,7 +350,7 @@ struct siw_umem *siw_umem_get(struct ib_device *base_dev, u64 start,
        if (!umem)
                return ERR_PTR(-ENOMEM);
 
-       base_mem = ib_umem_get(base_dev, start, len, rights);
+       base_mem = ib_umem_get_va(base_dev, start, len, rights);
        if (IS_ERR(base_mem)) {
                rv = PTR_ERR(base_mem);
                siw_dbg(base_dev, "Cannot pin user memory: %d\n", rv);
@@ -385,7 +385,7 @@ struct siw_umem *siw_umem_get(struct ib_device *base_dev, u64 start,
 
        if (num_pages) {
                /*
-                * Unexpected size of sg list provided by ib_umem_get()
+                * Unexpected size of sg list provided by ib_umem_get_va()
                 */
                siw_dbg(base_dev, "Short SG list, missing %u pages\n",
                        num_pages);
index 2ad52cc1d52bdd910a5a2d87c29ce5944ae6d12b..25e90766892ee1d64d21efcd04b7aa29686ea6ac 100644 (file)
@@ -75,8 +75,8 @@ static inline size_t ib_umem_num_pages(struct ib_umem *umem)
 }
 #ifdef CONFIG_INFINIBAND_USER_MEM
 
-struct ib_umem *ib_umem_get(struct ib_device *device, unsigned long addr,
-                           size_t size, int access);
+struct ib_umem *ib_umem_get_va(struct ib_device *device, unsigned long addr,
+                              size_t size, int access);
 void ib_umem_release(struct ib_umem *umem);
 int ib_umem_copy_from(void *dst, struct ib_umem *umem, size_t offset,
                      size_t length);
@@ -160,9 +160,9 @@ void ib_umem_dmabuf_revoke(struct ib_umem_dmabuf *umem_dmabuf);
 
 #include <linux/err.h>
 
-static inline struct ib_umem *ib_umem_get(struct ib_device *device,
-                                         unsigned long addr, size_t size,
-                                         int access)
+static inline struct ib_umem *ib_umem_get_va(struct ib_device *device,
+                                            unsigned long addr, size_t size,
+                                            int access)
 {
        return ERR_PTR(-EOPNOTSUPP);
 }