Lines Matching refs:odp
176 struct ib_umem_odp *odp = to_ib_umem_odp(mr->umem); in populate_mtt() local
184 pa = odp->dma_list[idx + i]; in populate_mtt()
211 struct ib_umem_odp *odp = to_ib_umem_odp(mr->umem); in free_implicit_child_mr_work() local
217 ib_umem_start(odp) >> MLX5_IMR_MTT_SHIFT, 1, 0, in free_implicit_child_mr_work()
227 struct ib_umem_odp *odp = to_ib_umem_odp(mr->umem); in destroy_unused_implicit_child_mr() local
228 unsigned long idx = ib_umem_start(odp) >> MLX5_IMR_MTT_SHIFT; in destroy_unused_implicit_child_mr()
462 struct ib_umem_odp *odp; in implicit_get_child_mr() local
467 odp = ib_umem_odp_alloc_child(to_ib_umem_odp(imr->umem), in implicit_get_child_mr()
470 if (IS_ERR(odp)) in implicit_get_child_mr()
471 return ERR_CAST(odp); in implicit_get_child_mr()
477 ib_umem_odp_release(odp); in implicit_get_child_mr()
484 mr->umem = &odp->umem; in implicit_get_child_mr()
489 odp->private = mr; in implicit_get_child_mr()
684 static int pagefault_real_mr(struct mlx5_ib_mr *mr, struct ib_umem_odp *odp, in pagefault_real_mr() argument
698 page_shift = odp->page_shift; in pagefault_real_mr()
699 start_idx = (user_va - ib_umem_start(odp)) >> page_shift; in pagefault_real_mr()
702 if (odp->umem.writable && !downgrade) in pagefault_real_mr()
705 np = ib_umem_odp_map_dma_and_lock(odp, user_va, bcnt, access_mask, fault); in pagefault_real_mr()
714 mutex_unlock(&odp->umem_mutex); in pagefault_real_mr()
873 struct ib_umem_odp *odp = to_ib_umem_odp(mr->umem); in pagefault_mr() local
881 if (!odp->is_implicit_odp) { in pagefault_mr()
885 if (check_add_overflow(offset, (u64)odp->umem.address, in pagefault_mr()
890 if (user_va < ib_umem_start(odp)) in pagefault_mr()
891 user_va = ib_umem_start(odp); in pagefault_mr()
892 if ((user_va + bcnt) > ib_umem_end(odp)) in pagefault_mr()
893 bcnt = ib_umem_end(odp) - user_va; in pagefault_mr()
894 } else if (unlikely(user_va >= ib_umem_end(odp) || in pagefault_mr()
895 ib_umem_end(odp) - user_va < bcnt)) in pagefault_mr()
897 return pagefault_real_mr(mr, odp, user_va, bcnt, bytes_mapped, in pagefault_mr()
900 return pagefault_implicit_mr(mr, odp, io_virt, bcnt, bytes_mapped, in pagefault_mr()