Lines Matching refs:fbn

46 	struct fbnic_net *fbn = netdev_priv(netdev);  in fbnic_get_drvinfo()  local
47 struct fbnic_dev *fbd = fbn->fbd; in fbnic_get_drvinfo()
55 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_get_regs_len() local
57 return fbnic_csr_regs_len(fbn->fbd) * sizeof(u32); in fbnic_get_regs_len()
63 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_get_regs() local
65 fbnic_csr_get_regs(fbn->fbd, data, &regs->version); in fbnic_get_regs()
94 static void fbnic_aggregate_vector_counters(struct fbnic_net *fbn, in fbnic_aggregate_vector_counters() argument
100 fbnic_aggregate_ring_tx_counters(fbn, &nv->qt[i].sub0); in fbnic_aggregate_vector_counters()
101 fbnic_aggregate_ring_tx_counters(fbn, &nv->qt[i].sub1); in fbnic_aggregate_vector_counters()
102 fbnic_aggregate_ring_tx_counters(fbn, &nv->qt[i].cmpl); in fbnic_aggregate_vector_counters()
106 fbnic_aggregate_ring_rx_counters(fbn, &nv->qt[i].sub0); in fbnic_aggregate_vector_counters()
107 fbnic_aggregate_ring_rx_counters(fbn, &nv->qt[i].sub1); in fbnic_aggregate_vector_counters()
108 fbnic_aggregate_ring_rx_counters(fbn, &nv->qt[i].cmpl); in fbnic_aggregate_vector_counters()
153 struct fbnic_net *fbn = netdev_priv(dev); in fbnic_get_ethtool_stats() local
157 fbnic_get_hw_stats(fbn->fbd); in fbnic_get_ethtool_stats()
161 data[i] = *(u64 *)((u8 *)&fbn->fbd->hw_stats + stat->offset); in fbnic_get_ethtool_stats()
208 fbnic_get_rss_hash_opts(struct fbnic_net *fbn, struct ethtool_rxnfc *cmd) in fbnic_get_rss_hash_opts() argument
216 cmd->data = fbn->rss_flow_hash[hash_opt_idx]; in fbnic_get_rss_hash_opts()
224 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_get_rxnfc() local
229 cmd->data = fbn->num_rx_queues; in fbnic_get_rxnfc()
233 ret = fbnic_get_rss_hash_opts(fbn, cmd); in fbnic_get_rxnfc()
248 fbnic_set_rss_hash_opts(struct fbnic_net *fbn, const struct ethtool_rxnfc *cmd) in fbnic_set_rss_hash_opts() argument
265 fbn->rss_flow_hash[hash_opt_idx] = cmd->data; in fbnic_set_rss_hash_opts()
267 if (netif_running(fbn->netdev)) { in fbnic_set_rss_hash_opts()
268 fbnic_rss_reinit(fbn->fbd, fbn); in fbnic_set_rss_hash_opts()
269 fbnic_write_rules(fbn->fbd); in fbnic_set_rss_hash_opts()
277 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_set_rxnfc() local
282 ret = fbnic_set_rss_hash_opts(fbn, cmd); in fbnic_set_rxnfc()
302 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_get_rxfh() local
309 u32 rss_key = fbn->rss_key[i / 4] << ((i % 4) * 8); in fbnic_get_rxfh()
317 rxfh->indir[i] = fbn->indir_tbl[0][i]; in fbnic_get_rxfh()
324 fbnic_set_indir(struct fbnic_net *fbn, unsigned int idx, const u32 *indir) in fbnic_set_indir() argument
329 if (fbn->indir_tbl[idx][i] == indir[i]) in fbnic_set_indir()
332 fbn->indir_tbl[idx][i] = indir[i]; in fbnic_set_indir()
343 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_set_rxfh() local
360 if (fbn->rss_key[i / 4] == rss_key) in fbnic_set_rxfh()
363 fbn->rss_key[i / 4] = rss_key; in fbnic_set_rxfh()
369 changes += fbnic_set_indir(fbn, 0, rxfh->indir); in fbnic_set_rxfh()
372 fbnic_rss_reinit_hw(fbn->fbd, fbn); in fbnic_set_rxfh()
380 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_get_channels() local
381 struct fbnic_dev *fbd = fbn->fbd; in fbnic_get_channels()
388 if (fbn->num_rx_queues > fbn->num_napi || in fbnic_get_channels()
389 fbn->num_tx_queues > fbn->num_napi) in fbnic_get_channels()
390 ch->combined_count = min(fbn->num_rx_queues, in fbnic_get_channels()
391 fbn->num_tx_queues); in fbnic_get_channels()
394 fbn->num_rx_queues + fbn->num_tx_queues - fbn->num_napi; in fbnic_get_channels()
395 ch->rx_count = fbn->num_rx_queues - ch->combined_count; in fbnic_get_channels()
396 ch->tx_count = fbn->num_tx_queues - ch->combined_count; in fbnic_get_channels()
400 static void fbnic_set_queues(struct fbnic_net *fbn, struct ethtool_channels *ch, in fbnic_set_queues() argument
403 fbn->num_rx_queues = ch->rx_count + ch->combined_count; in fbnic_set_queues()
404 fbn->num_tx_queues = ch->tx_count + ch->combined_count; in fbnic_set_queues()
405 fbn->num_napi = min(ch->rx_count + ch->tx_count + ch->combined_count, in fbnic_set_queues()
412 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_set_channels() local
414 struct fbnic_dev *fbd = fbn->fbd; in fbnic_set_channels()
433 fbnic_set_queues(fbn, ch, max_napis); in fbnic_set_channels()
434 fbnic_reset_indir_tbl(fbn); in fbnic_set_channels()
438 clone = fbnic_clone_create(fbn); in fbnic_set_channels()
452 fbnic_down_noidle(fbn); in fbnic_set_channels()
453 err = fbnic_wait_all_queues_idle(fbn->fbd, true); in fbnic_set_channels()
462 fbnic_flush(fbn); in fbnic_set_channels()
464 fbnic_clone_swap(fbn, clone); in fbnic_set_channels()
467 fbnic_reset_indir_tbl(fbn); in fbnic_set_channels()
469 fbnic_up(fbn); in fbnic_set_channels()
478 fbnic_flush(fbn); in fbnic_set_channels()
479 fbnic_up(fbn); in fbnic_set_channels()
492 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_get_ts_info() local
494 tsinfo->phc_index = ptp_clock_index(fbn->fbd->ptp); in fbnic_get_ts_info()
520 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_get_ts_stats() local
526 ts_stats->pkts = fbn->tx_stats.ts_packets; in fbnic_get_ts_stats()
527 ts_stats->lost = fbn->tx_stats.ts_lost; in fbnic_get_ts_stats()
528 for (i = 0; i < fbn->num_tx_queues; i++) { in fbnic_get_ts_stats()
529 ring = fbn->tx[i]; in fbnic_get_ts_stats()
550 struct fbnic_net *fbn = netdev_priv(netdev); in fbnic_get_eth_mac_stats() local
552 struct fbnic_dev *fbd = fbn->fbd; in fbnic_get_eth_mac_stats()