Lines Matching refs:frmr

238 	struct svc_rdma_fastreg_mr *frmr = svc_rdma_get_frmr(xprt);  in rdma_read_chunk_frmr()  local
243 if (IS_ERR(frmr)) in rdma_read_chunk_frmr()
247 ctxt->frmr = frmr; in rdma_read_chunk_frmr()
252 frmr->kva = page_address(rqstp->rq_arg.pages[pg_no]); in rdma_read_chunk_frmr()
253 frmr->direction = DMA_FROM_DEVICE; in rdma_read_chunk_frmr()
254 frmr->access_flags = (IB_ACCESS_LOCAL_WRITE|IB_ACCESS_REMOTE_WRITE); in rdma_read_chunk_frmr()
255 frmr->map_len = pages_needed << PAGE_SHIFT; in rdma_read_chunk_frmr()
256 frmr->page_list_len = pages_needed; in rdma_read_chunk_frmr()
268 frmr->page_list->page_list[pno] = in rdma_read_chunk_frmr()
273 frmr->page_list->page_list[pno]); in rdma_read_chunk_frmr()
293 key = (u8)(frmr->mr->lkey & 0x000000FF); in rdma_read_chunk_frmr()
294 ib_update_fast_reg_key(frmr->mr, ++key); in rdma_read_chunk_frmr()
296 ctxt->sge[0].addr = (unsigned long)frmr->kva + *page_offset; in rdma_read_chunk_frmr()
297 ctxt->sge[0].lkey = frmr->mr->lkey; in rdma_read_chunk_frmr()
306 fastreg_wr.wr.fast_reg.iova_start = (unsigned long)frmr->kva; in rdma_read_chunk_frmr()
307 fastreg_wr.wr.fast_reg.page_list = frmr->page_list; in rdma_read_chunk_frmr()
308 fastreg_wr.wr.fast_reg.page_list_len = frmr->page_list_len; in rdma_read_chunk_frmr()
310 fastreg_wr.wr.fast_reg.length = frmr->map_len; in rdma_read_chunk_frmr()
311 fastreg_wr.wr.fast_reg.access_flags = frmr->access_flags; in rdma_read_chunk_frmr()
312 fastreg_wr.wr.fast_reg.rkey = frmr->mr->lkey; in rdma_read_chunk_frmr()
325 read_wr.ex.invalidate_rkey = ctxt->frmr->mr->lkey; in rdma_read_chunk_frmr()
334 inv_wr.ex.invalidate_rkey = frmr->mr->lkey; in rdma_read_chunk_frmr()
355 svc_rdma_put_frmr(xprt, frmr); in rdma_read_chunk_frmr()