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()
353 int iser_alloc_fastreg_pool(struct ib_conn *ib_conn, in iser_alloc_fastreg_pool() argument
357 struct iser_device *device = ib_conn->device; in iser_alloc_fastreg_pool()
358 struct iser_fr_pool *fr_pool = &ib_conn->fr_pool; in iser_alloc_fastreg_pool()
368 ib_conn->pi_support, size); in iser_alloc_fastreg_pool()
382 iser_free_fastreg_pool(ib_conn); in iser_alloc_fastreg_pool()
389 void iser_free_fastreg_pool(struct ib_conn *ib_conn) in iser_free_fastreg_pool() argument
391 struct iser_fr_pool *fr_pool = &ib_conn->fr_pool; in iser_free_fastreg_pool()
398 iser_info("freeing conn %p fr pool\n", ib_conn); in iser_free_fastreg_pool()
419 static int iser_create_ib_conn_res(struct ib_conn *ib_conn) in iser_create_ib_conn_res() argument
421 struct iser_conn *iser_conn = to_iser_conn(ib_conn); in iser_create_ib_conn_res()
428 BUG_ON(ib_conn->device == NULL); in iser_create_ib_conn_res()
430 device = ib_conn->device; in iser_create_ib_conn_res()
442 ib_conn->comp = &device->comps[min_index]; in iser_create_ib_conn_res()
443 ib_conn->comp->active_qps++; in iser_create_ib_conn_res()
445 iser_info("cq index %d used for ib_conn %p\n", min_index, ib_conn); in iser_create_ib_conn_res()
448 init_attr.qp_context = (void *)ib_conn; in iser_create_ib_conn_res()
449 init_attr.send_cq = ib_conn->comp->cq; in iser_create_ib_conn_res()
450 init_attr.recv_cq = ib_conn->comp->cq; in iser_create_ib_conn_res()
456 if (ib_conn->pi_support) { in iser_create_ib_conn_res()
475 ret = rdma_create_qp(ib_conn->cma_id, device->pd, &init_attr); in iser_create_ib_conn_res()
479 ib_conn->qp = ib_conn->cma_id->qp; in iser_create_ib_conn_res()
481 ib_conn, ib_conn->cma_id, in iser_create_ib_conn_res()
482 ib_conn->cma_id->qp); in iser_create_ib_conn_res()
487 ib_conn->comp->active_qps--; in iser_create_ib_conn_res()
593 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_free_ib_conn_res() local
594 struct iser_device *device = ib_conn->device; in iser_free_ib_conn_res()
597 iser_conn, ib_conn->cma_id, ib_conn->qp); in iser_free_ib_conn_res()
599 if (ib_conn->qp != NULL) { in iser_free_ib_conn_res()
601 ib_conn->comp->active_qps--; in iser_free_ib_conn_res()
603 rdma_destroy_qp(ib_conn->cma_id); in iser_free_ib_conn_res()
604 ib_conn->qp = NULL; in iser_free_ib_conn_res()
613 ib_conn->device = NULL; in iser_free_ib_conn_res()
623 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_conn_release() local
644 if (ib_conn->cma_id != NULL) { in iser_conn_release()
645 rdma_destroy_id(ib_conn->cma_id); in iser_conn_release()
646 ib_conn->cma_id = NULL; in iser_conn_release()
658 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_conn_terminate() local
677 if (ib_conn->cma_id) { in iser_conn_terminate()
678 err = rdma_disconnect(ib_conn->cma_id); in iser_conn_terminate()
684 ib_drain_sq(ib_conn->qp); in iser_conn_terminate()
705 struct iser_device *device = iser_conn->ib_conn.device; in iser_calc_scsi_params()
743 struct ib_conn *ib_conn; in iser_addr_handler() local
751 ib_conn = &iser_conn->ib_conn; in iser_addr_handler()
759 ib_conn->device = device; in iser_addr_handler()
767 ib_conn->device->ib_device->name); in iser_addr_handler()
768 ib_conn->pi_support = false; in iser_addr_handler()
770 ib_conn->pi_support = true; in iser_addr_handler()
793 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_route_handler() local
794 struct iser_device *device = ib_conn->device; in iser_route_handler()
800 ret = iser_create_ib_conn_res(ib_conn); in iser_route_handler()
929 iser_conn->ib_conn.cma_id = NULL; in iser_cma_handler()
945 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_conn_init() local
954 ib_conn->post_recv_buf_count = 0; in iser_conn_init()
955 ib_conn->reg_cqe.done = iser_reg_comp; in iser_conn_init()
967 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_connect() local
977 ib_conn->device = NULL; in iser_connect()
981 ib_conn->cma_id = rdma_create_id(&init_net, iser_cma_handler, in iser_connect()
984 if (IS_ERR(ib_conn->cma_id)) { in iser_connect()
985 err = PTR_ERR(ib_conn->cma_id); in iser_connect()
990 err = rdma_resolve_addr(ib_conn->cma_id, src_addr, dst_addr, 1000); in iser_connect()
1012 ib_conn->cma_id = NULL; in iser_connect()
1023 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_post_recvl() local
1030 desc->sge.lkey = ib_conn->device->pd->local_dma_lkey; in iser_post_recvl()
1038 ib_conn->post_recv_buf_count++; in iser_post_recvl()
1039 ib_ret = ib_post_recv(ib_conn->qp, &wr, NULL); in iser_post_recvl()
1042 ib_conn->post_recv_buf_count--; in iser_post_recvl()
1050 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_post_recvm() local
1056 for (wr = ib_conn->rx_wr, i = 0; i < count; i++, wr++) { in iser_post_recvm()
1069 ib_conn->post_recv_buf_count += count; in iser_post_recvm()
1070 ib_ret = ib_post_recv(ib_conn->qp, ib_conn->rx_wr, NULL); in iser_post_recvm()
1073 ib_conn->post_recv_buf_count -= count; in iser_post_recvm()
1086 int iser_post_send(struct ib_conn *ib_conn, struct iser_tx_desc *tx_desc, in iser_post_send() argument
1092 ib_dma_sync_single_for_device(ib_conn->device->ib_device, in iser_post_send()
1103 ib_ret = ib_post_send(ib_conn->qp, &tx_desc->wrs[0].send, NULL); in iser_post_send()