Lines Matching full:mmr

68 			    ~0ull, convert_access(acc), 0, 0, &mr->mmr);  in mlx4_ib_get_dma_mr()
72 err = mlx4_mr_enable(to_mdev(pd->device)->dev, &mr->mmr); in mlx4_ib_get_dma_mr()
76 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_get_dma_mr()
82 (void) mlx4_mr_free(to_mdev(pd->device)->dev, &mr->mmr); in mlx4_ib_get_dma_mr()
167 convert_access(access_flags), n, shift, &mr->mmr); in mlx4_ib_reg_user_mr()
171 err = mlx4_ib_umem_write_mtt(dev, &mr->mmr.mtt, mr->umem); in mlx4_ib_reg_user_mr()
175 err = mlx4_mr_enable(dev->dev, &mr->mmr); in mlx4_ib_reg_user_mr()
179 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_reg_user_mr()
185 (void) mlx4_mr_free(to_mdev(pd->device)->dev, &mr->mmr); in mlx4_ib_reg_user_mr()
202 struct mlx4_ib_mr *mmr = to_mmr(mr); in mlx4_ib_rereg_user_mr() local
211 err = mlx4_mr_hw_get_mpt(dev->dev, &mmr->mmr, &pmpt_entry); in mlx4_ib_rereg_user_mr()
225 !mmr->umem->writable) { in mlx4_ib_rereg_user_mr()
241 mlx4_mr_rereg_mem_cleanup(dev->dev, &mmr->mmr); in mlx4_ib_rereg_user_mr()
242 ib_umem_release(mmr->umem); in mlx4_ib_rereg_user_mr()
243 mmr->umem = mlx4_get_umem_mr(mr->device, start, length, in mlx4_ib_rereg_user_mr()
245 if (IS_ERR(mmr->umem)) { in mlx4_ib_rereg_user_mr()
246 err = PTR_ERR(mmr->umem); in mlx4_ib_rereg_user_mr()
248 mmr->umem = NULL; in mlx4_ib_rereg_user_mr()
251 n = ib_umem_num_dma_blocks(mmr->umem, PAGE_SIZE); in mlx4_ib_rereg_user_mr()
254 err = mlx4_mr_rereg_mem_write(dev->dev, &mmr->mmr, in mlx4_ib_rereg_user_mr()
258 ib_umem_release(mmr->umem); in mlx4_ib_rereg_user_mr()
261 mmr->mmr.iova = virt_addr; in mlx4_ib_rereg_user_mr()
262 mmr->mmr.size = length; in mlx4_ib_rereg_user_mr()
264 err = mlx4_ib_umem_write_mtt(dev, &mmr->mmr.mtt, mmr->umem); in mlx4_ib_rereg_user_mr()
266 mlx4_mr_rereg_mem_cleanup(dev->dev, &mmr->mmr); in mlx4_ib_rereg_user_mr()
267 ib_umem_release(mmr->umem); in mlx4_ib_rereg_user_mr()
275 err = mlx4_mr_hw_write_mpt(dev->dev, &mmr->mmr, pmpt_entry); in mlx4_ib_rereg_user_mr()
277 mmr->mmr.access = mr_access_flags; in mlx4_ib_rereg_user_mr()
341 ret = mlx4_mr_free(to_mdev(ibmr->device)->dev, &mr->mmr); in mlx4_ib_dereg_mr()
398 max_num_sg, 0, &mr->mmr); in mlx4_ib_alloc_mr()
407 err = mlx4_mr_enable(dev->dev, &mr->mmr); in mlx4_ib_alloc_mr()
411 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_alloc_mr()
420 (void) mlx4_mr_free(dev->dev, &mr->mmr); in mlx4_ib_alloc_mr()