Lines Matching refs:umem
659 mr->umem = NULL; in mlx5_ib_get_dma_mr()
751 static struct mlx5_ib_mr *reg_umr(struct ib_pd *pd, struct ib_umem *umem, in reg_umr() argument
795 mlx5_ib_populate_pas(dev, umem, page_shift, pas, MLX5_IB_MTT_PRESENT); in reg_umr()
854 struct ib_umem *umem = mr->umem; in mlx5_ib_update_mtt() local
910 ib_umem_num_pages(umem) - start_page_index); in mlx5_ib_update_mtt()
913 __mlx5_ib_populate_pas(dev, umem, PAGE_SHIFT, in mlx5_ib_update_mtt()
969 u64 length, struct ib_umem *umem, in reg_create() argument
991 mlx5_ib_populate_pas(dev, umem, page_shift, in->pas, in reg_create()
1014 mr->umem = umem; in reg_create()
1038 struct ib_umem *umem; in mlx5_ib_reg_user_mr() local
1047 umem = ib_umem_get(pd->uobject->context, start, length, access_flags, in mlx5_ib_reg_user_mr()
1049 if (IS_ERR(umem)) { in mlx5_ib_reg_user_mr()
1050 mlx5_ib_dbg(dev, "umem get failed (%ld)\n", PTR_ERR(umem)); in mlx5_ib_reg_user_mr()
1051 return (void *)umem; in mlx5_ib_reg_user_mr()
1054 mlx5_ib_cont_pages(umem, start, &npages, &page_shift, &ncont, &order); in mlx5_ib_reg_user_mr()
1065 mr = reg_umr(pd, umem, virt_addr, length, ncont, page_shift, in mlx5_ib_reg_user_mr()
1078 mr = reg_create(pd, virt_addr, length, umem, ncont, page_shift, in mlx5_ib_reg_user_mr()
1088 mr->umem = umem; in mlx5_ib_reg_user_mr()
1095 if (umem->odp_data) { in mlx5_ib_reg_user_mr()
1104 mr->umem->odp_data->private = mr; in mlx5_ib_reg_user_mr()
1122 ib_umem_release(umem); in mlx5_ib_reg_user_mr()
1192 struct ib_umem *umem = mr->umem; in mlx5_ib_dereg_mr() local
1195 if (umem && umem->odp_data) { in mlx5_ib_dereg_mr()
1201 mlx5_ib_invalidate_range(umem, ib_umem_start(umem), in mlx5_ib_dereg_mr()
1202 ib_umem_end(umem)); in mlx5_ib_dereg_mr()
1208 ib_umem_release(umem); in mlx5_ib_dereg_mr()
1212 umem = NULL; in mlx5_ib_dereg_mr()
1218 if (umem) { in mlx5_ib_dereg_mr()
1219 ib_umem_release(umem); in mlx5_ib_dereg_mr()
1287 mr->umem = NULL; in mlx5_ib_create_mr()
1377 mr->umem = NULL; in mlx5_ib_alloc_fast_reg_mr()