Lines Matching defs:con
72 int rtrs_iu_post_recv(struct rtrs_con *con, struct rtrs_iu *iu)
74 struct rtrs_sess *sess = con->sess;
83 rtrs_wrn(con->sess,
93 return ib_post_recv(con->qp, &wr, NULL);
97 int rtrs_post_recv_empty(struct rtrs_con *con, struct ib_cqe *cqe)
105 return ib_post_recv(con->qp, &wr, NULL);
125 int rtrs_iu_post_send(struct rtrs_con *con, struct rtrs_iu *iu, size_t size,
128 struct rtrs_sess *sess = con->sess;
147 return rtrs_post_send(con->qp, head, &wr);
151 int rtrs_iu_post_rdma_write_imm(struct rtrs_con *con, struct rtrs_iu *iu,
179 return rtrs_post_send(con->qp, head, &wr.wr);
183 int rtrs_post_rdma_write_imm_empty(struct rtrs_con *con, struct ib_cqe *cqe,
196 return rtrs_post_send(con->qp, head, &wr.wr);
202 struct rtrs_con *con = ctx;
206 rtrs_info(con->sess, "QP event %s (%d) received\n",
208 rdma_notify(con->cm_id, IB_EVENT_COMM_EST);
211 rtrs_info(con->sess, "Unhandled QP event %s (%d) received\n",
217 static int create_cq(struct rtrs_con *con, int cq_vector, u16 cq_size,
220 struct rdma_cm_id *cm_id = con->cm_id;
223 cq = ib_alloc_cq(cm_id->device, con, cq_size,
226 rtrs_err(con->sess, "Creating completion queue failed, errno: %ld\n",
230 con->cq = cq;
235 static int create_qp(struct rtrs_con *con, struct ib_pd *pd,
239 struct rdma_cm_id *cm_id = con->cm_id;
246 init_attr.qp_context = con;
250 init_attr.send_cq = con->cq;
251 init_attr.recv_cq = con->cq;
256 rtrs_err(con->sess, "Creating QP failed, err: %d\n", ret);
259 con->qp = cm_id->qp;
264 int rtrs_cq_qp_create(struct rtrs_sess *sess, struct rtrs_con *con,
271 err = create_cq(con, cq_vector, cq_size, poll_ctx);
275 err = create_qp(con, sess->dev->ib_pd, max_send_wr, max_recv_wr,
278 ib_free_cq(con->cq);
279 con->cq = NULL;
282 con->sess = sess;
288 void rtrs_cq_qp_destroy(struct rtrs_con *con)
290 if (con->qp) {
291 rdma_destroy_qp(con->cm_id);
292 con->qp = NULL;
294 if (con->cq) {
295 ib_free_cq(con->cq);
296 con->cq = NULL;
309 struct rtrs_con *usr_con = sess->con[0];
331 usr_con = sess->con[0];
355 void (*err_handler)(struct rtrs_con *con),