Lines Matching refs:netdev
129 spider_net_write_phy(struct net_device *netdev, int mii_id, in spider_net_write_phy() argument
132 struct spider_net_card *card = netdev_priv(netdev); in spider_net_write_phy()
153 spider_net_read_phy(struct net_device *netdev, int mii_id, int reg) in spider_net_read_phy() argument
155 struct spider_net_card *card = netdev_priv(netdev); in spider_net_read_phy()
184 bmsr = spider_net_read_phy(card->netdev, phy->mii_id, MII_BMSR); in spider_net_setup_aneg()
185 estat = spider_net_read_phy(card->netdev, phy->mii_id, MII_ESTATUS); in spider_net_setup_aneg()
247 struct net_device *netdev = card->netdev; in spider_net_set_promisc() local
249 if (netdev->flags & IFF_PROMISC) { in spider_net_set_promisc()
256 macu = netdev->dev_addr[0]; in spider_net_set_promisc()
258 macu |= netdev->dev_addr[1]; in spider_net_set_promisc()
259 memcpy(&macl, &netdev->dev_addr[2], sizeof(macl)); in spider_net_set_promisc()
276 spider_net_get_mac_address(struct net_device *netdev) in spider_net_get_mac_address() argument
278 struct spider_net_card *card = netdev_priv(netdev); in spider_net_get_mac_address()
284 netdev->dev_addr[0] = (macu >> 24) & 0xff; in spider_net_get_mac_address()
285 netdev->dev_addr[1] = (macu >> 16) & 0xff; in spider_net_get_mac_address()
286 netdev->dev_addr[2] = (macu >> 8) & 0xff; in spider_net_get_mac_address()
287 netdev->dev_addr[3] = macu & 0xff; in spider_net_get_mac_address()
288 netdev->dev_addr[4] = (macl >> 8) & 0xff; in spider_net_get_mac_address()
289 netdev->dev_addr[5] = macl & 0xff; in spider_net_get_mac_address()
291 if (!is_valid_ether_addr(&netdev->dev_addr[0])) in spider_net_get_mac_address()
436 descr->skb = netdev_alloc_skb(card->netdev, in spider_net_prepare_rx_descr()
440 dev_err(&card->netdev->dev, in spider_net_prepare_rx_descr()
462 dev_err(&card->netdev->dev, "Could not iommu-map rx buffer\n"); in spider_net_prepare_rx_descr()
597 spider_net_get_multicast_hash(struct net_device *netdev, __u8 *addr) in spider_net_get_multicast_hash() argument
609 crc = crc32_be(~0, addr_for_crc, netdev->addr_len); in spider_net_get_multicast_hash()
628 spider_net_set_multi(struct net_device *netdev) in spider_net_set_multi() argument
634 struct spider_net_card *card = netdev_priv(netdev); in spider_net_set_multi()
640 if (netdev->flags & IFF_ALLMULTI) { in spider_net_set_multi()
651 netdev_for_each_mc_addr(ha, netdev) { in spider_net_set_multi()
652 hash = spider_net_get_multicast_hash(netdev, ha->addr); in spider_net_set_multi()
698 dev_err(&card->netdev->dev, "could not iommu-map packet (%p, %i). " in spider_net_prepare_tx_descr()
738 card->netdev->trans_start = jiffies; /* set netdev watchdog timer */ in spider_net_prepare_tx_descr()
800 struct net_device *dev = card->netdev; in spider_net_release_tx_chain()
839 dev_err(&card->netdev->dev, "forcing end of tx descriptor " in spider_net_release_tx_chain()
916 spider_net_xmit(struct sk_buff *skb, struct net_device *netdev) in spider_net_xmit() argument
919 struct spider_net_card *card = netdev_priv(netdev); in spider_net_xmit()
924 netdev->stats.tx_dropped++; in spider_net_xmit()
925 netif_stop_queue(netdev); in spider_net_xmit()
948 (card->netdev->flags & IFF_UP)) { in spider_net_cleanup_tx_ring()
950 netif_wake_queue(card->netdev); in spider_net_cleanup_tx_ring()
964 spider_net_do_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) in spider_net_do_ioctl() argument
986 struct net_device *netdev = card->netdev; in spider_net_pass_skb_up() local
996 skb->protocol = eth_type_trans(skb, netdev); in spider_net_pass_skb_up()
1000 if (netdev->features & NETIF_F_RXCSUM) { in spider_net_pass_skb_up()
1012 netdev->stats.rx_packets++; in spider_net_pass_skb_up()
1013 netdev->stats.rx_bytes += skb->len; in spider_net_pass_skb_up()
1025 struct device *dev = &card->netdev->dev; in show_rx_chain()
1181 struct net_device *dev = card->netdev; in spider_net_decode_one_descr()
1217 dev_err(&card->netdev->dev, in spider_net_decode_one_descr()
1226 dev_err(&card->netdev->dev, in spider_net_decode_one_descr()
1234 dev_err(&card->netdev->dev, "bad status, cmd_status=x%08x\n", in spider_net_decode_one_descr()
1319 spider_net_change_mtu(struct net_device *netdev, int new_mtu) in spider_net_change_mtu() argument
1326 netdev->mtu = new_mtu; in spider_net_change_mtu()
1339 spider_net_set_mac(struct net_device *netdev, void *p) in spider_net_set_mac() argument
1341 struct spider_net_card *card = netdev_priv(netdev); in spider_net_set_mac()
1368 if (spider_net_get_mac_address(netdev)) in spider_net_set_mac()
1370 if (memcmp(netdev->dev_addr,addr->sa_data,netdev->addr_len)) in spider_net_set_mac()
1385 spider_net_link_reset(struct net_device *netdev) in spider_net_link_reset() argument
1388 struct spider_net_card *card = netdev_priv(netdev); in spider_net_link_reset()
1453 dev_err(&card->netdev->dev, "PHY write queue full\n"); in spider_net_handle_error_irq()
1620 dev_err(&card->netdev->dev, "Error interrupt, GHIINT0STS = 0x%08x, " in spider_net_handle_error_irq()
1643 struct net_device *netdev = ptr; in spider_net_interrupt() local
1644 struct spider_net_card *card = netdev_priv(netdev); in spider_net_interrupt()
1665 spider_net_link_reset(netdev); in spider_net_interrupt()
1685 spider_net_poll_controller(struct net_device *netdev) in spider_net_poll_controller() argument
1687 disable_irq(netdev->irq); in spider_net_poll_controller()
1688 spider_net_interrupt(netdev->irq, netdev); in spider_net_poll_controller()
1689 enable_irq(netdev->irq); in spider_net_poll_controller()
1915 dev_err(&card->netdev->dev, in spider_net_init_firmware()
1940 dev_err(&card->netdev->dev, in spider_net_init_firmware()
1951 dev_err(&card->netdev->dev, in spider_net_init_firmware()
1967 spider_net_open(struct net_device *netdev) in spider_net_open() argument
1969 struct spider_net_card *card = netdev_priv(netdev); in spider_net_open()
1997 spider_net_set_multi(netdev); in spider_net_open()
2002 if (request_irq(netdev->irq, spider_net_interrupt, in spider_net_open()
2003 IRQF_SHARED, netdev->name, netdev)) in spider_net_open()
2008 netif_start_queue(netdev); in spider_net_open()
2009 netif_carrier_on(netdev); in spider_net_open()
2042 card->netdev->name); in spider_net_link_phy()
2094 card->netdev->name, phy->speed, in spider_net_link_phy()
2117 phy->dev = card->netdev; in spider_net_setup_phy()
2123 id = spider_net_read_phy(card->netdev, phy->mii_id, MII_BMSR); in spider_net_setup_phy()
2176 spider_net_stop(struct net_device *netdev) in spider_net_stop() argument
2178 struct spider_net_card *card = netdev_priv(netdev); in spider_net_stop()
2181 netif_carrier_off(netdev); in spider_net_stop()
2182 netif_stop_queue(netdev); in spider_net_stop()
2188 free_irq(netdev->irq, netdev); in spider_net_stop()
2218 struct net_device *netdev = card->netdev; in spider_net_tx_timeout_task() local
2220 if (!(netdev->flags & IFF_UP)) in spider_net_tx_timeout_task()
2223 netif_device_detach(netdev); in spider_net_tx_timeout_task()
2224 spider_net_stop(netdev); in spider_net_tx_timeout_task()
2232 spider_net_open(netdev); in spider_net_tx_timeout_task()
2234 netif_device_attach(netdev); in spider_net_tx_timeout_task()
2247 spider_net_tx_timeout(struct net_device *netdev) in spider_net_tx_timeout() argument
2251 card = netdev_priv(netdev); in spider_net_tx_timeout()
2253 if (netdev->flags & IFF_UP) in spider_net_tx_timeout()
2284 spider_net_setup_netdev_ops(struct net_device *netdev) in spider_net_setup_netdev_ops() argument
2286 netdev->netdev_ops = &spider_net_ops; in spider_net_setup_netdev_ops()
2287 netdev->watchdog_timeo = SPIDER_NET_WATCHDOG_TIMEOUT; in spider_net_setup_netdev_ops()
2289 netdev->ethtool_ops = &spider_net_ethtool_ops; in spider_net_setup_netdev_ops()
2304 struct net_device *netdev = card->netdev; in spider_net_setup_netdev() local
2309 SET_NETDEV_DEV(netdev, &card->pdev->dev); in spider_net_setup_netdev()
2311 pci_set_drvdata(card->pdev, netdev); in spider_net_setup_netdev()
2317 netdev->irq = card->pdev->irq; in spider_net_setup_netdev()
2324 netif_napi_add(netdev, &card->napi, in spider_net_setup_netdev()
2327 spider_net_setup_netdev_ops(netdev); in spider_net_setup_netdev()
2329 netdev->hw_features = NETIF_F_RXCSUM | NETIF_F_IP_CSUM; in spider_net_setup_netdev()
2331 netdev->features |= NETIF_F_RXCSUM; in spider_net_setup_netdev()
2332 netdev->features |= NETIF_F_IP_CSUM | NETIF_F_LLTX; in spider_net_setup_netdev()
2336 netdev->irq = card->pdev->irq; in spider_net_setup_netdev()
2349 result = spider_net_set_mac(netdev, &addr); in spider_net_setup_netdev()
2351 dev_err(&card->netdev->dev, in spider_net_setup_netdev()
2354 result = register_netdev(netdev); in spider_net_setup_netdev()
2357 dev_err(&card->netdev->dev, in spider_net_setup_netdev()
2363 pr_info("Initialized device %s.\n", netdev->name); in spider_net_setup_netdev()
2378 struct net_device *netdev; in spider_net_alloc_card() local
2384 netdev = alloc_etherdev(alloc_size); in spider_net_alloc_card()
2385 if (!netdev) in spider_net_alloc_card()
2388 card = netdev_priv(netdev); in spider_net_alloc_card()
2389 card->netdev = netdev; in spider_net_alloc_card()
2465 card->netdev->mem_start = mmio_start; in spider_net_setup_pci_dev()
2466 card->netdev->mem_end = mmio_start + mmio_len; in spider_net_setup_pci_dev()
2520 free_netdev(card->netdev); in spider_net_probe()
2537 struct net_device *netdev; in spider_net_remove() local
2540 netdev = pci_get_drvdata(pdev); in spider_net_remove()
2541 card = netdev_priv(netdev); in spider_net_remove()
2546 unregister_netdev(netdev); in spider_net_remove()
2555 free_netdev(netdev); in spider_net_remove()