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);
65 struct qedi_conn *qedi_conn)
67 if (qedi_conn->gen_pdu.resp_bd_tbl) {
69 qedi_conn->gen_pdu.resp_bd_tbl,
70 qedi_conn->gen_pdu.resp_bd_dma);
71 qedi_conn->gen_pdu.resp_bd_tbl = NULL;
74 if (qedi_conn->gen_pdu.req_bd_tbl) {
76 qedi_conn->gen_pdu.req_bd_tbl,
77 qedi_conn->gen_pdu.req_bd_dma);
78 qedi_conn->gen_pdu.req_bd_tbl = NULL;
81 if (qedi_conn->gen_pdu.resp_buf) {
84 qedi_conn->gen_pdu.resp_buf,
85 qedi_conn->gen_pdu.resp_dma_addr);
86 qedi_conn->gen_pdu.resp_buf = NULL;
89 if (qedi_conn->gen_pdu.req_buf) {
92 qedi_conn->gen_pdu.req_buf,
93 qedi_conn->gen_pdu.req_dma_addr);
94 qedi_conn->gen_pdu.req_buf = NULL;
99 struct qedi_conn *qedi_conn)
101 qedi_conn->gen_pdu.req_buf =
104 &qedi_conn->gen_pdu.req_dma_addr,
106 if (!qedi_conn->gen_pdu.req_buf)
109 qedi_conn->gen_pdu.req_buf_size = 0;
110 qedi_conn->gen_pdu.req_wr_ptr = qedi_conn->gen_pdu.req_buf;
112 qedi_conn->gen_pdu.resp_buf =
115 &qedi_conn->gen_pdu.resp_dma_addr,
117 if (!qedi_conn->gen_pdu.resp_buf)
120 qedi_conn->gen_pdu.resp_buf_size = ISCSI_DEF_MAX_RECV_SEG_LEN;
121 qedi_conn->gen_pdu.resp_wr_ptr = qedi_conn->gen_pdu.resp_buf;
123 qedi_conn->gen_pdu.req_bd_tbl =
125 &qedi_conn->gen_pdu.req_bd_dma, GFP_KERNEL);
126 if (!qedi_conn->gen_pdu.req_bd_tbl)
129 qedi_conn->gen_pdu.resp_bd_tbl =
131 &qedi_conn->gen_pdu.resp_bd_dma,
133 if (!qedi_conn->gen_pdu.resp_bd_tbl)
138 qedi_conn->iscsi_conn_id);
143 qedi_conn->gen_pdu.req_bd_tbl,
144 qedi_conn->gen_pdu.req_bd_dma);
145 qedi_conn->gen_pdu.req_bd_tbl = NULL;
149 qedi_conn->gen_pdu.resp_buf,
150 qedi_conn->gen_pdu.resp_dma_addr);
151 qedi_conn->gen_pdu.resp_buf = NULL;
154 qedi_conn->gen_pdu.req_buf,
155 qedi_conn->gen_pdu.req_dma_addr);
156 qedi_conn->gen_pdu.req_buf = NULL;
158 iscsi_conn_printk(KERN_ERR, qedi_conn->cls_conn->dd_data,
296 struct qedi_conn *qedi_conn;
299 cls_conn = iscsi_conn_setup(cls_session, sizeof(*qedi_conn),
309 qedi_conn = conn->dd_data;
310 qedi_conn->cls_conn = cls_conn;
311 qedi_conn->qedi = qedi;
312 qedi_conn->ep = NULL;
313 qedi_conn->active_cmd_count = 0;
314 INIT_LIST_HEAD(&qedi_conn->active_cmd_list);
315 spin_lock_init(&qedi_conn->list_lock);
317 if (qedi_conn_alloc_login_resources(qedi, qedi_conn)) {
334 struct qedi_conn *qedi_conn = session->leadconn->dd_data;
337 set_bit(QEDI_BLOCK_IO, &qedi_conn->qedi->flags);
344 struct qedi_conn *qedi_conn = session->leadconn->dd_data;
347 clear_bit(QEDI_BLOCK_IO, &qedi_conn->qedi->flags);
352 struct qedi_conn *qedi_conn)
354 u32 iscsi_cid = qedi_conn->iscsi_conn_id;
357 iscsi_conn_printk(KERN_ALERT, qedi_conn->cls_conn->dd_data,
363 qedi->cid_que.conn_cid_tbl[iscsi_cid] = qedi_conn;
367 struct qedi_conn *qedi_get_conn_from_id(struct qedi_ctx *qedi, u32 iscsi_cid)
385 struct qedi_conn *qedi_conn = conn->dd_data;
409 qedi_ep->conn = qedi_conn;
410 qedi_conn->ep = qedi_ep;
411 qedi_conn->iscsi_ep = ep;
412 qedi_conn->iscsi_conn_id = qedi_ep->iscsi_cid;
413 qedi_conn->fw_cid = qedi_ep->fw_cid;
414 qedi_conn->cmd_cleanup_req = 0;
415 qedi_conn->cmd_cleanup_cmpl = 0;
417 if (qedi_bind_conn_to_iscsi_cid(qedi, qedi_conn)) {
423 spin_lock_init(&qedi_conn->tmf_work_lock);
424 INIT_LIST_HEAD(&qedi_conn->tmf_work_list);
425 init_waitqueue_head(&qedi_conn->wait_queue);
432 struct qedi_conn *qedi_conn)
435 struct iscsi_cls_conn *cls_conn = qedi_conn->cls_conn;
440 qedi_ep = qedi_conn->ep;
592 struct qedi_conn *qedi_conn = conn->dd_data;
596 qedi = qedi_conn->qedi;
598 rval = qedi_iscsi_update_conn(qedi, qedi_conn);
606 clear_bit(QEDI_CONN_FW_CLEANUP, &qedi_conn->flags);
607 qedi_conn->abrt_conn = 0;
622 struct qedi_conn *qedi_conn = conn->dd_data;
629 qedi_conn_free_login_resources(qedi, qedi_conn);
721 static void qedi_iscsi_prep_generic_pdu_bd(struct qedi_conn *qedi_conn)
725 bd_tbl = (struct scsi_sge *)qedi_conn->gen_pdu.req_bd_tbl;
728 (u32)((u64)qedi_conn->gen_pdu.req_dma_addr >> 32);
729 bd_tbl->sge_addr.lo = (u32)qedi_conn->gen_pdu.req_dma_addr;
730 bd_tbl->sge_len = qedi_conn->gen_pdu.req_wr_ptr -
731 qedi_conn->gen_pdu.req_buf;
732 bd_tbl = (struct scsi_sge *)qedi_conn->gen_pdu.resp_bd_tbl;
734 (u32)((u64)qedi_conn->gen_pdu.resp_dma_addr >> 32);
735 bd_tbl->sge_addr.lo = (u32)qedi_conn->gen_pdu.resp_dma_addr;
742 struct qedi_conn *qedi_conn = cmd->conn;
747 qedi_iscsi_prep_generic_pdu_bd(qedi_conn);
750 qedi_send_iscsi_login(qedi_conn, task);
753 data_len = qedi_conn->gen_pdu.req_buf_size;
754 buf = qedi_conn->gen_pdu.req_buf;
756 rc = qedi_send_iscsi_nopout(qedi_conn, task,
759 rc = qedi_send_iscsi_nopout(qedi_conn, task,
763 rc = qedi_send_iscsi_logout(qedi_conn, task);
766 rc = qedi_iscsi_abort_work(qedi_conn, task);
769 rc = qedi_send_iscsi_text(qedi_conn, task);
772 iscsi_conn_printk(KERN_ALERT, qedi_conn->cls_conn->dd_data,
781 struct qedi_conn *qedi_conn = conn->dd_data;
784 memset(qedi_conn->gen_pdu.req_buf, 0, ISCSI_DEF_MAX_RECV_SEG_LEN);
786 qedi_conn->gen_pdu.req_buf_size = task->data_count;
789 memcpy(qedi_conn->gen_pdu.req_buf, task->data,
791 qedi_conn->gen_pdu.req_wr_ptr =
792 qedi_conn->gen_pdu.req_buf + task->data_count;
802 struct qedi_conn *qedi_conn = conn->dd_data;
810 if (test_bit(QEDI_IN_SHUTDOWN, &qedi_conn->qedi->flags))
813 if (test_bit(QEDI_BLOCK_IO, &qedi_conn->qedi->flags))
819 cmd->conn = qedi_conn;
1033 static void qedi_cleanup_active_cmd_list(struct qedi_conn *qedi_conn)
1037 spin_lock(&qedi_conn->list_lock);
1038 list_for_each_entry_safe(cmd, cmd_tmp, &qedi_conn->active_cmd_list,
1041 qedi_conn->active_cmd_count--;
1043 spin_unlock(&qedi_conn->list_lock);
1049 struct qedi_conn *qedi_conn = NULL;
1067 qedi_conn = qedi_ep->conn;
1068 conn = qedi_conn->cls_conn->dd_data;
1070 abrt_conn = qedi_conn->abrt_conn;
1074 &qedi_conn->flags)) {
1090 qedi_cleanup_active_cmd_list(qedi_conn);
1105 if (unlikely(!qedi_conn))
1109 "Active cmd count=%d, abrt_conn=%d, ep state=0x%x, cid=0x%x, qedi_conn=%p\n",
1110 qedi_conn->active_cmd_count, abrt_conn,
1116 if (!qedi_conn->active_cmd_count)
1122 qedi_clearsq(qedi, qedi_conn, NULL);
1167 if (qedi_conn)
1168 qedi_conn->ep = NULL;
1463 struct qedi_conn *qedi_conn)
1469 cls_conn = qedi_conn->cls_conn;
1474 qedi_conn->abrt_conn = 1;
1477 conn->session->state, qedi_conn->iscsi_conn_id);
1478 iscsi_conn_failure(qedi_conn->cls_conn->dd_data,
1611 struct qedi_conn *qedi_conn;
1624 qedi_conn = ep->conn;
1625 if (!qedi_conn)
1648 qedi_conn->cls_conn->dd_data,
1652 qedi_start_conn_recovery(qedi_conn->qedi, qedi_conn);
1659 struct qedi_conn *qedi_conn = conn->dd_data;
1662 qedi_ep_disconnect(qedi_conn->iscsi_ep);
1664 qedi_conn_destroy(qedi_conn->cls_conn);
1672 struct qedi_conn *qedi_conn;
1677 qedi_conn = ep->conn;
1678 if (!qedi_conn)
1684 qedi_start_conn_recovery(qedi_conn->qedi, qedi_conn);