Lines Matching refs:xprt

118 static int rdma_read_max_sge(struct svcxprt_rdma *xprt, int sge_count)  in rdma_read_max_sge()  argument
120 if (rdma_node_get_transport(xprt->sc_cm_id->device->node_type) == in rdma_read_max_sge()
124 return min_t(int, sge_count, xprt->sc_max_sge); in rdma_read_max_sge()
128 int rdma_read_chunk_lcl(struct svcxprt_rdma *xprt, in rdma_read_chunk_lcl() argument
140 struct svc_rdma_op_ctxt *ctxt = svc_rdma_get_context(xprt); in rdma_read_chunk_lcl()
148 min_t(int, pages_needed, rdma_read_max_sge(xprt, pages_needed)); in rdma_read_chunk_lcl()
163 ib_dma_map_page(xprt->sc_cm_id->device, in rdma_read_chunk_lcl()
167 ret = ib_dma_mapping_error(xprt->sc_cm_id->device, in rdma_read_chunk_lcl()
171 atomic_inc(&xprt->sc_dma_used); in rdma_read_chunk_lcl()
174 ctxt->sge[pno].lkey = xprt->sc_dma_lkey; in rdma_read_chunk_lcl()
202 ret = svc_rdma_send(xprt, &read_wr); in rdma_read_chunk_lcl()
205 set_bit(XPT_CLOSE, &xprt->sc_xprt.xpt_flags); in rdma_read_chunk_lcl()
222 int rdma_read_chunk_frmr(struct svcxprt_rdma *xprt, in rdma_read_chunk_frmr() argument
237 struct svc_rdma_op_ctxt *ctxt = svc_rdma_get_context(xprt); in rdma_read_chunk_frmr()
238 struct svc_rdma_fastreg_mr *frmr = svc_rdma_get_frmr(xprt); in rdma_read_chunk_frmr()
248 pages_needed = min_t(int, pages_needed, xprt->sc_frmr_pg_list_len); in rdma_read_chunk_frmr()
269 ib_dma_map_page(xprt->sc_cm_id->device, in rdma_read_chunk_frmr()
272 ret = ib_dma_mapping_error(xprt->sc_cm_id->device, in rdma_read_chunk_frmr()
276 atomic_inc(&xprt->sc_dma_used); in rdma_read_chunk_frmr()
322 if (xprt->sc_dev_caps & SVCRDMA_DEVCAP_READ_W_INV) { in rdma_read_chunk_frmr()
339 ret = svc_rdma_send(xprt, &fastreg_wr); in rdma_read_chunk_frmr()
342 set_bit(XPT_CLOSE, &xprt->sc_xprt.xpt_flags); in rdma_read_chunk_frmr()
355 svc_rdma_put_frmr(xprt, frmr); in rdma_read_chunk_frmr()
419 static int rdma_read_chunks(struct svcxprt_rdma *xprt, in rdma_read_chunks() argument
476 ret = xprt->sc_reader(xprt, rqstp, head, in rdma_read_chunks()
580 struct svc_xprt *xprt = rqstp->rq_xprt; in svc_rdma_recvfrom() local
582 container_of(xprt, struct svcxprt_rdma, sc_xprt); in svc_rdma_recvfrom()
605 clear_bit(XPT_DATA, &xprt->xpt_flags); in svc_rdma_recvfrom()
615 if (test_bit(XPT_CLOSE, &xprt->xpt_flags)) in svc_rdma_recvfrom()
660 svc_xprt_copy_addrs(rqstp, xprt); in svc_rdma_recvfrom()
666 dprintk("svcrdma: transport %p is closing\n", xprt); in svc_rdma_recvfrom()
671 set_bit(XPT_CLOSE, &xprt->xpt_flags); in svc_rdma_recvfrom()