Lines Matching defs:ndev
415 struct net_device *ndev;
457 static inline void kick_rx(struct net_device *ndev)
459 struct ns83820 *dev = PRIV(ndev);
468 ndev->name);
539 static inline int rx_refill(struct net_device *ndev, gfp_t gfp)
541 struct ns83820 *dev = PRIV(ndev);
548 dprintk("rx_refill(%p)\n", ndev);
556 skb = __netdev_alloc_skb(ndev, REAL_RX_BUF_SIZE+16, gfp);
577 static void rx_refill_atomic(struct net_device *ndev)
579 rx_refill(ndev, GFP_ATOMIC);
586 struct net_device *ndev = dev->ndev;
588 rx_refill(ndev, GFP_KERNEL);
590 kick_rx(ndev);
598 static void phy_intr(struct net_device *ndev)
600 struct ns83820 *dev = PRIV(ndev);
692 netif_start_queue(ndev);
693 netif_wake_queue(ndev);
695 ndev->name,
700 netif_stop_queue(ndev);
701 printk(KERN_INFO "%s: link now down.\n", ndev->name);
707 static int ns83820_setup_rx(struct net_device *ndev)
709 struct ns83820 *dev = PRIV(ndev);
713 dprintk("ns83820_setup_rx(%p)\n", ndev);
726 ret = rx_refill(ndev, GFP_KERNEL);
739 phy_intr(ndev);
758 kick_rx(ndev);
797 static void ns83820_rx_kick(struct net_device *ndev)
799 struct ns83820 *dev = PRIV(ndev);
802 rx_refill_atomic(ndev);
803 kick_rx(ndev);
810 kick_rx(ndev);
812 printk(KERN_DEBUG "%s: BAD\n", ndev->name);
818 static void rx_irq(struct net_device *ndev)
820 struct ns83820 *dev = PRIV(ndev);
829 dprintk("rx_irq(%p)\n", ndev);
887 ndev->stats.multicast++;
888 ndev->stats.rx_packets++;
889 ndev->stats.rx_bytes += len;
895 skb->protocol = eth_type_trans(skb, ndev);
907 ndev->stats.rx_dropped++;
931 struct net_device *ndev = dev->ndev;
932 rx_irq(ndev);
940 rx_irq(ndev);
941 ns83820_rx_kick(ndev);
956 static void do_tx_done(struct net_device *ndev)
958 struct ns83820 *dev = PRIV(ndev);
962 dprintk("do_tx_done(%p)\n", ndev);
975 ndev->stats.tx_errors++;
977 ndev->stats.tx_packets++;
979 ndev->stats.tx_bytes += cmdsts & 0xffff;
1008 if (netif_queue_stopped(ndev) && start_tx_okay(dev)) {
1009 dprintk("start_queue(%p)\n", ndev);
1010 netif_start_queue(ndev);
1011 netif_wake_queue(ndev);
1043 struct net_device *ndev)
1045 struct ns83820 *dev = PRIV(ndev);
1061 netif_stop_queue(ndev);
1064 netif_start_queue(ndev);
1072 dprintk("stop_queue - not enough(%p)\n", ndev);
1073 netif_stop_queue(ndev);
1077 dprintk("restart queue(%p)\n", ndev);
1078 netif_start_queue(ndev);
1091 dprintk("stop_queue - last entry(%p)\n", ndev);
1092 netif_stop_queue(ndev);
1168 netif_start_queue(ndev);
1175 struct net_device *ndev = dev->ndev;
1179 ndev->stats.rx_errors += readl(base + 0x60) & 0xffff;
1180 ndev->stats.rx_crc_errors += readl(base + 0x64) & 0xffff;
1181 ndev->stats.rx_missed_errors += readl(base + 0x68) & 0xffff;
1182 ndev->stats.rx_frame_errors += readl(base + 0x6c) & 0xffff;
1183 /*ndev->stats.rx_symbol_errors +=*/ readl(base + 0x70);
1184 ndev->stats.rx_length_errors += readl(base + 0x74) & 0xffff;
1185 ndev->stats.rx_length_errors += readl(base + 0x78) & 0xffff;
1186 /*ndev->stats.rx_badopcode_errors += */ readl(base + 0x7c);
1187 /*ndev->stats.rx_pause_count += */ readl(base + 0x80);
1188 /*ndev->stats.tx_pause_count += */ readl(base + 0x84);
1189 ndev->stats.tx_carrier_errors += readl(base + 0x88) & 0xff;
1192 static struct net_device_stats *ns83820_get_stats(struct net_device *ndev)
1194 struct ns83820 *dev = PRIV(ndev);
1201 return &ndev->stats;
1205 static int ns83820_get_link_ksettings(struct net_device *ndev,
1208 struct ns83820 *dev = PRIV(ndev);
1272 static int ns83820_set_link_ksettings(struct net_device *ndev,
1275 struct ns83820 *dev = PRIV(ndev);
1320 ndev->name);
1333 ndev->name);
1339 printk(KERN_INFO "%s: autoneg %s via ethtool\n", ndev->name,
1343 phy_intr(ndev);
1351 static void ns83820_get_drvinfo(struct net_device *ndev, struct ethtool_drvinfo *info)
1353 struct ns83820 *dev = PRIV(ndev);
1359 static u32 ns83820_get_link(struct net_device *ndev)
1361 struct ns83820 *dev = PRIV(ndev);
1389 static void ns83820_do_isr(struct net_device *ndev, u32 isr);
1392 struct net_device *ndev = data;
1393 struct ns83820 *dev = PRIV(ndev);
1395 dprintk("ns83820_irq(%p)\n", ndev);
1401 ns83820_do_isr(ndev, isr);
1405 static void ns83820_do_isr(struct net_device *ndev, u32 isr)
1407 struct ns83820 *dev = PRIV(ndev);
1418 ns83820_rx_kick(ndev);
1430 //rx_irq(ndev);
1435 ns83820_rx_kick(ndev);
1439 ndev->stats.rx_fifo_errors++;
1444 ndev->stats.rx_fifo_errors++;
1457 printk(KERN_ALERT "%s: BUG -- txdp out of range\n", ndev->name);
1474 do_tx_done(ndev);
1507 phy_intr(ndev);
1525 static int ns83820_stop(struct net_device *ndev)
1527 struct ns83820 *dev = PRIV(ndev);
1551 static void ns83820_tx_timeout(struct net_device *ndev, unsigned int txqueue)
1553 struct ns83820 *dev = PRIV(ndev);
1564 ndev->name,
1572 ns83820_do_isr(ndev, isr);
1576 do_tx_done(ndev);
1582 ndev->name,
1591 struct net_device *ndev = dev->ndev;
1599 if (time_after(jiffies, dev_trans_start(ndev) + 1*HZ) &&
1602 ndev->name,
1605 ns83820_tx_timeout(ndev, UINT_MAX);
1611 static int ns83820_open(struct net_device *ndev)
1613 struct ns83820 *dev = PRIV(ndev);
1622 ret = ns83820_setup_rx(ndev);
1643 netif_start_queue(ndev); /* FIXME: wait for phy to come up */
1648 ns83820_stop(ndev);
1669 static void ns83820_set_multicast(struct net_device *ndev)
1671 struct ns83820 *dev = PRIV(ndev);
1677 if (ndev->flags & IFF_PROMISC)
1682 if (ndev->flags & IFF_ALLMULTI || netdev_mc_count(ndev))
1695 static void ns83820_run_bist(struct net_device *ndev, const char *name, u32 enable, u32 done, u32 fail)
1697 struct ns83820 *dev = PRIV(ndev);
1703 dprintk("%s: start %s\n", ndev->name, name);
1726 ndev->name, name, status, fail);
1729 ndev->name, name, status);
1731 dprintk("%s: done %s in %d loops\n", ndev->name, name, loops);
1854 static void ns83820_probe_phy(struct net_device *ndev)
1856 struct ns83820 *dev = PRIV(ndev);
1862 ndev->name, j,
1896 struct net_device *ndev;
1913 ndev = alloc_etherdev(sizeof(struct ns83820));
1915 if (!ndev)
1918 dev = PRIV(ndev);
1919 dev->ndev = ndev;
1926 SET_NETDEV_DEV(ndev, &pci_dev->dev);
1959 DRV_NAME, ndev);
1974 err = dev_alloc_name(ndev, ndev->name);
1981 ndev->name, le32_to_cpu(readl(dev->base + 0x22c)),
1984 ndev->netdev_ops = &netdev_ops;
1985 ndev->ethtool_ops = &ops;
1986 ndev->watchdog_timeo = 5 * HZ;
1987 pci_set_drvdata(pci_dev, ndev);
1993 ns83820_run_bist(ndev, "sram bist", PTSCR_RBIST_EN,
1995 ns83820_run_bist(ndev, "eeprom bist", PTSCR_EEBIST_EN, 0,
1997 ns83820_run_bist(ndev, "eeprom load", PTSCR_EELOAD_EN, 0, 0);
2004 ndev->name);
2008 ndev->name);
2035 ndev->name);
2056 printk(KERN_INFO "%s: resetting phy\n", ndev->name);
2139 ns83820_getmac(dev, ndev->dev_addr);
2142 ndev->features |= NETIF_F_SG;
2143 ndev->features |= NETIF_F_IP_CSUM;
2145 ndev->min_mtu = 0;
2149 ndev->features |= NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX;
2154 ndev->name);
2155 ndev->features |= NETIF_F_HIGHDMA;
2159 ndev->name,
2162 ndev->dev_addr, addr, pci_dev->irq,
2163 (ndev->features & NETIF_F_HIGHDMA) ? "h,sg" : "sg"
2167 ns83820_probe_phy(ndev);
2170 err = register_netdevice(ndev);
2183 free_irq(pci_dev->irq, ndev);
2193 free_netdev(ndev);
2200 struct net_device *ndev = pci_get_drvdata(pci_dev);
2201 struct ns83820 *dev = PRIV(ndev); /* ok even if NULL */
2203 if (!ndev) /* paranoia */
2208 unregister_netdev(ndev);
2209 free_irq(dev->pci_dev->irq, ndev);
2216 free_netdev(ndev);