Lines Matching defs:qedi_conn
19 struct qedi_conn *qedi_conn;
23 qedi_conn = qedi_get_conn_from_id(qedi, i);
24 if (!qedi_conn)
27 qedi_start_conn_recovery(qedi, qedi_conn);
66 struct qedi_conn *qedi_conn)
68 if (qedi_conn->gen_pdu.resp_bd_tbl) {
70 qedi_conn->gen_pdu.resp_bd_tbl,
71 qedi_conn->gen_pdu.resp_bd_dma);
72 qedi_conn->gen_pdu.resp_bd_tbl = NULL;
75 if (qedi_conn->gen_pdu.req_bd_tbl) {
77 qedi_conn->gen_pdu.req_bd_tbl,
78 qedi_conn->gen_pdu.req_bd_dma);
79 qedi_conn->gen_pdu.req_bd_tbl = NULL;
82 if (qedi_conn->gen_pdu.resp_buf) {
85 qedi_conn->gen_pdu.resp_buf,
86 qedi_conn->gen_pdu.resp_dma_addr);
87 qedi_conn->gen_pdu.resp_buf = NULL;
90 if (qedi_conn->gen_pdu.req_buf) {
93 qedi_conn->gen_pdu.req_buf,
94 qedi_conn->gen_pdu.req_dma_addr);
95 qedi_conn->gen_pdu.req_buf = NULL;
100 struct qedi_conn *qedi_conn)
102 qedi_conn->gen_pdu.req_buf =
105 &qedi_conn->gen_pdu.req_dma_addr,
107 if (!qedi_conn->gen_pdu.req_buf)
110 qedi_conn->gen_pdu.req_buf_size = 0;
111 qedi_conn->gen_pdu.req_wr_ptr = qedi_conn->gen_pdu.req_buf;
113 qedi_conn->gen_pdu.resp_buf =
116 &qedi_conn->gen_pdu.resp_dma_addr,
118 if (!qedi_conn->gen_pdu.resp_buf)
121 qedi_conn->gen_pdu.resp_buf_size = ISCSI_DEF_MAX_RECV_SEG_LEN;
122 qedi_conn->gen_pdu.resp_wr_ptr = qedi_conn->gen_pdu.resp_buf;
124 qedi_conn->gen_pdu.req_bd_tbl =
126 &qedi_conn->gen_pdu.req_bd_dma, GFP_KERNEL);
127 if (!qedi_conn->gen_pdu.req_bd_tbl)
130 qedi_conn->gen_pdu.resp_bd_tbl =
132 &qedi_conn->gen_pdu.resp_bd_dma,
134 if (!qedi_conn->gen_pdu.resp_bd_tbl)
139 qedi_conn->iscsi_conn_id);
144 qedi_conn->gen_pdu.req_bd_tbl,
145 qedi_conn->gen_pdu.req_bd_dma);
146 qedi_conn->gen_pdu.req_bd_tbl = NULL;
150 qedi_conn->gen_pdu.resp_buf,
151 qedi_conn->gen_pdu.resp_dma_addr);
152 qedi_conn->gen_pdu.resp_buf = NULL;
155 qedi_conn->gen_pdu.req_buf,
156 qedi_conn->gen_pdu.req_dma_addr);
157 qedi_conn->gen_pdu.req_buf = NULL;
159 iscsi_conn_printk(KERN_ERR, qedi_conn->cls_conn->dd_data,
297 struct qedi_conn *qedi_conn;
300 cls_conn = iscsi_conn_setup(cls_session, sizeof(*qedi_conn),
310 qedi_conn = conn->dd_data;
311 qedi_conn->cls_conn = cls_conn;
312 qedi_conn->qedi = qedi;
313 qedi_conn->ep = NULL;
314 qedi_conn->active_cmd_count = 0;
315 INIT_LIST_HEAD(&qedi_conn->active_cmd_list);
316 spin_lock_init(&qedi_conn->list_lock);
318 if (qedi_conn_alloc_login_resources(qedi, qedi_conn)) {
335 struct qedi_conn *qedi_conn = session->leadconn->dd_data;
338 set_bit(QEDI_BLOCK_IO, &qedi_conn->qedi->flags);
345 struct qedi_conn *qedi_conn = session->leadconn->dd_data;
348 clear_bit(QEDI_BLOCK_IO, &qedi_conn->qedi->flags);
353 struct qedi_conn *qedi_conn)
355 u32 iscsi_cid = qedi_conn->iscsi_conn_id;
358 iscsi_conn_printk(KERN_ALERT, qedi_conn->cls_conn->dd_data,
364 qedi->cid_que.conn_cid_tbl[iscsi_cid] = qedi_conn;
368 struct qedi_conn *qedi_get_conn_from_id(struct qedi_ctx *qedi, u32 iscsi_cid)
386 struct qedi_conn *qedi_conn = conn->dd_data;
410 qedi_ep->conn = qedi_conn;
411 qedi_conn->ep = qedi_ep;
412 qedi_conn->iscsi_ep = ep;
413 qedi_conn->iscsi_conn_id = qedi_ep->iscsi_cid;
414 qedi_conn->fw_cid = qedi_ep->fw_cid;
415 qedi_conn->cmd_cleanup_req = 0;
416 atomic_set(&qedi_conn->cmd_cleanup_cmpl, 0);
418 if (qedi_bind_conn_to_iscsi_cid(qedi, qedi_conn)) {
424 spin_lock_init(&qedi_conn->tmf_work_lock);
425 INIT_LIST_HEAD(&qedi_conn->tmf_work_list);
426 init_waitqueue_head(&qedi_conn->wait_queue);
433 struct qedi_conn *qedi_conn)
436 struct iscsi_cls_conn *cls_conn = qedi_conn->cls_conn;
441 qedi_ep = qedi_conn->ep;
620 struct qedi_conn *qedi_conn = conn->dd_data;
624 qedi = qedi_conn->qedi;
626 rval = qedi_iscsi_update_conn(qedi, qedi_conn);
634 spin_lock(&qedi_conn->tmf_work_lock);
635 qedi_conn->fw_cleanup_works = 0;
636 qedi_conn->ep_disconnect_starting = false;
637 spin_unlock(&qedi_conn->tmf_work_lock);
639 qedi_conn->abrt_conn = 0;
654 struct qedi_conn *qedi_conn = conn->dd_data;
661 qedi_conn_free_login_resources(qedi, qedi_conn);
753 static void qedi_iscsi_prep_generic_pdu_bd(struct qedi_conn *qedi_conn)
757 bd_tbl = (struct scsi_sge *)qedi_conn->gen_pdu.req_bd_tbl;
760 (u32)((u64)qedi_conn->gen_pdu.req_dma_addr >> 32);
761 bd_tbl->sge_addr.lo = (u32)qedi_conn->gen_pdu.req_dma_addr;
762 bd_tbl->sge_len = qedi_conn->gen_pdu.req_wr_ptr -
763 qedi_conn->gen_pdu.req_buf;
764 bd_tbl = (struct scsi_sge *)qedi_conn->gen_pdu.resp_bd_tbl;
766 (u32)((u64)qedi_conn->gen_pdu.resp_dma_addr >> 32);
767 bd_tbl->sge_addr.lo = (u32)qedi_conn->gen_pdu.resp_dma_addr;
774 struct qedi_conn *qedi_conn = cmd->conn;
779 qedi_iscsi_prep_generic_pdu_bd(qedi_conn);
782 qedi_send_iscsi_login(qedi_conn, task);
785 data_len = qedi_conn->gen_pdu.req_buf_size;
786 buf = qedi_conn->gen_pdu.req_buf;
788 rc = qedi_send_iscsi_nopout(qedi_conn, task,
791 rc = qedi_send_iscsi_nopout(qedi_conn, task,
795 rc = qedi_send_iscsi_logout(qedi_conn, task);
798 rc = qedi_send_iscsi_tmf(qedi_conn, task);
801 rc = qedi_send_iscsi_text(qedi_conn, task);
804 iscsi_conn_printk(KERN_ALERT, qedi_conn->cls_conn->dd_data,
813 struct qedi_conn *qedi_conn = conn->dd_data;
816 memset(qedi_conn->gen_pdu.req_buf, 0, ISCSI_DEF_MAX_RECV_SEG_LEN);
818 qedi_conn->gen_pdu.req_buf_size = task->data_count;
821 memcpy(qedi_conn->gen_pdu.req_buf, task->data,
823 qedi_conn->gen_pdu.req_wr_ptr =
824 qedi_conn->gen_pdu.req_buf + task->data_count;
834 struct qedi_conn *qedi_conn = conn->dd_data;
842 if (test_bit(QEDI_IN_SHUTDOWN, &qedi_conn->qedi->flags))
845 if (test_bit(QEDI_BLOCK_IO, &qedi_conn->qedi->flags))
851 cmd->conn = qedi_conn;
1065 static void qedi_cleanup_active_cmd_list(struct qedi_conn *qedi_conn)
1069 spin_lock(&qedi_conn->list_lock);
1070 list_for_each_entry_safe(cmd, cmd_tmp, &qedi_conn->active_cmd_list,
1073 qedi_conn->active_cmd_count--;
1075 spin_unlock(&qedi_conn->list_lock);
1081 struct qedi_conn *qedi_conn = NULL;
1097 qedi_conn = qedi_ep->conn;
1098 abrt_conn = qedi_conn->abrt_conn;
1103 qedi_conn->fw_cleanup_works);
1105 spin_lock(&qedi_conn->tmf_work_lock);
1106 qedi_conn->ep_disconnect_starting = true;
1107 while (qedi_conn->fw_cleanup_works > 0) {
1108 spin_unlock(&qedi_conn->tmf_work_lock);
1110 spin_lock(&qedi_conn->tmf_work_lock);
1112 spin_unlock(&qedi_conn->tmf_work_lock);
1124 qedi_cleanup_active_cmd_list(qedi_conn);
1139 if (unlikely(!qedi_conn))
1143 "Active cmd count=%d, abrt_conn=%d, ep state=0x%x, cid=0x%x, qedi_conn=%p\n",
1144 qedi_conn->active_cmd_count, abrt_conn,
1150 if (!qedi_conn->active_cmd_count)
1156 qedi_clearsq(qedi, qedi_conn, NULL);
1206 if (qedi_conn)
1207 qedi_conn->ep = NULL;
1502 struct qedi_conn *qedi_conn)
1508 cls_conn = qedi_conn->cls_conn;
1513 qedi_conn->abrt_conn = 1;
1516 conn->session->state, qedi_conn->iscsi_conn_id);
1517 iscsi_conn_failure(qedi_conn->cls_conn->dd_data,
1650 struct qedi_conn *qedi_conn;
1663 qedi_conn = ep->conn;
1664 if (!qedi_conn)
1687 qedi_conn->cls_conn->dd_data,
1691 qedi_start_conn_recovery(qedi_conn->qedi, qedi_conn);
1697 struct qedi_conn *qedi_conn;
1702 qedi_conn = ep->conn;
1703 if (!qedi_conn)
1709 qedi_start_conn_recovery(qedi_conn->qedi, qedi_conn);