Lines Matching refs:iser_conn

103 iser_create_send_desc(struct iser_conn *iser_conn,
106 struct iser_device *device = iser_conn->ib_conn.device;
123 iser_free_login_buf(struct iser_conn *iser_conn)
125 struct iser_device *device = iser_conn->ib_conn.device;
127 if (!iser_conn->login_buf)
130 if (iser_conn->login_req_dma)
132 iser_conn->login_req_dma,
135 if (iser_conn->login_resp_dma)
137 iser_conn->login_resp_dma,
140 free(iser_conn->login_buf, M_ISER_INITIATOR);
143 iser_conn->login_req_dma = 0;
144 iser_conn->login_resp_dma = 0;
145 iser_conn->login_buf = NULL;
149 iser_alloc_login_buf(struct iser_conn *iser_conn)
151 struct iser_device *device = iser_conn->ib_conn.device;
156 iser_conn->login_buf = malloc(ISCSI_DEF_MAX_RECV_SEG_LEN + ISER_RX_LOGIN_SIZE,
159 if (!iser_conn->login_buf)
162 iser_conn->login_req_buf = iser_conn->login_buf;
163 iser_conn->login_resp_buf = iser_conn->login_buf +
166 iser_conn->login_req_dma = ib_dma_map_single(device->ib_device,
167 iser_conn->login_req_buf,
171 iser_conn->login_resp_dma = ib_dma_map_single(device->ib_device,
172 iser_conn->login_resp_buf,
177 iser_conn->login_req_dma);
179 iser_conn->login_resp_dma);
183 iser_conn->login_req_dma = 0;
185 iser_conn->login_resp_dma = 0;
192 iser_free_login_buf(iser_conn);
199 int iser_alloc_rx_descriptors(struct iser_conn *iser_conn, int cmds_max)
205 struct ib_conn *ib_conn = &iser_conn->ib_conn;
208 iser_conn->qp_max_recv_dtos = cmds_max;
209 iser_conn->min_posted_rx = iser_conn->qp_max_recv_dtos >> 2;
215 iser_conn->num_rx_descs = cmds_max;
216 iser_conn->rx_descs = malloc(iser_conn->num_rx_descs *
219 if (!iser_conn->rx_descs)
222 rx_desc = iser_conn->rx_descs;
224 for (i = 0; i < iser_conn->qp_max_recv_dtos; i++, rx_desc++) {
238 iser_conn->rx_desc_head = 0;
243 rx_desc = iser_conn->rx_descs;
247 free(iser_conn->rx_descs, M_ISER_INITIATOR);
248 iser_conn->rx_descs = NULL;
258 iser_free_rx_descriptors(struct iser_conn *iser_conn)
262 struct ib_conn *ib_conn = &iser_conn->ib_conn;
267 rx_desc = iser_conn->rx_descs;
268 for (i = 0; i < iser_conn->qp_max_recv_dtos; i++, rx_desc++)
272 free(iser_conn->rx_descs, M_ISER_INITIATOR);
275 iser_conn->rx_descs = NULL;
359 iser_send_command(struct iser_conn *iser_conn,
367 u8 sig_count = ++iser_conn->ib_conn.sig_count;
371 iser_create_send_desc(iser_conn, tx_desc);
398 err = iser_post_send(&iser_conn->ib_conn, tx_desc,
404 ISER_ERR("iser_conn %p itt %u len %u err %d", iser_conn,
412 iser_send_control(struct iser_conn *iser_conn,
424 iser_create_send_desc(iser_conn, mdesc);
426 device = iser_conn->ib_conn.device;
431 iser_conn->login_req_dma, datalen,
435 iser_conn->login_req_dma, datalen,
438 tx_dsg->addr = iser_conn->login_req_dma;
445 if (!iser_conn->handoff_done) {
446 err = iser_post_recvl(iser_conn);
451 err = iser_post_send(&iser_conn->ib_conn, mdesc, true);
456 ISER_ERR("conn %p failed err %d", iser_conn, err);
470 struct iser_conn *iser_conn = container_of(ib_conn, struct iser_conn,
472 struct icl_conn *ic = &iser_conn->icl_conn;
480 if ((char *)rx_desc == iser_conn->login_resp_buf) {
481 rx_dma = iser_conn->login_resp_dma;
513 if (rx_dma == iser_conn->login_resp_dma)
517 if (outstanding + iser_conn->min_posted_rx <= iser_conn->qp_max_recv_dtos) {
518 count = min(iser_conn->qp_max_recv_dtos - outstanding,
519 iser_conn->min_posted_rx);
520 err = iser_post_recvm(iser_conn, count);
534 struct iser_conn *iser_conn = iser_pdu->iser_conn;
537 iser_pdu_free(&iser_conn->icl_conn, &iser_pdu->icl_pdu);