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()
429 convert_access(access_flags), n, shift, &mr->mmr); 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()
437 err = mlx4_mr_enable(dev->dev, &mr->mmr); in mlx4_ib_reg_user_mr()
441 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_reg_user_mr()
448 (void) mlx4_mr_free(to_mdev(pd->device)->dev, &mr->mmr); in mlx4_ib_reg_user_mr()
465 struct mlx4_ib_mr *mmr = to_mmr(mr); in mlx4_ib_rereg_user_mr() local
474 err = mlx4_mr_hw_get_mpt(dev->dev, &mmr->mmr, &pmpt_entry); in mlx4_ib_rereg_user_mr()
488 !mmr->umem->writable) { in mlx4_ib_rereg_user_mr()
504 mlx4_mr_rereg_mem_cleanup(dev->dev, &mmr->mmr); 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()
517 err = mlx4_mr_rereg_mem_write(dev->dev, &mmr->mmr, in mlx4_ib_rereg_user_mr()
521 ib_umem_release(mmr->umem); in mlx4_ib_rereg_user_mr()
524 mmr->mmr.iova = virt_addr; in mlx4_ib_rereg_user_mr()
525 mmr->mmr.size = length; 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()
529 mlx4_mr_rereg_mem_cleanup(dev->dev, &mmr->mmr); in mlx4_ib_rereg_user_mr()
530 ib_umem_release(mmr->umem); in mlx4_ib_rereg_user_mr()
538 err = mlx4_mr_hw_write_mpt(dev->dev, &mmr->mmr, pmpt_entry); in mlx4_ib_rereg_user_mr()
540 mmr->mmr.access = mr_access_flags; in mlx4_ib_rereg_user_mr()
604 ret = mlx4_mr_free(to_mdev(ibmr->device)->dev, &mr->mmr); in mlx4_ib_dereg_mr()
661 max_num_sg, 0, &mr->mmr); in mlx4_ib_alloc_mr()
670 err = mlx4_mr_enable(dev->dev, &mr->mmr); in mlx4_ib_alloc_mr()
674 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_alloc_mr()
683 (void) mlx4_mr_free(dev->dev, &mr->mmr); in mlx4_ib_alloc_mr()