Lines Matching refs:iser_conn
64 is_iser_tx_desc(struct iser_conn *iser_conn, void *wr_id) in is_iser_tx_desc() argument
66 void *start = iser_conn->rx_descs; in is_iser_tx_desc()
67 u64 len = iser_conn->num_rx_descs * sizeof(*iser_conn->rx_descs); in is_iser_tx_desc()
74 return ((uintptr_t)wr_id != (uintptr_t)iser_conn->login_resp_buf); in is_iser_tx_desc()
94 struct iser_conn *iser_conn = container_of(ib_conn, struct iser_conn, in iser_handle_comp_error() local
97 if (is_iser_tx_desc(iser_conn, wr_id)) { in iser_handle_comp_error()
98 ISER_DBG("conn %p got send comp error", iser_conn); in iser_handle_comp_error()
100 ISER_DBG("conn %p got recv comp error", iser_conn); in iser_handle_comp_error()
104 iser_conn->icl_conn.ic_error(&iser_conn->icl_conn); in iser_handle_comp_error()
135 struct iser_conn *iser_conn = container_of(ib_conn, struct iser_conn, in iser_handle_wc() local
139 iser_conn, (unsigned long long)wc->wr_id, in iser_handle_wc()
143 iser_conn, (unsigned long long)wc->wr_id); in iser_handle_wc()
149 ISER_DBG("conn %p got ISER_BEACON_WRID", iser_conn); in iser_handle_wc()
421 struct iser_conn *iser_conn; in iser_create_ib_conn_res() local
428 iser_conn = container_of(ib_conn, struct iser_conn, ib_conn); in iser_create_ib_conn_res()
457 iser_conn->max_cmds = in iser_create_ib_conn_res()
461 iser_conn->max_cmds = in iser_create_ib_conn_res()
541 static int iser_conn_state_comp_exch(struct iser_conn *iser_conn, in iser_conn_state_comp_exch() argument
547 ret = (iser_conn->state == comp); in iser_conn_state_comp_exch()
549 iser_conn->state = exch; in iser_conn_state_comp_exch()
566 iser_free_ib_conn_res(struct iser_conn *iser_conn, in iser_free_ib_conn_res() argument
569 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_free_ib_conn_res()
573 iser_conn, ib_conn->cma_id, ib_conn->qp); in iser_free_ib_conn_res()
584 if (iser_conn->login_buf) in iser_free_ib_conn_res()
585 iser_free_login_buf(iser_conn); in iser_free_ib_conn_res()
587 if (iser_conn->rx_descs) in iser_free_ib_conn_res()
588 iser_free_rx_descriptors(iser_conn); in iser_free_ib_conn_res()
602 iser_conn_terminate(struct iser_conn *iser_conn) in iser_conn_terminate() argument
604 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_conn_terminate()
610 if (!iser_conn_state_comp_exch(iser_conn, ISER_CONN_UP, in iser_conn_terminate()
614 ISER_INFO("iser_conn %p state %d\n", iser_conn, iser_conn->state); in iser_conn_terminate()
640 iser_conn, err); in iser_conn_terminate()
654 ISER_DBG("before send cv_wait: %p", iser_conn); in iser_conn_terminate()
656 ISER_DBG("after send cv_wait: %p", iser_conn); in iser_conn_terminate()
668 ISER_DBG("before recv cv_wait: %p", iser_conn); in iser_conn_terminate()
671 ISER_DBG("after recv cv_wait: %p", iser_conn); in iser_conn_terminate()
684 struct iser_conn *iser_conn; in iser_connect_error() local
686 iser_conn = cma_id->context; in iser_connect_error()
688 ISER_ERR("conn %p", iser_conn); in iser_connect_error()
690 iser_conn->state = ISER_CONN_TERMINATING; in iser_connect_error()
692 cv_signal(&iser_conn->up_cv); in iser_connect_error()
702 struct iser_conn *iser_conn; in iser_addr_handler() local
706 iser_conn = cma_id->context; in iser_addr_handler()
708 ib_conn = &iser_conn->ib_conn; in iser_addr_handler()
712 iser_conn); in iser_addr_handler()
721 ISER_ERR("conn %p resolve route failed: %d", iser_conn, ret); in iser_addr_handler()
736 struct iser_conn *iser_conn = cma_id->context; in iser_route_handler() local
737 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_route_handler()
762 ISER_ERR("conn %p failure connecting: %d", iser_conn, ret); in iser_route_handler()
777 struct iser_conn *iser_conn; in iser_connected_handler() local
781 iser_conn = cma_id->context; in iser_connected_handler()
788 iser_conn->state = ISER_CONN_UP; in iser_connected_handler()
790 cv_signal(&iser_conn->up_cv); in iser_connected_handler()
799 struct iser_conn *iser_conn = cma_id->context; in iser_cleanup_handler() local
801 if (iser_conn_terminate(iser_conn)) in iser_cleanup_handler()
802 iser_conn->icl_conn.ic_error(&iser_conn->icl_conn); in iser_cleanup_handler()
809 struct iser_conn *iser_conn; in iser_cma_handler() local
812 iser_conn = cma_id->context; in iser_cma_handler()
816 sx_xlock(&iser_conn->state_mutex); in iser_cma_handler()
843 sx_xunlock(&iser_conn->state_mutex); in iser_cma_handler()
849 iser_post_recvl(struct iser_conn *iser_conn) in iser_post_recvl() argument
853 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_post_recvl()
857 sge.addr = iser_conn->login_resp_dma; in iser_post_recvl()
861 rx_wr.wr_id = (uintptr_t)iser_conn->login_resp_buf; in iser_post_recvl()
877 iser_post_recvm(struct iser_conn *iser_conn, int count) in iser_post_recvm() argument
882 struct ib_conn *ib_conn = &iser_conn->ib_conn; in iser_post_recvm()
883 unsigned int my_rx_head = iser_conn->rx_desc_head; in iser_post_recvm()
887 rx_desc = &iser_conn->rx_descs[my_rx_head]; in iser_post_recvm()
892 my_rx_head = (my_rx_head + 1) % iser_conn->qp_max_recv_dtos; in iser_post_recvm()
904 iser_conn->rx_desc_head = my_rx_head; in iser_post_recvm()