Home
last modified time | relevance | path

Searched refs:nic_dev (Results 1 – 13 of 13) sorted by relevance

/linux/drivers/net/ethernet/huawei/hinic/
H A Dhinic_main.c79 static int set_features(struct hinic_dev *nic_dev,
110 static void gather_nic_stats(struct hinic_dev *nic_dev, in gather_nic_stats() argument
114 int i, num_qps = hinic_hwdev_num_qps(nic_dev->hwdev); in gather_nic_stats()
117 gather_rx_stats(nic_rx_stats, &nic_dev->rxqs[i]); in gather_nic_stats()
120 gather_tx_stats(nic_tx_stats, &nic_dev->txqs[i]); in gather_nic_stats()
125 * @nic_dev: the specific NIC device
129 static int create_txqs(struct hinic_dev *nic_dev) in create_txqs() argument
131 int err, i, j, num_txqs = hinic_hwdev_num_qps(nic_dev->hwdev); in create_txqs()
132 struct net_device *netdev = nic_dev->netdev; in create_txqs()
134 if (nic_dev in create_txqs()
179 enable_txqs_napi(struct hinic_dev * nic_dev) enable_txqs_napi() argument
188 disable_txqs_napi(struct hinic_dev * nic_dev) disable_txqs_napi() argument
201 free_txqs(struct hinic_dev * nic_dev) free_txqs() argument
226 create_rxqs(struct hinic_dev * nic_dev) create_rxqs() argument
280 free_rxqs(struct hinic_dev * nic_dev) free_rxqs() argument
299 hinic_configure_max_qnum(struct hinic_dev * nic_dev) hinic_configure_max_qnum() argument
304 hinic_rss_init(struct hinic_dev * nic_dev) hinic_rss_init() argument
345 hinic_rss_deinit(struct hinic_dev * nic_dev) hinic_rss_deinit() argument
350 hinic_init_rss_parameters(struct hinic_dev * nic_dev) hinic_init_rss_parameters() argument
363 hinic_enable_rss(struct hinic_dev * nic_dev) hinic_enable_rss() argument
419 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_open() local
537 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_close() local
577 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_change_mtu() local
600 struct hinic_dev *nic_dev = netdev_priv(netdev); change_mac_addr() local
657 struct hinic_dev *nic_dev = netdev_priv(netdev); add_mac_addr() local
689 struct hinic_dev *nic_dev = netdev_priv(netdev); remove_mac_addr() local
719 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_vlan_rx_add_vid() local
757 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_vlan_rx_kill_vid() local
783 struct hinic_dev *nic_dev = rx_mode_work_to_nic_dev(rx_mode_work); set_rx_mode() local
793 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_set_rx_mode() local
817 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_tx_timeout() local
843 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_get_stats64() local
862 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_set_features() local
871 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_fix_features() local
938 hinic_refresh_nic_cfg(struct hinic_dev * nic_dev) hinic_refresh_nic_cfg() argument
970 struct hinic_dev *nic_dev = handle; link_status_event_handler() local
1021 struct hinic_dev *nic_dev = handle; cable_plug_event() local
1035 struct hinic_dev *nic_dev = handle; link_err_event() local
1049 set_features(struct hinic_dev * nic_dev,netdev_features_t pre_features,netdev_features_t features,bool force_change) set_features() argument
1115 hinic_init_intr_coalesce(struct hinic_dev * nic_dev) hinic_init_intr_coalesce() argument
1148 hinic_free_intr_coalesce(struct hinic_dev * nic_dev) hinic_free_intr_coalesce() argument
1163 struct hinic_dev *nic_dev; nic_dev_init() local
1396 wait_sriov_cfg_complete(struct hinic_dev * nic_dev) wait_sriov_cfg_complete() argument
1417 struct hinic_dev *nic_dev = netdev_priv(netdev); hinic_remove() local
[all...]
H A Dhinic_ethtool.c259 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_get_link_ksettings() local
274 err = hinic_port_get_cap(nic_dev, &port_cap); in hinic_get_link_ksettings()
281 err = hinic_port_link_state(nic_dev, &link_state); in hinic_get_link_ksettings()
299 err = hinic_get_link_mode(nic_dev->hwdev, &link_mode); in hinic_get_link_ksettings()
309 if (!HINIC_IS_VF(nic_dev->hwdev->hwif)) { in hinic_get_link_ksettings()
310 err = hinic_get_hw_pause_info(nic_dev->hwdev, &pause_info); in hinic_get_link_ksettings()
365 static bool hinic_is_speed_legal(struct hinic_dev *nic_dev, u32 speed) in hinic_is_speed_legal() argument
368 struct net_device *netdev = nic_dev->netdev; in hinic_is_speed_legal()
372 err = hinic_get_link_mode(nic_dev->hwdev, &link_mode); in hinic_is_speed_legal()
383 netif_err(nic_dev, drv, netdev, in hinic_is_speed_legal()
[all …]
H A Dhinic_debugfs.c23 static u64 hinic_dbg_get_sq_info(struct hinic_dev *nic_dev, struct hinic_sq *sq, int idx) in hinic_dbg_get_sq_info() argument
29 return nic_dev->hwdev->func_to_io.global_qpn + sq->qid; in hinic_dbg_get_sq_info()
53 static u64 hinic_dbg_get_rq_info(struct hinic_dev *nic_dev, struct hinic_rq *rq, int idx) in hinic_dbg_get_rq_info() argument
59 return nic_dev->hwdev->func_to_io.global_qpn + rq->qid; in hinic_dbg_get_rq_info()
83 static int hinic_dbg_get_func_table(struct hinic_dev *nic_dev, int idx) in hinic_dbg_get_func_table() argument
98 read_data->lt_index = HINIC_HWIF_FUNC_IDX(nic_dev->hwdev->hwif); in hinic_dbg_get_func_table()
101 err = hinic_port_msg_cmd(nic_dev->hwdev, HINIC_PORT_CMD_RD_LINE_TBL, read_data, in hinic_dbg_get_func_table()
104 netif_err(nic_dev, drv, nic_dev->netdev, in hinic_dbg_get_func_table()
271 void hinic_sq_dbgfs_init(struct hinic_dev *nic_dev) in hinic_sq_dbgfs_init() argument
273 nic_dev->sq_dbgfs = debugfs_create_dir("SQs", nic_dev->dbgfs_root); in hinic_sq_dbgfs_init()
[all …]
H A Dhinic_rx.c130 struct hinic_dev *nic_dev = netdev_priv(rxq->netdev); in rx_alloc_skb() local
131 struct hinic_hwdev *hwdev = nic_dev->hwdev; in rx_alloc_skb()
165 struct hinic_dev *nic_dev = netdev_priv(rxq->netdev); in rx_unmap_skb() local
166 struct hinic_hwdev *hwdev = nic_dev->hwdev; in rx_unmap_skb()
195 struct hinic_dev *nic_dev = netdev_priv(rxq->netdev); in rx_alloc_pkts() local
207 if (free_wqebbs > nic_dev->rx_weight) in rx_alloc_pkts()
208 free_wqebbs = nic_dev->rx_weight; in rx_alloc_pkts()
314 static void hinic_copy_lp_data(struct hinic_dev *nic_dev, in hinic_copy_lp_data() argument
317 struct net_device *netdev = nic_dev->netdev; in hinic_copy_lp_data()
318 u8 *lb_buf = nic_dev->lb_test_rx_buf; in hinic_copy_lp_data()
[all …]
H A Dhinic_port.c34 static int change_mac(struct hinic_dev *nic_dev, const u8 *addr, in change_mac() argument
37 struct hinic_hwdev *hwdev = nic_dev->hwdev; in change_mac()
87 int hinic_port_add_mac(struct hinic_dev *nic_dev, in hinic_port_add_mac() argument
90 return change_mac(nic_dev, addr, vlan_id, MAC_SET); in hinic_port_add_mac()
101 int hinic_port_del_mac(struct hinic_dev *nic_dev, const u8 *addr, in hinic_port_del_mac() argument
104 return change_mac(nic_dev, addr, vlan_id, MAC_DEL); in hinic_port_del_mac()
114 int hinic_port_get_mac(struct hinic_dev *nic_dev, u8 *addr) in hinic_port_get_mac() argument
116 struct hinic_hwdev *hwdev = nic_dev->hwdev; in hinic_port_get_mac()
145 int hinic_port_set_mtu(struct hinic_dev *nic_dev, int new_mtu) in hinic_port_set_mtu() argument
147 struct hinic_hwdev *hwdev = nic_dev->hwdev; in hinic_port_set_mtu()
[all …]
H A Dhinic_sriov.c518 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_get_sriov_info_by_pcidev() local
520 return &nic_dev->sriov_info; in hinic_get_sriov_info_by_pcidev()
600 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_get_vf_config() local
603 sriov_info = &nic_dev->sriov_info; in hinic_ndo_get_vf_config()
644 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_ndo_set_vf_mac() local
648 sriov_info = &nic_dev->sriov_info; in hinic_ndo_set_vf_mac()
656 netif_info(nic_dev, drv, netdev, "Setting MAC %pM on VF %d\n", mac, vf); in hinic_ndo_set_vf_mac()
657 netif_info(nic_dev, drv, netdev, "Reload the VF driver to make this change effective."); in hinic_ndo_set_vf_mac()
702 static int hinic_update_mac_vlan(struct hinic_dev *nic_dev, u16 old_vlan, in hinic_update_mac_vlan() argument
709 if (!nic_dev || old_vlan >= VLAN_N_VID || new_vlan >= VLAN_N_VID) in hinic_update_mac_vlan()
[all …]
H A Dhinic_port.h767 int hinic_port_add_mac(struct hinic_dev *nic_dev, const u8 *addr,
770 int hinic_port_del_mac(struct hinic_dev *nic_dev, const u8 *addr,
773 int hinic_port_get_mac(struct hinic_dev *nic_dev, u8 *addr);
775 int hinic_port_set_mtu(struct hinic_dev *nic_dev, int new_mtu);
777 int hinic_port_add_vlan(struct hinic_dev *nic_dev, u16 vlan_id);
779 int hinic_port_del_vlan(struct hinic_dev *nic_dev, u16 vlan_id);
781 int hinic_port_set_rx_mode(struct hinic_dev *nic_dev, u32 rx_mode);
783 int hinic_port_link_state(struct hinic_dev *nic_dev,
786 int hinic_port_set_state(struct hinic_dev *nic_dev,
789 int hinic_port_set_func_state(struct hinic_dev *nic_dev,
[all …]
H A Dhinic_tx.c132 static int tx_map_skb(struct hinic_dev *nic_dev, struct sk_buff *skb, in tx_map_skb() argument
135 struct hinic_hwdev *hwdev = nic_dev->hwdev; in tx_map_skb()
183 static void tx_unmap_skb(struct hinic_dev *nic_dev, struct sk_buff *skb, in tx_unmap_skb() argument
186 struct hinic_hwdev *hwdev = nic_dev->hwdev; in tx_unmap_skb()
493 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_lb_xmit_frame() local
502 txq = &nic_dev->txqs[q_id]; in hinic_lb_xmit_frame()
506 err = tx_map_skb(nic_dev, skb, txq->sges); in hinic_lb_xmit_frame()
518 netif_wake_subqueue(nic_dev->netdev, qp->q_id); in hinic_lb_xmit_frame()
522 tx_unmap_skb(nic_dev, skb, txq->sges); in hinic_lb_xmit_frame()
554 struct hinic_dev *nic_dev = netdev_priv(netdev); in hinic_xmit_frame() local
[all …]
H A Dhinic_debugfs.h93 void hinic_sq_dbgfs_init(struct hinic_dev *nic_dev);
95 void hinic_sq_dbgfs_uninit(struct hinic_dev *nic_dev);
97 void hinic_rq_dbgfs_init(struct hinic_dev *nic_dev);
99 void hinic_rq_dbgfs_uninit(struct hinic_dev *nic_dev);
101 void hinic_func_tbl_dbgfs_init(struct hinic_dev *nic_dev);
103 void hinic_func_tbl_dbgfs_uninit(struct hinic_dev *nic_dev);
105 void hinic_dbg_init(struct hinic_dev *nic_dev);
107 void hinic_dbg_uninit(struct hinic_dev *nic_dev);
/linux/drivers/net/ethernet/huawei/hinic3/
H A Dhinic3_irq.c16 static void hinic3_net_dim(struct hinic3_nic_dev *nic_dev, in hinic3_net_dim() argument
22 if (!test_bit(HINIC3_INTF_UP, &nic_dev->flags) || in hinic3_net_dim()
23 !nic_dev->adaptive_rx_coal) in hinic3_net_dim()
35 struct hinic3_nic_dev *nic_dev; in hinic3_poll() local
39 nic_dev = netdev_priv(irq_cfg->netdev); in hinic3_poll()
53 hinic3_net_dim(nic_dev, irq_cfg); in hinic3_poll()
54 hinic3_set_msix_state(nic_dev->hwdev, irq_cfg->msix_entry_idx, in hinic3_poll()
63 struct hinic3_nic_dev *nic_dev = netdev_priv(irq_cfg->netdev); in qp_add_napi() local
65 netif_napi_add(nic_dev->netdev, &irq_cfg->napi, hinic3_poll); in qp_add_napi()
78 struct hinic3_nic_dev *nic_dev; in qp_irq() local
[all …]
H A Dhinic3_filter.c20 struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); in hinic3_filter_addr_sync() local
22 return hinic3_set_mac(nic_dev->hwdev, addr, 0, in hinic3_filter_addr_sync()
23 hinic3_global_func_id(nic_dev->hwdev)); in hinic3_filter_addr_sync()
28 struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); in hinic3_filter_addr_unsync() local
34 return hinic3_del_mac(nic_dev->hwdev, addr, 0, in hinic3_filter_addr_unsync()
35 hinic3_global_func_id(nic_dev->hwdev)); in hinic3_filter_addr_unsync()
40 struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); in hinic3_clean_mac_list_filter() local
44 list_for_each_entry_safe(f, ftmp, &nic_dev->uc_filter_list, list) { in hinic3_clean_mac_list_filter()
51 list_for_each_entry_safe(f, ftmp, &nic_dev->mc_filter_list, list) { in hinic3_clean_mac_list_filter()
75 struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); in hinic3_add_filter() local
[all …]
H A Dhinic3_nic_io.c209 int hinic3_init_nic_io(struct hinic3_nic_dev *nic_dev) in hinic3_init_nic_io() argument
211 struct hinic3_hwdev *hwdev = nic_dev->hwdev; in hinic3_init_nic_io()
219 nic_dev->nic_io = nic_io; in hinic3_init_nic_io()
227 err = hinic3_init_function_table(nic_dev); in hinic3_init_nic_io()
233 nic_io->rx_buf_len = nic_dev->rx_buf_len; in hinic3_init_nic_io()
235 err = hinic3_get_nic_feature_from_hw(nic_dev); in hinic3_init_nic_io()
250 nic_dev->nic_io = NULL; in hinic3_init_nic_io()
256 void hinic3_free_nic_io(struct hinic3_nic_dev *nic_dev) in hinic3_free_nic_io() argument
258 struct hinic3_nic_io *nic_io = nic_dev->nic_io; in hinic3_free_nic_io()
260 hinic3_set_func_svc_used_state(nic_dev->hwdev, COMM_FUNC_SVC_T_NIC, 0); in hinic3_free_nic_io()
[all …]
H A Dhinic3_tx.c46 struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); in hinic3_alloc_txqs() local
47 u16 q_id, num_txqs = nic_dev->max_qps; in hinic3_alloc_txqs()
48 struct pci_dev *pdev = nic_dev->pdev; in hinic3_alloc_txqs()
51 nic_dev->txqs = kzalloc_objs(*nic_dev->txqs, num_txqs); in hinic3_alloc_txqs()
52 if (!nic_dev->txqs) in hinic3_alloc_txqs()
56 txq = &nic_dev->txqs[q_id]; in hinic3_alloc_txqs()
59 txq->q_depth = nic_dev->q_params.sq_depth; in hinic3_alloc_txqs()
60 txq->q_mask = nic_dev->q_params.sq_depth - 1; in hinic3_alloc_txqs()
71 struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); in hinic3_free_txqs() local
73 kfree(nic_dev->txqs); in hinic3_free_txqs()
[all …]