Lines Matching refs:nvchan
285 struct netvsc_channel *nvchan = &net_device->chan_table[q_idx]; in netvsc_alloc_recv_comp_ring() local
286 int node = cpu_to_node(nvchan->channel->target_cpu); in netvsc_alloc_recv_comp_ring()
290 nvchan->mrc.slots = vzalloc_node(size, node); in netvsc_alloc_recv_comp_ring()
291 if (!nvchan->mrc.slots) in netvsc_alloc_recv_comp_ring()
292 nvchan->mrc.slots = vzalloc(size); in netvsc_alloc_recv_comp_ring()
294 return nvchan->mrc.slots ? 0 : -ENOMEM; in netvsc_alloc_recv_comp_ring()
871 struct netvsc_channel * const nvchan = in netvsc_send_pkt() local
873 struct vmbus_channel *out_channel = nvchan->channel; in netvsc_send_pkt()
916 atomic_inc_return(&nvchan->queue_sends); in netvsc_send_pkt()
933 atomic_read(&nvchan->queue_sends) < 1 && in netvsc_send_pkt()
969 struct netvsc_channel *nvchan; in netvsc_send() local
981 nvchan = &net_device->chan_table[packet->q_idx]; in netvsc_send()
993 msdp = &nvchan->msd; in netvsc_send()
1086 struct netvsc_channel *nvchan) in send_recv_completions() argument
1088 struct multi_recv_comp *mrc = &nvchan->mrc; in send_recv_completions()
1103 ret = vmbus_sendpacket(nvchan->channel, &msg, sizeof(msg), in send_recv_completions()
1143 struct netvsc_channel *nvchan = &nvdev->chan_table[q_idx]; in enq_receive_complete() local
1144 struct multi_recv_comp *mrc = &nvchan->mrc; in enq_receive_complete()
1151 send_recv_completions(ndev, nvdev, nvchan); in enq_receive_complete()
1171 struct netvsc_channel *nvchan, in netvsc_receive() argument
1175 struct vmbus_channel *channel = nvchan->channel; in netvsc_receive()
1237 nvchan->rsc.cnt = 0; in netvsc_receive()
1248 nvchan->rsc.is_last = (i == count - 1); in netvsc_receive()
1254 nvchan, data, buflen); in netvsc_receive()
1357 struct netvsc_channel *nvchan, in netvsc_process_raw_pkt() argument
1363 struct vmbus_channel *channel = nvchan->channel; in netvsc_process_raw_pkt()
1374 return netvsc_receive(ndev, net_device, nvchan, desc); in netvsc_process_raw_pkt()
1403 struct netvsc_channel *nvchan in netvsc_poll() local
1405 struct netvsc_device *net_device = nvchan->net_device; in netvsc_poll()
1406 struct vmbus_channel *channel = nvchan->channel; in netvsc_poll()
1413 if (!nvchan->desc) in netvsc_poll()
1414 nvchan->desc = hv_pkt_iter_first(channel); in netvsc_poll()
1416 while (nvchan->desc && work_done < budget) { in netvsc_poll()
1417 work_done += netvsc_process_raw_pkt(device, nvchan, net_device, in netvsc_poll()
1418 ndev, nvchan->desc, budget); in netvsc_poll()
1419 nvchan->desc = hv_pkt_iter_next(channel, nvchan->desc); in netvsc_poll()
1423 ret = send_recv_completions(ndev, net_device, nvchan); in netvsc_poll()
1448 struct netvsc_channel *nvchan = context; in netvsc_channel_cb() local
1449 struct vmbus_channel *channel = nvchan->channel; in netvsc_channel_cb()
1455 if (napi_schedule_prep(&nvchan->napi)) { in netvsc_channel_cb()
1459 __napi_schedule_irqoff(&nvchan->napi); in netvsc_channel_cb()
1495 struct netvsc_channel *nvchan = &net_device->chan_table[i]; in netvsc_device_add() local
1497 nvchan->channel = device->channel; in netvsc_device_add()
1498 nvchan->net_device = net_device; in netvsc_device_add()
1499 u64_stats_init(&nvchan->tx_stats.syncp); in netvsc_device_add()
1500 u64_stats_init(&nvchan->rx_stats.syncp); in netvsc_device_add()
1502 ret = xdp_rxq_info_reg(&nvchan->xdp_rxq, ndev, i); in netvsc_device_add()
1509 ret = xdp_rxq_info_reg_mem_model(&nvchan->xdp_rxq, in netvsc_device_add()