drivers/hv/channel.c
1005
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel.c
1011
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel.c
1013
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel.c
138
monitorpage = vmbus_connection.monitor_pages[1];
drivers/hv/channel.c
253
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
254
list_add_tail(&info->msglistentry, &vmbus_connection.chn_msg_list);
drivers/hv/channel.c
255
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
260
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
262
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
273
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel.c
275
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel.c
277
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
279
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
454
(atomic_inc_return(&vmbus_connection.next_gpadl_handle) - 1);
drivers/hv/channel.c
491
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
493
&vmbus_connection.chn_msg_list);
drivers/hv/channel.c
495
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
551
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
553
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
737
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
739
&vmbus_connection.chn_msg_list);
drivers/hv/channel.c
740
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
757
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
759
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
776
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
778
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
849
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
851
&vmbus_connection.chn_msg_list);
drivers/hv/channel.c
852
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
878
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
880
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel.c
998
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1002
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1043
atomic_dec(&vmbus_connection.offer_in_progress);
drivers/hv/channel_mgmt.c
1058
atomic_dec(&vmbus_connection.offer_in_progress);
drivers/hv/channel_mgmt.c
1095
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1097
atomic_dec(&vmbus_connection.offer_in_progress);
drivers/hv/channel_mgmt.c
1129
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1137
atomic_dec(&vmbus_connection.offer_in_progress);
drivers/hv/channel_mgmt.c
1155
if (atomic_dec_and_test(&vmbus_connection.nr_chan_close_on_suspend))
drivers/hv/channel_mgmt.c
1156
complete(&vmbus_connection.ready_for_suspend_event);
drivers/hv/channel_mgmt.c
1199
while (atomic_read(&vmbus_connection.offer_in_progress) != 0) {
drivers/hv/channel_mgmt.c
1207
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1216
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1221
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1282
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1292
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
1337
complete(&vmbus_connection.all_offers_delivered_event);
drivers/hv/channel_mgmt.c
1362
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1364
list_for_each_entry(msginfo, &vmbus_connection.chn_msg_list,
drivers/hv/channel_mgmt.c
1383
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1409
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1411
list_for_each_entry(msginfo, &vmbus_connection.chn_msg_list,
drivers/hv/channel_mgmt.c
1432
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1454
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1456
list_for_each_entry(msginfo, &vmbus_connection.chn_msg_list, msglistentry) {
drivers/hv/channel_mgmt.c
1472
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1498
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1500
list_for_each_entry(msginfo, &vmbus_connection.chn_msg_list,
drivers/hv/channel_mgmt.c
1519
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1541
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1543
list_for_each_entry(msginfo, &vmbus_connection.chn_msg_list,
drivers/hv/channel_mgmt.c
1556
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
1652
if (!wait_for_completion_timeout(&vmbus_connection.all_offers_delivered_event,
drivers/hv/channel_mgmt.c
1661
flush_workqueue(vmbus_connection.work_queue);
drivers/hv/channel_mgmt.c
1668
flush_workqueue(vmbus_connection.handle_primary_chan_wq);
drivers/hv/channel_mgmt.c
179
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
181
list_for_each_entry(msginfo, &vmbus_connection.chn_msg_list,
drivers/hv/channel_mgmt.c
189
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/channel_mgmt.c
396
if (new_relid > READ_ONCE(vmbus_connection.relid_hiwater))
drivers/hv/channel_mgmt.c
397
WRITE_ONCE(vmbus_connection.relid_hiwater, new_relid);
drivers/hv/channel_mgmt.c
424
virt_store_mb(vmbus_connection.channels[new_relid], channel);
drivers/hv/channel_mgmt.c
432
vmbus_connection.channels[channel->offermsg.child_relid],
drivers/hv/channel_mgmt.c
452
lockdep_assert_held(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
501
list_for_each_entry_safe(channel, tmp, &vmbus_connection.chn_list,
drivers/hv/channel_mgmt.c
572
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
588
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
630
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
632
list_for_each_entry(channel, &vmbus_connection.chn_list, listentry) {
drivers/hv/channel_mgmt.c
647
atomic_inc(&vmbus_connection.nr_chan_close_on_suspend);
drivers/hv/channel_mgmt.c
653
atomic_dec(&vmbus_connection.offer_in_progress);
drivers/hv/channel_mgmt.c
657
&vmbus_connection.chn_list);
drivers/hv/channel_mgmt.c
663
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
681
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
706
wq = fnew ? vmbus_connection.handle_primary_chan_wq :
drivers/hv/channel_mgmt.c
707
vmbus_connection.handle_sub_chan_wq;
drivers/hv/channel_mgmt.c
720
lockdep_assert_held(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
847
if (completion_done(&vmbus_connection.unload_event))
drivers/hv/channel_mgmt.c
877
complete(&vmbus_connection.unload_event);
drivers/hv/channel_mgmt.c
926
complete(&vmbus_connection.unload_event);
drivers/hv/channel_mgmt.c
933
if (xchg(&vmbus_connection.conn_state, DISCONNECTED) == DISCONNECTED)
drivers/hv/channel_mgmt.c
940
reinit_completion(&vmbus_connection.unload_event);
drivers/hv/channel_mgmt.c
951
wait_for_completion(&vmbus_connection.unload_event);
drivers/hv/channel_mgmt.c
990
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/channel_mgmt.c
992
list_for_each_entry(iter, &vmbus_connection.chn_list, listentry) {
drivers/hv/connection.c
103
vmbus_connection.msg_conn_id = VMBUS_MESSAGE_CONNECTION_ID_4;
drivers/hv/connection.c
105
msg->interrupt_page = virt_to_phys(vmbus_connection.int_page);
drivers/hv/connection.c
106
vmbus_connection.msg_conn_id = VMBUS_MESSAGE_CONNECTION_ID;
drivers/hv/connection.c
116
msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]) |
drivers/hv/connection.c
118
msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]) |
drivers/hv/connection.c
127
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/connection.c
129
&vmbus_connection.chn_msg_list);
drivers/hv/connection.c
131
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/connection.c
140
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/connection.c
142
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock,
drivers/hv/connection.c
150
spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/connection.c
152
spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);
drivers/hv/connection.c
156
vmbus_connection.conn_state = CONNECTED;
drivers/hv/connection.c
159
vmbus_connection.msg_conn_id =
drivers/hv/connection.c
178
vmbus_connection.conn_state = CONNECTING;
drivers/hv/connection.c
179
vmbus_connection.work_queue = create_workqueue("hv_vmbus_con");
drivers/hv/connection.c
180
if (!vmbus_connection.work_queue) {
drivers/hv/connection.c
185
vmbus_connection.rescind_work_queue =
drivers/hv/connection.c
187
if (!vmbus_connection.rescind_work_queue) {
drivers/hv/connection.c
191
vmbus_connection.ignore_any_offer_msg = false;
drivers/hv/connection.c
193
vmbus_connection.handle_primary_chan_wq =
drivers/hv/connection.c
195
if (!vmbus_connection.handle_primary_chan_wq) {
drivers/hv/connection.c
200
vmbus_connection.handle_sub_chan_wq =
drivers/hv/connection.c
202
if (!vmbus_connection.handle_sub_chan_wq) {
drivers/hv/connection.c
207
INIT_LIST_HEAD(&vmbus_connection.chn_msg_list);
drivers/hv/connection.c
208
spin_lock_init(&vmbus_connection.channelmsg_lock);
drivers/hv/connection.c
210
INIT_LIST_HEAD(&vmbus_connection.chn_list);
drivers/hv/connection.c
211
mutex_init(&vmbus_connection.channel_mutex);
drivers/hv/connection.c
225
vmbus_connection.int_page =
drivers/hv/connection.c
227
if (vmbus_connection.int_page == NULL) {
drivers/hv/connection.c
232
vmbus_connection.recv_int_page = vmbus_connection.int_page;
drivers/hv/connection.c
233
vmbus_connection.send_int_page =
drivers/hv/connection.c
234
(void *)((unsigned long)vmbus_connection.int_page +
drivers/hv/connection.c
241
vmbus_connection.monitor_pages[0] = (void *)__get_free_page(GFP_KERNEL);
drivers/hv/connection.c
242
vmbus_connection.monitor_pages[1] = (void *)__get_free_page(GFP_KERNEL);
drivers/hv/connection.c
243
if ((vmbus_connection.monitor_pages[0] == NULL) ||
drivers/hv/connection.c
244
(vmbus_connection.monitor_pages[1] == NULL)) {
drivers/hv/connection.c
250
vmbus_connection.monitor_pages[0], 1);
drivers/hv/connection.c
252
vmbus_connection.monitor_pages[1], 1);
drivers/hv/connection.c
260
vmbus_connection.monitor_pages[0] = NULL;
drivers/hv/connection.c
261
vmbus_connection.monitor_pages[1] = NULL;
drivers/hv/connection.c
269
memset(vmbus_connection.monitor_pages[0], 0x00, HV_HYP_PAGE_SIZE);
drivers/hv/connection.c
270
memset(vmbus_connection.monitor_pages[1], 0x00, HV_HYP_PAGE_SIZE);
drivers/hv/connection.c
29
struct vmbus_connection vmbus_connection = {
drivers/hv/connection.c
301
if (vmbus_connection.conn_state == CONNECTED)
drivers/hv/connection.c
316
vmbus_connection.channels = kzalloc_objs(struct vmbus_channel *,
drivers/hv/connection.c
318
if (vmbus_connection.channels == NULL) {
drivers/hv/connection.c
32
vmbus_connection.unload_event),
drivers/hv/connection.c
329
vmbus_connection.conn_state = DISCONNECTED;
drivers/hv/connection.c
344
if (vmbus_connection.handle_sub_chan_wq)
drivers/hv/connection.c
345
destroy_workqueue(vmbus_connection.handle_sub_chan_wq);
drivers/hv/connection.c
347
if (vmbus_connection.handle_primary_chan_wq)
drivers/hv/connection.c
348
destroy_workqueue(vmbus_connection.handle_primary_chan_wq);
drivers/hv/connection.c
350
if (vmbus_connection.rescind_work_queue)
drivers/hv/connection.c
351
destroy_workqueue(vmbus_connection.rescind_work_queue);
drivers/hv/connection.c
353
if (vmbus_connection.work_queue)
drivers/hv/connection.c
354
destroy_workqueue(vmbus_connection.work_queue);
drivers/hv/connection.c
356
if (vmbus_connection.int_page) {
drivers/hv/connection.c
357
free_page((unsigned long)vmbus_connection.int_page);
drivers/hv/connection.c
358
vmbus_connection.int_page = NULL;
drivers/hv/connection.c
36
vmbus_connection.ready_for_suspend_event),
drivers/hv/connection.c
361
if (vmbus_connection.monitor_pages[0]) {
drivers/hv/connection.c
363
(unsigned long)vmbus_connection.monitor_pages[0], 1))
drivers/hv/connection.c
365
vmbus_connection.monitor_pages[0]);
drivers/hv/connection.c
366
vmbus_connection.monitor_pages[0] = NULL;
drivers/hv/connection.c
369
if (vmbus_connection.monitor_pages[1]) {
drivers/hv/connection.c
371
(unsigned long)vmbus_connection.monitor_pages[1], 1))
drivers/hv/connection.c
373
vmbus_connection.monitor_pages[1]);
drivers/hv/connection.c
374
vmbus_connection.monitor_pages[1] = NULL;
drivers/hv/connection.c
38
vmbus_connection.all_offers_delivered_event),
drivers/hv/connection.c
384
if (vmbus_connection.channels == NULL) {
drivers/hv/connection.c
390
return READ_ONCE(vmbus_connection.channels[relid]);
drivers/hv/connection.c
40
EXPORT_SYMBOL_GPL(vmbus_connection);
drivers/hv/connection.c
448
conn_id.u.id = vmbus_connection.msg_conn_id;
drivers/hv/hv.c
550
lockdep_assert_held(&vmbus_connection.channel_mutex);
drivers/hv/hv.c
585
if (vmbus_connection.conn_state != CONNECTED)
drivers/hv/hv.c
602
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/hv.c
603
list_for_each_entry(channel, &vmbus_connection.chn_list, listentry) {
drivers/hv/hv.c
607
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/hv.c
615
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/hv.c
621
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/hyperv_vmbus.h
328
extern struct vmbus_connection vmbus_connection;
drivers/hv/hyperv_vmbus.h
334
sync_set_bit(relid, vmbus_connection.send_int_page);
drivers/hv/hyperv_vmbus.h
483
lockdep_assert_held(&vmbus_connection.channel_mutex);
drivers/hv/hyperv_vmbus.h
488
list_for_each_entry(channel, &vmbus_connection.chn_list, listentry) {
drivers/hv/vmbus_drv.c
1036
if (vmbus_connection.conn_state == DISCONNECTED)
drivers/hv/vmbus_drv.c
1142
if (vmbus_connection.ignore_any_offer_msg)
drivers/hv/vmbus_drv.c
1144
queue_work(vmbus_connection.rescind_work_queue, &ctx->work);
drivers/hv/vmbus_drv.c
1170
if (vmbus_connection.ignore_any_offer_msg)
drivers/hv/vmbus_drv.c
1172
atomic_inc(&vmbus_connection.offer_in_progress);
drivers/hv/vmbus_drv.c
1176
queue_work(vmbus_connection.work_queue, &ctx->work);
drivers/hv/vmbus_drv.c
1226
queue_work(vmbus_connection.work_queue, &ctx->work);
drivers/hv/vmbus_drv.c
1245
maxbits = READ_ONCE(vmbus_connection.relid_hiwater) + 1;
drivers/hv/vmbus_drv.c
1739
lockdep_assert_held(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
1837
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
1839
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
1851
vmbus_connection.monitor_pages[1]));
drivers/hv/vmbus_drv.c
1860
vmbus_connection.monitor_pages[1]));
drivers/hv/vmbus_drv.c
244
vmbus_connection.monitor_pages[0]));
drivers/hv/vmbus_drv.c
257
vmbus_connection.monitor_pages[1]));
drivers/hv/vmbus_drv.c
270
vmbus_connection.monitor_pages[0]));
drivers/hv/vmbus_drv.c
2718
vmbus_connection.ignore_any_offer_msg = true;
drivers/hv/vmbus_drv.c
2723
drain_workqueue(vmbus_connection.rescind_work_queue);
drivers/hv/vmbus_drv.c
2724
drain_workqueue(vmbus_connection.work_queue);
drivers/hv/vmbus_drv.c
2725
drain_workqueue(vmbus_connection.handle_primary_chan_wq);
drivers/hv/vmbus_drv.c
2726
drain_workqueue(vmbus_connection.handle_sub_chan_wq);
drivers/hv/vmbus_drv.c
2728
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
2729
list_for_each_entry(channel, &vmbus_connection.chn_list, listentry) {
drivers/hv/vmbus_drv.c
2735
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
2751
if (atomic_read(&vmbus_connection.nr_chan_close_on_suspend) > 0)
drivers/hv/vmbus_drv.c
2752
wait_for_completion(&vmbus_connection.ready_for_suspend_event);
drivers/hv/vmbus_drv.c
2754
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
2756
list_for_each_entry(channel, &vmbus_connection.chn_list, listentry) {
drivers/hv/vmbus_drv.c
2780
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
2794
vmbus_connection.ignore_any_offer_msg = false;
drivers/hv/vmbus_drv.c
2822
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
2823
list_for_each_entry(channel, &vmbus_connection.chn_list, listentry) {
drivers/hv/vmbus_drv.c
283
vmbus_connection.monitor_pages[1]));
drivers/hv/vmbus_drv.c
2836
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
2839
reinit_completion(&vmbus_connection.ready_for_suspend_event);
drivers/hv/vmbus_drv.c
296
vmbus_connection.monitor_pages[0]));
drivers/hv/vmbus_drv.c
3030
vmbus_connection.conn_state = DISCONNECTED;
drivers/hv/vmbus_drv.c
3050
kfree(vmbus_connection.channels);
drivers/hv/vmbus_drv.c
309
vmbus_connection.monitor_pages[1]));
drivers/hv/vmbus_drv.c
511
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
525
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
982
mutex_lock(&vmbus_connection.channel_mutex);
drivers/hv/vmbus_drv.c
984
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/uio/uio_hv_generic.c
100
mutex_unlock(&vmbus_connection.channel_mutex);
drivers/uio/uio_hv_generic.c
295
= (uintptr_t)vmbus_connection.int_page;
drivers/uio/uio_hv_generic.c
301
= (uintptr_t)vmbus_connection.monitor_pages[1];
drivers/uio/uio_hv_generic.c
97
mutex_lock(&vmbus_connection.channel_mutex);