Lines Matching refs:nic

111 	struct nicvf *nic = netdev_priv(netdev);  in nicvf_get_settings()  local
116 if (!nic->link_up) { in nicvf_get_settings()
122 if (nic->speed <= 1000) { in nicvf_get_settings()
129 cmd->duplex = nic->duplex; in nicvf_get_settings()
130 ethtool_cmd_speed_set(cmd, nic->speed); in nicvf_get_settings()
137 struct nicvf *nic = netdev_priv(netdev); in nicvf_get_link() local
139 return nic->link_up; in nicvf_get_link()
145 struct nicvf *nic = netdev_priv(netdev); in nicvf_get_drvinfo() local
149 strlcpy(info->bus_info, pci_name(nic->pdev), sizeof(info->bus_info)); in nicvf_get_drvinfo()
154 struct nicvf *nic = netdev_priv(netdev); in nicvf_get_msglevel() local
156 return nic->msg_enable; in nicvf_get_msglevel()
161 struct nicvf *nic = netdev_priv(netdev); in nicvf_set_msglevel() local
163 nic->msg_enable = lvl; in nicvf_set_msglevel()
166 static void nicvf_get_qset_strings(struct nicvf *nic, u8 **data, int qset) in nicvf_get_qset_strings() argument
171 for (qidx = 0; qidx < nic->qs->rq_cnt; qidx++) { in nicvf_get_qset_strings()
179 for (qidx = 0; qidx < nic->qs->sq_cnt; qidx++) { in nicvf_get_qset_strings()
190 struct nicvf *nic = netdev_priv(netdev); in nicvf_get_strings() local
207 nicvf_get_qset_strings(nic, &data, 0); in nicvf_get_strings()
209 for (sqs = 0; sqs < nic->sqs_count; sqs++) { in nicvf_get_strings()
210 if (!nic->snicvf[sqs]) in nicvf_get_strings()
212 nicvf_get_qset_strings(nic->snicvf[sqs], &data, sqs + 1); in nicvf_get_strings()
228 struct nicvf *nic = netdev_priv(netdev); in nicvf_get_sset_count() local
236 (nic->qs->rq_cnt + nic->qs->sq_cnt); in nicvf_get_sset_count()
237 for (sqs = 0; sqs < nic->sqs_count; sqs++) { in nicvf_get_sset_count()
240 snic = nic->snicvf[sqs]; in nicvf_get_sset_count()
252 static void nicvf_get_qset_stats(struct nicvf *nic, in nicvf_get_qset_stats() argument
257 if (!nic) in nicvf_get_qset_stats()
260 for (qidx = 0; qidx < nic->qs->rq_cnt; qidx++) { in nicvf_get_qset_stats()
261 nicvf_update_rq_stats(nic, qidx); in nicvf_get_qset_stats()
263 *((*data)++) = ((u64 *)&nic->qs->rq[qidx].stats) in nicvf_get_qset_stats()
267 for (qidx = 0; qidx < nic->qs->sq_cnt; qidx++) { in nicvf_get_qset_stats()
268 nicvf_update_sq_stats(nic, qidx); in nicvf_get_qset_stats()
270 *((*data)++) = ((u64 *)&nic->qs->sq[qidx].stats) in nicvf_get_qset_stats()
278 struct nicvf *nic = netdev_priv(netdev); in nicvf_get_ethtool_stats() local
282 nicvf_update_stats(nic); in nicvf_get_ethtool_stats()
285 nicvf_update_lmac_stats(nic); in nicvf_get_ethtool_stats()
288 *(data++) = ((u64 *)&nic->hw_stats) in nicvf_get_ethtool_stats()
291 *(data++) = ((u64 *)&nic->drv_stats) in nicvf_get_ethtool_stats()
294 nicvf_get_qset_stats(nic, stats, &data); in nicvf_get_ethtool_stats()
296 for (sqs = 0; sqs < nic->sqs_count; sqs++) { in nicvf_get_ethtool_stats()
297 if (!nic->snicvf[sqs]) in nicvf_get_ethtool_stats()
299 nicvf_get_qset_stats(nic->snicvf[sqs], stats, &data); in nicvf_get_ethtool_stats()
303 *(data++) = nic->bgx_stats.rx_stats[stat]; in nicvf_get_ethtool_stats()
305 *(data++) = nic->bgx_stats.tx_stats[stat]; in nicvf_get_ethtool_stats()
316 struct nicvf *nic = netdev_priv(dev); in nicvf_get_regs() local
325 p[i++] = nicvf_reg_read(nic, NIC_VNIC_CFG); in nicvf_get_regs()
328 p[i++] = nicvf_reg_read(nic, in nicvf_get_regs()
331 p[i++] = nicvf_reg_read(nic, NIC_VF_INT); in nicvf_get_regs()
332 p[i++] = nicvf_reg_read(nic, NIC_VF_INT_W1S); in nicvf_get_regs()
333 p[i++] = nicvf_reg_read(nic, NIC_VF_ENA_W1C); in nicvf_get_regs()
334 p[i++] = nicvf_reg_read(nic, NIC_VF_ENA_W1S); in nicvf_get_regs()
335 p[i++] = nicvf_reg_read(nic, NIC_VNIC_RSS_CFG); in nicvf_get_regs()
338 p[i++] = nicvf_reg_read(nic, NIC_VNIC_RSS_KEY_0_4 | (key << 3)); in nicvf_get_regs()
342 p[i++] = nicvf_reg_read(nic, in nicvf_get_regs()
346 p[i++] = nicvf_reg_read(nic, in nicvf_get_regs()
349 p[i++] = nicvf_reg_read(nic, NIC_QSET_RQ_GEN_CFG); in nicvf_get_regs()
353 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_CFG, q); in nicvf_get_regs()
354 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_CFG2, q); in nicvf_get_regs()
355 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_THRESH, q); in nicvf_get_regs()
356 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_BASE, q); in nicvf_get_regs()
357 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_HEAD, q); in nicvf_get_regs()
358 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_TAIL, q); in nicvf_get_regs()
359 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_DOOR, q); in nicvf_get_regs()
360 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_STATUS, q); in nicvf_get_regs()
361 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_STATUS2, q); in nicvf_get_regs()
362 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_CQ_0_7_DEBUG, q); in nicvf_get_regs()
367 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RQ_0_7_CFG, q); in nicvf_get_regs()
368 p[i++] = nicvf_queue_reg_read(nic, in nicvf_get_regs()
371 p[i++] = nicvf_queue_reg_read(nic, reg_offset, q); in nicvf_get_regs()
375 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CFG, q); in nicvf_get_regs()
376 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_THRESH, q); in nicvf_get_regs()
377 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_BASE, q); in nicvf_get_regs()
378 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_HEAD, q); in nicvf_get_regs()
379 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_TAIL, q); in nicvf_get_regs()
380 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_DOOR, q); in nicvf_get_regs()
381 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_STATUS, q); in nicvf_get_regs()
382 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_DEBUG, q); in nicvf_get_regs()
383 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_CNM_CHG, q); in nicvf_get_regs()
384 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_SQ_0_7_STAT_0_1, q); in nicvf_get_regs()
386 p[i++] = nicvf_queue_reg_read(nic, reg_offset, q); in nicvf_get_regs()
390 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_CFG, q); in nicvf_get_regs()
391 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_THRESH, q); in nicvf_get_regs()
392 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_BASE, q); in nicvf_get_regs()
393 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_HEAD, q); in nicvf_get_regs()
394 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_TAIL, q); in nicvf_get_regs()
395 p[i++] = nicvf_queue_reg_read(nic, NIC_QSET_RBDR_0_1_DOOR, q); in nicvf_get_regs()
396 p[i++] = nicvf_queue_reg_read(nic, in nicvf_get_regs()
398 p[i++] = nicvf_queue_reg_read(nic, in nicvf_get_regs()
401 p[i++] = nicvf_queue_reg_read(nic, reg_offset, q); in nicvf_get_regs()
408 struct nicvf *nic = netdev_priv(netdev); in nicvf_get_coalesce() local
410 cmd->rx_coalesce_usecs = nic->cq_coalesce_usecs; in nicvf_get_coalesce()
417 struct nicvf *nic = netdev_priv(netdev); in nicvf_get_ringparam() local
418 struct queue_set *qs = nic->qs; in nicvf_get_ringparam()
426 static int nicvf_get_rss_hash_opts(struct nicvf *nic, in nicvf_get_rss_hash_opts() argument
453 struct nicvf *nic = netdev_priv(dev); in nicvf_get_rxnfc() local
458 info->data = nic->rx_queues; in nicvf_get_rxnfc()
462 return nicvf_get_rss_hash_opts(nic, info); in nicvf_get_rxnfc()
469 static int nicvf_set_rss_hash_opts(struct nicvf *nic, in nicvf_set_rss_hash_opts() argument
472 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_set_rss_hash_opts()
473 u64 rss_cfg = nicvf_reg_read(nic, NIC_VNIC_RSS_CFG); in nicvf_set_rss_hash_opts()
476 netdev_err(nic->netdev, in nicvf_set_rss_hash_opts()
479 netdev_info(nic->netdev, "Set RSS flow type = %d, data = %lld\n", in nicvf_set_rss_hash_opts()
533 nicvf_reg_write(nic, NIC_VNIC_RSS_CFG, rss_cfg); in nicvf_set_rss_hash_opts()
539 struct nicvf *nic = netdev_priv(dev); in nicvf_set_rxnfc() local
543 return nicvf_set_rss_hash_opts(nic, info); in nicvf_set_rxnfc()
557 struct nicvf *nic = netdev_priv(dev); in nicvf_get_rxfh_indir_size() local
559 return nic->rss_info.rss_size; in nicvf_get_rxfh_indir_size()
565 struct nicvf *nic = netdev_priv(dev); in nicvf_get_rxfh() local
566 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_get_rxfh()
586 struct nicvf *nic = netdev_priv(dev); in nicvf_set_rxfh() local
587 struct nicvf_rss_info *rss = &nic->rss_info; in nicvf_set_rxfh()
594 netdev_err(nic->netdev, in nicvf_set_rxfh()
606 nicvf_set_rss_key(nic); in nicvf_set_rxfh()
609 nicvf_config_rss(nic); in nicvf_set_rxfh()
617 struct nicvf *nic = netdev_priv(dev); in nicvf_get_channels() local
621 channel->max_rx = nic->max_queues; in nicvf_get_channels()
622 channel->max_tx = nic->max_queues; in nicvf_get_channels()
624 channel->rx_count = nic->rx_queues; in nicvf_get_channels()
625 channel->tx_count = nic->tx_queues; in nicvf_get_channels()
632 struct nicvf *nic = netdev_priv(dev); in nicvf_set_channels() local
639 if (channel->rx_count > nic->max_queues) in nicvf_set_channels()
641 if (channel->tx_count > nic->max_queues) in nicvf_set_channels()
650 nic->sqs_count = roundup(cqcount, MAX_CMP_QUEUES_PER_QS); in nicvf_set_channels()
651 nic->sqs_count = (nic->sqs_count / MAX_CMP_QUEUES_PER_QS) - 1; in nicvf_set_channels()
653 nic->sqs_count = 0; in nicvf_set_channels()
656 nic->qs->rq_cnt = min_t(u32, channel->rx_count, MAX_RCV_QUEUES_PER_QS); in nicvf_set_channels()
657 nic->qs->sq_cnt = min_t(u32, channel->tx_count, MAX_SND_QUEUES_PER_QS); in nicvf_set_channels()
658 nic->qs->cq_cnt = max(nic->qs->rq_cnt, nic->qs->sq_cnt); in nicvf_set_channels()
660 nic->rx_queues = channel->rx_count; in nicvf_set_channels()
661 nic->tx_queues = channel->tx_count; in nicvf_set_channels()
662 err = nicvf_set_real_num_queues(dev, nic->tx_queues, nic->rx_queues); in nicvf_set_channels()
670 nic->tx_queues, nic->rx_queues); in nicvf_set_channels()