Lines Matching refs:vmbus_connection

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