Lines Matching defs:newchannel

165 int vmbus_alloc_ring(struct vmbus_channel *newchannel,
176 page = alloc_pages_node(cpu_to_node(newchannel->target_cpu),
185 newchannel->ringbuffer_page = page;
186 newchannel->ringbuffer_pagecount = (send_size + recv_size) >> PAGE_SHIFT;
187 newchannel->ringbuffer_send_offset = send_size >> PAGE_SHIFT;
653 static int __vmbus_open(struct vmbus_channel *newchannel,
659 struct page *page = newchannel->ringbuffer_page;
667 send_pages = newchannel->ringbuffer_send_offset;
668 recv_pages = newchannel->ringbuffer_pagecount - send_pages;
670 if (newchannel->state != CHANNEL_OPEN_STATE)
674 if (newchannel->rqstor_size) {
675 if (vmbus_alloc_requestor(&newchannel->requestor, newchannel->rqstor_size))
679 newchannel->state = CHANNEL_OPENING_STATE;
680 newchannel->onchannel_callback = onchannelcallback;
681 newchannel->channel_callback_context = context;
683 if (!newchannel->max_pkt_size)
684 newchannel->max_pkt_size = VMBUS_DEFAULT_MAX_PKT_SIZE;
687 newchannel->ringbuffer_gpadlhandle.gpadl_handle = 0;
689 err = __vmbus_establish_gpadl(newchannel, HV_GPADL_RING,
690 page_address(newchannel->ringbuffer_page),
692 newchannel->ringbuffer_send_offset << PAGE_SHIFT,
693 &newchannel->ringbuffer_gpadlhandle);
697 err = hv_ringbuffer_init(&newchannel->outbound,
702 err = hv_ringbuffer_init(&newchannel->inbound, &page[send_pages],
703 recv_pages, newchannel->max_pkt_size);
717 open_info->waiting_channel = newchannel;
721 open_msg->openid = newchannel->offermsg.child_relid;
722 open_msg->child_relid = newchannel->offermsg.child_relid;
724 = newchannel->ringbuffer_gpadlhandle.gpadl_handle;
732 open_msg->target_vp = hv_cpu_number_to_vp_number(newchannel->target_cpu);
742 if (newchannel->rescind) {
761 if (newchannel->rescind) {
771 newchannel->state = CHANNEL_OPENED_STATE;
782 vmbus_teardown_gpadl(newchannel, &newchannel->ringbuffer_gpadlhandle);
784 hv_ringbuffer_cleanup(&newchannel->outbound);
785 hv_ringbuffer_cleanup(&newchannel->inbound);
786 vmbus_free_requestor(&newchannel->requestor);
787 newchannel->state = CHANNEL_OPEN_STATE;
794 int vmbus_connect_ring(struct vmbus_channel *newchannel,
797 return __vmbus_open(newchannel, NULL, 0, onchannelcallback, context);
804 int vmbus_open(struct vmbus_channel *newchannel,
811 err = vmbus_alloc_ring(newchannel, send_ringbuffer_size,
816 err = __vmbus_open(newchannel, userdata, userdatalen,
819 vmbus_free_ring(newchannel);