Lines Matching refs:mr
428 u64 iova, u64 total_size, u32 access, struct mthca_mr *mr) in mthca_mr_alloc() argument
442 mr->ibmr.rkey = mr->ibmr.lkey = hw_index_to_key(dev, key); in mthca_mr_alloc()
461 if (!mr->mtt) in mthca_mr_alloc()
472 if (mr->mtt) in mthca_mr_alloc()
475 mr->mtt->first_seg * dev->limits.mtt_seg_size); in mthca_mr_alloc()
478 mthca_dbg(dev, "Dumping MPT entry %08x:\n", mr->ibmr.lkey); in mthca_mr_alloc()
510 u32 access, struct mthca_mr *mr) in mthca_mr_alloc_notrans() argument
512 mr->mtt = NULL; in mthca_mr_alloc_notrans()
513 return mthca_mr_alloc(dev, pd, 12, 0, ~0ULL, access, mr); in mthca_mr_alloc_notrans()
519 u32 access, struct mthca_mr *mr) in mthca_mr_alloc_phys() argument
523 mr->mtt = mthca_alloc_mtt(dev, list_len); in mthca_mr_alloc_phys()
524 if (IS_ERR(mr->mtt)) in mthca_mr_alloc_phys()
525 return PTR_ERR(mr->mtt); in mthca_mr_alloc_phys()
527 err = mthca_write_mtt(dev, mr->mtt, 0, buffer_list, list_len); in mthca_mr_alloc_phys()
529 mthca_free_mtt(dev, mr->mtt); in mthca_mr_alloc_phys()
534 total_size, access, mr); in mthca_mr_alloc_phys()
536 mthca_free_mtt(dev, mr->mtt); in mthca_mr_alloc_phys()
550 void mthca_free_mr(struct mthca_dev *dev, struct mthca_mr *mr) in mthca_free_mr() argument
555 key_to_hw_index(dev, mr->ibmr.lkey) & in mthca_free_mr()
560 mthca_free_region(dev, mr->ibmr.lkey); in mthca_free_mr()
561 mthca_free_mtt(dev, mr->mtt); in mthca_free_mr()