Lines Matching refs:umem

77 	mr->umem = NULL;  in mlx4_ib_get_dma_mr()
183 struct ib_umem *umem) in mlx4_ib_umem_write_mtt() argument
203 for_each_sg(umem->sg_head.sgl, sg, umem->nmap, i) { in mlx4_ib_umem_write_mtt()
257 int mlx4_ib_umem_calc_optimal_mtt_size(struct ib_umem *umem, u64 start_va, in mlx4_ib_umem_calc_optimal_mtt_size() argument
274 *num_of_mtts = ib_umem_num_dma_blocks(umem, PAGE_SIZE); in mlx4_ib_umem_calc_optimal_mtt_size()
276 for_each_sg(umem->sg_head.sgl, sg, umem->nmap, i) { in mlx4_ib_umem_calc_optimal_mtt_size()
420 mr->umem = mlx4_get_umem_mr(pd->device, start, length, access_flags); in mlx4_ib_reg_user_mr()
421 if (IS_ERR(mr->umem)) { in mlx4_ib_reg_user_mr()
422 err = PTR_ERR(mr->umem); in mlx4_ib_reg_user_mr()
426 shift = mlx4_ib_umem_calc_optimal_mtt_size(mr->umem, start, &n); in mlx4_ib_reg_user_mr()
433 err = mlx4_ib_umem_write_mtt(dev, &mr->mmr.mtt, mr->umem); in mlx4_ib_reg_user_mr()
450 ib_umem_release(mr->umem); in mlx4_ib_reg_user_mr()
488 !mmr->umem->writable) { in mlx4_ib_rereg_user_mr()
505 ib_umem_release(mmr->umem); in mlx4_ib_rereg_user_mr()
506 mmr->umem = mlx4_get_umem_mr(mr->device, start, length, in mlx4_ib_rereg_user_mr()
508 if (IS_ERR(mmr->umem)) { in mlx4_ib_rereg_user_mr()
509 err = PTR_ERR(mmr->umem); in mlx4_ib_rereg_user_mr()
511 mmr->umem = NULL; in mlx4_ib_rereg_user_mr()
514 n = ib_umem_num_dma_blocks(mmr->umem, PAGE_SIZE); in mlx4_ib_rereg_user_mr()
521 ib_umem_release(mmr->umem); in mlx4_ib_rereg_user_mr()
527 err = mlx4_ib_umem_write_mtt(dev, &mmr->mmr.mtt, mmr->umem); in mlx4_ib_rereg_user_mr()
530 ib_umem_release(mmr->umem); in mlx4_ib_rereg_user_mr()
606 if (mr->umem) in mlx4_ib_dereg_mr()
607 ib_umem_release(mr->umem); in mlx4_ib_dereg_mr()
674 mr->umem = NULL; in mlx4_ib_alloc_mr()