summaryrefslogtreecommitdiffstats
path: root/include/rdma
diff options
context:
space:
mode:
authorHaggai Eran <haggaie@mellanox.com>2014-12-11 16:04:13 +0100
committerRoland Dreier <roland@purestorage.com>2014-12-16 03:13:35 +0100
commitc5d76f130b286682b64c659eaf6af701e3d79a7b (patch)
tree0431513226d065f1c46e106a78e3f51ddf723a2d /include/rdma
parentIB/core: Replace ib_umem's offset field with a full address (diff)
downloadlinux-c5d76f130b286682b64c659eaf6af701e3d79a7b.tar.xz
linux-c5d76f130b286682b64c659eaf6af701e3d79a7b.zip
IB/core: Add umem function to read data from user-space
In some drivers there's a need to read data from a user space area that was pinned using ib_umem when running from a different process context. The ib_umem_copy_from function allows reading data from the physical pages pinned in the ib_umem struct. Signed-off-by: Haggai Eran <haggaie@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/rdma')
-rw-r--r--include/rdma/ib_umem.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/rdma/ib_umem.h b/include/rdma/ib_umem.h
index 7ed6d4ff58dc..45bb04bc88cd 100644
--- a/include/rdma/ib_umem.h
+++ b/include/rdma/ib_umem.h
@@ -84,6 +84,8 @@ struct ib_umem *ib_umem_get(struct ib_ucontext *context, unsigned long addr,
size_t size, int access, int dmasync);
void ib_umem_release(struct ib_umem *umem);
int ib_umem_page_count(struct ib_umem *umem);
+int ib_umem_copy_from(void *dst, struct ib_umem *umem, size_t offset,
+ size_t length);
#else /* CONFIG_INFINIBAND_USER_MEM */