Lines Matching refs:iwdev
170 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_send_cm_event()
251 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_create_event()
267 struct irdma_device *iwdev = cm_node->iwdev; in irdma_free_retrans_entry() local
275 irdma_free_sqbuf(&iwdev->vsi, send_entry->sqbuf); in irdma_free_retrans_entry()
308 struct irdma_sc_vsi *vsi = &cm_node->iwdev->vsi; in irdma_form_ah_cm_frame()
317 ibdev_dbg(&cm_node->iwdev->ibdev, "CM: AH invalid\n"); in irdma_form_ah_cm_frame()
323 ibdev_dbg(&cm_node->iwdev->ibdev, "CM: SQ buf NULL\n"); in irdma_form_ah_cm_frame()
417 struct irdma_sc_vsi *vsi = &cm_node->iwdev->vsi; in irdma_form_uda_cm_frame()
604 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_send_reset()
626 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_active_open_err()
647 ibdev_dbg(&cm_node->iwdev->ibdev, "CM: cm_node=%p state =%d\n", in irdma_passive_open_err()
672 if (!iwqp || !iwqp->iwdev) in irdma_event_connect_error()
707 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_process_options()
727 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_process_options()
758 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_handle_tcp_options()
819 if (cm_node->iwdev->iw_ooo) { in irdma_build_mpa_v2()
902 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_send_mpa_request()
1011 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_negotiate_mpa_v2_ird_ord()
1034 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_parse_mpa()
1044 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_parse_mpa()
1050 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_parse_mpa()
1056 ibdev_dbg(&cm_node->iwdev->ibdev, "CM: rev %d\n", in irdma_parse_mpa()
1065 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_parse_mpa()
1072 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_parse_mpa()
1079 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_parse_mpa()
1086 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_parse_mpa()
1133 struct irdma_sc_vsi *vsi = &cm_node->iwdev->vsi; in irdma_schedule_cm_timer()
1158 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_schedule_cm_timer()
1332 vsi = &cm_node->iwdev->vsi; in irdma_cm_timer_tick()
1432 struct irdma_sc_vsi *vsi = &cm_node->iwdev->vsi; in irdma_send_ack()
1505 static int irdma_del_multiple_qhash(struct irdma_device *iwdev, in irdma_del_multiple_qhash() argument
1514 spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); in irdma_del_multiple_qhash()
1520 ibdev_dbg(&iwdev->ibdev, in irdma_del_multiple_qhash()
1526 ibdev_dbg(&iwdev->ibdev, in irdma_del_multiple_qhash()
1537 ret = irdma_manage_qhash(iwdev, cm_info, in irdma_del_multiple_qhash()
1545 ibdev_dbg(&iwdev->ibdev, in irdma_del_multiple_qhash()
1551 spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); in irdma_del_multiple_qhash()
1621 static int irdma_add_mqh_6(struct irdma_device *iwdev, in irdma_add_mqh_6() argument
1638 (rdma_vlan_dev_real_dev(ip_dev) != iwdev->netdev)) && in irdma_add_mqh_6()
1639 ip_dev != iwdev->netdev) in irdma_add_mqh_6()
1644 ibdev_dbg(&iwdev->ibdev, "CM: idev == NULL\n"); in irdma_add_mqh_6()
1648 ibdev_dbg(&iwdev->ibdev, "CM: IP=%pI6, vlan_id=%d, MAC=%pM\n", in irdma_add_mqh_6()
1652 ibdev_dbg(&iwdev->ibdev, "CM: Allocating child listener %p\n", in irdma_add_mqh_6()
1655 ibdev_dbg(&iwdev->ibdev, "CM: listener memory allocation\n"); in irdma_add_mqh_6()
1668 ret = irdma_manage_qhash(iwdev, cm_info, in irdma_add_mqh_6()
1677 trace_irdma_add_mqh_6(iwdev, child_listen_node, in irdma_add_mqh_6()
1681 spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); in irdma_add_mqh_6()
1684 spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); in irdma_add_mqh_6()
1703 static int irdma_add_mqh_4(struct irdma_device *iwdev, in irdma_add_mqh_4() argument
1720 (rdma_vlan_dev_real_dev(ip_dev) != iwdev->netdev)) && in irdma_add_mqh_4()
1721 ip_dev != iwdev->netdev) in irdma_add_mqh_4()
1729 ibdev_dbg(&iwdev->ibdev, in irdma_add_mqh_4()
1735 ibdev_dbg(&iwdev->ibdev, "CM: Allocating child listener %p\n", in irdma_add_mqh_4()
1738 ibdev_dbg(&iwdev->ibdev, "CM: listener memory allocation\n"); in irdma_add_mqh_4()
1752 ret = irdma_manage_qhash(iwdev, cm_info, in irdma_add_mqh_4()
1763 trace_irdma_add_mqh_4(iwdev, child_listen_node, in irdma_add_mqh_4()
1767 spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, in irdma_add_mqh_4()
1771 spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); in irdma_add_mqh_4()
1787 static int irdma_add_mqh(struct irdma_device *iwdev, in irdma_add_mqh() argument
1792 return irdma_add_mqh_4(iwdev, cm_info, cm_listen_node); in irdma_add_mqh()
1794 return irdma_add_mqh_6(iwdev, cm_info, cm_listen_node); in irdma_add_mqh()
1859 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_dec_refcnt_listen()
1875 irdma_del_apbvt(listener->iwdev, in irdma_dec_refcnt_listen()
1882 nfo.qh_qpid = listener->iwdev->vsi.ilq->qp_id; in irdma_dec_refcnt_listen()
1885 irdma_del_multiple_qhash(listener->iwdev, &nfo, in irdma_dec_refcnt_listen()
1889 irdma_manage_qhash(listener->iwdev, in irdma_dec_refcnt_listen()
1898 ibdev_dbg(&listener->iwdev->ibdev, in irdma_dec_refcnt_listen()
1934 static int irdma_addr_resolve_neigh(struct irdma_device *iwdev, u32 src_ip, in irdma_addr_resolve_neigh() argument
1945 ibdev_dbg(&iwdev->ibdev, "CM: ip_route_output fail\n"); in irdma_addr_resolve_neigh()
1954 rc = irdma_add_arp(iwdev->rf, &dst_ip, true, neigh->ha); in irdma_addr_resolve_neigh()
1996 static int irdma_addr_resolve_neigh_ipv6(struct irdma_device *iwdev, u32 *src, in irdma_addr_resolve_neigh_ipv6() argument
2013 ibdev_dbg(&iwdev->ibdev, in irdma_addr_resolve_neigh_ipv6()
2024 ibdev_dbg(&iwdev->ibdev, "CM: dst_neigh_lookup MAC=%pM\n", in irdma_addr_resolve_neigh_ipv6()
2027 trace_irdma_addr_resolve(iwdev, neigh->ha); in irdma_addr_resolve_neigh_ipv6()
2030 rc = irdma_add_arp(iwdev->rf, dest, false, neigh->ha); in irdma_addr_resolve_neigh_ipv6()
2126 struct irdma_device *iwdev = cm_node->iwdev; in irdma_cm_create_ah() local
2128 ether_addr_copy(ah_info.mac_addr, iwdev->netdev->dev_addr); in irdma_cm_create_ah()
2132 ah_info.vsi = &iwdev->vsi; in irdma_cm_create_ah()
2156 irdma_arp_table(iwdev->rf, ah_info.dest_ip_addr, in irdma_cm_create_ah()
2159 if (irdma_puda_create_ah(&iwdev->rf->sc_dev, &ah_info, wait, in irdma_cm_create_ah()
2174 struct irdma_device *iwdev = cm_node->iwdev; in irdma_cm_free_ah() local
2177 irdma_puda_free_ah(&iwdev->rf->sc_dev, cm_node->ah); in irdma_cm_free_ah()
2189 irdma_make_cm_node(struct irdma_cm_core *cm_core, struct irdma_device *iwdev, in irdma_make_cm_node() argument
2196 struct net_device *netdev = iwdev->netdev; in irdma_make_cm_node()
2206 if (cm_node->vlan_id >= VLAN_N_VID && iwdev->dcb_vlan_mode) in irdma_make_cm_node()
2212 ibdev_warn(&iwdev->ibdev, in irdma_make_cm_node()
2215 if (iwdev->vsi.dscp_mode) { in irdma_make_cm_node()
2221 ibdev_dbg(&iwdev->ibdev, in irdma_make_cm_node()
2224 trace_irdma_listener_tos(iwdev, cm_node->tos, in irdma_make_cm_node()
2234 cm_node->iwdev = iwdev; in irdma_make_cm_node()
2235 cm_node->dev = &iwdev->rf->sc_dev; in irdma_make_cm_node()
2251 cm_node->tcp_cntxt.rcv_wscale = iwdev->rcv_wscale; in irdma_make_cm_node()
2252 cm_node->tcp_cntxt.rcv_wnd = iwdev->rcv_wnd >> cm_node->tcp_cntxt.rcv_wscale; in irdma_make_cm_node()
2258 cm_node->tcp_cntxt.mss = iwdev->vsi.mtu - IRDMA_MTU_TO_MSS_IPV4; in irdma_make_cm_node()
2271 cm_node->tcp_cntxt.mss = iwdev->vsi.mtu - IRDMA_MTU_TO_MSS_IPV6; in irdma_make_cm_node()
2279 arpindex = irdma_arp_table(iwdev->rf, cm_node->rem_addr, in irdma_make_cm_node()
2283 oldarpindex = irdma_arp_table(iwdev->rf, cm_node->rem_addr, in irdma_make_cm_node()
2287 arpindex = irdma_addr_resolve_neigh(iwdev, in irdma_make_cm_node()
2292 arpindex = irdma_addr_resolve_neigh_ipv6(iwdev, in irdma_make_cm_node()
2304 iwdev->rf->arp_table[arpindex].mac_addr); in irdma_make_cm_node()
2323 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_destroy_connection()
2333 irdma_del_apbvt(cm_node->iwdev, cm_node->apbvt_entry); in irdma_destroy_connection()
2338 nfo.qh_qpid = cm_node->iwdev->vsi.ilq->qp_id; in irdma_destroy_connection()
2339 irdma_manage_qhash(cm_node->iwdev, &nfo, in irdma_destroy_connection()
2356 nfo.qh_qpid = cm_node->iwdev->vsi.ilq->qp_id; in irdma_destroy_connection()
2357 irdma_manage_qhash(cm_node->iwdev, &nfo, in irdma_destroy_connection()
2447 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_handle_fin_pkt()
2461 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_handle_rst_pkt()
2538 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_handle_rcv_mpa()
2558 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_handle_rcv_mpa()
2601 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_check_seq()
2612 nfo.qh_qpid = cm_node->iwdev->vsi.ilq->qp_id; in irdma_add_conn_est_qh()
2613 irdma_manage_qhash(cm_node->iwdev, &nfo, in irdma_add_conn_est_qh()
2706 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_handle_synack_pkt()
2714 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_handle_synack_pkt()
2724 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_handle_synack_pkt()
2898 struct irdma_device *iwdev, in irdma_make_listen_node() argument
2938 listener->iwdev = iwdev; in irdma_make_listen_node()
2961 struct irdma_device *iwdev, in irdma_create_cm_node() argument
2971 cm_node = irdma_make_cm_node(cm_core, iwdev, cm_info, NULL); in irdma_create_cm_node()
3025 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_cm_reject()
3071 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_cm_close()
3094 struct irdma_device *iwdev = vsi->back_vsi; in irdma_receive_ilq() local
3095 struct irdma_cm_core *cm_core = &iwdev->cm_core; in irdma_receive_ilq()
3103 if (iwdev->rf->sc_dev.hw_attrs.uk_attrs.hw_rev >= IRDMA_GEN_2) { in irdma_receive_ilq()
3120 ibdev_dbg(&cm_core->iwdev->ibdev, in irdma_receive_ilq()
3161 ibdev_dbg(&cm_core->iwdev->ibdev, in irdma_receive_ilq()
3167 cm_node = irdma_make_cm_node(cm_core, iwdev, &cm_info, in irdma_receive_ilq()
3170 ibdev_dbg(&cm_core->iwdev->ibdev, in irdma_receive_ilq()
3209 int irdma_setup_cm_core(struct irdma_device *iwdev, u8 rdma_ver) in irdma_setup_cm_core() argument
3211 struct irdma_cm_core *cm_core = &iwdev->cm_core; in irdma_setup_cm_core()
3213 cm_core->iwdev = iwdev; in irdma_setup_cm_core()
3214 cm_core->dev = &iwdev->rf->sc_dev; in irdma_setup_cm_core()
3257 cm_core->dev->ws_reset(&cm_core->iwdev->vsi); in irdma_cleanup_cm_core()
3271 tcp_info->drop_ooo_seg = !iwqp->iwdev->iw_ooo; in irdma_init_tcp_ctx()
3313 tcp_info->arp_idx = (u16)irdma_arp_table(iwqp->iwdev->rf, in irdma_init_tcp_ctx()
3325 tcp_info->arp_idx = (u16)irdma_arp_table(iwqp->iwdev->rf, in irdma_init_tcp_ctx()
3370 iwqp->tcp_info.src_mac_addr_idx = iwqp->iwdev->mac_ip_table_idx; in irdma_cm_init_tsa_conn()
3390 struct irdma_device *iwdev = iwqp->iwdev; in irdma_cm_disconn() local
3398 spin_lock_irqsave(&iwdev->rf->qptable_lock, flags); in irdma_cm_disconn()
3399 if (!iwdev->rf->qp_table[iwqp->ibqp.qp_num]) { in irdma_cm_disconn()
3400 spin_unlock_irqrestore(&iwdev->rf->qptable_lock, flags); in irdma_cm_disconn()
3401 ibdev_dbg(&iwdev->ibdev, in irdma_cm_disconn()
3408 spin_unlock_irqrestore(&iwdev->rf->qptable_lock, flags); in irdma_cm_disconn()
3412 queue_work(iwdev->cleanup_wq, &work->work); in irdma_cm_disconn()
3421 struct irdma_device *iwdev = iwqp->iwdev; in irdma_qp_disconnect() local
3425 ibdev_dbg(&iwdev->ibdev, "CM: Call close API\n"); in irdma_qp_disconnect()
3436 struct irdma_device *iwdev; in irdma_cm_disconn_true() local
3448 iwdev = iwqp->iwdev; in irdma_cm_disconn_true()
3450 if (rdma_protocol_roce(&iwdev->ibdev, 1)) { in irdma_cm_disconn_true()
3492 last_ae == IRDMA_AE_LLP_CONNECTION_RESET || iwdev->rf->reset || !cm_id) { in irdma_cm_disconn_true()
3514 spin_lock_irqsave(&iwdev->cm_core.ht_lock, flags); in irdma_cm_disconn_true()
3516 spin_unlock_irqrestore(&iwdev->cm_core.ht_lock, flags); in irdma_cm_disconn_true()
3521 spin_unlock_irqrestore(&iwdev->cm_core.ht_lock, flags); in irdma_cm_disconn_true()
3528 ibdev_dbg(&iwdev->ibdev, in irdma_cm_disconn_true()
3537 ibdev_dbg(&iwdev->ibdev, in irdma_cm_disconn_true()
3565 struct irdma_device *iwdev; in irdma_free_lsmm_rsrc() local
3567 iwdev = iwqp->iwdev; in irdma_free_lsmm_rsrc()
3571 iwdev->ibdev.ops.dereg_mr(iwqp->lsmm_mr, NULL); in irdma_free_lsmm_rsrc()
3572 dma_free_coherent(iwdev->rf->sc_dev.hw->device, in irdma_free_lsmm_rsrc()
3589 struct irdma_device *iwdev; in irdma_accept() local
3607 iwdev = iwqp->iwdev; in irdma_accept()
3608 dev = &iwdev->rf->sc_dev; in irdma_accept()
3619 ibdev_dbg(&iwdev->ibdev, "CM: Accept vlan_id=%d\n", in irdma_accept()
3701 ibdev_dbg(&iwdev->ibdev, in irdma_accept()
3719 ibdev_dbg(&iwdev->ibdev, in irdma_accept()
3741 struct irdma_device *iwdev; in irdma_reject() local
3749 iwdev = to_iwdev(cm_id->device); in irdma_reject()
3750 if (!iwdev) in irdma_reject()
3770 struct irdma_device *iwdev; in irdma_connect() local
3785 iwdev = iwqp->iwdev; in irdma_connect()
3786 if (!iwdev) in irdma_connect()
3803 if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV4) in irdma_connect()
3815 if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV6) in irdma_connect()
3829 cm_info.qh_qpid = iwdev->vsi.ilq->qp_id; in irdma_connect()
3831 if (iwdev->vsi.dscp_mode) in irdma_connect()
3841 ibdev_dbg(&iwdev->ibdev, "DCB: TOS:[%d] UP:[%d]\n", cm_id->tos, in irdma_connect()
3844 trace_irdma_dcb_tos(iwdev, cm_id->tos, cm_info.user_pri); in irdma_connect()
3846 ret = irdma_create_cm_node(&iwdev->cm_core, iwdev, conn_param, &cm_info, in irdma_connect()
3853 if (irdma_manage_qhash(iwdev, &cm_info, in irdma_connect()
3861 cm_node->apbvt_entry = irdma_add_apbvt(iwdev, cm_info.loc_port); in irdma_connect()
3881 ibdev_dbg(&iwdev->ibdev, in irdma_connect()
3892 ibdev_dbg(&iwdev->ibdev, in irdma_connect()
3896 ibdev_dbg(&iwdev->ibdev, in irdma_connect()
3900 iwdev->cm_core.stats_connect_errs++; in irdma_connect()
3912 struct irdma_device *iwdev; in irdma_create_listen() local
3920 iwdev = to_iwdev(cm_id->device); in irdma_create_listen()
3921 if (!iwdev) in irdma_create_listen()
3926 cm_info.qh_qpid = iwdev->vsi.ilq->qp_id; in irdma_create_listen()
3929 if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV4) in irdma_create_listen()
3943 if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV6) in irdma_create_listen()
3959 if (cm_info.vlan_id >= VLAN_N_VID && iwdev->dcb_vlan_mode) in irdma_create_listen()
3964 trace_irdma_create_listen(iwdev, &cm_info); in irdma_create_listen()
3966 cm_listen_node = irdma_make_listen_node(&iwdev->cm_core, iwdev, in irdma_create_listen()
3969 ibdev_dbg(&iwdev->ibdev, in irdma_create_listen()
3977 if (iwdev->vsi.dscp_mode) in irdma_create_listen()
3979 iwdev->vsi.dscp_map[irdma_tos2dscp(cm_id->tos)]; in irdma_create_listen()
3985 err = irdma_add_mqh(iwdev, &cm_info, cm_listen_node); in irdma_create_listen()
3989 err = irdma_manage_qhash(iwdev, &cm_info, in irdma_create_listen()
3999 cm_listen_node->apbvt_entry = irdma_add_apbvt(iwdev, in irdma_create_listen()
4006 ibdev_dbg(&iwdev->ibdev, in irdma_create_listen()
4016 irdma_cm_del_listen(&iwdev->cm_core, cm_listen_node, false); in irdma_create_listen()
4027 struct irdma_device *iwdev; in irdma_destroy_listen() local
4029 iwdev = to_iwdev(cm_id->device); in irdma_destroy_listen()
4031 irdma_cm_del_listen(&iwdev->cm_core, cm_id->provider_data, in irdma_destroy_listen()
4034 ibdev_dbg(&iwdev->ibdev, in irdma_destroy_listen()
4075 struct irdma_device *iwdev; in irdma_cm_event_connected() local
4087 iwdev = iwqp->iwdev; in irdma_cm_event_connected()
4088 dev = &iwdev->rf->sc_dev; in irdma_cm_event_connected()
4110 ibdev_dbg(&iwdev->ibdev, in irdma_cm_event_connected()
4147 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_cm_event_reset()
4199 ibdev_dbg(&cm_node->iwdev->ibdev, in irdma_cm_event_handler()
4228 void irdma_cm_teardown_connections(struct irdma_device *iwdev, u32 *ipaddr, in irdma_cm_teardown_connections() argument
4232 struct irdma_cm_core *cm_core = &iwdev->cm_core; in irdma_cm_teardown_connections()
4250 if (iwdev->rf->reset) in irdma_cm_teardown_connections()
4271 static void irdma_qhash_ctrl(struct irdma_device *iwdev, in irdma_qhash_ctrl() argument
4307 err = irdma_manage_qhash(iwdev, nfo, IRDMA_QHASH_TYPE_TCP_SYN, op, NULL, in irdma_qhash_ctrl()
4327 void irdma_if_notify(struct irdma_device *iwdev, struct net_device *netdev, in irdma_if_notify() argument
4330 struct irdma_cm_core *cm_core = &iwdev->cm_core; in irdma_if_notify()
4357 irdma_qhash_ctrl(iwdev, listen_node, &nfo, ipaddr, ipv4, in irdma_if_notify()
4361 if (!irdma_manage_qhash(iwdev, &nfo, in irdma_if_notify()
4371 irdma_cm_teardown_connections(iwdev, ipaddr, &nfo, false); in irdma_if_notify()