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