Lines Matching full:netdev

28 static int hbg_net_open(struct net_device *netdev)  in hbg_net_open()  argument
30 struct hbg_priv *priv = netdev_priv(netdev); in hbg_net_open()
39 netif_start_queue(netdev); in hbg_net_open()
61 static int hbg_net_stop(struct net_device *netdev) in hbg_net_stop() argument
63 struct hbg_priv *priv = netdev_priv(netdev); in hbg_net_stop()
66 netif_stop_queue(netdev); in hbg_net_stop()
73 static void hbg_update_promisc_mode(struct net_device *netdev, bool overflow) in hbg_update_promisc_mode() argument
75 struct hbg_priv *priv = netdev_priv(netdev); in hbg_update_promisc_mode()
77 /* Only when not table_overflow, and netdev->flags not set IFF_PROMISC, in hbg_update_promisc_mode()
81 priv->filter.enabled = !(overflow || (netdev->flags & IFF_PROMISC)); in hbg_update_promisc_mode()
139 static int hbg_uc_sync(struct net_device *netdev, const unsigned char *addr) in hbg_uc_sync() argument
141 struct hbg_priv *priv = netdev_priv(netdev); in hbg_uc_sync()
146 static int hbg_uc_unsync(struct net_device *netdev, const unsigned char *addr) in hbg_uc_unsync() argument
148 struct hbg_priv *priv = netdev_priv(netdev); in hbg_uc_unsync()
150 if (ether_addr_equal(netdev->dev_addr, (u8 *)addr)) in hbg_uc_unsync()
157 static void hbg_net_set_rx_mode(struct net_device *netdev) in hbg_net_set_rx_mode() argument
161 ret = __dev_uc_sync(netdev, hbg_uc_sync, hbg_uc_unsync); in hbg_net_set_rx_mode()
164 hbg_update_promisc_mode(netdev, !!ret); in hbg_net_set_rx_mode()
167 static int hbg_net_set_mac_address(struct net_device *netdev, void *addr) in hbg_net_set_mac_address() argument
169 struct hbg_priv *priv = netdev_priv(netdev); in hbg_net_set_mac_address()
190 dev_addr_set(netdev, mac_addr); in hbg_net_set_mac_address()
194 static int hbg_net_change_mtu(struct net_device *netdev, int new_mtu) in hbg_net_change_mtu() argument
196 struct hbg_priv *priv = netdev_priv(netdev); in hbg_net_change_mtu()
198 if (netif_running(netdev)) in hbg_net_change_mtu()
202 "change mtu from %u to %u\n", netdev->mtu, new_mtu); in hbg_net_change_mtu()
205 WRITE_ONCE(netdev->mtu, new_mtu); in hbg_net_change_mtu()
210 static void hbg_net_tx_timeout(struct net_device *netdev, unsigned int txqueue) in hbg_net_tx_timeout() argument
212 struct hbg_priv *priv = netdev_priv(netdev); in hbg_net_tx_timeout()
226 netdev_info(netdev, "%s", buf); in hbg_net_tx_timeout()
301 struct net_device *netdev = pci_get_drvdata(pdev); in hbg_pci_init() local
302 struct hbg_priv *priv = netdev_priv(netdev); in hbg_pci_init()
329 struct net_device *netdev; in hbg_probe() local
333 netdev = devm_alloc_etherdev(dev, sizeof(struct hbg_priv)); in hbg_probe()
334 if (!netdev) in hbg_probe()
337 pci_set_drvdata(pdev, netdev); in hbg_probe()
338 SET_NETDEV_DEV(netdev, dev); in hbg_probe()
340 priv = netdev_priv(netdev); in hbg_probe()
341 priv->netdev = netdev; in hbg_probe()
352 netdev->priv_flags |= IFF_UNICAST_FLT; in hbg_probe()
354 netdev->pcpu_stat_type = NETDEV_PCPU_STAT_TSTATS; in hbg_probe()
355 netdev->max_mtu = priv->dev_specs.max_mtu; in hbg_probe()
356 netdev->min_mtu = priv->dev_specs.min_mtu; in hbg_probe()
357 netdev->netdev_ops = &hbg_netdev_ops; in hbg_probe()
358 netdev->watchdog_timeo = 5 * HZ; in hbg_probe()
361 hbg_net_set_mac_address(priv->netdev, &priv->dev_specs.mac_addr); in hbg_probe()
362 hbg_ethtool_set_ops(netdev); in hbg_probe()
364 ret = devm_register_netdev(dev, netdev); in hbg_probe()
366 return dev_err_probe(dev, ret, "failed to register netdev\n"); in hbg_probe()
368 netif_carrier_off(netdev); in hbg_probe()