Lines Matching defs:qedi_ep
244 struct qedi_endpoint *qedi_ep;
249 qedi_ep = ep->dd_data;
250 shost = qedi_ep->qedi->shost;
263 "Failed to setup session for ep=%p\n", qedi_ep);
269 "Failed to setup cmd pool for ep=%p\n", qedi_ep);
388 struct qedi_endpoint *qedi_ep;
396 qedi_ep = ep->dd_data;
397 if ((qedi_ep->state == EP_STATE_TCP_FIN_RCVD) ||
398 (qedi_ep->state == EP_STATE_TCP_RST_RCVD)) {
409 qedi_ep->conn = qedi_conn;
410 qedi_conn->ep = qedi_ep;
412 qedi_conn->iscsi_conn_id = qedi_ep->iscsi_cid;
413 qedi_conn->fw_cid = qedi_ep->fw_cid;
437 struct qedi_endpoint *qedi_ep;
440 qedi_ep = qedi_conn->ep;
471 rval = qedi_ops->update_conn(qedi->cdev, qedi_ep->handle,
500 static int qedi_iscsi_offload_conn(struct qedi_endpoint *qedi_ep)
502 struct qedi_ctx *qedi = qedi_ep->qedi;
510 "Failed to allocate memory ep=%p\n", qedi_ep);
514 ether_addr_copy(conn_info->src.mac, qedi_ep->src_mac);
515 ether_addr_copy(conn_info->dst.mac, qedi_ep->dst_mac);
517 conn_info->src.ip[0] = ntohl(qedi_ep->src_addr[0]);
518 conn_info->dst.ip[0] = ntohl(qedi_ep->dst_addr[0]);
520 if (qedi_ep->ip_type == TCP_IPV4) {
524 qedi_ep->src_addr, qedi_ep->dst_addr);
527 conn_info->src.ip[i] = ntohl(qedi_ep->src_addr[i]);
528 conn_info->dst.ip[i] = ntohl(qedi_ep->dst_addr[i]);
534 qedi_ep->src_addr, qedi_ep->dst_addr);
537 conn_info->src.port = qedi_ep->src_port;
538 conn_info->dst.port = qedi_ep->dst_port;
541 conn_info->sq_pbl_addr = qedi_ep->sq_pbl_dma;
542 conn_info->vlan_id = qedi_ep->vlan_id;
549 conn_info->default_cq = (qedi_ep->fw_cid % qedi->num_queues);
564 conn_info->remote_port = qedi_ep->dst_port;
565 conn_info->local_port = qedi_ep->src_port;
567 conn_info->mss = qedi_calc_mss(qedi_ep->pmtu,
568 (qedi_ep->ip_type == TCP_IPV6),
569 1, (qedi_ep->vlan_id != 0));
580 rval = qedi_ops->offload_conn(qedi->cdev, qedi_ep->handle, conn_info);
583 rval, qedi_ep);
636 struct qedi_endpoint *qedi_ep = ep->dd_data;
639 if (!qedi_ep)
644 len = sprintf(buf, "%hu\n", qedi_ep->dst_port);
647 if (qedi_ep->ip_type == TCP_IPV4)
648 len = sprintf(buf, "%pI4\n", qedi_ep->dst_addr);
650 len = sprintf(buf, "%pI6\n", qedi_ep->dst_addr);
833 struct qedi_endpoint *qedi_ep =
839 qedi = qedi_ep->qedi;
841 ret = qedi_iscsi_offload_conn(qedi_ep);
844 "offload error: iscsi_cid=%u, qedi_ep=%p, ret=%d\n",
845 qedi_ep->iscsi_cid, qedi_ep, ret);
846 qedi_ep->state = EP_STATE_OFLDCONN_FAILED;
850 ret = wait_event_interruptible_timeout(qedi_ep->tcp_ofld_wait,
851 (qedi_ep->state ==
854 if (ret <= 0 || qedi_ep->state != EP_STATE_OFLDCONN_COMPL) {
855 qedi_ep->state = EP_STATE_OFLDCONN_FAILED;
857 "Offload conn TIMEOUT iscsi_cid=%u, qedi_ep=%p\n",
858 qedi_ep->iscsi_cid, qedi_ep);
868 struct qedi_endpoint *qedi_ep;
908 qedi_ep = ep->dd_data;
909 memset(qedi_ep, 0, sizeof(struct qedi_endpoint));
910 INIT_WORK(&qedi_ep->offload_work, qedi_offload_work);
911 qedi_ep->state = EP_STATE_IDLE;
912 qedi_ep->iscsi_cid = (u32)-1;
913 qedi_ep->qedi = qedi;
917 memcpy(qedi_ep->dst_addr, &addr->sin_addr.s_addr,
919 qedi_ep->dst_port = ntohs(addr->sin_port);
920 qedi_ep->ip_type = TCP_IPV4;
923 qedi_ep->dst_addr, qedi_ep->dst_port);
926 memcpy(qedi_ep->dst_addr, &addr6->sin6_addr,
928 qedi_ep->dst_port = ntohs(addr6->sin6_port);
929 qedi_ep->ip_type = TCP_IPV6;
932 qedi_ep->dst_addr, qedi_ep->dst_port);
937 ret = qedi_alloc_sq(qedi, qedi_ep);
941 ret = qedi_ops->acquire_conn(qedi->cdev, &qedi_ep->handle,
942 &qedi_ep->fw_cid, &qedi_ep->p_doorbell);
950 iscsi_cid = qedi_ep->handle;
951 qedi_ep->iscsi_cid = iscsi_cid;
953 init_waitqueue_head(&qedi_ep->ofld_wait);
954 init_waitqueue_head(&qedi_ep->tcp_ofld_wait);
955 qedi_ep->state = EP_STATE_OFLDCONN_START;
956 qedi->ep_tbl[iscsi_cid] = qedi_ep;
963 path_req.handle = (u64)qedi_ep->iscsi_cid;
965 qedi_ep->pmtu = qedi->ll2_mtu;
966 if (qedi_ep->ip_type == TCP_IPV4) {
967 memcpy(&path_req.dst.v4_addr, &qedi_ep->dst_addr,
971 memcpy(&path_req.dst.v6_addr, &qedi_ep->dst_addr,
990 tmp = qedi_ops->release_conn(qedi->cdev, qedi_ep->handle);
995 qedi_free_sq(qedi, qedi_ep);
1003 struct qedi_endpoint *qedi_ep;
1009 qedi_ep = ep->dd_data;
1010 if (qedi_ep->state == EP_STATE_IDLE ||
1011 qedi_ep->state == EP_STATE_OFLDCONN_NONE ||
1012 qedi_ep->state == EP_STATE_OFLDCONN_FAILED)
1015 if (qedi_ep->state == EP_STATE_OFLDCONN_COMPL)
1018 ret = wait_event_interruptible_timeout(qedi_ep->ofld_wait,
1019 QEDI_OFLD_WAIT_STATE(qedi_ep),
1022 if (qedi_ep->state == EP_STATE_OFLDCONN_FAILED)
1048 struct qedi_endpoint *qedi_ep;
1058 qedi_ep = ep->dd_data;
1059 qedi = qedi_ep->qedi;
1061 flush_work(&qedi_ep->offload_work);
1063 if (qedi_ep->state == EP_STATE_OFLDCONN_START)
1066 if (qedi_ep->conn) {
1067 qedi_conn = qedi_ep->conn;
1084 qedi_ep->iscsi_cid);
1088 "Reset recovery cid=0x%x, qedi_ep=%p, state=0x%x\n",
1089 qedi_ep->iscsi_cid, qedi_ep, qedi_ep->state);
1098 switch (qedi_ep->state) {
1111 qedi_ep->state,
1112 qedi_ep->iscsi_cid,
1113 qedi_ep->conn
1131 qedi_ep->state = EP_STATE_DISCONN_START;
1137 ret = qedi_ops->destroy_conn(qedi->cdev, qedi_ep->handle, abrt_conn);
1143 qedi_ep->tcp_ofld_wait,
1144 (qedi_ep->state !=
1147 if ((ret <= 0) || (qedi_ep->state == EP_STATE_DISCONN_START)) {
1150 ret, wait_delay, qedi_ep->iscsi_cid);
1155 ret = qedi_ops->release_conn(qedi->cdev, qedi_ep->handle);
1159 ret, qedi_ep->iscsi_cid);
1161 qedi_ep->state = EP_STATE_IDLE;
1162 qedi->ep_tbl[qedi_ep->iscsi_cid] = NULL;
1163 qedi->cid_que.conn_cid_tbl[qedi_ep->iscsi_cid] = NULL;
1164 qedi_free_id(&qedi->lcl_port_tbl, qedi_ep->src_port);
1165 qedi_free_sq(qedi, qedi_ep);
1170 qedi_ep->conn = NULL;
1171 qedi_ep->qedi = NULL;
1233 struct qedi_endpoint *qedi_ep;
1262 qedi_ep = qedi->ep_tbl[iscsi_cid];
1264 "iscsi_cid=0x%x, qedi_ep=%p\n", iscsi_cid, qedi_ep);
1265 if (!qedi_ep) {
1272 qedi_ep->state = EP_STATE_OFLDCONN_NONE;
1277 ether_addr_copy(&qedi_ep->src_mac[0], &qedi->mac[0]);
1278 ether_addr_copy(&qedi_ep->dst_mac[0], &path_data->mac_addr[0]);
1280 qedi_ep->vlan_id = path_data->vlan_id;
1282 qedi_ep->pmtu = qedi->ll2_mtu;
1285 path_data->pmtu, qedi_ep->pmtu);
1296 qedi_ep->pmtu = qedi->ll2_mtu;
1299 port_id = qedi_ep->src_port;
1319 qedi_ep->src_port = port_id;
1321 if (qedi_ep->ip_type == TCP_IPV4) {
1322 memcpy(&qedi_ep->src_addr[0], &path_data->src.v4_addr,
1330 qedi_ep->src_addr, qedi_ep->src_port,
1331 qedi_ep->dst_addr, qedi_ep->dst_port);
1333 memcpy(&qedi_ep->src_addr[0], &path_data->src.v6_addr,
1341 qedi_ep->src_addr, qedi_ep->src_port,
1342 qedi_ep->dst_addr, qedi_ep->dst_port);
1345 queue_work(qedi->offload_thread, &qedi_ep->offload_work);