Lines Matching refs:ib_conn
155 int iser_alloc_fmr_pool(struct ib_conn *ib_conn, in iser_alloc_fmr_pool() argument
159 struct iser_device *device = ib_conn->device; in iser_alloc_fmr_pool()
160 struct iser_fr_pool *fr_pool = &ib_conn->fr_pool; in iser_alloc_fmr_pool()
219 void iser_free_fmr_pool(struct ib_conn *ib_conn) in iser_free_fmr_pool() argument
221 struct iser_fr_pool *fr_pool = &ib_conn->fr_pool; in iser_free_fmr_pool()
229 ib_conn, desc->rsc.fmr_pool); in iser_free_fmr_pool()
300 int iser_alloc_fastreg_pool(struct ib_conn *ib_conn, in iser_alloc_fastreg_pool() argument
304 struct iser_device *device = ib_conn->device; in iser_alloc_fastreg_pool()
305 struct iser_fr_pool *fr_pool = &ib_conn->fr_pool; in iser_alloc_fastreg_pool()
315 ib_conn->pi_support, size); in iser_alloc_fastreg_pool()
329 iser_free_fastreg_pool(ib_conn); in iser_alloc_fastreg_pool()
336 void iser_free_fastreg_pool(struct ib_conn *ib_conn) in iser_free_fastreg_pool() argument
338 struct iser_fr_pool *fr_pool = &ib_conn->fr_pool; in iser_free_fastreg_pool()
345 iser_info("freeing conn %p fr pool\n", ib_conn); in iser_free_fastreg_pool()
363 static int iser_create_ib_conn_res(struct ib_conn *ib_conn) in iser_create_ib_conn_res() argument
365 struct iser_conn *iser_conn = to_iser_conn(ib_conn); in iser_create_ib_conn_res()
372 BUG_ON(ib_conn->device == NULL); in iser_create_ib_conn_res()
374 device = ib_conn->device; in iser_create_ib_conn_res()
386 ib_conn->comp = &device->comps[min_index]; in iser_create_ib_conn_res()
387 ib_conn->comp->active_qps++; in iser_create_ib_conn_res()
389 iser_info("cq index %d used for ib_conn %p\n", min_index, ib_conn); in iser_create_ib_conn_res()
392 init_attr.qp_context = (void *)ib_conn; in iser_create_ib_conn_res()
393 init_attr.send_cq = ib_conn->comp->cq; in iser_create_ib_conn_res()
394 init_attr.recv_cq = ib_conn->comp->cq; in iser_create_ib_conn_res()
400 if (ib_conn->pi_support) { in iser_create_ib_conn_res()
420 ret = rdma_create_qp(ib_conn->cma_id, device->pd, &init_attr); in iser_create_ib_conn_res()
424 ib_conn->qp = ib_conn->cma_id->qp; in iser_create_ib_conn_res()
426 ib_conn, ib_conn->cma_id, in iser_create_ib_conn_res()
427 ib_conn->cma_id->qp); in iser_create_ib_conn_res()
432 ib_conn->comp->active_qps--; in iser_create_ib_conn_res()
538 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_free_ib_conn_res() local
539 struct iser_device *device = ib_conn->device; in iser_free_ib_conn_res()
542 iser_conn, ib_conn->cma_id, ib_conn->qp); in iser_free_ib_conn_res()
544 if (ib_conn->qp != NULL) { in iser_free_ib_conn_res()
546 ib_conn->comp->active_qps--; in iser_free_ib_conn_res()
548 rdma_destroy_qp(ib_conn->cma_id); in iser_free_ib_conn_res()
549 ib_conn->qp = NULL; in iser_free_ib_conn_res()
558 ib_conn->device = NULL; in iser_free_ib_conn_res()
568 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_conn_release() local
589 if (ib_conn->cma_id != NULL) { in iser_conn_release()
590 rdma_destroy_id(ib_conn->cma_id); in iser_conn_release()
591 ib_conn->cma_id = NULL; in iser_conn_release()
603 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_conn_terminate() local
622 if (ib_conn->cma_id) { in iser_conn_terminate()
623 err = rdma_disconnect(ib_conn->cma_id); in iser_conn_terminate()
629 ib_drain_sq(ib_conn->qp); in iser_conn_terminate()
650 struct iser_device *device = iser_conn->ib_conn.device; in iser_calc_scsi_params()
668 if (iser_conn->ib_conn.pi_support) in iser_calc_scsi_params()
694 struct ib_conn *ib_conn; in iser_addr_handler() local
702 ib_conn = &iser_conn->ib_conn; in iser_addr_handler()
710 ib_conn->device = device; in iser_addr_handler()
718 dev_name(&ib_conn->device->ib_device->dev)); in iser_addr_handler()
719 ib_conn->pi_support = false; in iser_addr_handler()
721 ib_conn->pi_support = true; in iser_addr_handler()
744 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_route_handler() local
745 struct iser_device *device = ib_conn->device; in iser_route_handler()
751 ret = iser_create_ib_conn_res(ib_conn); in iser_route_handler()
880 iser_conn->ib_conn.cma_id = NULL; in iser_cma_handler()
896 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_conn_init() local
905 ib_conn->post_recv_buf_count = 0; in iser_conn_init()
906 ib_conn->reg_cqe.done = iser_reg_comp; in iser_conn_init()
918 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_connect() local
928 ib_conn->device = NULL; in iser_connect()
932 ib_conn->cma_id = rdma_create_id(&init_net, iser_cma_handler, in iser_connect()
935 if (IS_ERR(ib_conn->cma_id)) { in iser_connect()
936 err = PTR_ERR(ib_conn->cma_id); in iser_connect()
941 err = rdma_resolve_addr(ib_conn->cma_id, src_addr, dst_addr, 1000); in iser_connect()
963 ib_conn->cma_id = NULL; in iser_connect()
974 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_post_recvl() local
981 desc->sge.lkey = ib_conn->device->pd->local_dma_lkey; in iser_post_recvl()
989 ib_conn->post_recv_buf_count++; in iser_post_recvl()
990 ib_ret = ib_post_recv(ib_conn->qp, &wr, NULL); in iser_post_recvl()
993 ib_conn->post_recv_buf_count--; in iser_post_recvl()
1001 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_post_recvm() local
1007 for (wr = ib_conn->rx_wr, i = 0; i < count; i++, wr++) { in iser_post_recvm()
1020 ib_conn->post_recv_buf_count += count; in iser_post_recvm()
1021 ib_ret = ib_post_recv(ib_conn->qp, ib_conn->rx_wr, NULL); in iser_post_recvm()
1024 ib_conn->post_recv_buf_count -= count; in iser_post_recvm()
1037 int iser_post_send(struct ib_conn *ib_conn, struct iser_tx_desc *tx_desc, in iser_post_send() argument
1044 ib_dma_sync_single_for_device(ib_conn->device->ib_device, in iser_post_send()
1062 ib_ret = ib_post_send(ib_conn->qp, first_wr, NULL); in iser_post_send()