Searched refs:umem (Results 1 - 25 of 51) sorted by relevance

123

/freebsd-current/sys/ofed/include/rdma/
H A Dib_umem.h61 /* Returns the offset of the umem start relative to the first page. */
62 static inline int ib_umem_offset(struct ib_umem *umem) argument
64 return umem->address & ((unsigned long)umem->page_size - 1);
67 /* Returns the first page of an ODP umem. */
68 static inline unsigned long ib_umem_start(struct ib_umem *umem) argument
70 return umem->address - ib_umem_offset(umem);
73 /* Returns the address of the page after the last one of an ODP umem. */
74 static inline unsigned long ib_umem_end(struct ib_umem *umem) argument
79 ib_umem_num_pages(struct ib_umem *umem) argument
102 ib_umem_release(struct ib_umem *umem) argument
103 ib_umem_page_count(struct ib_umem *umem) argument
104 ib_umem_copy_from(void *dst, struct ib_umem *umem, size_t offset, size_t length) argument
[all...]
H A Dib_umem_odp.h50 * An array of the pages included in the on-demand paging umem.
64 * umem, allowing only a single thread to map/unmap pages. The mutex
78 struct ib_umem *umem; member in struct:ib_umem_odp
89 int ib_umem_odp_get(struct ib_ucontext *context, struct ib_umem *umem);
91 void ib_umem_odp_release(struct ib_umem *umem);
106 int ib_umem_odp_map_dma_pages(struct ib_umem *umem, u64 start_offset, u64 bcnt,
109 void ib_umem_odp_unmap_dma_pages(struct ib_umem *umem, u64 start_offset,
154 struct ib_umem *umem)
159 static inline void ib_umem_odp_release(struct ib_umem *umem) {} argument
153 ib_umem_odp_get(struct ib_ucontext *context, struct ib_umem *umem) argument
/freebsd-current/sys/ofed/drivers/infiniband/core/
H A Dib_umem.c51 static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int dirty) argument
57 if (umem->nmap > 0)
58 ib_dma_unmap_sg(dev, umem->sg_head.sgl,
59 umem->nmap,
62 for_each_sg(umem->sg_head.sgl, sg, umem->npages, i) {
68 sg_free_table(&umem->sg_head);
88 struct ib_umem *umem; local
118 umem = kzalloc(sizeof *umem, GFP_KERNE
234 struct ib_umem *umem = container_of(work, struct ib_umem, work); local
247 ib_umem_release(struct ib_umem *umem) argument
302 ib_umem_page_count(struct ib_umem *umem) argument
332 ib_umem_copy_from(void *dst, struct ib_umem *umem, size_t offset, size_t length) argument
[all...]
H A Dib_umem_odp.c49 /* Only update private counters for this umem if it has them.
50 * Otherwise skip it. All page faults will be delayed for this umem. */
67 /* Only update private counters for this umem if it has them.
68 * Otherwise skip it. All page faults will be delayed for this umem. */
132 /* Make sure that the fact the umem is dying is out before we release
243 int ib_umem_odp_get(struct ib_ucontext *context, struct ib_umem *umem) argument
262 umem->odp_data = kzalloc(sizeof(*umem->odp_data), GFP_KERNEL);
263 if (!umem->odp_data) {
267 umem
348 ib_umem_odp_release(struct ib_umem *umem) argument
433 ib_umem_odp_map_dma_single_page( struct ib_umem *umem, int page_index, u64 base_virt_addr, struct page *page, u64 access_mask, unsigned long current_seq) argument
519 ib_umem_odp_map_dma_pages(struct ib_umem *umem, u64 user_virt, u64 bcnt, u64 access_mask, unsigned long current_seq) argument
622 ib_umem_odp_unmap_dma_pages(struct ib_umem *umem, u64 virt, u64 bound) argument
[all...]
H A Dib_umem_rbtree.c55 return ib_umem_start(umem_odp->umem);
61 * in the umem.
68 return ib_umem_end(umem_odp->umem) - 1;
84 struct ib_umem_odp *umem; local
91 umem = container_of(node, struct ib_umem_odp, interval_tree);
92 ret_val = cb(umem->umem, start, last, cookie) || ret_val;
/freebsd-current/cddl/lib/libumem/
H A DMakefile5 LIB= umem
6 SRCS= umem.c
/freebsd-current/sys/dev/mlx4/mlx4_ib/
H A Dmlx4_ib_doorbell.c39 struct ib_umem *umem; member in struct:mlx4_ib_user_db_page
64 page->umem = ib_umem_get(&context->ibucontext, virt & PAGE_MASK,
66 if (IS_ERR(page->umem)) {
67 err = PTR_ERR(page->umem);
75 db->dma = sg_dma_address(page->umem->sg_head.sgl) + (virt & ~PAGE_MASK);
91 ib_umem_release(db->u.user_page->umem);
H A Dmlx4_ib_mr.c80 mr->umem = NULL;
94 struct ib_umem *umem)
109 for_each_sg(umem->sg_head.sgl, sg, umem->nmap, entry) {
113 umem->page_size * k;
153 mr->umem = ib_umem_get(pd->uobject->context, start, length,
155 if (IS_ERR(mr->umem)) {
156 err = PTR_ERR(mr->umem);
160 n = ib_umem_page_count(mr->umem);
161 shift = ilog2(mr->umem
93 mlx4_ib_umem_write_mtt(struct mlx4_ib_dev *dev, struct mlx4_mtt *mtt, struct ib_umem *umem) argument
[all...]
H A Dmlx4_ib_srq.c113 srq->umem =
115 if (IS_ERR(srq->umem))
116 return PTR_ERR(srq->umem);
118 err = mlx4_mtt_init(dev->dev, ib_umem_page_count(srq->umem),
119 ilog2(srq->umem->page_size), &srq->mtt);
123 err = mlx4_ib_umem_write_mtt(dev, &srq->mtt, srq->umem);
213 if (!srq->umem)
215 ib_umem_release(srq->umem);
289 ib_umem_release(msrq->umem);
H A Dmlx4_ib_cq.c141 struct ib_umem **umem, u64 buf_addr, int cqe)
148 *umem = ib_umem_get(&context->ibucontext, buf_addr, cqe * cqe_size,
150 if (IS_ERR(*umem))
151 return PTR_ERR(*umem);
153 err = mlx4_mtt_init(dev->dev, ib_umem_page_count(*umem),
154 ilog2((*umem)->page_size), &buf->mtt);
158 err = mlx4_ib_umem_write_mtt(dev, &buf->mtt, *umem);
168 ib_umem_release(*umem);
211 err = mlx4_ib_get_cq_umem(dev, udata, &cq->buf, &cq->umem,
268 ib_umem_release(cq->umem);
139 mlx4_ib_get_cq_umem(struct mlx4_ib_dev *dev, struct ib_udata *udata, struct mlx4_ib_cq_buf *buf, struct ib_umem **umem, u64 buf_addr, int cqe) argument
[all...]
/freebsd-current/sys/dev/mlx5/mlx5_ib/
H A Dmlx5_ib_mem.c34 /* @umem: umem object to scan
37 * @count: number of PAGE_SIZE pages covered by umem
42 void mlx5_ib_cont_pages(struct ib_umem *umem, u64 addr, argument
61 for_each_sg(umem->sg_head.sgl, sg, umem->nmap, entry) {
114 * Populate the given array with bus addresses from the umem.
117 * umem - umem to use to fill the pages
119 * offset - offset into the umem t
126 __mlx5_ib_populate_pas(struct mlx5_ib_dev *dev, struct ib_umem *umem, int page_shift, size_t offset, size_t num_pages, __be64 *pas, int access_flags) argument
175 mlx5_ib_populate_pas(struct mlx5_ib_dev *dev, struct ib_umem *umem, int page_shift, __be64 *pas, int access_flags) argument
[all...]
H A Dmlx5_ib_doorbell.c37 struct ib_umem *umem; member in struct:mlx5_ib_user_db_page
62 page->umem = ib_umem_get(&context->ibucontext, virt & PAGE_MASK,
64 if (IS_ERR(page->umem)) {
65 err = PTR_ERR(page->umem);
73 db->dma = sg_dma_address(page->umem->sg_head.sgl) + (virt & ~PAGE_MASK);
89 ib_umem_release(db->u.user_page->umem);
H A Dmlx5_ib_mr.c83 if (mr->umem->odp_data) {
86 * setting of umem->odp_data->private to point to our
92 mr->umem->odp_data->private = mr;
95 * umem->odp_data->private value in the invalidation
100 * before umem->odp_data->private == mr is visible to
518 mr->umem = NULL;
546 static int dma_map_mr_pas(struct mlx5_ib_dev *dev, struct ib_umem *umem, argument
564 mlx5_ib_populate_pas(dev, umem, page_shift, pas, MLX5_IB_MTT_PRESENT);
629 struct ib_umem *umem = ib_umem_get(pd->uobject->context, start, length, local
631 if (IS_ERR(umem)) {
665 reg_umr(struct ib_pd *pd, struct ib_umem *umem, u64 virt_addr, u64 len, int npages, int page_shift, int order, int access_flags) argument
751 struct ib_umem *umem = mr->umem; local
870 reg_create(struct ib_mr *ibmr, struct ib_pd *pd, u64 virt_addr, u64 length, struct ib_umem *umem, int npages, int page_shift, int access_flags) argument
963 struct ib_umem *umem; local
1312 struct ib_umem *umem = mr->umem; local
[all...]
H A Dmlx5_ib_srq.c108 srq->umem = ib_umem_get(&ucontext->ibucontext, ucmd.buf_addr, buf_size, 0, 0);
109 if (IS_ERR(srq->umem)) {
110 mlx5_ib_dbg(dev, "failed umem get, size %d\n", buf_size);
111 err = PTR_ERR(srq->umem);
115 mlx5_ib_cont_pages(srq->umem, ucmd.buf_addr, 0, &npages,
130 mlx5_ib_populate_pas(dev, srq->umem, page_shift, in->pas, 0);
151 ib_umem_release(srq->umem);
227 ib_umem_release(srq->umem);
409 ib_umem_release(msrq->umem);
H A Dmlx5_ib_cq.c775 cq->buf.umem = ib_umem_get(&context->ibucontext, ucmd.buf_addr,
778 if (IS_ERR(cq->buf.umem)) {
779 err = PTR_ERR(cq->buf.umem);
788 mlx5_ib_cont_pages(cq->buf.umem, ucmd.buf_addr, 0, &npages, &page_shift,
802 mlx5_ib_populate_pas(dev, cq->buf.umem, page_shift, pas, 0);
827 ib_umem_release(cq->buf.umem);
837 ib_umem_release(cq->buf.umem);
1117 struct ib_umem *umem; local
1120 struct ib_ucontext *context = cq->buf.umem->context;
1133 umem
[all...]
/freebsd-current/sys/ofed/drivers/infiniband/ulp/sdp/
H A Dsdp_zcopy.c64 BUG_ON(!tx_sa->umem);
65 BUG_ON(!tx_sa->umem->chunk_list.next);
67 chunk = list_entry(tx_sa->umem->chunk_list.next, struct ib_umem_chunk, list);
70 off = tx_sa->umem->offset;
71 len = tx_sa->umem->length;
86 payload_len = MIN(tx_sa->umem->page_size - off, len);
108 tx_sa->bytes_sent = tx_sa->umem->length;
423 struct ib_umem *umem; local
447 umem = ib_umem_get(&sdp_sk(sk)->context, (unsigned long)uaddr, len,
450 if (IS_ERR(umem)) {
[all...]
/freebsd-current/sys/netsmb/
H A Dsmb_subr.h102 void *smb_memdup(const void *umem, int len);
104 void *smb_memdupin(void *umem, size_t len);
H A Dsmb_subr.c128 smb_memdupin(void *umem, size_t len) argument
135 if (copyin(umem, p, len) == 0)
145 smb_memdup(const void *umem, int len) argument
154 bcopy(umem, p, len);
/freebsd-current/cddl/usr.bin/zinject/
H A DMakefile26 LIBADD= geom m nvpair umem uutil avl spl zfs_core zfs zutil zpool
/freebsd-current/cddl/usr.bin/ztest/
H A DMakefile25 LIBADD= geom m nvpair umem zpool pthread avl zfs_core spl zutil zfs uutil icp
/freebsd-current/cddl/usr.bin/zstream/
H A DMakefile35 LIBADD= geom m nvpair umem uutil avl spl zfs_core zfs zutil zpool
/freebsd-current/cddl/usr.sbin/zdb/
H A DMakefile26 LIBADD= nvpair umem uutil zdb zfs spl avl zutil zpool crypto
/freebsd-current/sys/dev/cxgbe/iw_cxgbe/
H A Dmem.c482 mhp->umem = ib_umem_get(pd->uobject->context, start, length, acc, 0);
483 if (IS_ERR(mhp->umem)) {
484 err = PTR_ERR(mhp->umem);
489 shift = ffs(mhp->umem->page_size) - 1;
491 n = mhp->umem->nmap;
503 for_each_sg(mhp->umem->sg_head.sgl, sg, mhp->umem->nmap, entry) {
507 mhp->umem->page_size * k);
548 ib_umem_release(mhp->umem);
720 if (mhp->umem)
[all...]
/freebsd-current/sys/dev/bnxt/bnxt_re/
H A Dib_verbs.c39 struct scatterlist *get_ib_umem_sgl(struct ib_umem *umem, u32 *nmap) argument
42 *nmap = umem->nmap;
43 return umem->sg_head.sgl;
46 static inline void bnxt_re_peer_mem_release(struct ib_umem *umem) argument
49 ib_umem_release(umem);
1107 if (srq->umem && !IS_ERR(srq->umem))
1108 ib_umem_release(srq->umem);
1150 static inline size_t ib_umem_num_pages_compat(struct ib_umem *umem) argument
1152 return ib_umem_num_pages(umem);
1165 struct ib_umem *umem; local
1647 struct ib_umem *umem; local
5027 bnxt_re_get_page_shift(struct ib_umem *umem, u64 va, u64 st, u64 cmask) argument
5037 bnxt_re_get_num_pages(struct ib_umem *umem, u64 start, u64 length, int page_shift) argument
5061 struct ib_umem *umem; local
5170 struct ib_umem *umem; local
[all...]
/freebsd-current/cddl/compat/opensolaris/lib/libumem/
H A Dumem.c26 #include <umem.h>

Completed in 449 milliseconds

123