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()
342 struct qedi_conn *qedi_conn) in qedi_bind_conn_to_iscsi_cid() argument
344 u32 iscsi_cid = qedi_conn->iscsi_conn_id; in qedi_bind_conn_to_iscsi_cid()
347 iscsi_conn_printk(KERN_ALERT, qedi_conn->cls_conn->dd_data, in qedi_bind_conn_to_iscsi_cid()
353 qedi->cid_que.conn_cid_tbl[iscsi_cid] = qedi_conn; in qedi_bind_conn_to_iscsi_cid()
357 struct qedi_conn *qedi_get_conn_from_id(struct qedi_ctx *qedi, u32 iscsi_cid) in qedi_get_conn_from_id()
375 struct qedi_conn *qedi_conn = conn->dd_data; in qedi_conn_bind() local
393 qedi_ep->conn = qedi_conn; in qedi_conn_bind()
394 qedi_conn->ep = qedi_ep; in qedi_conn_bind()
395 qedi_conn->iscsi_ep = ep; in qedi_conn_bind()
396 qedi_conn->iscsi_conn_id = qedi_ep->iscsi_cid; in qedi_conn_bind()
397 qedi_conn->fw_cid = qedi_ep->fw_cid; in qedi_conn_bind()
398 qedi_conn->cmd_cleanup_req = 0; in qedi_conn_bind()
399 qedi_conn->cmd_cleanup_cmpl = 0; in qedi_conn_bind()
401 if (qedi_bind_conn_to_iscsi_cid(qedi, qedi_conn)) in qedi_conn_bind()
404 spin_lock_init(&qedi_conn->tmf_work_lock); in qedi_conn_bind()
405 INIT_LIST_HEAD(&qedi_conn->tmf_work_list); in qedi_conn_bind()
406 init_waitqueue_head(&qedi_conn->wait_queue); in qedi_conn_bind()
411 struct qedi_conn *qedi_conn) in qedi_iscsi_update_conn() argument
414 struct iscsi_cls_conn *cls_conn = qedi_conn->cls_conn; in qedi_iscsi_update_conn()
419 qedi_ep = qedi_conn->ep; in qedi_iscsi_update_conn()
571 struct qedi_conn *qedi_conn = conn->dd_data; in qedi_conn_start() local
575 qedi = qedi_conn->qedi; in qedi_conn_start()
577 rval = qedi_iscsi_update_conn(qedi, qedi_conn); in qedi_conn_start()
585 clear_bit(QEDI_CONN_FW_CLEANUP, &qedi_conn->flags); in qedi_conn_start()
586 qedi_conn->abrt_conn = 0; in qedi_conn_start()
601 struct qedi_conn *qedi_conn = conn->dd_data; in qedi_conn_destroy() local
608 qedi_conn_free_login_resources(qedi, qedi_conn); in qedi_conn_destroy()
700 static void qedi_iscsi_prep_generic_pdu_bd(struct qedi_conn *qedi_conn) in qedi_iscsi_prep_generic_pdu_bd() argument
704 bd_tbl = (struct scsi_sge *)qedi_conn->gen_pdu.req_bd_tbl; in qedi_iscsi_prep_generic_pdu_bd()
707 (u32)((u64)qedi_conn->gen_pdu.req_dma_addr >> 32); in qedi_iscsi_prep_generic_pdu_bd()
708 bd_tbl->sge_addr.lo = (u32)qedi_conn->gen_pdu.req_dma_addr; in qedi_iscsi_prep_generic_pdu_bd()
709 bd_tbl->sge_len = qedi_conn->gen_pdu.req_wr_ptr - in qedi_iscsi_prep_generic_pdu_bd()
710 qedi_conn->gen_pdu.req_buf; in qedi_iscsi_prep_generic_pdu_bd()
711 bd_tbl = (struct scsi_sge *)qedi_conn->gen_pdu.resp_bd_tbl; in qedi_iscsi_prep_generic_pdu_bd()
713 (u32)((u64)qedi_conn->gen_pdu.resp_dma_addr >> 32); in qedi_iscsi_prep_generic_pdu_bd()
714 bd_tbl->sge_addr.lo = (u32)qedi_conn->gen_pdu.resp_dma_addr; in qedi_iscsi_prep_generic_pdu_bd()
721 struct qedi_conn *qedi_conn = cmd->conn; in qedi_iscsi_send_generic_request() local
726 qedi_iscsi_prep_generic_pdu_bd(qedi_conn); in qedi_iscsi_send_generic_request()
729 qedi_send_iscsi_login(qedi_conn, task); in qedi_iscsi_send_generic_request()
732 data_len = qedi_conn->gen_pdu.req_buf_size; in qedi_iscsi_send_generic_request()
733 buf = qedi_conn->gen_pdu.req_buf; in qedi_iscsi_send_generic_request()
735 rc = qedi_send_iscsi_nopout(qedi_conn, task, in qedi_iscsi_send_generic_request()
738 rc = qedi_send_iscsi_nopout(qedi_conn, task, in qedi_iscsi_send_generic_request()
742 rc = qedi_send_iscsi_logout(qedi_conn, task); in qedi_iscsi_send_generic_request()
745 rc = qedi_iscsi_abort_work(qedi_conn, task); in qedi_iscsi_send_generic_request()
748 rc = qedi_send_iscsi_text(qedi_conn, task); in qedi_iscsi_send_generic_request()
751 iscsi_conn_printk(KERN_ALERT, qedi_conn->cls_conn->dd_data, in qedi_iscsi_send_generic_request()
760 struct qedi_conn *qedi_conn = conn->dd_data; in qedi_mtask_xmit() local
763 memset(qedi_conn->gen_pdu.req_buf, 0, ISCSI_DEF_MAX_RECV_SEG_LEN); in qedi_mtask_xmit()
765 qedi_conn->gen_pdu.req_buf_size = task->data_count; in qedi_mtask_xmit()
768 memcpy(qedi_conn->gen_pdu.req_buf, task->data, in qedi_mtask_xmit()
770 qedi_conn->gen_pdu.req_wr_ptr = in qedi_mtask_xmit()
771 qedi_conn->gen_pdu.req_buf + task->data_count; in qedi_mtask_xmit()
782 struct qedi_conn *qedi_conn = conn->dd_data; in qedi_task_xmit() local
786 if (test_bit(QEDI_IN_SHUTDOWN, &qedi_conn->qedi->flags)) in qedi_task_xmit()
792 cmd->conn = qedi_conn; in qedi_task_xmit()
974 static void qedi_cleanup_active_cmd_list(struct qedi_conn *qedi_conn) in qedi_cleanup_active_cmd_list() argument
978 spin_lock(&qedi_conn->list_lock); in qedi_cleanup_active_cmd_list()
979 list_for_each_entry_safe(cmd, cmd_tmp, &qedi_conn->active_cmd_list, in qedi_cleanup_active_cmd_list()
982 qedi_conn->active_cmd_count--; in qedi_cleanup_active_cmd_list()
984 spin_unlock(&qedi_conn->list_lock); in qedi_cleanup_active_cmd_list()
990 struct qedi_conn *qedi_conn = NULL; in qedi_ep_disconnect() local
1009 qedi_conn = qedi_ep->conn; in qedi_ep_disconnect()
1010 conn = qedi_conn->cls_conn->dd_data; in qedi_ep_disconnect()
1012 abrt_conn = qedi_conn->abrt_conn; in qedi_ep_disconnect()
1016 &qedi_conn->flags)) { in qedi_ep_disconnect()
1032 qedi_cleanup_active_cmd_list(qedi_conn); in qedi_ep_disconnect()
1047 if (unlikely(!qedi_conn)) in qedi_ep_disconnect()
1052 qedi_conn->active_cmd_count, abrt_conn, in qedi_ep_disconnect()
1058 if (!qedi_conn->active_cmd_count) in qedi_ep_disconnect()
1064 qedi_clearsq(qedi, qedi_conn, NULL); in qedi_ep_disconnect()
1109 if (qedi_conn) in qedi_ep_disconnect()
1110 qedi_conn->ep = NULL; in qedi_ep_disconnect()
1425 struct qedi_conn *qedi_conn) in qedi_start_conn_recovery() argument
1431 cls_conn = qedi_conn->cls_conn; in qedi_start_conn_recovery()
1436 qedi_conn->abrt_conn = 1; in qedi_start_conn_recovery()
1439 conn->session->state, qedi_conn->iscsi_conn_id); in qedi_start_conn_recovery()
1440 iscsi_conn_failure(qedi_conn->cls_conn->dd_data, in qedi_start_conn_recovery()
1573 struct qedi_conn *qedi_conn; in qedi_process_iscsi_error() local
1586 qedi_conn = ep->conn; in qedi_process_iscsi_error()
1587 if (!qedi_conn) in qedi_process_iscsi_error()
1610 qedi_conn->cls_conn->dd_data, in qedi_process_iscsi_error()
1614 qedi_start_conn_recovery(qedi_conn->qedi, qedi_conn); in qedi_process_iscsi_error()
1621 struct qedi_conn *qedi_conn = conn->dd_data; in qedi_clear_session_ctx() local
1624 qedi_ep_disconnect(qedi_conn->iscsi_ep); in qedi_clear_session_ctx()
1626 qedi_conn_destroy(qedi_conn->cls_conn); in qedi_clear_session_ctx()
1634 struct qedi_conn *qedi_conn; in qedi_process_tcp_error() local
1639 qedi_conn = ep->conn; in qedi_process_tcp_error()
1640 if (!qedi_conn) in qedi_process_tcp_error()
1646 qedi_start_conn_recovery(qedi_conn->qedi, qedi_conn); in qedi_process_tcp_error()