cm_core 241 drivers/infiniband/hw/i40iw/i40iw.h struct i40iw_cm_core cm_core; cm_core 556 drivers/infiniband/hw/i40iw/i40iw.h void i40iw_cleanup_cm_core(struct i40iw_cm_core *cm_core); cm_core 564 drivers/infiniband/hw/i40iw/i40iw.h struct i40iw_cm_node *i40iw_find_node(struct i40iw_cm_core *cm_core, cm_core 565 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->cm_core->stats_connect_errs++; cm_core 589 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->cm_core->stats_passive_errs++; cm_core 1061 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = cm_node->cm_core; cm_core 1108 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 1109 drivers/infiniband/hw/i40iw/i40iw_cm.c was_timer_set = timer_pending(&cm_core->tcp_timer); cm_core 1112 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->tcp_timer.expires = new_send->timetosend; cm_core 1113 drivers/infiniband/hw/i40iw/i40iw_cm.c add_timer(&cm_core->tcp_timer); cm_core 1115 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1218 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = from_timer(cm_core, t, tcp_timer); cm_core 1227 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 1228 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_build_timer_list(&timer_list, &cm_core->non_accelerated_list); cm_core 1229 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_build_timer_list(&timer_list, &cm_core->accelerated_list); cm_core 1230 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1290 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->cm_core->stats_pkt_retrans++; cm_core 1324 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 1325 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!timer_pending(&cm_core->tcp_timer)) { cm_core 1326 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->tcp_timer.expires = nexttimeout; cm_core 1327 drivers/infiniband/hw/i40iw/i40iw_cm.c add_timer(&cm_core->tcp_timer); cm_core 1329 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1427 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_node *i40iw_find_node(struct i40iw_cm_core *cm_core, cm_core 1440 drivers/infiniband/hw/i40iw/i40iw_cm.c &cm_core->accelerated_list : &cm_core->non_accelerated_list; cm_core 1443 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 1451 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1455 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1469 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core, cm_core 1483 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->listen_list_lock, flags); cm_core 1484 drivers/infiniband/hw/i40iw/i40iw_cm.c list_for_each_entry(listen_node, &cm_core->listen_nodes, list) { cm_core 1493 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); cm_core 1497 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); cm_core 1506 drivers/infiniband/hw/i40iw/i40iw_cm.c static void i40iw_add_hte_node(struct i40iw_cm_core *cm_core, cm_core 1511 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!cm_node || !cm_core) { cm_core 1516 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 1517 drivers/infiniband/hw/i40iw/i40iw_cm.c list_add_tail(&cm_node->list, &cm_core->non_accelerated_list); cm_core 1518 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1542 drivers/infiniband/hw/i40iw/i40iw_cm.c bool i40iw_port_in_use(struct i40iw_cm_core *cm_core, u16 port) cm_core 1547 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 1548 drivers/infiniband/hw/i40iw/i40iw_cm.c if (i40iw_find_port(&cm_core->accelerated_list, port) || cm_core 1549 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_find_port(&cm_core->non_accelerated_list, port)) { cm_core 1550 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1553 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1555 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->listen_list_lock, flags); cm_core 1556 drivers/infiniband/hw/i40iw/i40iw_cm.c list_for_each_entry(listen_node, &cm_core->listen_nodes, list) { cm_core 1558 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); cm_core 1562 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); cm_core 1583 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); cm_core 1617 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_parent_listen_node->cm_core->stats_listen_nodes_destroyed++; cm_core 1619 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); cm_core 1735 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); cm_core 1738 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); cm_core 1739 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_parent_listen_node->cm_core->stats_listen_nodes_created++; cm_core 1788 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_parent_listen_node->cm_core->stats_listen_nodes_created++; cm_core 1816 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&iwdev->cm_core.listen_list_lock, flags); cm_core 1819 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&iwdev->cm_core.listen_list_lock, flags); cm_core 1822 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_parent_listen_node->cm_core->stats_listen_nodes_created--; cm_core 1840 drivers/infiniband/hw/i40iw/i40iw_cm.c static int i40iw_dec_refcnt_listen(struct i40iw_cm_core *cm_core, cm_core 1858 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 1860 drivers/infiniband/hw/i40iw/i40iw_cm.c list_temp, &cm_core->non_accelerated_list) { cm_core 1868 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 1911 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->listen_list_lock, flags); cm_core 1913 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); cm_core 1940 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->stats_listen_destroyed++; cm_core 1942 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->stats_listen_nodes_destroyed++; cm_core 1949 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(cm_core->dev, cm_core 1966 drivers/infiniband/hw/i40iw/i40iw_cm.c static int i40iw_cm_del_listen(struct i40iw_cm_core *cm_core, cm_core 1972 drivers/infiniband/hw/i40iw/i40iw_cm.c return i40iw_dec_refcnt_listen(cm_core, listener, 1, apbvt_del); cm_core 2157 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core, cm_core 2207 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->cm_core = cm_core; cm_core 2270 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_add_hte_node(cm_core, cm_node); cm_core 2271 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->stats_nodes_created++; cm_core 2281 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = cm_node->cm_core; cm_core 2286 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_node->cm_core->ht_lock, flags); cm_core 2288 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_node->cm_core->ht_lock, flags); cm_core 2292 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_node->cm_core->ht_lock, flags); cm_core 2302 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_dec_refcnt_listen(cm_core, cm_node->listener, 0, true); cm_core 2338 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->cm_core->stats_nodes_destroyed++; cm_core 2600 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->cm_core->stats_backlog_drops++; cm_core 2855 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core, cm_core 2863 drivers/infiniband/hw/i40iw/i40iw_cm.c listener = i40iw_find_listener(cm_core, cm_info->loc_addr, cm_core 2870 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(cm_core->dev, cm_core 2881 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->stats_listen_nodes_created++; cm_core 2896 drivers/infiniband/hw/i40iw/i40iw_cm.c listener->cm_core = cm_core; cm_core 2903 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->listen_list_lock, flags); cm_core 2904 drivers/infiniband/hw/i40iw/i40iw_cm.c list_add(&listener->list, &cm_core->listen_nodes); cm_core 2905 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); cm_core 2919 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core, cm_core 2933 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node = i40iw_make_cm_node(cm_core, iwdev, cm_info, NULL); cm_core 2944 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core, cm_core 2958 drivers/infiniband/hw/i40iw/i40iw_cm.c loopback_remotenode = i40iw_make_cm_node(cm_core, cm_core 2966 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->stats_loopbacks++; cm_core 3133 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; cm_core 3152 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(cm_core->dev, cm_core 3178 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node = i40iw_find_node(cm_core, cm_core 3192 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_find_listener(cm_core, cm_core 3199 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(cm_core->dev, cm_core 3206 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node = i40iw_make_cm_node(cm_core, iwdev, &cm_info, listener); cm_core 3208 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_debug(cm_core->dev, cm_core 3237 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; cm_core 3239 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->iwdev = iwdev; cm_core 3240 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->dev = &iwdev->sc_dev; cm_core 3242 drivers/infiniband/hw/i40iw/i40iw_cm.c INIT_LIST_HEAD(&cm_core->accelerated_list); cm_core 3243 drivers/infiniband/hw/i40iw/i40iw_cm.c INIT_LIST_HEAD(&cm_core->non_accelerated_list); cm_core 3244 drivers/infiniband/hw/i40iw/i40iw_cm.c INIT_LIST_HEAD(&cm_core->listen_nodes); cm_core 3246 drivers/infiniband/hw/i40iw/i40iw_cm.c timer_setup(&cm_core->tcp_timer, i40iw_cm_timer_tick, 0); cm_core 3248 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_init(&cm_core->ht_lock); cm_core 3249 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_init(&cm_core->listen_list_lock); cm_core 3250 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_init(&cm_core->apbvt_lock); cm_core 3252 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->event_wq = alloc_ordered_workqueue("iwewq", cm_core 3254 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!cm_core->event_wq) cm_core 3257 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core->disconn_wq = alloc_ordered_workqueue("iwdwq", cm_core 3259 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!cm_core->disconn_wq) cm_core 3264 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_cleanup_cm_core(&iwdev->cm_core); cm_core 3274 drivers/infiniband/hw/i40iw/i40iw_cm.c void i40iw_cleanup_cm_core(struct i40iw_cm_core *cm_core) cm_core 3278 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!cm_core) cm_core 3281 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 3282 drivers/infiniband/hw/i40iw/i40iw_cm.c if (timer_pending(&cm_core->tcp_timer)) cm_core 3283 drivers/infiniband/hw/i40iw/i40iw_cm.c del_timer_sync(&cm_core->tcp_timer); cm_core 3284 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 3286 drivers/infiniband/hw/i40iw/i40iw_cm.c if (cm_core->event_wq) cm_core 3287 drivers/infiniband/hw/i40iw/i40iw_cm.c destroy_workqueue(cm_core->event_wq); cm_core 3288 drivers/infiniband/hw/i40iw/i40iw_cm.c if (cm_core->disconn_wq) cm_core 3289 drivers/infiniband/hw/i40iw/i40iw_cm.c destroy_workqueue(cm_core->disconn_wq); cm_core 3439 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; cm_core 3460 drivers/infiniband/hw/i40iw/i40iw_cm.c queue_work(cm_core->disconn_wq, &work->work); cm_core 3640 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core; cm_core 3660 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core = &iwdev->cm_core; cm_core 3687 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->cm_core->stats_accepts++; cm_core 3755 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 3756 drivers/infiniband/hw/i40iw/i40iw_cm.c list_move_tail(&cm_node->list, &cm_core->accelerated_list); cm_core 3757 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 3801 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node->cm_core->stats_rejects++; cm_core 3880 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_node = i40iw_create_cm_node(&iwdev->cm_core, iwdev, cm_core 3949 drivers/infiniband/hw/i40iw/i40iw_cm.c iwdev->cm_core.stats_connect_errs++; cm_core 3999 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_listen_node = i40iw_make_listen_node(&iwdev->cm_core, iwdev, &cm_info); cm_core 4048 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_listen_node->cm_core->stats_listen_created++; cm_core 4051 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_cm_del_listen(&iwdev->cm_core, (void *)cm_listen_node, false); cm_core 4065 drivers/infiniband/hw/i40iw/i40iw_cm.c i40iw_cm_del_listen(&iwdev->cm_core, cm_id->provider_data, true); cm_core 4082 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core; cm_core 4096 drivers/infiniband/hw/i40iw/i40iw_cm.c cm_core = &iwdev->cm_core; cm_core 4116 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 4117 drivers/infiniband/hw/i40iw/i40iw_cm.c list_move_tail(&cm_node->list, &cm_core->accelerated_list); cm_core 4118 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 4175 drivers/infiniband/hw/i40iw/i40iw_cm.c if (!event || !event->cm_node || !event->cm_node->cm_core) cm_core 4231 drivers/infiniband/hw/i40iw/i40iw_cm.c queue_work(event->cm_node->cm_core->event_wq, &event->event_work); cm_core 4313 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; cm_core 4322 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->ht_lock, flags); cm_core 4324 drivers/infiniband/hw/i40iw/i40iw_cm.c &cm_core->accelerated_list) { cm_core 4335 drivers/infiniband/hw/i40iw/i40iw_cm.c &cm_core->non_accelerated_list) { cm_core 4345 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->ht_lock, flags); cm_core 4368 drivers/infiniband/hw/i40iw/i40iw_cm.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; cm_core 4382 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_lock_irqsave(&cm_core->listen_list_lock, flags); cm_core 4383 drivers/infiniband/hw/i40iw/i40iw_cm.c list_for_each_entry(listen_node, &cm_core->listen_nodes, list) { cm_core 4409 drivers/infiniband/hw/i40iw/i40iw_cm.c spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); cm_core 289 drivers/infiniband/hw/i40iw/i40iw_cm.h struct i40iw_cm_core *cm_core; cm_core 327 drivers/infiniband/hw/i40iw/i40iw_cm.h struct i40iw_cm_core *cm_core; cm_core 461 drivers/infiniband/hw/i40iw/i40iw_cm.h bool i40iw_port_in_use(struct i40iw_cm_core *cm_core, u16 port); cm_core 485 drivers/infiniband/hw/i40iw/i40iw_hw.c struct i40iw_cm_core *cm_core = &iwdev->cm_core; cm_core 495 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_lock_irqsave(&cm_core->apbvt_lock, flags); cm_core 497 drivers/infiniband/hw/i40iw/i40iw_hw.c cm_core->ports_in_use); cm_core 498 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_unlock_irqrestore(&cm_core->apbvt_lock, flags); cm_core 504 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_lock_irqsave(&cm_core->apbvt_lock, flags); cm_core 505 drivers/infiniband/hw/i40iw/i40iw_hw.c in_use = i40iw_port_in_use(cm_core, accel_local_port); cm_core 507 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_unlock_irqrestore(&cm_core->apbvt_lock, flags); cm_core 510 drivers/infiniband/hw/i40iw/i40iw_hw.c __clear_bit(accel_local_port, cm_core->ports_in_use); cm_core 513 drivers/infiniband/hw/i40iw/i40iw_hw.c spin_unlock_irqrestore(&cm_core->apbvt_lock, flags); cm_core 1529 drivers/infiniband/hw/i40iw/i40iw_main.c i40iw_cleanup_cm_core(&iwdev->cm_core); cm_core 1420 drivers/infiniband/hw/i40iw/i40iw_utils.c cm_node = i40iw_find_node(&iwdev->cm_core, rem_port, rem_addr, loc_port,