Home
last modified time | relevance | path

Searched refs:umem_dmabuf (Results 1 – 9 of 9) sorted by relevance

/linux-6.6.21/drivers/infiniband/core/
Dumem_dmabuf.c15 int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf) in ib_umem_dmabuf_map_pages() argument
24 dma_resv_assert_held(umem_dmabuf->attach->dmabuf->resv); in ib_umem_dmabuf_map_pages()
26 if (umem_dmabuf->sgt) in ib_umem_dmabuf_map_pages()
29 sgt = dma_buf_map_attachment(umem_dmabuf->attach, in ib_umem_dmabuf_map_pages()
36 start = ALIGN_DOWN(umem_dmabuf->umem.address, PAGE_SIZE); in ib_umem_dmabuf_map_pages()
37 end = ALIGN(umem_dmabuf->umem.address + umem_dmabuf->umem.length, in ib_umem_dmabuf_map_pages()
45 umem_dmabuf->first_sg = sg; in ib_umem_dmabuf_map_pages()
46 umem_dmabuf->first_sg_offset = offset; in ib_umem_dmabuf_map_pages()
54 umem_dmabuf->last_sg = sg; in ib_umem_dmabuf_map_pages()
55 umem_dmabuf->last_sg_trim = trim; in ib_umem_dmabuf_map_pages()
[all …]
DMakefile43 ib_uverbs-$(CONFIG_INFINIBAND_USER_MEM) += umem.o umem_dmabuf.o
/linux-6.6.21/include/rdma/
Dib_umem.h153 int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf);
154 void ib_umem_dmabuf_unmap_pages(struct ib_umem_dmabuf *umem_dmabuf);
155 void ib_umem_dmabuf_release(struct ib_umem_dmabuf *umem_dmabuf);
199 static inline int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf) in ib_umem_dmabuf_map_pages() argument
203 static inline void ib_umem_dmabuf_unmap_pages(struct ib_umem_dmabuf *umem_dmabuf) { } in ib_umem_dmabuf_unmap_pages() argument
204 static inline void ib_umem_dmabuf_release(struct ib_umem_dmabuf *umem_dmabuf) { } in ib_umem_dmabuf_release() argument
/linux-6.6.21/drivers/infiniband/hw/mlx5/
Dmr.c1513 struct ib_umem_dmabuf *umem_dmabuf = attach->importer_priv; in mlx5_ib_dmabuf_invalidate_cb() local
1514 struct mlx5_ib_mr *mr = umem_dmabuf->private; in mlx5_ib_dmabuf_invalidate_cb()
1516 dma_resv_assert_held(umem_dmabuf->attach->dmabuf->resv); in mlx5_ib_dmabuf_invalidate_cb()
1518 if (!umem_dmabuf->sgt) in mlx5_ib_dmabuf_invalidate_cb()
1522 ib_umem_dmabuf_unmap_pages(umem_dmabuf); in mlx5_ib_dmabuf_invalidate_cb()
1537 struct ib_umem_dmabuf *umem_dmabuf; in mlx5_ib_reg_user_mr_dmabuf() local
1552 umem_dmabuf = ib_umem_dmabuf_get(&dev->ib_dev, offset, length, fd, in mlx5_ib_reg_user_mr_dmabuf()
1555 if (IS_ERR(umem_dmabuf)) { in mlx5_ib_reg_user_mr_dmabuf()
1557 PTR_ERR(umem_dmabuf)); in mlx5_ib_reg_user_mr_dmabuf()
1558 return ERR_CAST(umem_dmabuf); in mlx5_ib_reg_user_mr_dmabuf()
[all …]
Dodp.c693 struct ib_umem_dmabuf *umem_dmabuf = to_ib_umem_dmabuf(mr->umem); in pagefault_dmabuf_mr() local
701 dma_resv_lock(umem_dmabuf->attach->dmabuf->resv, NULL); in pagefault_dmabuf_mr()
702 err = ib_umem_dmabuf_map_pages(umem_dmabuf); in pagefault_dmabuf_mr()
704 dma_resv_unlock(umem_dmabuf->attach->dmabuf->resv); in pagefault_dmabuf_mr()
708 page_size = mlx5_umem_find_best_pgsz(&umem_dmabuf->umem, mkc, in pagefault_dmabuf_mr()
710 umem_dmabuf->umem.iova); in pagefault_dmabuf_mr()
712 ib_umem_dmabuf_unmap_pages(umem_dmabuf); in pagefault_dmabuf_mr()
717 dma_resv_unlock(umem_dmabuf->attach->dmabuf->resv); in pagefault_dmabuf_mr()
Ddevx.c2197 struct ib_umem_dmabuf *umem_dmabuf; in devx_umem_get() local
2205 umem_dmabuf = ib_umem_dmabuf_get_pinned( in devx_umem_get()
2207 if (IS_ERR(umem_dmabuf)) in devx_umem_get()
2208 return PTR_ERR(umem_dmabuf); in devx_umem_get()
2209 obj->umem = &umem_dmabuf->umem; in devx_umem_get()
/linux-6.6.21/drivers/infiniband/hw/efa/
Defa_verbs.c1667 struct ib_umem_dmabuf *umem_dmabuf; in efa_reg_user_mr_dmabuf() local
1677 umem_dmabuf = ib_umem_dmabuf_get_pinned(ibpd->device, start, length, fd, in efa_reg_user_mr_dmabuf()
1679 if (IS_ERR(umem_dmabuf)) { in efa_reg_user_mr_dmabuf()
1680 err = PTR_ERR(umem_dmabuf); in efa_reg_user_mr_dmabuf()
1685 mr->umem = &umem_dmabuf->umem; in efa_reg_user_mr_dmabuf()
/linux-6.6.21/drivers/infiniband/hw/irdma/
Dverbs.c3080 struct ib_umem_dmabuf *umem_dmabuf; in irdma_reg_user_mr_dmabuf() local
3087 umem_dmabuf = ib_umem_dmabuf_get_pinned(pd->device, start, len, fd, access); in irdma_reg_user_mr_dmabuf()
3088 if (IS_ERR(umem_dmabuf)) { in irdma_reg_user_mr_dmabuf()
3089 err = PTR_ERR(umem_dmabuf); in irdma_reg_user_mr_dmabuf()
3094 iwmr = irdma_alloc_iwmr(&umem_dmabuf->umem, pd, virt, IRDMA_MEMREG_TYPE_MEM); in irdma_reg_user_mr_dmabuf()
3110 ib_umem_release(&umem_dmabuf->umem); in irdma_reg_user_mr_dmabuf()
/linux-6.6.21/drivers/infiniband/hw/bnxt_re/
Dib_verbs.c4084 struct ib_umem_dmabuf *umem_dmabuf; in bnxt_re_reg_user_mr_dmabuf() local
4088 umem_dmabuf = ib_umem_dmabuf_get_pinned(&rdev->ibdev, start, length, in bnxt_re_reg_user_mr_dmabuf()
4090 if (IS_ERR(umem_dmabuf)) in bnxt_re_reg_user_mr_dmabuf()
4091 return ERR_CAST(umem_dmabuf); in bnxt_re_reg_user_mr_dmabuf()
4093 umem = &umem_dmabuf->umem; in bnxt_re_reg_user_mr_dmabuf()