Lines Matching refs:iwdev
170 ibdev_dbg(&cm_node->iwdev->ibdev,
251 ibdev_dbg(&cm_node->iwdev->ibdev,
267 struct irdma_device *iwdev = cm_node->iwdev;
275 irdma_free_sqbuf(&iwdev->vsi, send_entry->sqbuf);
308 struct irdma_sc_vsi *vsi = &cm_node->iwdev->vsi;
317 ibdev_dbg(&cm_node->iwdev->ibdev, "CM: AH invalid\n");
323 ibdev_dbg(&cm_node->iwdev->ibdev, "CM: SQ buf NULL\n");
417 struct irdma_sc_vsi *vsi = &cm_node->iwdev->vsi;
604 ibdev_dbg(&cm_node->iwdev->ibdev,
626 ibdev_dbg(&cm_node->iwdev->ibdev,
647 ibdev_dbg(&cm_node->iwdev->ibdev, "CM: cm_node=%p state =%d\n",
672 if (!iwqp || !iwqp->iwdev)
707 ibdev_dbg(&cm_node->iwdev->ibdev,
727 ibdev_dbg(&cm_node->iwdev->ibdev,
758 ibdev_dbg(&cm_node->iwdev->ibdev,
819 if (cm_node->iwdev->iw_ooo) {
902 ibdev_dbg(&cm_node->iwdev->ibdev,
1011 ibdev_dbg(&cm_node->iwdev->ibdev,
1034 ibdev_dbg(&cm_node->iwdev->ibdev,
1044 ibdev_dbg(&cm_node->iwdev->ibdev,
1050 ibdev_dbg(&cm_node->iwdev->ibdev,
1056 ibdev_dbg(&cm_node->iwdev->ibdev, "CM: rev %d\n",
1065 ibdev_dbg(&cm_node->iwdev->ibdev,
1072 ibdev_dbg(&cm_node->iwdev->ibdev,
1079 ibdev_dbg(&cm_node->iwdev->ibdev,
1086 ibdev_dbg(&cm_node->iwdev->ibdev,
1133 struct irdma_sc_vsi *vsi = &cm_node->iwdev->vsi;
1158 ibdev_dbg(&cm_node->iwdev->ibdev,
1332 vsi = &cm_node->iwdev->vsi;
1432 struct irdma_sc_vsi *vsi = &cm_node->iwdev->vsi;
1503 * @iwdev: iWarp device
1507 static int irdma_del_multiple_qhash(struct irdma_device *iwdev,
1516 spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags);
1522 ibdev_dbg(&iwdev->ibdev,
1528 ibdev_dbg(&iwdev->ibdev,
1539 ret = irdma_manage_qhash(iwdev, cm_info,
1547 ibdev_dbg(&iwdev->ibdev,
1553 spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags);
1648 * @iwdev: iWarp device
1655 static int irdma_add_mqh_6(struct irdma_device *iwdev,
1672 (rdma_vlan_dev_real_dev(ip_dev) != iwdev->netdev)) &&
1673 ip_dev != iwdev->netdev)
1678 ibdev_dbg(&iwdev->ibdev, "CM: idev == NULL\n");
1682 ibdev_dbg(&iwdev->ibdev, "CM: IP=%pI6, vlan_id=%d, MAC=%pM\n",
1686 ibdev_dbg(&iwdev->ibdev, "CM: Allocating child listener %p\n",
1689 ibdev_dbg(&iwdev->ibdev, "CM: listener memory allocation\n");
1702 if (!iwdev->vsi.dscp_mode)
1708 ret = irdma_manage_qhash(iwdev, cm_info,
1717 trace_irdma_add_mqh_6(iwdev, child_listen_node,
1721 spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags);
1724 spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags);
1736 * @iwdev: iWarp device
1743 static int irdma_add_mqh_4(struct irdma_device *iwdev,
1760 (rdma_vlan_dev_real_dev(ip_dev) != iwdev->netdev)) &&
1761 ip_dev != iwdev->netdev)
1769 ibdev_dbg(&iwdev->ibdev,
1775 ibdev_dbg(&iwdev->ibdev, "CM: Allocating child listener %p\n",
1778 ibdev_dbg(&iwdev->ibdev, "CM: listener memory allocation\n");
1792 if (!iwdev->vsi.dscp_mode)
1797 ret = irdma_manage_qhash(iwdev, cm_info,
1808 trace_irdma_add_mqh_4(iwdev, child_listen_node,
1812 spin_lock_irqsave(&iwdev->cm_core.listen_list_lock,
1816 spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags);
1828 * @iwdev: iWarp device
1832 static int irdma_add_mqh(struct irdma_device *iwdev,
1837 return irdma_add_mqh_4(iwdev, cm_info, cm_listen_node);
1839 return irdma_add_mqh_6(iwdev, cm_info, cm_listen_node);
1904 ibdev_dbg(&cm_node->iwdev->ibdev,
1920 irdma_del_apbvt(listener->iwdev,
1927 nfo.qh_qpid = listener->iwdev->vsi.ilq->qp_id;
1930 irdma_del_multiple_qhash(listener->iwdev, &nfo,
1934 irdma_manage_qhash(listener->iwdev,
1943 ibdev_dbg(&listener->iwdev->ibdev,
1974 * @iwdev: iwarp device structure
1979 static int irdma_addr_resolve_neigh(struct irdma_device *iwdev, u32 src_ip,
1990 ibdev_dbg(&iwdev->ibdev, "CM: ip_route_output fail\n");
1999 rc = irdma_add_arp(iwdev->rf, &dst_ip, true, neigh->ha);
2036 * @iwdev: iwarp device structure
2041 static int irdma_addr_resolve_neigh_ipv6(struct irdma_device *iwdev, u32 *src,
2058 ibdev_dbg(&iwdev->ibdev,
2069 ibdev_dbg(&iwdev->ibdev, "CM: dst_neigh_lookup MAC=%pM\n",
2072 trace_irdma_addr_resolve(iwdev, neigh->ha);
2075 rc = irdma_add_arp(iwdev->rf, dest, false, neigh->ha);
2171 struct irdma_device *iwdev = cm_node->iwdev;
2173 ether_addr_copy(ah_info.mac_addr, iwdev->netdev->dev_addr);
2177 ah_info.vsi = &iwdev->vsi;
2201 irdma_arp_table(iwdev->rf, ah_info.dest_ip_addr,
2204 if (irdma_puda_create_ah(&iwdev->rf->sc_dev, &ah_info, wait,
2219 struct irdma_device *iwdev = cm_node->iwdev;
2222 irdma_puda_free_ah(&iwdev->rf->sc_dev, cm_node->ah);
2229 * @iwdev: iwarp device structure
2234 irdma_make_cm_node(struct irdma_cm_core *cm_core, struct irdma_device *iwdev,
2241 struct net_device *netdev = iwdev->netdev;
2251 if (cm_node->vlan_id >= VLAN_N_VID && iwdev->dcb_vlan_mode)
2257 ibdev_warn(&iwdev->ibdev,
2260 if (iwdev->vsi.dscp_mode) {
2270 ibdev_dbg(&iwdev->ibdev,
2273 trace_irdma_listener_tos(iwdev, cm_node->tos,
2283 cm_node->iwdev = iwdev;
2284 cm_node->dev = &iwdev->rf->sc_dev;
2300 cm_node->tcp_cntxt.rcv_wscale = iwdev->rcv_wscale;
2301 cm_node->tcp_cntxt.rcv_wnd = iwdev->rcv_wnd >> cm_node->tcp_cntxt.rcv_wscale;
2307 cm_node->tcp_cntxt.mss = iwdev->vsi.mtu - IRDMA_MTU_TO_MSS_IPV4;
2320 cm_node->tcp_cntxt.mss = iwdev->vsi.mtu - IRDMA_MTU_TO_MSS_IPV6;
2328 arpindex = irdma_arp_table(iwdev->rf, cm_node->rem_addr,
2332 oldarpindex = irdma_arp_table(iwdev->rf, cm_node->rem_addr,
2336 arpindex = irdma_addr_resolve_neigh(iwdev,
2341 arpindex = irdma_addr_resolve_neigh_ipv6(iwdev,
2353 iwdev->rf->arp_table[arpindex].mac_addr);
2372 ibdev_dbg(&cm_node->iwdev->ibdev,
2382 irdma_del_apbvt(cm_node->iwdev, cm_node->apbvt_entry);
2387 nfo.qh_qpid = cm_node->iwdev->vsi.ilq->qp_id;
2388 irdma_manage_qhash(cm_node->iwdev, &nfo,
2405 nfo.qh_qpid = cm_node->iwdev->vsi.ilq->qp_id;
2406 irdma_manage_qhash(cm_node->iwdev, &nfo,
2496 ibdev_dbg(&cm_node->iwdev->ibdev,
2510 ibdev_dbg(&cm_node->iwdev->ibdev,
2587 ibdev_dbg(&cm_node->iwdev->ibdev,
2607 ibdev_dbg(&cm_node->iwdev->ibdev,
2650 ibdev_dbg(&cm_node->iwdev->ibdev,
2661 nfo.qh_qpid = cm_node->iwdev->vsi.ilq->qp_id;
2662 irdma_manage_qhash(cm_node->iwdev, &nfo,
2755 ibdev_dbg(&cm_node->iwdev->ibdev,
2763 ibdev_dbg(&cm_node->iwdev->ibdev,
2773 ibdev_dbg(&cm_node->iwdev->ibdev,
2942 * @iwdev: iwarp device structure
2947 struct irdma_device *iwdev,
2988 listener->iwdev = iwdev;
3005 * @iwdev: iwarp device structure
3011 struct irdma_device *iwdev,
3021 cm_node = irdma_make_cm_node(cm_core, iwdev, cm_info, NULL);
3075 ibdev_dbg(&cm_node->iwdev->ibdev,
3121 ibdev_dbg(&cm_node->iwdev->ibdev,
3144 struct irdma_device *iwdev = vsi->back_vsi;
3145 struct irdma_cm_core *cm_core = &iwdev->cm_core;
3153 if (iwdev->rf->sc_dev.hw_attrs.uk_attrs.hw_rev >= IRDMA_GEN_2) {
3170 ibdev_dbg(&cm_core->iwdev->ibdev,
3212 ibdev_dbg(&cm_core->iwdev->ibdev,
3218 cm_node = irdma_make_cm_node(cm_core, iwdev, &cm_info,
3221 ibdev_dbg(&cm_core->iwdev->ibdev,
3257 * @iwdev: iwarp device structure
3260 int irdma_setup_cm_core(struct irdma_device *iwdev, u8 rdma_ver)
3262 struct irdma_cm_core *cm_core = &iwdev->cm_core;
3264 cm_core->iwdev = iwdev;
3265 cm_core->dev = &iwdev->rf->sc_dev;
3308 cm_core->dev->ws_reset(&cm_core->iwdev->vsi);
3322 tcp_info->drop_ooo_seg = !iwqp->iwdev->iw_ooo;
3364 tcp_info->arp_idx = (u16)irdma_arp_table(iwqp->iwdev->rf,
3376 tcp_info->arp_idx = (u16)irdma_arp_table(iwqp->iwdev->rf,
3421 iwqp->tcp_info.src_mac_addr_idx = iwqp->iwdev->mac_ip_table_idx;
3441 struct irdma_device *iwdev = iwqp->iwdev;
3449 spin_lock_irqsave(&iwdev->rf->qptable_lock, flags);
3450 if (!iwdev->rf->qp_table[iwqp->ibqp.qp_num]) {
3451 spin_unlock_irqrestore(&iwdev->rf->qptable_lock, flags);
3452 ibdev_dbg(&iwdev->ibdev,
3459 spin_unlock_irqrestore(&iwdev->rf->qptable_lock, flags);
3463 queue_work(iwdev->cleanup_wq, &work->work);
3472 struct irdma_device *iwdev = iwqp->iwdev;
3476 ibdev_dbg(&iwdev->ibdev, "CM: Call close API\n");
3487 struct irdma_device *iwdev;
3499 iwdev = iwqp->iwdev;
3501 if (rdma_protocol_roce(&iwdev->ibdev, 1)) {
3543 last_ae == IRDMA_AE_LLP_CONNECTION_RESET || iwdev->rf->reset || !cm_id) {
3565 spin_lock_irqsave(&iwdev->cm_core.ht_lock, flags);
3567 spin_unlock_irqrestore(&iwdev->cm_core.ht_lock, flags);
3572 spin_unlock_irqrestore(&iwdev->cm_core.ht_lock, flags);
3579 ibdev_dbg(&iwdev->ibdev,
3588 ibdev_dbg(&iwdev->ibdev,
3616 struct irdma_device *iwdev;
3618 iwdev = iwqp->iwdev;
3622 iwdev->ibdev.ops.dereg_mr(iwqp->lsmm_mr, NULL);
3623 dma_free_coherent(iwdev->rf->sc_dev.hw->device,
3639 struct irdma_device *iwdev;
3657 iwdev = iwqp->iwdev;
3658 dev = &iwdev->rf->sc_dev;
3669 ibdev_dbg(&iwdev->ibdev, "CM: Accept vlan_id=%d\n",
3751 ibdev_dbg(&iwdev->ibdev,
3769 ibdev_dbg(&iwdev->ibdev,
3791 struct irdma_device *iwdev;
3799 iwdev = to_iwdev(cm_id->device);
3800 if (!iwdev)
3820 struct irdma_device *iwdev;
3835 iwdev = iwqp->iwdev;
3836 if (!iwdev)
3853 if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV4)
3865 if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV6)
3879 cm_info.qh_qpid = iwdev->vsi.ilq->qp_id;
3881 if (iwdev->vsi.dscp_mode) {
3895 ibdev_dbg(&iwdev->ibdev, "DCB: TOS:[%d] UP:[%d]\n", cm_id->tos,
3898 trace_irdma_dcb_tos(iwdev, cm_id->tos, cm_info.user_pri);
3900 ret = irdma_create_cm_node(&iwdev->cm_core, iwdev, conn_param, &cm_info,
3907 if (irdma_manage_qhash(iwdev, &cm_info,
3915 cm_node->apbvt_entry = irdma_add_apbvt(iwdev, cm_info.loc_port);
3935 ibdev_dbg(&iwdev->ibdev,
3946 ibdev_dbg(&iwdev->ibdev,
3950 ibdev_dbg(&iwdev->ibdev,
3954 iwdev->cm_core.stats_connect_errs++;
3966 struct irdma_device *iwdev;
3974 iwdev = to_iwdev(cm_id->device);
3975 if (!iwdev)
3980 cm_info.qh_qpid = iwdev->vsi.ilq->qp_id;
3983 if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV4)
3997 if (iwdev->vsi.mtu < IRDMA_MIN_MTU_IPV6)
4013 if (cm_info.vlan_id >= VLAN_N_VID && iwdev->dcb_vlan_mode)
4018 trace_irdma_create_listen(iwdev, &cm_info);
4020 cm_listen_node = irdma_make_listen_node(&iwdev->cm_core, iwdev,
4023 ibdev_dbg(&iwdev->ibdev,
4031 if (iwdev->vsi.dscp_mode)
4033 iwdev->vsi.dscp_map[irdma_tos2dscp(cm_id->tos)];
4039 err = irdma_add_mqh(iwdev, &cm_info, cm_listen_node);
4043 if (!iwdev->vsi.dscp_mode)
4049 err = irdma_manage_qhash(iwdev, &cm_info,
4059 cm_listen_node->apbvt_entry = irdma_add_apbvt(iwdev,
4066 ibdev_dbg(&iwdev->ibdev,
4076 irdma_cm_del_listen(&iwdev->cm_core, cm_listen_node, false);
4087 struct irdma_device *iwdev;
4089 iwdev = to_iwdev(cm_id->device);
4091 irdma_cm_del_listen(&iwdev->cm_core, cm_id->provider_data,
4094 ibdev_dbg(&iwdev->ibdev,
4135 struct irdma_device *iwdev;
4147 iwdev = iwqp->iwdev;
4148 dev = &iwdev->rf->sc_dev;
4170 ibdev_dbg(&iwdev->ibdev,
4207 ibdev_dbg(&cm_node->iwdev->ibdev,
4259 ibdev_dbg(&cm_node->iwdev->ibdev,
4281 * @iwdev: device pointer
4288 void irdma_cm_teardown_connections(struct irdma_device *iwdev, u32 *ipaddr,
4292 struct irdma_cm_core *cm_core = &iwdev->cm_core;
4310 if (iwdev->rf->reset)
4318 * @iwdev: device pointer
4331 static void irdma_qhash_ctrl(struct irdma_device *iwdev,
4367 err = irdma_manage_qhash(iwdev, nfo, IRDMA_QHASH_TYPE_TCP_SYN, op, NULL,
4381 * @iwdev: device pointer
4387 void irdma_if_notify(struct irdma_device *iwdev, struct net_device *netdev,
4390 struct irdma_cm_core *cm_core = &iwdev->cm_core;
4417 irdma_qhash_ctrl(iwdev, listen_node, &nfo, ipaddr, ipv4,
4421 if (!irdma_manage_qhash(iwdev, &nfo,
4431 irdma_cm_teardown_connections(iwdev, ipaddr, &nfo, false);