Lines Matching refs:rdma
52 #include <rdma/ib_verbs.h>
53 #include <rdma/rdma_cm.h>
54 #include <rdma/rw.h>
92 .xcl_name = "rdma",
279 struct svcxprt_rdma *rdma = cma_id->context;
280 struct svc_xprt *xprt = &rdma->sc_xprt;
284 clear_bit(RDMAXPRT_CONN_PENDING, &rdma->sc_flags);
546 struct svcxprt_rdma *rdma =
549 rdma_disconnect(rdma->sc_cm_id);
554 struct svcxprt_rdma *rdma =
558 if (rdma->sc_qp && !IS_ERR(rdma->sc_qp))
559 ib_drain_qp(rdma->sc_qp);
562 svc_rdma_flush_recv_queues(rdma);
564 svc_rdma_destroy_rw_ctxts(rdma);
565 svc_rdma_send_ctxts_destroy(rdma);
566 svc_rdma_recv_ctxts_destroy(rdma);
569 if (rdma->sc_qp && !IS_ERR(rdma->sc_qp))
570 ib_destroy_qp(rdma->sc_qp);
572 if (rdma->sc_sq_cq && !IS_ERR(rdma->sc_sq_cq))
573 ib_free_cq(rdma->sc_sq_cq);
575 if (rdma->sc_rq_cq && !IS_ERR(rdma->sc_rq_cq))
576 ib_free_cq(rdma->sc_rq_cq);
578 if (rdma->sc_pd && !IS_ERR(rdma->sc_pd))
579 ib_dealloc_pd(rdma->sc_pd);
582 rdma_destroy_id(rdma->sc_cm_id);
584 kfree(rdma);
589 struct svcxprt_rdma *rdma =
592 INIT_WORK(&rdma->sc_work, __svc_rdma_free);
593 schedule_work(&rdma->sc_work);
598 struct svcxprt_rdma *rdma =
605 if (waitqueue_active(&rdma->sc_send_wait))