8139too.c (a402eae64d0ad12b1c4a411f250d6c161e67f623) | 8139too.c (bc1f44709cf27fb2a5766cadafe7e2ad5e9cb221) |
---|---|
1/* 2 3 8139too.c: A RealTek RTL-8139 Fast Ethernet driver for Linux. 4 5 Maintained by Jeff Garzik <jgarzik@pobox.com> 6 Copyright 2000-2002 Jeff Garzik 7 8 Much code comes from Donald Becker's rtl8139.c driver, --- 639 unchanged lines hidden (view full) --- 648#ifdef CONFIG_NET_POLL_CONTROLLER 649static void rtl8139_poll_controller(struct net_device *dev); 650#endif 651static int rtl8139_set_mac_address(struct net_device *dev, void *p); 652static int rtl8139_poll(struct napi_struct *napi, int budget); 653static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance); 654static int rtl8139_close (struct net_device *dev); 655static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd); | 1/* 2 3 8139too.c: A RealTek RTL-8139 Fast Ethernet driver for Linux. 4 5 Maintained by Jeff Garzik <jgarzik@pobox.com> 6 Copyright 2000-2002 Jeff Garzik 7 8 Much code comes from Donald Becker's rtl8139.c driver, --- 639 unchanged lines hidden (view full) --- 648#ifdef CONFIG_NET_POLL_CONTROLLER 649static void rtl8139_poll_controller(struct net_device *dev); 650#endif 651static int rtl8139_set_mac_address(struct net_device *dev, void *p); 652static int rtl8139_poll(struct napi_struct *napi, int budget); 653static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance); 654static int rtl8139_close (struct net_device *dev); 655static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd); |
656static struct rtnl_link_stats64 *rtl8139_get_stats64(struct net_device *dev, 657 struct rtnl_link_stats64 658 *stats); | 656static void rtl8139_get_stats64(struct net_device *dev, 657 struct rtnl_link_stats64 *stats); |
659static void rtl8139_set_rx_mode (struct net_device *dev); 660static void __set_rx_mode (struct net_device *dev); 661static void rtl8139_hw_start (struct net_device *dev); 662static void rtl8139_thread (struct work_struct *work); 663static void rtl8139_tx_timeout_task(struct work_struct *work); 664static const struct ethtool_ops rtl8139_ethtool_ops; 665 666/* write MMIO register, with flush */ --- 1844 unchanged lines hidden (view full) --- 2511 spin_lock_irq(&tp->lock); 2512 rc = generic_mii_ioctl(&tp->mii, if_mii(rq), cmd, NULL); 2513 spin_unlock_irq(&tp->lock); 2514 2515 return rc; 2516} 2517 2518 | 658static void rtl8139_set_rx_mode (struct net_device *dev); 659static void __set_rx_mode (struct net_device *dev); 660static void rtl8139_hw_start (struct net_device *dev); 661static void rtl8139_thread (struct work_struct *work); 662static void rtl8139_tx_timeout_task(struct work_struct *work); 663static const struct ethtool_ops rtl8139_ethtool_ops; 664 665/* write MMIO register, with flush */ --- 1844 unchanged lines hidden (view full) --- 2510 spin_lock_irq(&tp->lock); 2511 rc = generic_mii_ioctl(&tp->mii, if_mii(rq), cmd, NULL); 2512 spin_unlock_irq(&tp->lock); 2513 2514 return rc; 2515} 2516 2517 |
2519static struct rtnl_link_stats64 * | 2518static void |
2520rtl8139_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 2521{ 2522 struct rtl8139_private *tp = netdev_priv(dev); 2523 void __iomem *ioaddr = tp->mmio_addr; 2524 unsigned long flags; 2525 unsigned int start; 2526 2527 if (netif_running(dev)) { --- 11 unchanged lines hidden (view full) --- 2539 stats->rx_bytes = tp->rx_stats.bytes; 2540 } while (u64_stats_fetch_retry_irq(&tp->rx_stats.syncp, start)); 2541 2542 do { 2543 start = u64_stats_fetch_begin_irq(&tp->tx_stats.syncp); 2544 stats->tx_packets = tp->tx_stats.packets; 2545 stats->tx_bytes = tp->tx_stats.bytes; 2546 } while (u64_stats_fetch_retry_irq(&tp->tx_stats.syncp, start)); | 2519rtl8139_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) 2520{ 2521 struct rtl8139_private *tp = netdev_priv(dev); 2522 void __iomem *ioaddr = tp->mmio_addr; 2523 unsigned long flags; 2524 unsigned int start; 2525 2526 if (netif_running(dev)) { --- 11 unchanged lines hidden (view full) --- 2538 stats->rx_bytes = tp->rx_stats.bytes; 2539 } while (u64_stats_fetch_retry_irq(&tp->rx_stats.syncp, start)); 2540 2541 do { 2542 start = u64_stats_fetch_begin_irq(&tp->tx_stats.syncp); 2543 stats->tx_packets = tp->tx_stats.packets; 2544 stats->tx_bytes = tp->tx_stats.bytes; 2545 } while (u64_stats_fetch_retry_irq(&tp->tx_stats.syncp, start)); |
2547 2548 return stats; | |
2549} 2550 2551/* Set or clear the multicast filter for this adaptor. 2552 This routine is not state sensitive and need not be SMP locked. */ 2553 2554static void __set_rx_mode (struct net_device *dev) 2555{ 2556 struct rtl8139_private *tp = netdev_priv(dev); --- 138 unchanged lines hidden --- | 2546} 2547 2548/* Set or clear the multicast filter for this adaptor. 2549 This routine is not state sensitive and need not be SMP locked. */ 2550 2551static void __set_rx_mode (struct net_device *dev) 2552{ 2553 struct rtl8139_private *tp = netdev_priv(dev); --- 138 unchanged lines hidden --- |