diff options
Diffstat (limited to 'drivers/net/natsemi.c')
| -rw-r--r-- | drivers/net/natsemi.c | 117 |
1 files changed, 3 insertions, 114 deletions
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c index 9df2628be1e7..db0475a1102f 100644 --- a/drivers/net/natsemi.c +++ b/drivers/net/natsemi.c | |||
| @@ -20,120 +20,9 @@ | |||
| 20 | 20 | ||
| 21 | Support information and updates available at | 21 | Support information and updates available at |
| 22 | http://www.scyld.com/network/netsemi.html | 22 | http://www.scyld.com/network/netsemi.html |
| 23 | [link no longer provides useful info -jgarzik] | ||
| 23 | 24 | ||
| 24 | 25 | ||
| 25 | Linux kernel modifications: | ||
| 26 | |||
| 27 | Version 1.0.1: | ||
| 28 | - Spinlock fixes | ||
| 29 | - Bug fixes and better intr performance (Tjeerd) | ||
| 30 | Version 1.0.2: | ||
| 31 | - Now reads correct MAC address from eeprom | ||
| 32 | Version 1.0.3: | ||
| 33 | - Eliminate redundant priv->tx_full flag | ||
| 34 | - Call netif_start_queue from dev->tx_timeout | ||
| 35 | - wmb() in start_tx() to flush data | ||
| 36 | - Update Tx locking | ||
| 37 | - Clean up PCI enable (davej) | ||
| 38 | Version 1.0.4: | ||
| 39 | - Merge Donald Becker's natsemi.c version 1.07 | ||
| 40 | Version 1.0.5: | ||
| 41 | - { fill me in } | ||
| 42 | Version 1.0.6: | ||
| 43 | * ethtool support (jgarzik) | ||
| 44 | * Proper initialization of the card (which sometimes | ||
| 45 | fails to occur and leaves the card in a non-functional | ||
| 46 | state). (uzi) | ||
| 47 | |||
| 48 | * Some documented register settings to optimize some | ||
| 49 | of the 100Mbit autodetection circuitry in rev C cards. (uzi) | ||
| 50 | |||
| 51 | * Polling of the PHY intr for stuff like link state | ||
| 52 | change and auto- negotiation to finally work properly. (uzi) | ||
| 53 | |||
| 54 | * One-liner removal of a duplicate declaration of | ||
| 55 | netdev_error(). (uzi) | ||
| 56 | |||
| 57 | Version 1.0.7: (Manfred Spraul) | ||
| 58 | * pci dma | ||
| 59 | * SMP locking update | ||
| 60 | * full reset added into tx_timeout | ||
| 61 | * correct multicast hash generation (both big and little endian) | ||
| 62 | [copied from a natsemi driver version | ||
| 63 | from Myrio Corporation, Greg Smith] | ||
| 64 | * suspend/resume | ||
| 65 | |||
| 66 | version 1.0.8 (Tim Hockin <thockin@sun.com>) | ||
| 67 | * ETHTOOL_* support | ||
| 68 | * Wake on lan support (Erik Gilling) | ||
| 69 | * MXDMA fixes for serverworks | ||
| 70 | * EEPROM reload | ||
| 71 | |||
| 72 | version 1.0.9 (Manfred Spraul) | ||
| 73 | * Main change: fix lack of synchronize | ||
| 74 | netif_close/netif_suspend against a last interrupt | ||
| 75 | or packet. | ||
| 76 | * do not enable superflous interrupts (e.g. the | ||
| 77 | drivers relies on TxDone - TxIntr not needed) | ||
| 78 | * wait that the hardware has really stopped in close | ||
| 79 | and suspend. | ||
| 80 | * workaround for the (at least) gcc-2.95.1 compiler | ||
| 81 | problem. Also simplifies the code a bit. | ||
| 82 | * disable_irq() in tx_timeout - needed to protect | ||
| 83 | against rx interrupts. | ||
| 84 | * stop the nic before switching into silent rx mode | ||
| 85 | for wol (required according to docu). | ||
| 86 | |||
| 87 | version 1.0.10: | ||
| 88 | * use long for ee_addr (various) | ||
| 89 | * print pointers properly (DaveM) | ||
| 90 | * include asm/irq.h (?) | ||
| 91 | |||
| 92 | version 1.0.11: | ||
| 93 | * check and reset if PHY errors appear (Adrian Sun) | ||
| 94 | * WoL cleanup (Tim Hockin) | ||
| 95 | * Magic number cleanup (Tim Hockin) | ||
| 96 | * Don't reload EEPROM on every reset (Tim Hockin) | ||
| 97 | * Save and restore EEPROM state across reset (Tim Hockin) | ||
| 98 | * MDIO Cleanup (Tim Hockin) | ||
| 99 | * Reformat register offsets/bits (jgarzik) | ||
| 100 | |||
| 101 | version 1.0.12: | ||
| 102 | * ETHTOOL_* further support (Tim Hockin) | ||
| 103 | |||
| 104 | version 1.0.13: | ||
| 105 | * ETHTOOL_[G]EEPROM support (Tim Hockin) | ||
| 106 | |||
| 107 | version 1.0.13: | ||
| 108 | * crc cleanup (Matt Domsch <Matt_Domsch@dell.com>) | ||
| 109 | |||
| 110 | version 1.0.14: | ||
| 111 | * Cleanup some messages and autoneg in ethtool (Tim Hockin) | ||
| 112 | |||
| 113 | version 1.0.15: | ||
| 114 | * Get rid of cable_magic flag | ||
| 115 | * use new (National provided) solution for cable magic issue | ||
| 116 | |||
| 117 | version 1.0.16: | ||
| 118 | * call netdev_rx() for RxErrors (Manfred Spraul) | ||
| 119 | * formatting and cleanups | ||
| 120 | * change options and full_duplex arrays to be zero | ||
| 121 | initialized | ||
| 122 | * enable only the WoL and PHY interrupts in wol mode | ||
| 123 | |||
| 124 | version 1.0.17: | ||
| 125 | * only do cable_magic on 83815 and early 83816 (Tim Hockin) | ||
| 126 | * create a function for rx refill (Manfred Spraul) | ||
| 127 | * combine drain_ring and init_ring (Manfred Spraul) | ||
| 128 | * oom handling (Manfred Spraul) | ||
| 129 | * hands_off instead of playing with netif_device_{de,a}ttach | ||
| 130 | (Manfred Spraul) | ||
| 131 | * be sure to write the MAC back to the chip (Manfred Spraul) | ||
| 132 | * lengthen EEPROM timeout, and always warn about timeouts | ||
| 133 | (Manfred Spraul) | ||
| 134 | * comments update (Manfred) | ||
| 135 | * do the right thing on a phy-reset (Manfred and Tim) | ||
| 136 | |||
| 137 | TODO: | 26 | TODO: |
| 138 | * big endian support with CFG:BEM instead of cpu_to_le32 | 27 | * big endian support with CFG:BEM instead of cpu_to_le32 |
| 139 | */ | 28 | */ |
| @@ -165,8 +54,8 @@ | |||
| 165 | #include <asm/uaccess.h> | 54 | #include <asm/uaccess.h> |
| 166 | 55 | ||
| 167 | #define DRV_NAME "natsemi" | 56 | #define DRV_NAME "natsemi" |
| 168 | #define DRV_VERSION "1.07+LK1.0.17" | 57 | #define DRV_VERSION "2.0" |
| 169 | #define DRV_RELDATE "Sep 27, 2002" | 58 | #define DRV_RELDATE "June 27, 2006" |
| 170 | 59 | ||
| 171 | #define RX_OFFSET 2 | 60 | #define RX_OFFSET 2 |
| 172 | 61 | ||
