Lines Matching refs:cm

83 } cm;  variable
364 read_lock_irqsave(&cm.device_lock, flags); in cm_init_av_by_path()
365 list_for_each_entry(cm_dev, &cm.device_list, list) { in cm_init_av_by_path()
372 read_unlock_irqrestore(&cm.device_lock, flags); in cm_init_av_by_path()
399 spin_lock_irqsave(&cm.lock, flags); in cm_alloc_id()
401 id = idr_alloc_cyclic(&cm.local_id_table, cm_id_priv, 0, 0, GFP_NOWAIT); in cm_alloc_id()
403 spin_unlock_irqrestore(&cm.lock, flags); in cm_alloc_id()
406 cm_id_priv->id.local_id = (__force __be32)id ^ cm.random_id_operand; in cm_alloc_id()
412 spin_lock_irq(&cm.lock); in cm_free_id()
413 idr_remove(&cm.local_id_table, in cm_free_id()
414 (__force int) (local_id ^ cm.random_id_operand)); in cm_free_id()
415 spin_unlock_irq(&cm.lock); in cm_free_id()
422 cm_id_priv = idr_find(&cm.local_id_table, in cm_get_id()
423 (__force int) (local_id ^ cm.random_id_operand)); in cm_get_id()
438 spin_lock_irq(&cm.lock); in cm_acquire_id()
440 spin_unlock_irq(&cm.lock); in cm_acquire_id()
472 struct rb_node **link = &cm.listen_service_table.rb_node; in cm_insert_listen()
499 rb_insert_color(&cm_id_priv->service_node, &cm.listen_service_table); in cm_insert_listen()
506 struct rb_node *node = cm.listen_service_table.rb_node; in cm_find_listen()
533 struct rb_node **link = &cm.remote_id_table.rb_node; in cm_insert_remote_id()
556 rb_insert_color(&timewait_info->remote_id_node, &cm.remote_id_table); in cm_insert_remote_id()
563 struct rb_node *node = cm.remote_id_table.rb_node; in cm_find_remote_id()
586 struct rb_node **link = &cm.remote_qp_table.rb_node; in cm_insert_remote_qpn()
609 rb_insert_color(&timewait_info->remote_qp_node, &cm.remote_qp_table); in cm_insert_remote_qpn()
616 struct rb_node **link = &cm.remote_sidr_table.rb_node; in cm_insert_remote_sidr()
643 rb_insert_color(&cm_id_priv->sidr_id_node, &cm.remote_sidr_table); in cm_insert_remote_sidr()
737 rb_erase(&timewait_info->remote_id_node, &cm.remote_id_table); in cm_cleanup_timewait()
742 rb_erase(&timewait_info->remote_qp_node, &cm.remote_qp_table); in cm_cleanup_timewait()
771 spin_lock_irqsave(&cm.lock, flags); in cm_enter_timewait()
773 list_add_tail(&cm_id_priv->timewait_info->list, &cm.timewait_list); in cm_enter_timewait()
774 spin_unlock_irqrestore(&cm.lock, flags); in cm_enter_timewait()
785 spin_lock_irqsave(&cm.lock, flags); in cm_enter_timewait()
787 queue_delayed_work(cm.wq, &cm_id_priv->timewait_info->work.work, in cm_enter_timewait()
789 spin_unlock_irqrestore(&cm.lock, flags); in cm_enter_timewait()
800 spin_lock_irqsave(&cm.lock, flags); in cm_reset_to_idle()
802 spin_unlock_irqrestore(&cm.lock, flags); in cm_reset_to_idle()
820 spin_lock_irq(&cm.lock); in cm_destroy_id()
824 spin_unlock_irq(&cm.lock); in cm_destroy_id()
827 rb_erase(&cm_id_priv->service_node, &cm.listen_service_table); in cm_destroy_id()
828 spin_unlock_irq(&cm.lock); in cm_destroy_id()
838 spin_lock_irq(&cm.lock); in cm_destroy_id()
841 &cm.remote_sidr_table); in cm_destroy_id()
842 spin_unlock_irq(&cm.lock); in cm_destroy_id()
943 cm_id->service_id = cpu_to_be64(cm.listen_service_id++); in __ib_cm_listen()
964 spin_lock_irqsave(&cm.lock, flags); in ib_cm_listen()
966 spin_unlock_irqrestore(&cm.lock, flags); in ib_cm_listen()
1002 spin_lock_irqsave(&cm.lock, flags); in ib_cm_insert_listen()
1013 spin_unlock_irqrestore(&cm.lock, flags); in ib_cm_insert_listen()
1018 spin_unlock_irqrestore(&cm.lock, flags); in ib_cm_insert_listen()
1029 spin_unlock_irqrestore(&cm.lock, flags); in ib_cm_insert_listen()
1526 spin_lock_irq(&cm.lock); in cm_match_req()
1531 spin_unlock_irq(&cm.lock); in cm_match_req()
1543 spin_unlock_irq(&cm.lock); in cm_match_req()
1555 spin_unlock_irq(&cm.lock); in cm_match_req()
1565 spin_unlock_irq(&cm.lock); in cm_match_req()
1925 spin_lock(&cm.lock); in cm_rep_handler()
1928 spin_unlock(&cm.lock); in cm_rep_handler()
1936 &cm.remote_id_table); in cm_rep_handler()
1938 spin_unlock(&cm.lock); in cm_rep_handler()
1946 spin_unlock(&cm.lock); in cm_rep_handler()
2399 spin_lock_irq(&cm.lock); in cm_acquire_rejected_id()
2403 spin_unlock_irq(&cm.lock); in cm_acquire_rejected_id()
2406 cm_id_priv = idr_find(&cm.local_id_table, (__force int) in cm_acquire_rejected_id()
2408 cm.random_id_operand)); in cm_acquire_rejected_id()
2415 spin_unlock_irq(&cm.lock); in cm_acquire_rejected_id()
2953 spin_lock_irq(&cm.lock); in cm_timewait_handler()
2955 spin_unlock_irq(&cm.lock); in cm_timewait_handler()
3090 spin_lock_irq(&cm.lock); in cm_sidr_req_handler()
3093 spin_unlock_irq(&cm.lock); in cm_sidr_req_handler()
3102 spin_unlock_irq(&cm.lock); in cm_sidr_req_handler()
3108 spin_unlock_irq(&cm.lock); in cm_sidr_req_handler()
3179 spin_lock_irqsave(&cm.lock, flags); in ib_send_cm_sidr_rep()
3181 rb_erase(&cm_id_priv->sidr_id_node, &cm.remote_sidr_table); in ib_send_cm_sidr_rep()
3184 spin_unlock_irqrestore(&cm.lock, flags); in ib_send_cm_sidr_rep()
3433 spin_lock_irq(&cm.lock); in cm_establish()
3435 queue_delayed_work(cm.wq, &work->work, 0); in cm_establish()
3440 spin_unlock_irq(&cm.lock); in cm_establish()
3553 spin_lock_irq(&cm.lock); in cm_recv_handler()
3555 queue_delayed_work(cm.wq, &work->work, 0); in cm_recv_handler()
3558 spin_unlock_irq(&cm.lock); in cm_recv_handler()
3905 write_lock_irqsave(&cm.device_lock, flags); in cm_add_one()
3906 list_add_tail(&cm_dev->list, &cm.device_list); in cm_add_one()
3907 write_unlock_irqrestore(&cm.device_lock, flags); in cm_add_one()
3944 write_lock_irqsave(&cm.device_lock, flags); in cm_remove_one()
3946 write_unlock_irqrestore(&cm.device_lock, flags); in cm_remove_one()
3948 spin_lock_irq(&cm.lock); in cm_remove_one()
3950 spin_unlock_irq(&cm.lock); in cm_remove_one()
3963 flush_workqueue(cm.wq); in cm_remove_one()
3975 memset(&cm, 0, sizeof cm); in ib_cm_init()
3976 INIT_LIST_HEAD(&cm.device_list); in ib_cm_init()
3977 rwlock_init(&cm.device_lock); in ib_cm_init()
3978 spin_lock_init(&cm.lock); in ib_cm_init()
3979 cm.listen_service_table = RB_ROOT; in ib_cm_init()
3980 cm.listen_service_id = be64_to_cpu(IB_CM_ASSIGN_SERVICE_ID); in ib_cm_init()
3981 cm.remote_id_table = RB_ROOT; in ib_cm_init()
3982 cm.remote_qp_table = RB_ROOT; in ib_cm_init()
3983 cm.remote_sidr_table = RB_ROOT; in ib_cm_init()
3984 idr_init(&cm.local_id_table); in ib_cm_init()
3985 get_random_bytes(&cm.random_id_operand, sizeof cm.random_id_operand); in ib_cm_init()
3986 INIT_LIST_HEAD(&cm.timewait_list); in ib_cm_init()
3994 cm.wq = create_workqueue("ib_cm"); in ib_cm_init()
3995 if (!cm.wq) { in ib_cm_init()
4006 destroy_workqueue(cm.wq); in ib_cm_init()
4010 idr_destroy(&cm.local_id_table); in ib_cm_init()
4018 spin_lock_irq(&cm.lock); in ib_cm_cleanup()
4019 list_for_each_entry(timewait_info, &cm.timewait_list, list) in ib_cm_cleanup()
4021 spin_unlock_irq(&cm.lock); in ib_cm_cleanup()
4024 destroy_workqueue(cm.wq); in ib_cm_cleanup()
4026 list_for_each_entry_safe(timewait_info, tmp, &cm.timewait_list, list) { in ib_cm_cleanup()
4032 idr_destroy(&cm.local_id_table); in ib_cm_cleanup()