Lines Matching refs:bnx2i_conn
239 struct bnx2i_conn *bnx2i_conn, in bnx2i_bind_conn_to_iscsi_cid() argument
243 iscsi_conn_printk(KERN_ALERT, bnx2i_conn->cls_conn->dd_data, in bnx2i_bind_conn_to_iscsi_cid()
248 hba->cid_que.conn_cid_tbl[iscsi_cid] = bnx2i_conn; in bnx2i_bind_conn_to_iscsi_cid()
258 struct bnx2i_conn *bnx2i_get_conn_from_id(struct bnx2i_hba *hba, in bnx2i_get_conn_from_id()
336 mem_size = hba->max_active_conns * sizeof(struct bnx2i_conn *); in bnx2i_setup_free_cid_que()
935 struct bnx2i_conn *bnx2i_conn) in bnx2i_conn_free_login_resources() argument
937 if (bnx2i_conn->gen_pdu.resp_bd_tbl) { in bnx2i_conn_free_login_resources()
939 bnx2i_conn->gen_pdu.resp_bd_tbl, in bnx2i_conn_free_login_resources()
940 bnx2i_conn->gen_pdu.resp_bd_dma); in bnx2i_conn_free_login_resources()
941 bnx2i_conn->gen_pdu.resp_bd_tbl = NULL; in bnx2i_conn_free_login_resources()
944 if (bnx2i_conn->gen_pdu.req_bd_tbl) { in bnx2i_conn_free_login_resources()
946 bnx2i_conn->gen_pdu.req_bd_tbl, in bnx2i_conn_free_login_resources()
947 bnx2i_conn->gen_pdu.req_bd_dma); in bnx2i_conn_free_login_resources()
948 bnx2i_conn->gen_pdu.req_bd_tbl = NULL; in bnx2i_conn_free_login_resources()
951 if (bnx2i_conn->gen_pdu.resp_buf) { in bnx2i_conn_free_login_resources()
954 bnx2i_conn->gen_pdu.resp_buf, in bnx2i_conn_free_login_resources()
955 bnx2i_conn->gen_pdu.resp_dma_addr); in bnx2i_conn_free_login_resources()
956 bnx2i_conn->gen_pdu.resp_buf = NULL; in bnx2i_conn_free_login_resources()
959 if (bnx2i_conn->gen_pdu.req_buf) { in bnx2i_conn_free_login_resources()
962 bnx2i_conn->gen_pdu.req_buf, in bnx2i_conn_free_login_resources()
963 bnx2i_conn->gen_pdu.req_dma_addr); in bnx2i_conn_free_login_resources()
964 bnx2i_conn->gen_pdu.req_buf = NULL; in bnx2i_conn_free_login_resources()
976 struct bnx2i_conn *bnx2i_conn) in bnx2i_conn_alloc_login_resources() argument
979 bnx2i_conn->gen_pdu.req_buf = in bnx2i_conn_alloc_login_resources()
982 &bnx2i_conn->gen_pdu.req_dma_addr, in bnx2i_conn_alloc_login_resources()
984 if (bnx2i_conn->gen_pdu.req_buf == NULL) in bnx2i_conn_alloc_login_resources()
987 bnx2i_conn->gen_pdu.req_buf_size = 0; in bnx2i_conn_alloc_login_resources()
988 bnx2i_conn->gen_pdu.req_wr_ptr = bnx2i_conn->gen_pdu.req_buf; in bnx2i_conn_alloc_login_resources()
990 bnx2i_conn->gen_pdu.resp_buf = in bnx2i_conn_alloc_login_resources()
993 &bnx2i_conn->gen_pdu.resp_dma_addr, in bnx2i_conn_alloc_login_resources()
995 if (bnx2i_conn->gen_pdu.resp_buf == NULL) in bnx2i_conn_alloc_login_resources()
998 bnx2i_conn->gen_pdu.resp_buf_size = ISCSI_DEF_MAX_RECV_SEG_LEN; in bnx2i_conn_alloc_login_resources()
999 bnx2i_conn->gen_pdu.resp_wr_ptr = bnx2i_conn->gen_pdu.resp_buf; in bnx2i_conn_alloc_login_resources()
1001 bnx2i_conn->gen_pdu.req_bd_tbl = in bnx2i_conn_alloc_login_resources()
1003 &bnx2i_conn->gen_pdu.req_bd_dma, GFP_KERNEL); in bnx2i_conn_alloc_login_resources()
1004 if (bnx2i_conn->gen_pdu.req_bd_tbl == NULL) in bnx2i_conn_alloc_login_resources()
1007 bnx2i_conn->gen_pdu.resp_bd_tbl = in bnx2i_conn_alloc_login_resources()
1009 &bnx2i_conn->gen_pdu.resp_bd_dma, in bnx2i_conn_alloc_login_resources()
1011 if (bnx2i_conn->gen_pdu.resp_bd_tbl == NULL) in bnx2i_conn_alloc_login_resources()
1018 bnx2i_conn->gen_pdu.req_bd_tbl, in bnx2i_conn_alloc_login_resources()
1019 bnx2i_conn->gen_pdu.req_bd_dma); in bnx2i_conn_alloc_login_resources()
1020 bnx2i_conn->gen_pdu.req_bd_tbl = NULL; in bnx2i_conn_alloc_login_resources()
1024 bnx2i_conn->gen_pdu.resp_buf, in bnx2i_conn_alloc_login_resources()
1025 bnx2i_conn->gen_pdu.resp_dma_addr); in bnx2i_conn_alloc_login_resources()
1026 bnx2i_conn->gen_pdu.resp_buf = NULL; in bnx2i_conn_alloc_login_resources()
1029 bnx2i_conn->gen_pdu.req_buf, in bnx2i_conn_alloc_login_resources()
1030 bnx2i_conn->gen_pdu.req_dma_addr); in bnx2i_conn_alloc_login_resources()
1031 bnx2i_conn->gen_pdu.req_buf = NULL; in bnx2i_conn_alloc_login_resources()
1033 iscsi_conn_printk(KERN_ERR, bnx2i_conn->cls_conn->dd_data, in bnx2i_conn_alloc_login_resources()
1047 static void bnx2i_iscsi_prep_generic_pdu_bd(struct bnx2i_conn *bnx2i_conn) in bnx2i_iscsi_prep_generic_pdu_bd() argument
1051 bd_tbl = (struct iscsi_bd *) bnx2i_conn->gen_pdu.req_bd_tbl; in bnx2i_iscsi_prep_generic_pdu_bd()
1054 (u32) ((u64) bnx2i_conn->gen_pdu.req_dma_addr >> 32); in bnx2i_iscsi_prep_generic_pdu_bd()
1055 bd_tbl->buffer_addr_lo = (u32) bnx2i_conn->gen_pdu.req_dma_addr; in bnx2i_iscsi_prep_generic_pdu_bd()
1056 bd_tbl->buffer_length = bnx2i_conn->gen_pdu.req_wr_ptr - in bnx2i_iscsi_prep_generic_pdu_bd()
1057 bnx2i_conn->gen_pdu.req_buf; in bnx2i_iscsi_prep_generic_pdu_bd()
1062 bd_tbl = (struct iscsi_bd *) bnx2i_conn->gen_pdu.resp_bd_tbl; in bnx2i_iscsi_prep_generic_pdu_bd()
1063 bd_tbl->buffer_addr_hi = (u64) bnx2i_conn->gen_pdu.resp_dma_addr >> 32; in bnx2i_iscsi_prep_generic_pdu_bd()
1064 bd_tbl->buffer_addr_lo = (u32) bnx2i_conn->gen_pdu.resp_dma_addr; in bnx2i_iscsi_prep_generic_pdu_bd()
1082 struct bnx2i_conn *bnx2i_conn = cmd->conn; in bnx2i_iscsi_send_generic_request() local
1087 bnx2i_iscsi_prep_generic_pdu_bd(bnx2i_conn); in bnx2i_iscsi_send_generic_request()
1090 bnx2i_send_iscsi_login(bnx2i_conn, task); in bnx2i_iscsi_send_generic_request()
1093 data_len = bnx2i_conn->gen_pdu.req_buf_size; in bnx2i_iscsi_send_generic_request()
1094 buf = bnx2i_conn->gen_pdu.req_buf; in bnx2i_iscsi_send_generic_request()
1096 rc = bnx2i_send_iscsi_nopout(bnx2i_conn, task, in bnx2i_iscsi_send_generic_request()
1099 rc = bnx2i_send_iscsi_nopout(bnx2i_conn, task, in bnx2i_iscsi_send_generic_request()
1103 rc = bnx2i_send_iscsi_logout(bnx2i_conn, task); in bnx2i_iscsi_send_generic_request()
1106 rc = bnx2i_send_iscsi_tmf(bnx2i_conn, task); in bnx2i_iscsi_send_generic_request()
1109 rc = bnx2i_send_iscsi_text(bnx2i_conn, task); in bnx2i_iscsi_send_generic_request()
1112 iscsi_conn_printk(KERN_ALERT, bnx2i_conn->cls_conn->dd_data, in bnx2i_iscsi_send_generic_request()
1159 struct bnx2i_conn *bnx2i_conn = conn->dd_data; in bnx2i_cleanup_task() local
1160 struct bnx2i_hba *hba = bnx2i_conn->hba; in bnx2i_cleanup_task()
1175 wait_for_completion_timeout(&bnx2i_conn->cmd_cleanup_cmpl, in bnx2i_cleanup_task()
1191 struct bnx2i_conn *bnx2i_conn = conn->dd_data; in bnx2i_mtask_xmit() local
1192 struct bnx2i_hba *hba = bnx2i_conn->hba; in bnx2i_mtask_xmit()
1195 memset(bnx2i_conn->gen_pdu.req_buf, 0, ISCSI_DEF_MAX_RECV_SEG_LEN); in bnx2i_mtask_xmit()
1198 bnx2i_conn->gen_pdu.req_buf_size = task->data_count; in bnx2i_mtask_xmit()
1205 memcpy(bnx2i_conn->gen_pdu.req_buf, task->data, in bnx2i_mtask_xmit()
1207 bnx2i_conn->gen_pdu.req_wr_ptr = in bnx2i_mtask_xmit()
1208 bnx2i_conn->gen_pdu.req_buf + task->data_count; in bnx2i_mtask_xmit()
1227 struct bnx2i_conn *bnx2i_conn = conn->dd_data; in bnx2i_task_xmit() local
1232 if (atomic_read(&bnx2i_conn->ep->num_active_cmds) + 1 > in bnx2i_task_xmit()
1244 cmd->conn = bnx2i_conn; in bnx2i_task_xmit()
1272 bnx2i_send_iscsi_scsicmd(bnx2i_conn, cmd); in bnx2i_task_xmit()
1361 struct bnx2i_conn *bnx2i_conn; in bnx2i_conn_create() local
1365 cls_conn = iscsi_conn_setup(cls_session, sizeof(*bnx2i_conn), in bnx2i_conn_create()
1371 bnx2i_conn = conn->dd_data; in bnx2i_conn_create()
1372 bnx2i_conn->cls_conn = cls_conn; in bnx2i_conn_create()
1373 bnx2i_conn->hba = hba; in bnx2i_conn_create()
1375 atomic_set(&bnx2i_conn->work_cnt, 0); in bnx2i_conn_create()
1378 bnx2i_conn->ep = NULL; in bnx2i_conn_create()
1379 init_completion(&bnx2i_conn->cmd_cleanup_cmpl); in bnx2i_conn_create()
1381 if (bnx2i_conn_alloc_login_resources(hba, bnx2i_conn)) { in bnx2i_conn_create()
1411 struct bnx2i_conn *bnx2i_conn = conn->dd_data; in bnx2i_conn_bind() local
1455 bnx2i_ep->conn = bnx2i_conn; in bnx2i_conn_bind()
1456 bnx2i_conn->ep = bnx2i_ep; in bnx2i_conn_bind()
1457 bnx2i_conn->iscsi_conn_cid = bnx2i_ep->ep_iscsi_cid; in bnx2i_conn_bind()
1458 bnx2i_conn->fw_cid = bnx2i_ep->ep_cid; in bnx2i_conn_bind()
1460 ret_code = bnx2i_bind_conn_to_iscsi_cid(hba, bnx2i_conn, in bnx2i_conn_bind()
1467 bnx2i_put_rq_buf(bnx2i_conn, 0); in bnx2i_conn_bind()
1469 bnx2i_arm_cq_event_coalescing(bnx2i_conn->ep, CNIC_ARM_CQE); in bnx2i_conn_bind()
1486 struct bnx2i_conn *bnx2i_conn = conn->dd_data; in bnx2i_conn_destroy() local
1496 bnx2i_conn_free_login_resources(hba, bnx2i_conn); in bnx2i_conn_destroy()
1498 if (atomic_read(&bnx2i_conn->work_cnt)) { in bnx2i_conn_destroy()
1505 work->bnx2i_conn == bnx2i_conn) { in bnx2i_conn_destroy()
1509 &bnx2i_conn->work_cnt)) in bnx2i_conn_destroy()
1613 struct bnx2i_conn *bnx2i_conn = conn->dd_data; in bnx2i_conn_start() local
1615 bnx2i_conn->ep->state = EP_STATE_ULP_UPDATE_START; in bnx2i_conn_start()
1622 timer_setup(&bnx2i_conn->ep->ofld_timer, bnx2i_ep_ofld_timer, 0); in bnx2i_conn_start()
1623 bnx2i_conn->ep->ofld_timer.expires = 1 * HZ + jiffies; in bnx2i_conn_start()
1624 add_timer(&bnx2i_conn->ep->ofld_timer); in bnx2i_conn_start()
1626 wait_event_interruptible(bnx2i_conn->ep->ofld_wait, in bnx2i_conn_start()
1627 bnx2i_conn->ep->state != EP_STATE_ULP_UPDATE_START); in bnx2i_conn_start()
1631 del_timer_sync(&bnx2i_conn->ep->ofld_timer); in bnx2i_conn_start()
2126 struct bnx2i_conn *bnx2i_conn = NULL; in bnx2i_ep_disconnect() local
2141 bnx2i_conn = bnx2i_ep->conn; in bnx2i_ep_disconnect()
2142 conn = bnx2i_conn->cls_conn->dd_data; in bnx2i_ep_disconnect()
2169 if (bnx2i_conn) in bnx2i_ep_disconnect()
2170 bnx2i_conn->ep = NULL; in bnx2i_ep_disconnect()