Lines Matching refs:newchannel

246 static void vmbus_process_offer(struct vmbus_channel *newchannel)  in vmbus_process_offer()  argument
257 newchannel->offermsg.offer.if_type) && in vmbus_process_offer()
259 newchannel->offermsg.offer.if_instance)) { in vmbus_process_offer()
266 list_add_tail(&newchannel->listentry, in vmbus_process_offer()
275 if (newchannel->offermsg.offer.sub_channel_index != 0) { in vmbus_process_offer()
279 newchannel->primary_channel = channel; in vmbus_process_offer()
281 list_add_tail(&newchannel->sc_list, &channel->sc_list); in vmbus_process_offer()
288 init_vp_index(newchannel, &newchannel->offermsg.offer.if_type); in vmbus_process_offer()
290 if (newchannel->target_cpu != get_cpu()) { in vmbus_process_offer()
292 smp_call_function_single(newchannel->target_cpu, in vmbus_process_offer()
294 newchannel, true); in vmbus_process_offer()
296 percpu_channel_enq(newchannel); in vmbus_process_offer()
305 newchannel->state = CHANNEL_OPEN_STATE; in vmbus_process_offer()
309 channel->sc_creation_callback(newchannel); in vmbus_process_offer()
318 newchannel->device_obj = vmbus_device_create( in vmbus_process_offer()
319 &newchannel->offermsg.offer.if_type, in vmbus_process_offer()
320 &newchannel->offermsg.offer.if_instance, in vmbus_process_offer()
321 newchannel); in vmbus_process_offer()
322 if (!newchannel->device_obj) in vmbus_process_offer()
330 if (vmbus_device_register(newchannel->device_obj) != 0) { in vmbus_process_offer()
332 newchannel->offermsg.child_relid); in vmbus_process_offer()
333 kfree(newchannel->device_obj); in vmbus_process_offer()
340 list_del(&newchannel->listentry); in vmbus_process_offer()
343 if (newchannel->target_cpu != get_cpu()) { in vmbus_process_offer()
345 smp_call_function_single(newchannel->target_cpu, in vmbus_process_offer()
346 percpu_channel_deq, newchannel, true); in vmbus_process_offer()
348 percpu_channel_deq(newchannel); in vmbus_process_offer()
353 free_channel(newchannel); in vmbus_process_offer()
526 struct vmbus_channel *newchannel; in vmbus_onoffer() local
531 newchannel = alloc_channel(); in vmbus_onoffer()
532 if (!newchannel) { in vmbus_onoffer()
542 newchannel->batched_reading = true; in vmbus_onoffer()
547 newchannel->sig_event = (struct hv_input_signal_event *) in vmbus_onoffer()
549 &newchannel->sig_buf, in vmbus_onoffer()
552 newchannel->sig_event->connectionid.asu32 = 0; in vmbus_onoffer()
553 newchannel->sig_event->connectionid.u.id = VMBUS_EVENT_CONNECTION_ID; in vmbus_onoffer()
554 newchannel->sig_event->flag_number = 0; in vmbus_onoffer()
555 newchannel->sig_event->rsvdz = 0; in vmbus_onoffer()
558 newchannel->is_dedicated_interrupt = in vmbus_onoffer()
560 newchannel->sig_event->connectionid.u.id = in vmbus_onoffer()
564 memcpy(&newchannel->offermsg, offer, in vmbus_onoffer()
566 newchannel->monitor_grp = (u8)offer->monitorid / 32; in vmbus_onoffer()
567 newchannel->monitor_bit = (u8)offer->monitorid % 32; in vmbus_onoffer()
569 vmbus_process_offer(newchannel); in vmbus_onoffer()