• Home
  • Raw
  • Download

Lines Matching refs:chan

97 	struct vmbus_channel *chan;  member
174 static void hvs_set_channel_pending_send_size(struct vmbus_channel *chan) in hvs_set_channel_pending_send_size() argument
176 set_channel_pending_send_size(chan, in hvs_set_channel_pending_send_size()
182 static bool hvs_channel_readable(struct vmbus_channel *chan) in hvs_channel_readable() argument
184 u32 readable = hv_get_bytes_to_read(&chan->inbound); in hvs_channel_readable()
190 static int hvs_channel_readable_payload(struct vmbus_channel *chan) in hvs_channel_readable_payload() argument
192 u32 readable = hv_get_bytes_to_read(&chan->inbound); in hvs_channel_readable_payload()
211 static size_t hvs_channel_writable_bytes(struct vmbus_channel *chan) in hvs_channel_writable_bytes() argument
213 u32 writeable = hv_get_bytes_to_write(&chan->outbound); in hvs_channel_writable_bytes()
228 static int hvs_send_data(struct vmbus_channel *chan, in hvs_send_data() argument
233 return vmbus_sendpacket(chan, &send_buf->hdr, in hvs_send_data()
243 struct vmbus_channel *chan = hvs->chan; in hvs_channel_cb() local
245 if (hvs_channel_readable(chan)) in hvs_channel_cb()
248 if (hv_get_bytes_to_write(&chan->outbound) > 0) in hvs_channel_cb()
272 static void hvs_close_connection(struct vmbus_channel *chan) in hvs_close_connection() argument
274 struct sock *sk = get_per_channel_state(chan); in hvs_close_connection()
286 static void hvs_open_connection(struct vmbus_channel *chan) in hvs_open_connection() argument
300 if_type = &chan->offermsg.offer.if_type; in hvs_open_connection()
301 if_instance = &chan->offermsg.offer.if_instance; in hvs_open_connection()
302 conn_from_host = chan->offermsg.offer.u.pipe.user_def[0]; in hvs_open_connection()
342 hvs_new->chan = chan; in hvs_open_connection()
345 hvs->chan = chan; in hvs_open_connection()
348 set_channel_read_mode(chan, HV_CALL_DIRECT); in hvs_open_connection()
375 ret = vmbus_open(chan, sndbuf, rcvbuf, NULL, 0, hvs_channel_cb, in hvs_open_connection()
379 hvs_new->chan = NULL; in hvs_open_connection()
382 hvs->chan = NULL; in hvs_open_connection()
387 set_per_channel_state(chan, conn_from_host ? new : sk); in hvs_open_connection()
391 vmbus_set_chn_rescind_callback(chan, hvs_close_connection); in hvs_open_connection()
398 hvs_set_channel_pending_send_size(chan); in hvs_open_connection()
467 if (hvs->fin_sent || !hvs->chan) in hvs_shutdown_lock_held()
471 (void)hvs_send_data(hvs->chan, (struct hvs_send_buf *)&hdr, 0); in hvs_shutdown_lock_held()
535 struct vmbus_channel *chan = hvs->chan; in hvs_destruct() local
537 if (chan) in hvs_destruct()
538 vmbus_hvsock_device_unregister(chan); in hvs_destruct()
599 hvs->recv_desc = hv_pkt_iter_first(hvs->chan); in hvs_stream_dequeue()
613 hvs->recv_desc = hv_pkt_iter_next(hvs->chan, hvs->recv_desc); in hvs_stream_dequeue()
630 struct vmbus_channel *chan = hvs->chan; in hvs_stream_enqueue() local
647 max_writable = hvs_channel_writable_bytes(chan); in hvs_stream_enqueue()
659 ret = hvs_send_data(hvs->chan, send_buf, to_write); in hvs_stream_enqueue()
682 switch (hvs_channel_readable_payload(hvs->chan)) { in hvs_stream_has_data()
702 return hvs_channel_writable_bytes(hvs->chan); in hvs_stream_has_space()
714 return hvs->chan != NULL; in hvs_stream_is_active()
730 *readable = hvs_channel_readable(hvs->chan); in hvs_notify_poll_in()
844 struct vmbus_channel *chan = hdev->channel; in hvs_probe() local
846 hvs_open_connection(chan); in hvs_probe()
858 struct vmbus_channel *chan = hdev->channel; in hvs_remove() local
860 vmbus_close(chan); in hvs_remove()