Lines Matching defs:fbn

117 	struct fbnic_net *fbn = netdev_priv(netdev);
118 struct fbnic_dev *fbd = fbn->fbd;
126 struct fbnic_net *fbn = netdev_priv(netdev);
128 return fbnic_csr_regs_len(fbn->fbd) * sizeof(u32);
134 struct fbnic_net *fbn = netdev_priv(netdev);
136 fbnic_csr_get_regs(fbn->fbd, data, &regs->version);
165 static void fbnic_aggregate_vector_counters(struct fbnic_net *fbn,
171 fbnic_aggregate_ring_tx_counters(fbn, &nv->qt[i].sub0);
172 fbnic_aggregate_ring_tx_counters(fbn, &nv->qt[i].sub1);
173 fbnic_aggregate_ring_tx_counters(fbn, &nv->qt[i].cmpl);
177 fbnic_aggregate_ring_rx_counters(fbn, &nv->qt[i].sub0);
178 fbnic_aggregate_ring_rx_counters(fbn, &nv->qt[i].sub1);
179 fbnic_aggregate_ring_rx_counters(fbn, &nv->qt[i].cmpl);
214 struct fbnic_net *fbn = netdev_priv(netdev);
216 ec->tx_coalesce_usecs = fbn->tx_usecs;
217 ec->rx_coalesce_usecs = fbn->rx_usecs;
218 ec->rx_max_coalesced_frames = fbn->rx_max_frames;
228 struct fbnic_net *fbn = netdev_priv(netdev);
246 fbn->tx_usecs = ec->tx_coalesce_usecs;
247 fbn->rx_usecs = ec->rx_coalesce_usecs;
248 fbn->rx_max_frames = ec->rx_max_coalesced_frames;
253 for (i = 0; i < fbn->num_napi; i++) {
254 struct fbnic_napi_vector *nv = fbn->napi[i];
269 struct fbnic_net *fbn = netdev_priv(netdev);
276 ring->rx_pending = fbn->rcq_size;
277 ring->rx_mini_pending = fbn->hpq_size;
278 ring->rx_jumbo_pending = fbn->ppq_size;
279 ring->tx_pending = fbn->txq_size;
282 static void fbnic_set_rings(struct fbnic_net *fbn,
285 fbn->rcq_size = ring->rx_pending;
286 fbn->hpq_size = ring->rx_mini_pending;
287 fbn->ppq_size = ring->rx_jumbo_pending;
288 fbn->txq_size = ring->tx_pending;
297 struct fbnic_net *fbn = netdev_priv(netdev);
320 fbnic_set_rings(fbn, ring);
324 clone = fbnic_clone_create(fbn);
338 fbnic_down_noidle(fbn);
339 err = fbnic_wait_all_queues_idle(fbn->fbd, true);
348 fbnic_flush(fbn);
350 fbnic_clone_swap(fbn, clone);
352 fbnic_up(fbn);
361 fbnic_flush(fbn);
362 fbnic_up(fbn);
446 struct fbnic_net *fbn = netdev_priv(dev);
447 struct fbnic_dev *fbd = fbn->fbd;
450 fbnic_get_hw_stats(fbn->fbd);
534 static int fbnic_get_cls_rule_all(struct fbnic_net *fbn,
538 struct fbnic_dev *fbd = fbn->fbd;
565 static int fbnic_get_cls_rule(struct fbnic_net *fbn, struct ethtool_rxnfc *cmd)
568 struct fbnic_dev *fbd = fbn->fbd;
759 struct fbnic_net *fbn = netdev_priv(netdev);
765 cmd->data = fbn->num_rx_queues;
769 ret = fbnic_get_cls_rule(fbn, cmd);
776 ret = fbnic_get_cls_rule_all(fbn, cmd, rule_locs);
803 static int fbnic_set_cls_rule_ins(struct fbnic_net *fbn,
814 struct fbnic_dev *fbd = fbn->fbd;
838 if (ring_idx >= fbn->num_rx_queues)
1075 act_tcam->rss_en_mask = fbnic_flow_hash_2_rss_en_mask(fbn, hash_idx);
1101 if (netif_running(fbn->netdev)) {
1112 static void fbnic_clear_nfc_macda(struct fbnic_net *fbn,
1115 struct fbnic_dev *fbd = fbn->fbd;
1122 if (netif_running(fbn->netdev))
1126 static void fbnic_clear_nfc_ip_addr(struct fbnic_net *fbn,
1129 struct fbnic_dev *fbd = fbn->fbd;
1142 if (netif_running(fbn->netdev))
1146 static int fbnic_set_cls_rule_del(struct fbnic_net *fbn,
1150 struct fbnic_dev *fbd = fbn->fbd;
1169 fbnic_clear_nfc_macda(fbn, idx);
1181 fbnic_clear_nfc_ip_addr(fbn, idx);
1183 if (netif_running(fbn->netdev))
1191 struct fbnic_net *fbn = netdev_priv(netdev);
1196 ret = fbnic_set_cls_rule_ins(fbn, cmd);
1199 ret = fbnic_set_cls_rule_del(fbn, cmd);
1219 struct fbnic_net *fbn = netdev_priv(netdev);
1226 u32 rss_key = fbn->rss_key[i / 4] << ((i % 4) * 8);
1234 rxfh->indir[i] = fbn->indir_tbl[0][i];
1241 fbnic_set_indir(struct fbnic_net *fbn, unsigned int idx, const u32 *indir)
1246 if (fbn->indir_tbl[idx][i] == indir[i])
1249 fbn->indir_tbl[idx][i] = indir[i];
1260 struct fbnic_net *fbn = netdev_priv(netdev);
1277 if (fbn->rss_key[i / 4] == rss_key)
1280 fbn->rss_key[i / 4] = rss_key;
1286 changes += fbnic_set_indir(fbn, 0, rxfh->indir);
1289 fbnic_rss_reinit_hw(fbn->fbd, fbn);
1299 struct fbnic_net *fbn = netdev_priv(netdev);
1304 /* Report options from rss_en table in fbn */
1305 cmd->data = fbn->rss_flow_hash[hash_opt_idx];
1322 struct fbnic_net *fbn = netdev_priv(netdev);
1338 fbn->rss_flow_hash[hash_opt_idx] = cmd->data;
1340 if (netif_running(fbn->netdev)) {
1341 fbnic_rss_reinit(fbn->fbd, fbn);
1342 fbnic_write_rules(fbn->fbd);
1354 struct fbnic_net *fbn = netdev_priv(netdev);
1361 changes = fbnic_set_indir(fbn, rxfh->rss_context, indir);
1363 fbnic_rss_reinit_hw(fbn->fbd, fbn);
1374 struct fbnic_net *fbn = netdev_priv(netdev);
1384 unsigned int num_rx = fbn->num_rx_queues;
1406 struct fbnic_net *fbn = netdev_priv(netdev);
1407 struct fbnic_dev *fbd = fbn->fbd;
1414 if (fbn->num_rx_queues > fbn->num_napi ||
1415 fbn->num_tx_queues > fbn->num_napi)
1416 ch->combined_count = min(fbn->num_rx_queues,
1417 fbn->num_tx_queues);
1420 fbn->num_rx_queues + fbn->num_tx_queues - fbn->num_napi;
1421 ch->rx_count = fbn->num_rx_queues - ch->combined_count;
1422 ch->tx_count = fbn->num_tx_queues - ch->combined_count;
1426 static void fbnic_set_queues(struct fbnic_net *fbn, struct ethtool_channels *ch,
1429 fbn->num_rx_queues = ch->rx_count + ch->combined_count;
1430 fbn->num_tx_queues = ch->tx_count + ch->combined_count;
1431 fbn->num_napi = min(ch->rx_count + ch->tx_count + ch->combined_count,
1438 struct fbnic_net *fbn = netdev_priv(netdev);
1440 struct fbnic_dev *fbd = fbn->fbd;
1459 fbnic_set_queues(fbn, ch, max_napis);
1460 fbnic_reset_indir_tbl(fbn);
1464 clone = fbnic_clone_create(fbn);
1478 fbnic_down_noidle(fbn);
1479 err = fbnic_wait_all_queues_idle(fbn->fbd, true);
1488 fbnic_flush(fbn);
1490 fbnic_clone_swap(fbn, clone);
1493 fbnic_reset_indir_tbl(fbn);
1495 fbnic_up(fbn);
1504 fbnic_flush(fbn);
1505 fbnic_up(fbn);
1518 struct fbnic_net *fbn = netdev_priv(netdev);
1520 tsinfo->phc_index = ptp_clock_index(fbn->fbd->ptp);
1546 struct fbnic_net *fbn = netdev_priv(netdev);
1552 ts_stats->pkts = fbn->tx_stats.twq.ts_packets;
1553 ts_stats->lost = fbn->tx_stats.twq.ts_lost;
1554 for (i = 0; i < fbn->num_tx_queues; i++) {
1555 ring = fbn->tx[i];
1576 struct fbnic_net *fbn = netdev_priv(netdev);
1578 struct fbnic_dev *fbd = fbn->fbd;
1618 struct fbnic_net *fbn = netdev_priv(netdev);
1620 struct fbnic_dev *fbd = fbn->fbd;
1652 struct fbnic_net *fbn = netdev_priv(netdev);
1654 struct fbnic_dev *fbd = fbn->fbd;