nvchan 197 drivers/net/hyperv/hyperv_net.h struct netvsc_channel *nvchan); nvchan 218 drivers/net/hyperv/hyperv_net.h struct netvsc_channel *nvchan, nvchan 283 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan = &net_device->chan_table[q_idx]; nvchan 284 drivers/net/hyperv/netvsc.c int node = cpu_to_node(nvchan->channel->target_cpu); nvchan 288 drivers/net/hyperv/netvsc.c nvchan->mrc.slots = vzalloc_node(size, node); nvchan 289 drivers/net/hyperv/netvsc.c if (!nvchan->mrc.slots) nvchan 290 drivers/net/hyperv/netvsc.c nvchan->mrc.slots = vzalloc(size); nvchan 292 drivers/net/hyperv/netvsc.c return nvchan->mrc.slots ? 0 : -ENOMEM; nvchan 813 drivers/net/hyperv/netvsc.c struct netvsc_channel * const nvchan = nvchan 815 drivers/net/hyperv/netvsc.c struct vmbus_channel *out_channel = nvchan->channel; nvchan 858 drivers/net/hyperv/netvsc.c atomic_inc_return(&nvchan->queue_sends); nvchan 875 drivers/net/hyperv/netvsc.c atomic_read(&nvchan->queue_sends) < 1 && nvchan 910 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan; nvchan 922 drivers/net/hyperv/netvsc.c nvchan = &net_device->chan_table[packet->q_idx]; nvchan 933 drivers/net/hyperv/netvsc.c msdp = &nvchan->msd; nvchan 1026 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan) nvchan 1028 drivers/net/hyperv/netvsc.c struct multi_recv_comp *mrc = &nvchan->mrc; nvchan 1043 drivers/net/hyperv/netvsc.c ret = vmbus_sendpacket(nvchan->channel, &msg, sizeof(msg), nvchan 1083 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan = &nvdev->chan_table[q_idx]; nvchan 1084 drivers/net/hyperv/netvsc.c struct multi_recv_comp *mrc = &nvchan->mrc; nvchan 1091 drivers/net/hyperv/netvsc.c send_recv_completions(ndev, nvdev, nvchan); nvchan 1111 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan, nvchan 1116 drivers/net/hyperv/netvsc.c struct vmbus_channel *channel = nvchan->channel; nvchan 1151 drivers/net/hyperv/netvsc.c nvchan->rsc.cnt = 0; nvchan 1162 drivers/net/hyperv/netvsc.c nvchan->rsc.is_last = (i == count - 1); nvchan 1168 drivers/net/hyperv/netvsc.c nvchan, data, buflen); nvchan 1248 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan, nvchan 1254 drivers/net/hyperv/netvsc.c struct vmbus_channel *channel = nvchan->channel; nvchan 1267 drivers/net/hyperv/netvsc.c return netvsc_receive(ndev, net_device, nvchan, nvchan 1297 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan nvchan 1299 drivers/net/hyperv/netvsc.c struct netvsc_device *net_device = nvchan->net_device; nvchan 1300 drivers/net/hyperv/netvsc.c struct vmbus_channel *channel = nvchan->channel; nvchan 1307 drivers/net/hyperv/netvsc.c if (!nvchan->desc) nvchan 1308 drivers/net/hyperv/netvsc.c nvchan->desc = hv_pkt_iter_first(channel); nvchan 1310 drivers/net/hyperv/netvsc.c while (nvchan->desc && work_done < budget) { nvchan 1311 drivers/net/hyperv/netvsc.c work_done += netvsc_process_raw_pkt(device, nvchan, net_device, nvchan 1312 drivers/net/hyperv/netvsc.c ndev, nvchan->desc, budget); nvchan 1313 drivers/net/hyperv/netvsc.c nvchan->desc = hv_pkt_iter_next(channel, nvchan->desc); nvchan 1317 drivers/net/hyperv/netvsc.c ret = send_recv_completions(ndev, net_device, nvchan); nvchan 1342 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan = context; nvchan 1343 drivers/net/hyperv/netvsc.c struct vmbus_channel *channel = nvchan->channel; nvchan 1349 drivers/net/hyperv/netvsc.c if (napi_schedule_prep(&nvchan->napi)) { nvchan 1353 drivers/net/hyperv/netvsc.c __napi_schedule_irqoff(&nvchan->napi); nvchan 1389 drivers/net/hyperv/netvsc.c struct netvsc_channel *nvchan = &net_device->chan_table[i]; nvchan 1391 drivers/net/hyperv/netvsc.c nvchan->channel = device->channel; nvchan 1392 drivers/net/hyperv/netvsc.c nvchan->net_device = net_device; nvchan 1393 drivers/net/hyperv/netvsc.c u64_stats_init(&nvchan->tx_stats.syncp); nvchan 1394 drivers/net/hyperv/netvsc.c u64_stats_init(&nvchan->rx_stats.syncp); nvchan 763 drivers/net/hyperv/netvsc_drv.c struct netvsc_channel *nvchan) nvchan 765 drivers/net/hyperv/netvsc_drv.c struct napi_struct *napi = &nvchan->napi; nvchan 766 drivers/net/hyperv/netvsc_drv.c const struct ndis_pkt_8021q_info *vlan = nvchan->rsc.vlan; nvchan 768 drivers/net/hyperv/netvsc_drv.c nvchan->rsc.csum_info; nvchan 772 drivers/net/hyperv/netvsc_drv.c skb = napi_alloc_skb(napi, nvchan->rsc.pktlen); nvchan 780 drivers/net/hyperv/netvsc_drv.c for (i = 0; i < nvchan->rsc.cnt; i++) nvchan 781 drivers/net/hyperv/netvsc_drv.c skb_put_data(skb, nvchan->rsc.data[i], nvchan->rsc.len[i]); nvchan 822 drivers/net/hyperv/netvsc_drv.c struct netvsc_channel *nvchan) nvchan 825 drivers/net/hyperv/netvsc_drv.c struct vmbus_channel *channel = nvchan->channel; nvchan 834 drivers/net/hyperv/netvsc_drv.c skb = netvsc_alloc_recv_skb(net, nvchan); nvchan 848 drivers/net/hyperv/netvsc_drv.c rx_stats = &nvchan->rx_stats; nvchan 851 drivers/net/hyperv/netvsc_drv.c rx_stats->bytes += nvchan->rsc.pktlen; nvchan 859 drivers/net/hyperv/netvsc_drv.c napi_gro_receive(&nvchan->napi, skb); nvchan 1216 drivers/net/hyperv/netvsc_drv.c const struct netvsc_channel *nvchan = &nvdev->chan_table[i]; nvchan 1219 drivers/net/hyperv/netvsc_drv.c &pcpu_tot[nvchan->channel->target_cpu]; nvchan 1223 drivers/net/hyperv/netvsc_drv.c stats = &nvchan->tx_stats; nvchan 1233 drivers/net/hyperv/netvsc_drv.c stats = &nvchan->rx_stats; nvchan 1269 drivers/net/hyperv/netvsc_drv.c const struct netvsc_channel *nvchan = &nvdev->chan_table[i]; nvchan 1274 drivers/net/hyperv/netvsc_drv.c stats = &nvchan->tx_stats; nvchan 1284 drivers/net/hyperv/netvsc_drv.c stats = &nvchan->rx_stats; nvchan 358 drivers/net/hyperv/rndis_filter.c void rsc_add_data(struct netvsc_channel *nvchan, nvchan 363 drivers/net/hyperv/rndis_filter.c u32 cnt = nvchan->rsc.cnt; nvchan 366 drivers/net/hyperv/rndis_filter.c nvchan->rsc.pktlen += len; nvchan 368 drivers/net/hyperv/rndis_filter.c nvchan->rsc.vlan = vlan; nvchan 369 drivers/net/hyperv/rndis_filter.c nvchan->rsc.csum_info = csum_info; nvchan 370 drivers/net/hyperv/rndis_filter.c nvchan->rsc.pktlen = len; nvchan 373 drivers/net/hyperv/rndis_filter.c nvchan->rsc.data[cnt] = data; nvchan 374 drivers/net/hyperv/rndis_filter.c nvchan->rsc.len[cnt] = len; nvchan 375 drivers/net/hyperv/rndis_filter.c nvchan->rsc.cnt++; nvchan 380 drivers/net/hyperv/rndis_filter.c struct netvsc_channel *nvchan, nvchan 421 drivers/net/hyperv/rndis_filter.c nvchan->rsc.cnt = 0; nvchan 422 drivers/net/hyperv/rndis_filter.c else if (nvchan->rsc.cnt == 0) nvchan 430 drivers/net/hyperv/rndis_filter.c if (rsc_more && nvchan->rsc.is_last) nvchan 433 drivers/net/hyperv/rndis_filter.c nvchan->rsc.cnt = 0; nvchan 436 drivers/net/hyperv/rndis_filter.c if (unlikely(nvchan->rsc.cnt >= NVSP_RSC_MAX)) nvchan 444 drivers/net/hyperv/rndis_filter.c rsc_add_data(nvchan, vlan, csum_info, data, rndis_pkt->data_len); nvchan 449 drivers/net/hyperv/rndis_filter.c ret = netvsc_recv_callback(ndev, nvdev, nvchan); nvchan 450 drivers/net/hyperv/rndis_filter.c nvchan->rsc.cnt = 0; nvchan 456 drivers/net/hyperv/rndis_filter.c nvchan->rsc.cnt = 0; nvchan 462 drivers/net/hyperv/rndis_filter.c struct netvsc_channel *nvchan, nvchan 473 drivers/net/hyperv/rndis_filter.c return rndis_filter_receive_data(ndev, net_dev, nvchan, nvchan 1001 drivers/net/hyperv/rndis_filter.c const struct netvsc_channel *nvchan = &nvdev->chan_table[i]; nvchan 1003 drivers/net/hyperv/rndis_filter.c if (nvchan->mrc.first != nvchan->mrc.next) nvchan 1006 drivers/net/hyperv/rndis_filter.c if (atomic_read(&nvchan->queue_sends) > 0) nvchan 1091 drivers/net/hyperv/rndis_filter.c struct netvsc_channel *nvchan; nvchan 1101 drivers/net/hyperv/rndis_filter.c nvchan = nvscdev->chan_table + chn_index; nvchan 1109 drivers/net/hyperv/rndis_filter.c nvchan->channel = new_sc; nvchan 1113 drivers/net/hyperv/rndis_filter.c netvsc_channel_cb, nvchan); nvchan 1115 drivers/net/hyperv/rndis_filter.c napi_enable(&nvchan->napi);