Lines Matching refs:vmbus_connection
27 struct vmbus_connection vmbus_connection = { variable
32 vmbus_connection.ready_for_suspend_event),
34 vmbus_connection.ready_for_resume_event),
36 EXPORT_SYMBOL_GPL(vmbus_connection);
96 vmbus_connection.msg_conn_id = VMBUS_MESSAGE_CONNECTION_ID_4; in vmbus_negotiate_version()
98 msg->interrupt_page = virt_to_phys(vmbus_connection.int_page); in vmbus_negotiate_version()
99 vmbus_connection.msg_conn_id = VMBUS_MESSAGE_CONNECTION_ID; in vmbus_negotiate_version()
102 msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]); in vmbus_negotiate_version()
103 msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]); in vmbus_negotiate_version()
110 spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags); in vmbus_negotiate_version()
112 &vmbus_connection.chn_msg_list); in vmbus_negotiate_version()
114 spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags); in vmbus_negotiate_version()
123 spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags); in vmbus_negotiate_version()
125 spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, in vmbus_negotiate_version()
133 spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags); in vmbus_negotiate_version()
135 spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags); in vmbus_negotiate_version()
139 vmbus_connection.conn_state = CONNECTED; in vmbus_negotiate_version()
142 vmbus_connection.msg_conn_id = in vmbus_negotiate_version()
161 vmbus_connection.conn_state = CONNECTING; in vmbus_connect()
162 vmbus_connection.work_queue = create_workqueue("hv_vmbus_con"); in vmbus_connect()
163 if (!vmbus_connection.work_queue) { in vmbus_connect()
168 vmbus_connection.handle_primary_chan_wq = in vmbus_connect()
170 if (!vmbus_connection.handle_primary_chan_wq) { in vmbus_connect()
175 vmbus_connection.handle_sub_chan_wq = in vmbus_connect()
177 if (!vmbus_connection.handle_sub_chan_wq) { in vmbus_connect()
182 INIT_LIST_HEAD(&vmbus_connection.chn_msg_list); in vmbus_connect()
183 spin_lock_init(&vmbus_connection.channelmsg_lock); in vmbus_connect()
185 INIT_LIST_HEAD(&vmbus_connection.chn_list); in vmbus_connect()
186 mutex_init(&vmbus_connection.channel_mutex); in vmbus_connect()
192 vmbus_connection.int_page = in vmbus_connect()
194 if (vmbus_connection.int_page == NULL) { in vmbus_connect()
199 vmbus_connection.recv_int_page = vmbus_connection.int_page; in vmbus_connect()
200 vmbus_connection.send_int_page = in vmbus_connect()
201 (void *)((unsigned long)vmbus_connection.int_page + in vmbus_connect()
208 vmbus_connection.monitor_pages[0] = (void *)hv_alloc_hyperv_zeroed_page(); in vmbus_connect()
209 vmbus_connection.monitor_pages[1] = (void *)hv_alloc_hyperv_zeroed_page(); in vmbus_connect()
210 if ((vmbus_connection.monitor_pages[0] == NULL) || in vmbus_connect()
211 (vmbus_connection.monitor_pages[1] == NULL)) { in vmbus_connect()
245 if (vmbus_connection.conn_state == CONNECTED) in vmbus_connect()
253 vmbus_connection.channels = kcalloc(MAX_CHANNEL_RELIDS, in vmbus_connect()
256 if (vmbus_connection.channels == NULL) { in vmbus_connect()
267 vmbus_connection.conn_state = DISCONNECTED; in vmbus_connect()
282 if (vmbus_connection.handle_sub_chan_wq) in vmbus_disconnect()
283 destroy_workqueue(vmbus_connection.handle_sub_chan_wq); in vmbus_disconnect()
285 if (vmbus_connection.handle_primary_chan_wq) in vmbus_disconnect()
286 destroy_workqueue(vmbus_connection.handle_primary_chan_wq); in vmbus_disconnect()
288 if (vmbus_connection.work_queue) in vmbus_disconnect()
289 destroy_workqueue(vmbus_connection.work_queue); in vmbus_disconnect()
291 if (vmbus_connection.int_page) { in vmbus_disconnect()
292 hv_free_hyperv_page((unsigned long)vmbus_connection.int_page); in vmbus_disconnect()
293 vmbus_connection.int_page = NULL; in vmbus_disconnect()
296 hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[0]); in vmbus_disconnect()
297 hv_free_hyperv_page((unsigned long)vmbus_connection.monitor_pages[1]); in vmbus_disconnect()
298 vmbus_connection.monitor_pages[0] = NULL; in vmbus_disconnect()
299 vmbus_connection.monitor_pages[1] = NULL; in vmbus_disconnect()
310 return READ_ONCE(vmbus_connection.channels[relid]); in relid2channel()
373 conn_id.u.id = vmbus_connection.msg_conn_id; in vmbus_post_msg()