Lines Matching refs:ibmr
29 switch (mr->ibmr.type) { in mr_check_range()
35 if (iova < mr->ibmr.iova || in mr_check_range()
36 iova + length > mr->ibmr.iova + mr->ibmr.length) { in mr_check_range()
57 mr->lkey = mr->ibmr.lkey = key; in rxe_mr_init()
58 mr->rkey = mr->ibmr.rkey = key; in rxe_mr_init()
61 mr->ibmr.page_size = PAGE_SIZE; in rxe_mr_init()
72 mr->ibmr.type = IB_MR_TYPE_DMA; in rxe_mr_init_dma()
77 return (iova >> mr->page_shift) - (mr->ibmr.iova >> mr->page_shift); in rxe_mr_iova_to_index()
153 mr->ibmr.type = IB_MR_TYPE_USER; in rxe_mr_init_user()
200 mr->ibmr.type = IB_MR_TYPE_MEM_REG; in rxe_mr_init_fast()
208 static int rxe_set_page(struct ib_mr *ibmr, u64 dma_addr) in rxe_set_page() argument
210 struct rxe_mr *mr = to_rmr(ibmr); in rxe_set_page()
231 int rxe_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sgl, in rxe_map_mr_sg() argument
234 struct rxe_mr *mr = to_rmr(ibmr); in rxe_map_mr_sg()
240 mr->page_offset = mr->ibmr.iova & (page_size - 1); in rxe_map_mr_sg()
242 return ib_sg_to_pages(ibmr, sgl, sg_nents, sg_offset, rxe_set_page); in rxe_map_mr_sg()
315 if (mr->ibmr.type == IB_MR_TYPE_DMA) { in rxe_mr_copy()
472 if (mr->ibmr.type == IB_MR_TYPE_DMA) in rxe_flush_pmem_iova()
499 if (mr->ibmr.type == IB_MR_TYPE_DMA) { in rxe_mr_do_atomic_op()
548 if (mr->ibmr.type == IB_MR_TYPE_DMA) { in rxe_mr_do_atomic_write()
665 if (unlikely(mr->ibmr.type != IB_MR_TYPE_MEM_REG)) { in rxe_invalidate_mr()
666 rxe_dbg_mr(mr, "Type (%d) is wrong\n", mr->ibmr.type); in rxe_invalidate_mr()
700 if (unlikely(qp->ibqp.pd != mr->ibmr.pd)) { in rxe_reg_fast_mr()
715 mr->ibmr.iova = wqe->wr.wr.reg.mr->iova; in rxe_reg_fast_mr()
728 if (mr->ibmr.type != IB_MR_TYPE_DMA) in rxe_mr_cleanup()