isert_conn 45 drivers/infiniband/ulp/isert/ib_isert.c isert_login_post_recv(struct isert_conn *isert_conn); isert_conn 47 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_accept(struct isert_conn *isert_conn); isert_conn 57 drivers/infiniband/ulp/isert/ib_isert.c isert_prot_cmd(struct isert_conn *conn, struct se_cmd *cmd) isert_conn 67 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = context; isert_conn 70 drivers/infiniband/ulp/isert/ib_isert.c ib_event_msg(e->event), e->event, isert_conn); isert_conn 74 drivers/infiniband/ulp/isert/ib_isert.c rdma_notify(isert_conn->cm_id, IB_EVENT_COMM_EST); isert_conn 85 drivers/infiniband/ulp/isert/ib_isert.c isert_comp_get(struct isert_conn *isert_conn) isert_conn 87 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 101 drivers/infiniband/ulp/isert/ib_isert.c isert_conn, comp, min); isert_conn 115 drivers/infiniband/ulp/isert/ib_isert.c isert_create_qp(struct isert_conn *isert_conn, isert_conn 119 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 125 drivers/infiniband/ulp/isert/ib_isert.c attr.qp_context = isert_conn; isert_conn 148 drivers/infiniband/ulp/isert/ib_isert.c isert_conn_setup_qp(struct isert_conn *isert_conn, struct rdma_cm_id *cma_id) isert_conn 153 drivers/infiniband/ulp/isert/ib_isert.c comp = isert_comp_get(isert_conn); isert_conn 154 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->qp = isert_create_qp(isert_conn, comp, cma_id); isert_conn 155 drivers/infiniband/ulp/isert/ib_isert.c if (IS_ERR(isert_conn->qp)) { isert_conn 156 drivers/infiniband/ulp/isert/ib_isert.c ret = PTR_ERR(isert_conn->qp); isert_conn 167 drivers/infiniband/ulp/isert/ib_isert.c isert_alloc_rx_descriptors(struct isert_conn *isert_conn) isert_conn 169 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 176 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->rx_descs = kcalloc(ISERT_QP_MAX_RECV_DTOS, isert_conn 179 drivers/infiniband/ulp/isert/ib_isert.c if (!isert_conn->rx_descs) isert_conn 182 drivers/infiniband/ulp/isert/ib_isert.c rx_desc = isert_conn->rx_descs; isert_conn 202 drivers/infiniband/ulp/isert/ib_isert.c rx_desc = isert_conn->rx_descs; isert_conn 207 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn->rx_descs); isert_conn 208 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->rx_descs = NULL; isert_conn 209 drivers/infiniband/ulp/isert/ib_isert.c isert_err("conn %p failed to allocate rx descriptors\n", isert_conn); isert_conn 214 drivers/infiniband/ulp/isert/ib_isert.c isert_free_rx_descriptors(struct isert_conn *isert_conn) isert_conn 216 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device *ib_dev = isert_conn->device->ib_device; isert_conn 220 drivers/infiniband/ulp/isert/ib_isert.c if (!isert_conn->rx_descs) isert_conn 223 drivers/infiniband/ulp/isert/ib_isert.c rx_desc = isert_conn->rx_descs; isert_conn 229 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn->rx_descs); isert_conn 230 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->rx_descs = NULL; isert_conn 390 drivers/infiniband/ulp/isert/ib_isert.c isert_init_conn(struct isert_conn *isert_conn) isert_conn 392 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->state = ISER_CONN_INIT; isert_conn 393 drivers/infiniband/ulp/isert/ib_isert.c INIT_LIST_HEAD(&isert_conn->node); isert_conn 394 drivers/infiniband/ulp/isert/ib_isert.c init_completion(&isert_conn->login_comp); isert_conn 395 drivers/infiniband/ulp/isert/ib_isert.c init_completion(&isert_conn->login_req_comp); isert_conn 396 drivers/infiniband/ulp/isert/ib_isert.c init_waitqueue_head(&isert_conn->rem_wait); isert_conn 397 drivers/infiniband/ulp/isert/ib_isert.c kref_init(&isert_conn->kref); isert_conn 398 drivers/infiniband/ulp/isert/ib_isert.c mutex_init(&isert_conn->mutex); isert_conn 399 drivers/infiniband/ulp/isert/ib_isert.c INIT_WORK(&isert_conn->release_work, isert_release_work); isert_conn 403 drivers/infiniband/ulp/isert/ib_isert.c isert_free_login_buf(struct isert_conn *isert_conn) isert_conn 405 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device *ib_dev = isert_conn->device->ib_device; isert_conn 407 drivers/infiniband/ulp/isert/ib_isert.c ib_dma_unmap_single(ib_dev, isert_conn->login_rsp_dma, isert_conn 409 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn->login_rsp_buf); isert_conn 411 drivers/infiniband/ulp/isert/ib_isert.c ib_dma_unmap_single(ib_dev, isert_conn->login_req_dma, isert_conn 414 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn->login_req_buf); isert_conn 418 drivers/infiniband/ulp/isert/ib_isert.c isert_alloc_login_buf(struct isert_conn *isert_conn, isert_conn 423 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_req_buf = kzalloc(sizeof(*isert_conn->login_req_buf), isert_conn 425 drivers/infiniband/ulp/isert/ib_isert.c if (!isert_conn->login_req_buf) isert_conn 428 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_req_dma = ib_dma_map_single(ib_dev, isert_conn 429 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_req_buf, isert_conn 431 drivers/infiniband/ulp/isert/ib_isert.c ret = ib_dma_mapping_error(ib_dev, isert_conn->login_req_dma); isert_conn 434 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_req_dma = 0; isert_conn 438 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_rsp_buf = kzalloc(ISER_RX_PAYLOAD_SIZE, GFP_KERNEL); isert_conn 439 drivers/infiniband/ulp/isert/ib_isert.c if (!isert_conn->login_rsp_buf) { isert_conn 444 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_rsp_dma = ib_dma_map_single(ib_dev, isert_conn 445 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_rsp_buf, isert_conn 447 drivers/infiniband/ulp/isert/ib_isert.c ret = ib_dma_mapping_error(ib_dev, isert_conn->login_rsp_dma); isert_conn 450 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_rsp_dma = 0; isert_conn 457 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn->login_rsp_buf); isert_conn 459 drivers/infiniband/ulp/isert/ib_isert.c ib_dma_unmap_single(ib_dev, isert_conn->login_req_dma, isert_conn 462 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn->login_req_buf); isert_conn 467 drivers/infiniband/ulp/isert/ib_isert.c isert_set_nego_params(struct isert_conn *isert_conn, isert_conn 470 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device_attr *attr = &isert_conn->device->ib_device->attrs; isert_conn 473 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->initiator_depth = min_t(u8, param->initiator_depth, isert_conn 475 drivers/infiniband/ulp/isert/ib_isert.c isert_dbg("Using initiator_depth: %u\n", isert_conn->initiator_depth); isert_conn 484 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->snd_w_inv = !(flags & ISER_SEND_W_INV_NOT_SUP) && isert_conn 487 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->snd_w_inv) isert_conn 497 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn; isert_conn 512 drivers/infiniband/ulp/isert/ib_isert.c isert_conn = kzalloc(sizeof(struct isert_conn), GFP_KERNEL); isert_conn 513 drivers/infiniband/ulp/isert/ib_isert.c if (!isert_conn) isert_conn 516 drivers/infiniband/ulp/isert/ib_isert.c isert_init_conn(isert_conn); isert_conn 517 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->cm_id = cma_id; isert_conn 519 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_alloc_login_buf(isert_conn, cma_id->device); isert_conn 528 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->device = device; isert_conn 530 drivers/infiniband/ulp/isert/ib_isert.c isert_set_nego_params(isert_conn, &event->param.conn); isert_conn 532 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_conn_setup_qp(isert_conn, cma_id); isert_conn 536 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_login_post_recv(isert_conn); isert_conn 540 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_rdma_accept(isert_conn); isert_conn 545 drivers/infiniband/ulp/isert/ib_isert.c list_add_tail(&isert_conn->node, &isert_np->accepted); isert_conn 553 drivers/infiniband/ulp/isert/ib_isert.c isert_free_login_buf(isert_conn); isert_conn 555 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn); isert_conn 561 drivers/infiniband/ulp/isert/ib_isert.c isert_connect_release(struct isert_conn *isert_conn) isert_conn 563 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 565 drivers/infiniband/ulp/isert/ib_isert.c isert_dbg("conn %p\n", isert_conn); isert_conn 569 drivers/infiniband/ulp/isert/ib_isert.c isert_free_rx_descriptors(isert_conn); isert_conn 570 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->cm_id && isert_conn 571 drivers/infiniband/ulp/isert/ib_isert.c !isert_conn->dev_removed) isert_conn 572 drivers/infiniband/ulp/isert/ib_isert.c rdma_destroy_id(isert_conn->cm_id); isert_conn 574 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->qp) { isert_conn 575 drivers/infiniband/ulp/isert/ib_isert.c struct isert_comp *comp = isert_conn->qp->recv_cq->cq_context; isert_conn 578 drivers/infiniband/ulp/isert/ib_isert.c ib_destroy_qp(isert_conn->qp); isert_conn 581 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->login_req_buf) isert_conn 582 drivers/infiniband/ulp/isert/ib_isert.c isert_free_login_buf(isert_conn); isert_conn 586 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->dev_removed) isert_conn 587 drivers/infiniband/ulp/isert/ib_isert.c wake_up_interruptible(&isert_conn->rem_wait); isert_conn 589 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn); isert_conn 595 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = cma_id->qp->qp_context; isert_conn 598 drivers/infiniband/ulp/isert/ib_isert.c isert_info("conn %p\n", isert_conn); isert_conn 600 drivers/infiniband/ulp/isert/ib_isert.c mutex_lock(&isert_conn->mutex); isert_conn 601 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->state = ISER_CONN_UP; isert_conn 602 drivers/infiniband/ulp/isert/ib_isert.c kref_get(&isert_conn->kref); isert_conn 603 drivers/infiniband/ulp/isert/ib_isert.c mutex_unlock(&isert_conn->mutex); isert_conn 606 drivers/infiniband/ulp/isert/ib_isert.c list_move_tail(&isert_conn->node, &isert_np->pending); isert_conn 616 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = container_of(kref, isert_conn 617 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn, kref); isert_conn 619 drivers/infiniband/ulp/isert/ib_isert.c isert_info("conn %p final kref %s/%d\n", isert_conn, current->comm, isert_conn 622 drivers/infiniband/ulp/isert/ib_isert.c isert_connect_release(isert_conn); isert_conn 626 drivers/infiniband/ulp/isert/ib_isert.c isert_put_conn(struct isert_conn *isert_conn) isert_conn 628 drivers/infiniband/ulp/isert/ib_isert.c kref_put(&isert_conn->kref, isert_release_kref); isert_conn 632 drivers/infiniband/ulp/isert/ib_isert.c isert_handle_unbound_conn(struct isert_conn *isert_conn) isert_conn 634 drivers/infiniband/ulp/isert/ib_isert.c struct isert_np *isert_np = isert_conn->cm_id->context; isert_conn 637 drivers/infiniband/ulp/isert/ib_isert.c if (!list_empty(&isert_conn->node)) { isert_conn 642 drivers/infiniband/ulp/isert/ib_isert.c list_del_init(&isert_conn->node); isert_conn 643 drivers/infiniband/ulp/isert/ib_isert.c isert_put_conn(isert_conn); isert_conn 644 drivers/infiniband/ulp/isert/ib_isert.c queue_work(isert_release_wq, &isert_conn->release_work); isert_conn 662 drivers/infiniband/ulp/isert/ib_isert.c isert_conn_terminate(struct isert_conn *isert_conn) isert_conn 666 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->state >= ISER_CONN_TERMINATING) isert_conn 670 drivers/infiniband/ulp/isert/ib_isert.c isert_conn, isert_conn->state); isert_conn 671 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->state = ISER_CONN_TERMINATING; isert_conn 672 drivers/infiniband/ulp/isert/ib_isert.c err = rdma_disconnect(isert_conn->cm_id); isert_conn 675 drivers/infiniband/ulp/isert/ib_isert.c isert_conn); isert_conn 709 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = cma_id->qp->qp_context; isert_conn 711 drivers/infiniband/ulp/isert/ib_isert.c mutex_lock(&isert_conn->mutex); isert_conn 712 drivers/infiniband/ulp/isert/ib_isert.c switch (isert_conn->state) { isert_conn 716 drivers/infiniband/ulp/isert/ib_isert.c isert_conn_terminate(isert_conn); isert_conn 717 drivers/infiniband/ulp/isert/ib_isert.c ib_drain_qp(isert_conn->qp); isert_conn 718 drivers/infiniband/ulp/isert/ib_isert.c isert_handle_unbound_conn(isert_conn); isert_conn 722 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); isert_conn 726 drivers/infiniband/ulp/isert/ib_isert.c isert_conn, isert_conn->state); isert_conn 728 drivers/infiniband/ulp/isert/ib_isert.c mutex_unlock(&isert_conn->mutex); isert_conn 736 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = cma_id->qp->qp_context; isert_conn 738 drivers/infiniband/ulp/isert/ib_isert.c ib_drain_qp(isert_conn->qp); isert_conn 739 drivers/infiniband/ulp/isert/ib_isert.c list_del_init(&isert_conn->node); isert_conn 740 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->cm_id = NULL; isert_conn 741 drivers/infiniband/ulp/isert/ib_isert.c isert_put_conn(isert_conn); isert_conn 750 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn; isert_conn 775 drivers/infiniband/ulp/isert/ib_isert.c isert_conn = cma_id->qp->qp_context; isert_conn 776 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->dev_removed = true; isert_conn 778 drivers/infiniband/ulp/isert/ib_isert.c wait_event_interruptible(isert_conn->rem_wait, isert_conn 779 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->state == ISER_CONN_DOWN); isert_conn 780 drivers/infiniband/ulp/isert/ib_isert.c kfree(isert_conn); isert_conn 803 drivers/infiniband/ulp/isert/ib_isert.c isert_post_recvm(struct isert_conn *isert_conn, u32 count) isert_conn 809 drivers/infiniband/ulp/isert/ib_isert.c for (rx_wr = isert_conn->rx_wr, i = 0; i < count; i++, rx_wr++) { isert_conn 810 drivers/infiniband/ulp/isert/ib_isert.c rx_desc = &isert_conn->rx_descs[i]; isert_conn 821 drivers/infiniband/ulp/isert/ib_isert.c ret = ib_post_recv(isert_conn->qp, isert_conn->rx_wr, NULL); isert_conn 829 drivers/infiniband/ulp/isert/ib_isert.c isert_post_recv(struct isert_conn *isert_conn, struct iser_rx_desc *rx_desc) isert_conn 848 drivers/infiniband/ulp/isert/ib_isert.c ret = ib_post_recv(isert_conn->qp, &rx_wr, NULL); isert_conn 856 drivers/infiniband/ulp/isert/ib_isert.c isert_login_post_send(struct isert_conn *isert_conn, struct iser_tx_desc *tx_desc) isert_conn 858 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device *ib_dev = isert_conn->cm_id->device; isert_conn 874 drivers/infiniband/ulp/isert/ib_isert.c ret = ib_post_send(isert_conn->qp, &send_wr, NULL); isert_conn 898 drivers/infiniband/ulp/isert/ib_isert.c isert_create_send_desc(struct isert_conn *isert_conn, isert_conn 902 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 912 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(struct isert_conn *isert_conn, isert_conn 915 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 939 drivers/infiniband/ulp/isert/ib_isert.c isert_init_send_wr(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, isert_conn 947 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->snd_w_inv && isert_cmd->inv_rkey) { isert_conn 960 drivers/infiniband/ulp/isert/ib_isert.c isert_login_post_recv(struct isert_conn *isert_conn) isert_conn 967 drivers/infiniband/ulp/isert/ib_isert.c sge.addr = isert_conn->login_req_dma; isert_conn 969 drivers/infiniband/ulp/isert/ib_isert.c sge.lkey = isert_conn->device->pd->local_dma_lkey; isert_conn 974 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_req_buf->rx_cqe.done = isert_login_recv_done; isert_conn 977 drivers/infiniband/ulp/isert/ib_isert.c rx_wr.wr_cqe = &isert_conn->login_req_buf->rx_cqe; isert_conn 981 drivers/infiniband/ulp/isert/ib_isert.c ret = ib_post_recv(isert_conn->qp, &rx_wr, NULL); isert_conn 992 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 993 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 995 drivers/infiniband/ulp/isert/ib_isert.c struct iser_tx_desc *tx_desc = &isert_conn->login_tx_desc; isert_conn 1003 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(isert_conn, tx_desc); isert_conn 1008 drivers/infiniband/ulp/isert/ib_isert.c ib_dma_sync_single_for_cpu(ib_dev, isert_conn->login_rsp_dma, isert_conn 1011 drivers/infiniband/ulp/isert/ib_isert.c memcpy(isert_conn->login_rsp_buf, login->rsp_buf, length); isert_conn 1013 drivers/infiniband/ulp/isert/ib_isert.c ib_dma_sync_single_for_device(ib_dev, isert_conn->login_rsp_dma, isert_conn 1016 drivers/infiniband/ulp/isert/ib_isert.c tx_dsg->addr = isert_conn->login_rsp_dma; isert_conn 1018 drivers/infiniband/ulp/isert/ib_isert.c tx_dsg->lkey = isert_conn->device->pd->local_dma_lkey; isert_conn 1023 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_alloc_rx_descriptors(isert_conn); isert_conn 1027 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_post_recvm(isert_conn, isert_conn 1033 drivers/infiniband/ulp/isert/ib_isert.c mutex_lock(&isert_conn->mutex); isert_conn 1034 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->state = ISER_CONN_FULL_FEATURE; isert_conn 1035 drivers/infiniband/ulp/isert/ib_isert.c mutex_unlock(&isert_conn->mutex); isert_conn 1039 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_login_post_recv(isert_conn); isert_conn 1044 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_login_post_send(isert_conn, tx_desc); isert_conn 1052 drivers/infiniband/ulp/isert/ib_isert.c isert_rx_login_req(struct isert_conn *isert_conn) isert_conn 1054 drivers/infiniband/ulp/isert/ib_isert.c struct iser_rx_desc *rx_desc = isert_conn->login_req_buf; isert_conn 1055 drivers/infiniband/ulp/isert/ib_isert.c int rx_buflen = isert_conn->login_req_len; isert_conn 1056 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; isert_conn 1060 drivers/infiniband/ulp/isert/ib_isert.c isert_info("conn %p\n", isert_conn); isert_conn 1094 drivers/infiniband/ulp/isert/ib_isert.c complete(&isert_conn->login_comp); isert_conn 1103 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 1113 drivers/infiniband/ulp/isert/ib_isert.c isert_cmd->conn = isert_conn; isert_conn 1121 drivers/infiniband/ulp/isert/ib_isert.c isert_handle_scsi_cmd(struct isert_conn *isert_conn, isert_conn 1125 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; isert_conn 1189 drivers/infiniband/ulp/isert/ib_isert.c isert_handle_iscsi_dataout(struct isert_conn *isert_conn, isert_conn 1193 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; isert_conn 1245 drivers/infiniband/ulp/isert/ib_isert.c rc = isert_post_recv(isert_conn, rx_desc); isert_conn 1254 drivers/infiniband/ulp/isert/ib_isert.c isert_handle_nop_out(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, isert_conn 1258 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; isert_conn 1273 drivers/infiniband/ulp/isert/ib_isert.c isert_handle_text_cmd(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd, isert_conn 1277 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; isert_conn 1299 drivers/infiniband/ulp/isert/ib_isert.c isert_rx_opcode(struct isert_conn *isert_conn, struct iser_rx_desc *rx_desc, isert_conn 1304 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; isert_conn 1330 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_handle_scsi_cmd(isert_conn, isert_cmd, cmd, isert_conn 1339 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_handle_nop_out(isert_conn, isert_cmd, cmd, isert_conn 1343 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_handle_iscsi_dataout(isert_conn, rx_desc, isert_conn 1371 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_handle_text_cmd(isert_conn, isert_cmd, cmd, isert_conn 1398 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; isert_conn 1399 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device *ib_dev = isert_conn->cm_id->device; isert_conn 1409 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); isert_conn 1447 drivers/infiniband/ulp/isert/ib_isert.c isert_rx_opcode(isert_conn, rx_desc, isert_conn 1457 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; isert_conn 1458 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device *ib_dev = isert_conn->device->ib_device; isert_conn 1465 drivers/infiniband/ulp/isert/ib_isert.c ib_dma_sync_single_for_cpu(ib_dev, isert_conn->login_req_dma, isert_conn 1468 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->login_req_len = wc->byte_len - ISER_HEADERS_LEN; isert_conn 1470 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->conn) { isert_conn 1471 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_login *login = isert_conn->conn->conn_login; isert_conn 1474 drivers/infiniband/ulp/isert/ib_isert.c isert_rx_login_req(isert_conn); isert_conn 1477 drivers/infiniband/ulp/isert/ib_isert.c mutex_lock(&isert_conn->mutex); isert_conn 1478 drivers/infiniband/ulp/isert/ib_isert.c complete(&isert_conn->login_req_comp); isert_conn 1479 drivers/infiniband/ulp/isert/ib_isert.c mutex_unlock(&isert_conn->mutex); isert_conn 1481 drivers/infiniband/ulp/isert/ib_isert.c ib_dma_sync_single_for_device(ib_dev, isert_conn->login_req_dma, isert_conn 1486 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_rw_ctx_destroy(struct isert_cmd *cmd, struct isert_conn *conn) isert_conn 1511 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = isert_cmd->conn; isert_conn 1512 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; isert_conn 1540 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_rw_ctx_destroy(isert_cmd, isert_conn); isert_conn 1655 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; isert_conn 1656 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 1665 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); isert_conn 1673 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_rw_ctx_destroy(isert_cmd, isert_conn); isert_conn 1688 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_put_response(isert_conn->conn, isert_cmd->iscsi_cmd); isert_conn 1697 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; isert_conn 1698 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 1708 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); isert_conn 1717 drivers/infiniband/ulp/isert/ib_isert.c if (isert_prot_cmd(isert_conn, se_cmd)) isert_conn 1719 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_rw_ctx_destroy(isert_cmd, isert_conn); isert_conn 1744 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = isert_cmd->conn; isert_conn 1745 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device *ib_dev = isert_conn->cm_id->device; isert_conn 1773 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; isert_conn 1774 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device *ib_dev = isert_conn->cm_id->device; isert_conn 1780 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); isert_conn 1789 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = wc->qp->qp_context; isert_conn 1790 drivers/infiniband/ulp/isert/ib_isert.c struct ib_device *ib_dev = isert_conn->cm_id->device; isert_conn 1797 drivers/infiniband/ulp/isert/ib_isert.c iscsit_cause_connection_reinstatement(isert_conn->conn, 0); isert_conn 1822 drivers/infiniband/ulp/isert/ib_isert.c isert_post_response(struct isert_conn *isert_conn, struct isert_cmd *isert_cmd) isert_conn 1826 drivers/infiniband/ulp/isert/ib_isert.c ret = isert_post_recv(isert_conn, isert_cmd->rx_desc); isert_conn 1832 drivers/infiniband/ulp/isert/ib_isert.c ret = ib_post_send(isert_conn->qp, &isert_cmd->tx_desc.send_wr, NULL); isert_conn 1844 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 1849 drivers/infiniband/ulp/isert/ib_isert.c isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); isert_conn 1851 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); isert_conn 1858 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 1884 drivers/infiniband/ulp/isert/ib_isert.c isert_init_send_wr(isert_conn, isert_cmd, send_wr); isert_conn 1888 drivers/infiniband/ulp/isert/ib_isert.c return isert_post_response(isert_conn, isert_cmd); isert_conn 1895 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 1904 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_rw_ctx_destroy(isert_cmd, isert_conn); isert_conn 1910 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 1911 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 1915 drivers/infiniband/ulp/isert/ib_isert.c isert_info("conn %p PI offload enabled\n", isert_conn); isert_conn 1916 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->pi_support = true; isert_conn 1921 drivers/infiniband/ulp/isert/ib_isert.c isert_info("conn %p PI offload disabled\n", isert_conn); isert_conn 1922 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->pi_support = false; isert_conn 1932 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 1935 drivers/infiniband/ulp/isert/ib_isert.c isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); isert_conn 1939 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); isert_conn 1940 drivers/infiniband/ulp/isert/ib_isert.c isert_init_send_wr(isert_conn, isert_cmd, send_wr); isert_conn 1942 drivers/infiniband/ulp/isert/ib_isert.c isert_dbg("conn %p Posting NOPIN Response\n", isert_conn); isert_conn 1944 drivers/infiniband/ulp/isert/ib_isert.c return isert_post_response(isert_conn, isert_cmd); isert_conn 1951 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 1954 drivers/infiniband/ulp/isert/ib_isert.c isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); isert_conn 1957 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); isert_conn 1958 drivers/infiniband/ulp/isert/ib_isert.c isert_init_send_wr(isert_conn, isert_cmd, send_wr); isert_conn 1960 drivers/infiniband/ulp/isert/ib_isert.c isert_dbg("conn %p Posting Logout Response\n", isert_conn); isert_conn 1962 drivers/infiniband/ulp/isert/ib_isert.c return isert_post_response(isert_conn, isert_cmd); isert_conn 1969 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 1972 drivers/infiniband/ulp/isert/ib_isert.c isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); isert_conn 1975 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); isert_conn 1976 drivers/infiniband/ulp/isert/ib_isert.c isert_init_send_wr(isert_conn, isert_cmd, send_wr); isert_conn 1978 drivers/infiniband/ulp/isert/ib_isert.c isert_dbg("conn %p Posting Task Management Response\n", isert_conn); isert_conn 1980 drivers/infiniband/ulp/isert/ib_isert.c return isert_post_response(isert_conn, isert_cmd); isert_conn 1987 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 1989 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 1995 drivers/infiniband/ulp/isert/ib_isert.c isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); isert_conn 1997 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); isert_conn 2011 drivers/infiniband/ulp/isert/ib_isert.c isert_init_send_wr(isert_conn, isert_cmd, send_wr); isert_conn 2013 drivers/infiniband/ulp/isert/ib_isert.c isert_dbg("conn %p Posting Reject\n", isert_conn); isert_conn 2015 drivers/infiniband/ulp/isert/ib_isert.c return isert_post_response(isert_conn, isert_cmd); isert_conn 2022 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 2029 drivers/infiniband/ulp/isert/ib_isert.c isert_create_send_desc(isert_conn, isert_cmd, &isert_cmd->tx_desc); isert_conn 2035 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); isert_conn 2038 drivers/infiniband/ulp/isert/ib_isert.c struct isert_device *device = isert_conn->device; isert_conn 2054 drivers/infiniband/ulp/isert/ib_isert.c isert_init_send_wr(isert_conn, isert_cmd, send_wr); isert_conn 2056 drivers/infiniband/ulp/isert/ib_isert.c isert_dbg("conn %p Text Response\n", isert_conn); isert_conn 2058 drivers/infiniband/ulp/isert/ib_isert.c return isert_post_response(isert_conn, isert_cmd); isert_conn 2118 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_rw_ctx_post(struct isert_cmd *cmd, struct isert_conn *conn, isert_conn 2178 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 2186 drivers/infiniband/ulp/isert/ib_isert.c if (isert_prot_cmd(isert_conn, se_cmd)) { isert_conn 2193 drivers/infiniband/ulp/isert/ib_isert.c isert_create_send_desc(isert_conn, isert_cmd, isert_conn 2197 drivers/infiniband/ulp/isert/ib_isert.c isert_init_tx_hdrs(isert_conn, &isert_cmd->tx_desc); isert_conn 2198 drivers/infiniband/ulp/isert/ib_isert.c isert_init_send_wr(isert_conn, isert_cmd, isert_conn 2201 drivers/infiniband/ulp/isert/ib_isert.c rc = isert_post_recv(isert_conn, isert_cmd->rx_desc); isert_conn 2210 drivers/infiniband/ulp/isert/ib_isert.c rc = isert_rdma_rw_ctx_post(isert_cmd, isert_conn, cqe, chain_wr); isert_conn 2262 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 2269 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->logout_posted = true; isert_conn 2381 drivers/infiniband/ulp/isert/ib_isert.c isert_rdma_accept(struct isert_conn *isert_conn) isert_conn 2383 drivers/infiniband/ulp/isert/ib_isert.c struct rdma_cm_id *cm_id = isert_conn->cm_id; isert_conn 2389 drivers/infiniband/ulp/isert/ib_isert.c cp.initiator_depth = isert_conn->initiator_depth; isert_conn 2395 drivers/infiniband/ulp/isert/ib_isert.c if (!isert_conn->snd_w_inv) isert_conn 2412 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 2415 drivers/infiniband/ulp/isert/ib_isert.c isert_info("before login_req comp conn: %p\n", isert_conn); isert_conn 2416 drivers/infiniband/ulp/isert/ib_isert.c ret = wait_for_completion_interruptible(&isert_conn->login_req_comp); isert_conn 2419 drivers/infiniband/ulp/isert/ib_isert.c isert_conn); isert_conn 2422 drivers/infiniband/ulp/isert/ib_isert.c reinit_completion(&isert_conn->login_req_comp); isert_conn 2433 drivers/infiniband/ulp/isert/ib_isert.c isert_rx_login_req(isert_conn); isert_conn 2436 drivers/infiniband/ulp/isert/ib_isert.c ret = wait_for_completion_interruptible(&isert_conn->login_comp); isert_conn 2447 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn) isert_conn 2449 drivers/infiniband/ulp/isert/ib_isert.c struct rdma_cm_id *cm_id = isert_conn->cm_id; isert_conn 2462 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn; isert_conn 2488 drivers/infiniband/ulp/isert/ib_isert.c isert_conn = list_first_entry(&isert_np->pending, isert_conn 2489 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn, node); isert_conn 2490 drivers/infiniband/ulp/isert/ib_isert.c list_del_init(&isert_conn->node); isert_conn 2493 drivers/infiniband/ulp/isert/ib_isert.c conn->context = isert_conn; isert_conn 2494 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->conn = conn; isert_conn 2495 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->state = ISER_CONN_BOUND; isert_conn 2497 drivers/infiniband/ulp/isert/ib_isert.c isert_set_conn_info(np, conn, isert_conn); isert_conn 2499 drivers/infiniband/ulp/isert/ib_isert.c isert_dbg("Processing isert_conn: %p\n", isert_conn); isert_conn 2508 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn, *n; isert_conn 2523 drivers/infiniband/ulp/isert/ib_isert.c list_for_each_entry_safe(isert_conn, n, isert_conn 2527 drivers/infiniband/ulp/isert/ib_isert.c isert_conn, isert_conn->state); isert_conn 2528 drivers/infiniband/ulp/isert/ib_isert.c isert_connect_release(isert_conn); isert_conn 2534 drivers/infiniband/ulp/isert/ib_isert.c list_for_each_entry_safe(isert_conn, n, isert_conn 2538 drivers/infiniband/ulp/isert/ib_isert.c isert_conn, isert_conn->state); isert_conn 2539 drivers/infiniband/ulp/isert/ib_isert.c isert_connect_release(isert_conn); isert_conn 2550 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = container_of(work, isert_conn 2551 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn, isert_conn 2554 drivers/infiniband/ulp/isert/ib_isert.c isert_info("Starting release conn %p\n", isert_conn); isert_conn 2556 drivers/infiniband/ulp/isert/ib_isert.c mutex_lock(&isert_conn->mutex); isert_conn 2557 drivers/infiniband/ulp/isert/ib_isert.c isert_conn->state = ISER_CONN_DOWN; isert_conn 2558 drivers/infiniband/ulp/isert/ib_isert.c mutex_unlock(&isert_conn->mutex); isert_conn 2560 drivers/infiniband/ulp/isert/ib_isert.c isert_info("Destroying conn %p\n", isert_conn); isert_conn 2561 drivers/infiniband/ulp/isert/ib_isert.c isert_put_conn(isert_conn); isert_conn 2565 drivers/infiniband/ulp/isert/ib_isert.c isert_wait4logout(struct isert_conn *isert_conn) isert_conn 2567 drivers/infiniband/ulp/isert/ib_isert.c struct iscsi_conn *conn = isert_conn->conn; isert_conn 2569 drivers/infiniband/ulp/isert/ib_isert.c isert_info("conn %p\n", isert_conn); isert_conn 2571 drivers/infiniband/ulp/isert/ib_isert.c if (isert_conn->logout_posted) { isert_conn 2572 drivers/infiniband/ulp/isert/ib_isert.c isert_info("conn %p wait for conn_logout_comp\n", isert_conn); isert_conn 2626 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 2628 drivers/infiniband/ulp/isert/ib_isert.c isert_info("Starting conn %p\n", isert_conn); isert_conn 2630 drivers/infiniband/ulp/isert/ib_isert.c mutex_lock(&isert_conn->mutex); isert_conn 2631 drivers/infiniband/ulp/isert/ib_isert.c isert_conn_terminate(isert_conn); isert_conn 2632 drivers/infiniband/ulp/isert/ib_isert.c mutex_unlock(&isert_conn->mutex); isert_conn 2634 drivers/infiniband/ulp/isert/ib_isert.c ib_drain_qp(isert_conn->qp); isert_conn 2637 drivers/infiniband/ulp/isert/ib_isert.c isert_wait4logout(isert_conn); isert_conn 2639 drivers/infiniband/ulp/isert/ib_isert.c queue_work(isert_release_wq, &isert_conn->release_work); isert_conn 2644 drivers/infiniband/ulp/isert/ib_isert.c struct isert_conn *isert_conn = conn->context; isert_conn 2646 drivers/infiniband/ulp/isert/ib_isert.c ib_drain_qp(isert_conn->qp); isert_conn 2647 drivers/infiniband/ulp/isert/ib_isert.c isert_put_conn(isert_conn); isert_conn 122 drivers/infiniband/ulp/isert/ib_isert.h struct isert_conn *conn;