/freebsd-current/sys/ofed/include/rdma/ |
H A D | ib_umem.h | 61 /* 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 D | ib_umem_odp.h | 50 * 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 D | ib_umem.c | 51 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 D | ib_umem_odp.c | 49 /* 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 D | ib_umem_rbtree.c | 55 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 D | Makefile | 5 LIB= umem 6 SRCS= umem.c
|
/freebsd-current/sys/dev/mlx4/mlx4_ib/ |
H A D | mlx4_ib_doorbell.c | 39 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 D | mlx4_ib_mr.c | 80 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 D | mlx4_ib_srq.c | 113 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 D | mlx4_ib_cq.c | 141 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 D | mlx5_ib_mem.c | 34 /* @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 D | mlx5_ib_doorbell.c | 37 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 D | mlx5_ib_mr.c | 83 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 D | mlx5_ib_srq.c | 108 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 D | mlx5_ib_cq.c | 775 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 D | sdp_zcopy.c | 64 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 D | smb_subr.h | 102 void *smb_memdup(const void *umem, int len); 104 void *smb_memdupin(void *umem, size_t len);
|
H A D | smb_subr.c | 128 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 D | Makefile | 26 LIBADD= geom m nvpair umem uutil avl spl zfs_core zfs zutil zpool
|
/freebsd-current/cddl/usr.bin/ztest/ |
H A D | Makefile | 25 LIBADD= geom m nvpair umem zpool pthread avl zfs_core spl zutil zfs uutil icp
|
/freebsd-current/cddl/usr.bin/zstream/ |
H A D | Makefile | 35 LIBADD= geom m nvpair umem uutil avl spl zfs_core zfs zutil zpool
|
/freebsd-current/cddl/usr.sbin/zdb/ |
H A D | Makefile | 26 LIBADD= nvpair umem uutil zdb zfs spl avl zutil zpool crypto
|
/freebsd-current/sys/dev/cxgbe/iw_cxgbe/ |
H A D | mem.c | 482 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 D | ib_verbs.c | 39 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 D | umem.c | 26 #include <umem.h>
|