Lines Matching refs:chan

100 	struct vmbus_channel *chan;  member
177 static void hvs_set_channel_pending_send_size(struct vmbus_channel *chan) in hvs_set_channel_pending_send_size() argument
179 set_channel_pending_send_size(chan, in hvs_set_channel_pending_send_size()
185 static bool hvs_channel_readable(struct vmbus_channel *chan) in hvs_channel_readable() argument
187 u32 readable = hv_get_bytes_to_read(&chan->inbound); in hvs_channel_readable()
193 static int hvs_channel_readable_payload(struct vmbus_channel *chan) in hvs_channel_readable_payload() argument
195 u32 readable = hv_get_bytes_to_read(&chan->inbound); in hvs_channel_readable_payload()
214 static size_t hvs_channel_writable_bytes(struct vmbus_channel *chan) in hvs_channel_writable_bytes() argument
216 u32 writeable = hv_get_bytes_to_write(&chan->outbound); in hvs_channel_writable_bytes()
231 static int __hvs_send_data(struct vmbus_channel *chan, in __hvs_send_data() argument
237 return vmbus_sendpacket(chan, hdr, sizeof(*hdr) + to_write, in __hvs_send_data()
241 static int hvs_send_data(struct vmbus_channel *chan, in hvs_send_data() argument
244 return __hvs_send_data(chan, &send_buf->hdr, to_write); in hvs_send_data()
252 struct vmbus_channel *chan = hvs->chan; in hvs_channel_cb() local
254 if (hvs_channel_readable(chan)) in hvs_channel_cb()
257 if (hv_get_bytes_to_write(&chan->outbound) > 0) in hvs_channel_cb()
281 static void hvs_close_connection(struct vmbus_channel *chan) in hvs_close_connection() argument
283 struct sock *sk = get_per_channel_state(chan); in hvs_close_connection()
295 static void hvs_open_connection(struct vmbus_channel *chan) in hvs_open_connection() argument
309 if_type = &chan->offermsg.offer.if_type; in hvs_open_connection()
310 if_instance = &chan->offermsg.offer.if_instance; in hvs_open_connection()
311 conn_from_host = chan->offermsg.offer.u.pipe.user_def[0]; in hvs_open_connection()
351 hvs_new->chan = chan; in hvs_open_connection()
354 hvs->chan = chan; in hvs_open_connection()
357 set_channel_read_mode(chan, HV_CALL_DIRECT); in hvs_open_connection()
384 chan->max_pkt_size = HVS_MAX_PKT_SIZE; in hvs_open_connection()
386 ret = vmbus_open(chan, sndbuf, rcvbuf, NULL, 0, hvs_channel_cb, in hvs_open_connection()
390 hvs_new->chan = NULL; in hvs_open_connection()
393 hvs->chan = NULL; in hvs_open_connection()
398 set_per_channel_state(chan, conn_from_host ? new : sk); in hvs_open_connection()
402 vmbus_set_chn_rescind_callback(chan, hvs_close_connection); in hvs_open_connection()
409 hvs_set_channel_pending_send_size(chan); in hvs_open_connection()
478 if (hvs->fin_sent || !hvs->chan) in hvs_shutdown_lock_held()
482 (void)__hvs_send_data(hvs->chan, &hdr, 0); in hvs_shutdown_lock_held()
546 struct vmbus_channel *chan = hvs->chan; in hvs_destruct() local
548 if (chan) in hvs_destruct()
549 vmbus_hvsock_device_unregister(chan); in hvs_destruct()
617 hvs->recv_desc = hv_pkt_iter_first(hvs->chan); in hvs_stream_dequeue()
633 hvs->recv_desc = hv_pkt_iter_next(hvs->chan, hvs->recv_desc); in hvs_stream_dequeue()
650 struct vmbus_channel *chan = hvs->chan; in hvs_stream_enqueue() local
667 max_writable = hvs_channel_writable_bytes(chan); in hvs_stream_enqueue()
679 ret = hvs_send_data(hvs->chan, send_buf, to_write); in hvs_stream_enqueue()
703 switch (hvs_channel_readable_payload(hvs->chan)) { in hvs_stream_has_data()
709 hvs->recv_desc = hv_pkt_iter_first(hvs->chan); in hvs_stream_has_data()
733 return hvs_channel_writable_bytes(hvs->chan); in hvs_stream_has_space()
745 return hvs->chan != NULL; in hvs_stream_is_active()
761 *readable = hvs_channel_readable(hvs->chan); in hvs_notify_poll_in()
882 struct vmbus_channel *chan = hdev->channel; in hvs_probe() local
884 hvs_open_connection(chan); in hvs_probe()
896 struct vmbus_channel *chan = hdev->channel; in hvs_remove() local
898 vmbus_close(chan); in hvs_remove()