Lines Matching refs:fbd
15 struct fbnic_dev *fbd = fbn->fbd; in __fbnic_open() local
31 err = fbnic_fw_xmit_ownership_msg(fbd, true); in __fbnic_open()
33 dev_warn(fbd->dev, in __fbnic_open()
43 err = fbnic_fw_init_heartbeat(fbd, false); in __fbnic_open()
47 err = fbnic_pcs_request_irq(fbd); in __fbnic_open()
52 fbnic_bmc_rpc_init(fbd); in __fbnic_open()
53 fbnic_rss_reinit(fbd, fbn); in __fbnic_open()
59 fbnic_fw_xmit_ownership_msg(fbn->fbd, false); in __fbnic_open()
74 fbnic_napi_name_irqs(fbn->fbd); in fbnic_open()
88 fbnic_pcs_free_irq(fbn->fbd); in fbnic_stop()
91 fbnic_fw_xmit_ownership_msg(fbn->fbd, false); in fbnic_stop()
108 avail_addr = __fbnic_uc_sync(fbn->fbd, addr); in fbnic_uc_sync()
121 struct fbnic_dev *fbd = fbn->fbd; in fbnic_uc_unsync() local
128 for (i = fbd->mac_addr_boundary, ret = -ENOENT; in fbnic_uc_unsync()
130 struct fbnic_mac_addr *mac_addr = &fbd->mac_addr[i]; in fbnic_uc_unsync()
149 avail_addr = __fbnic_mc_sync(fbn->fbd, addr); in fbnic_mc_sync()
162 struct fbnic_dev *fbd = fbn->fbd; in fbnic_mc_unsync() local
169 for (i = fbd->mac_addr_boundary, ret = -ENOENT; in fbnic_mc_unsync()
171 struct fbnic_mac_addr *mac_addr = &fbd->mac_addr[i]; in fbnic_mc_unsync()
186 struct fbnic_dev *fbd = fbn->fbd; in __fbnic_set_rx_mode() local
191 mac_addr = &fbd->mac_addr[FBNIC_RPC_TCAM_MACDA_HOST_ADDR_IDX]; in __fbnic_set_rx_mode()
200 mac_addr = &fbd->mac_addr[FBNIC_RPC_TCAM_MACDA_BROADCAST_IDX]; in __fbnic_set_rx_mode()
224 mac_addr = &fbd->mac_addr[FBNIC_RPC_TCAM_MACDA_PROMISC_IDX]; in __fbnic_set_rx_mode()
237 (!fbnic_bmc_present(fbd) || !fbd->fw_cap.all_multi)) { in __fbnic_set_rx_mode()
268 fbnic_bmc_rpc_all_multi_config(fbd, mc_promisc); in __fbnic_set_rx_mode()
271 fbnic_sift_macda(fbd); in __fbnic_set_rx_mode()
274 fbnic_write_rules(fbd); in __fbnic_set_rx_mode()
275 fbnic_write_macda(fbd); in __fbnic_set_rx_mode()
276 fbnic_write_tce_tcam(fbd); in __fbnic_set_rx_mode()
303 struct fbnic_dev *fbd = fbn->fbd; in fbnic_clear_rx_mode() local
306 for (idx = ARRAY_SIZE(fbd->mac_addr); idx--;) { in fbnic_clear_rx_mode()
307 struct fbnic_mac_addr *mac_addr = &fbd->mac_addr[idx]; in fbnic_clear_rx_mode()
322 fbnic_write_macda(fbd); in fbnic_clear_rx_mode()
388 fbnic_rss_reinit(fbn->fbd, fbn); in fbnic_hwtstamp_set()
389 fbnic_write_rules(fbn->fbd); in fbnic_hwtstamp_set()
412 struct fbnic_dev *fbd = fbn->fbd; in fbnic_get_stats64() local
417 fbnic_get_hw_stats(fbd); in fbnic_get_stats64()
426 spin_lock(&fbd->hw_stats_lock); in fbnic_get_stats64()
427 tx_dropped += fbd->hw_stats.tmi.drop.frames.value + in fbnic_get_stats64()
428 fbd->hw_stats.tti.cm_drop.frames.value + in fbnic_get_stats64()
429 fbd->hw_stats.tti.frame_drop.frames.value + in fbnic_get_stats64()
430 fbd->hw_stats.tti.tbi_drop.frames.value; in fbnic_get_stats64()
431 spin_unlock(&fbd->hw_stats_lock); in fbnic_get_stats64()
462 spin_lock(&fbd->hw_stats_lock); in fbnic_get_stats64()
470 rx_missed += fbd->hw_stats.rxb.fifo[i].drop.frames.value; in fbnic_get_stats64()
472 rx_missed += fbd->hw_stats.rxb.fifo[i].drop.frames.value; in fbnic_get_stats64()
474 for (i = 0; i < fbd->max_num_queues; i++) { in fbnic_get_stats64()
476 rx_over += fbd->hw_stats.hw_q[i].rde_pkt_cq_drop.value; in fbnic_get_stats64()
477 rx_over += fbd->hw_stats.hw_q[i].rde_pkt_bdq_drop.value; in fbnic_get_stats64()
480 rx_errors += fbd->hw_stats.hw_q[i].rde_pkt_err.value; in fbnic_get_stats64()
482 spin_unlock(&fbd->hw_stats_lock); in fbnic_get_stats64()
529 struct fbnic_dev *fbd = fbn->fbd; in fbnic_get_queue_stats_rx() local
554 fbnic_get_hw_q_stats(fbd, fbd->hw_stats.hw_q); in fbnic_get_queue_stats_rx()
556 spin_lock(&fbd->hw_stats_lock); in fbnic_get_queue_stats_rx()
557 rx->hw_drop_overruns = fbd->hw_stats.hw_q[idx].rde_pkt_cq_drop.value + in fbnic_get_queue_stats_rx()
558 fbd->hw_stats.hw_q[idx].rde_pkt_bdq_drop.value; in fbnic_get_queue_stats_rx()
559 rx->hw_drops = fbd->hw_stats.hw_q[idx].rde_pkt_err.value + in fbnic_get_queue_stats_rx()
561 spin_unlock(&fbd->hw_stats_lock); in fbnic_get_queue_stats_rx()
625 struct fbnic_dev *fbd = fbn->fbd; in fbnic_reset_queues() local
628 max_napis = fbd->num_irqs - FBNIC_NON_NAPI_VECTORS; in fbnic_reset_queues()
646 void fbnic_netdev_free(struct fbnic_dev *fbd) in fbnic_netdev_free() argument
648 struct fbnic_net *fbn = netdev_priv(fbd->netdev); in fbnic_netdev_free()
653 free_netdev(fbd->netdev); in fbnic_netdev_free()
654 fbd->netdev = NULL; in fbnic_netdev_free()
666 struct net_device *fbnic_netdev_alloc(struct fbnic_dev *fbd) in fbnic_netdev_alloc() argument
676 SET_NETDEV_DEV(netdev, fbd->dev); in fbnic_netdev_alloc()
677 fbd->netdev = netdev; in fbnic_netdev_alloc()
687 fbn->fbd = fbd; in fbnic_netdev_alloc()
699 if (default_queues > fbd->max_num_queues) in fbnic_netdev_alloc()
700 default_queues = fbd->max_num_queues; in fbnic_netdev_alloc()
748 fbnic_netdev_free(fbd); in fbnic_netdev_alloc()
778 struct fbnic_dev *fbd = fbn->fbd; in fbnic_netdev_register() local
779 u64 dsn = fbd->dsn; in fbnic_netdev_register()
792 dev_err(fbd->dev, "MAC addr %pM invalid\n", addr); in fbnic_netdev_register()