mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-08 15:48:23 +00:00
[netdrvr] Remove Linux-specific changelogs from several Becker template drivers
When in-kernel net drivers branched from Donald Becker's vanilla driver set, in the days before BitKeeper and git, a driver changelog was maintained in the driver source code. These days, the kernel's changelog is far superior and much more accurate, so the in-driver changelogs are removed. Another relic of the Becker/kernel split was version numbering, using "foo-LKx.y.z" notation, resulting in weird version numbers like "1.17b-LK1.1.9". These drivers are for older hardware, and see few changes these days, so the version numbers were all bumped to something more simple. Finally, in xircom_tulip_cb specifically, an additional cleanup removes the always-enabled CARDBUS cpp macro. Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
36e1e84768
commit
03a8c6611a
8 changed files with 24 additions and 522 deletions
|
@ -9,49 +9,10 @@
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
*/
|
*/
|
||||||
/*
|
|
||||||
Rev Date Description
|
|
||||||
==========================================================================
|
|
||||||
0.01 2001/05/03 Created DL2000-based linux driver
|
|
||||||
0.02 2001/05/21 Added VLAN and hardware checksum support.
|
|
||||||
1.00 2001/06/26 Added jumbo frame support.
|
|
||||||
1.01 2001/08/21 Added two parameters, rx_coalesce and rx_timeout.
|
|
||||||
1.02 2001/10/08 Supported fiber media.
|
|
||||||
Added flow control parameters.
|
|
||||||
1.03 2001/10/12 Changed the default media to 1000mbps_fd for
|
|
||||||
the fiber devices.
|
|
||||||
1.04 2001/11/08 Fixed Tx stopped when tx very busy.
|
|
||||||
1.05 2001/11/22 Fixed Tx stopped when unidirectional tx busy.
|
|
||||||
1.06 2001/12/13 Fixed disconnect bug at 10Mbps mode.
|
|
||||||
Fixed tx_full flag incorrect.
|
|
||||||
Added tx_coalesce paramter.
|
|
||||||
1.07 2002/01/03 Fixed miscount of RX frame error.
|
|
||||||
1.08 2002/01/17 Fixed the multicast bug.
|
|
||||||
1.09 2002/03/07 Move rx-poll-now to re-fill loop.
|
|
||||||
Added rio_timer() to watch rx buffers.
|
|
||||||
1.10 2002/04/16 Fixed miscount of carrier error.
|
|
||||||
1.11 2002/05/23 Added ISR schedule scheme
|
|
||||||
Fixed miscount of rx frame error for DGE-550SX.
|
|
||||||
Fixed VLAN bug.
|
|
||||||
1.12 2002/06/13 Lock tx_coalesce=1 on 10/100Mbps mode.
|
|
||||||
1.13 2002/08/13 1. Fix disconnection (many tx:carrier/rx:frame
|
|
||||||
errs) with some mainboards.
|
|
||||||
2. Use definition "DRV_NAME" "DRV_VERSION"
|
|
||||||
"DRV_RELDATE" for flexibility.
|
|
||||||
1.14 2002/08/14 Support ethtool.
|
|
||||||
1.15 2002/08/27 Changed the default media to Auto-Negotiation
|
|
||||||
for the fiber devices.
|
|
||||||
1.16 2002/09/04 More power down time for fiber devices auto-
|
|
||||||
negotiation.
|
|
||||||
Fix disconnect bug after ifup and ifdown.
|
|
||||||
1.17 2002/10/03 Fix RMON statistics overflow.
|
|
||||||
Always use I/O mapping to access eeprom,
|
|
||||||
avoid system freezing with some chipsets.
|
|
||||||
|
|
||||||
*/
|
|
||||||
#define DRV_NAME "D-Link DL2000-based linux driver"
|
#define DRV_NAME "D-Link DL2000-based linux driver"
|
||||||
#define DRV_VERSION "v1.17b"
|
#define DRV_VERSION "v1.18"
|
||||||
#define DRV_RELDATE "2006/03/10"
|
#define DRV_RELDATE "2006/06/27"
|
||||||
#include "dl2k.h"
|
#include "dl2k.h"
|
||||||
#include <linux/dma-mapping.h>
|
#include <linux/dma-mapping.h>
|
||||||
|
|
||||||
|
|
|
@ -20,22 +20,15 @@
|
||||||
|
|
||||||
Support and updates available at
|
Support and updates available at
|
||||||
http://www.scyld.com/network/hamachi.html
|
http://www.scyld.com/network/hamachi.html
|
||||||
|
[link no longer provides useful info -jgarzik]
|
||||||
or
|
or
|
||||||
http://www.parl.clemson.edu/~keithu/hamachi.html
|
http://www.parl.clemson.edu/~keithu/hamachi.html
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Linux kernel changelog:
|
|
||||||
|
|
||||||
LK1.0.1:
|
|
||||||
- fix lack of pci_dev<->dev association
|
|
||||||
- ethtool support (jgarzik)
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DRV_NAME "hamachi"
|
#define DRV_NAME "hamachi"
|
||||||
#define DRV_VERSION "1.01+LK1.0.1"
|
#define DRV_VERSION "2.0"
|
||||||
#define DRV_RELDATE "5/18/2001"
|
#define DRV_RELDATE "June 27, 2006"
|
||||||
|
|
||||||
|
|
||||||
/* A few user-configurable values. */
|
/* A few user-configurable values. */
|
||||||
|
|
|
@ -20,120 +20,9 @@
|
||||||
|
|
||||||
Support information and updates available at
|
Support information and updates available at
|
||||||
http://www.scyld.com/network/netsemi.html
|
http://www.scyld.com/network/netsemi.html
|
||||||
|
[link no longer provides useful info -jgarzik]
|
||||||
|
|
||||||
|
|
||||||
Linux kernel modifications:
|
|
||||||
|
|
||||||
Version 1.0.1:
|
|
||||||
- Spinlock fixes
|
|
||||||
- Bug fixes and better intr performance (Tjeerd)
|
|
||||||
Version 1.0.2:
|
|
||||||
- Now reads correct MAC address from eeprom
|
|
||||||
Version 1.0.3:
|
|
||||||
- Eliminate redundant priv->tx_full flag
|
|
||||||
- Call netif_start_queue from dev->tx_timeout
|
|
||||||
- wmb() in start_tx() to flush data
|
|
||||||
- Update Tx locking
|
|
||||||
- Clean up PCI enable (davej)
|
|
||||||
Version 1.0.4:
|
|
||||||
- Merge Donald Becker's natsemi.c version 1.07
|
|
||||||
Version 1.0.5:
|
|
||||||
- { fill me in }
|
|
||||||
Version 1.0.6:
|
|
||||||
* ethtool support (jgarzik)
|
|
||||||
* Proper initialization of the card (which sometimes
|
|
||||||
fails to occur and leaves the card in a non-functional
|
|
||||||
state). (uzi)
|
|
||||||
|
|
||||||
* Some documented register settings to optimize some
|
|
||||||
of the 100Mbit autodetection circuitry in rev C cards. (uzi)
|
|
||||||
|
|
||||||
* Polling of the PHY intr for stuff like link state
|
|
||||||
change and auto- negotiation to finally work properly. (uzi)
|
|
||||||
|
|
||||||
* One-liner removal of a duplicate declaration of
|
|
||||||
netdev_error(). (uzi)
|
|
||||||
|
|
||||||
Version 1.0.7: (Manfred Spraul)
|
|
||||||
* pci dma
|
|
||||||
* SMP locking update
|
|
||||||
* full reset added into tx_timeout
|
|
||||||
* correct multicast hash generation (both big and little endian)
|
|
||||||
[copied from a natsemi driver version
|
|
||||||
from Myrio Corporation, Greg Smith]
|
|
||||||
* suspend/resume
|
|
||||||
|
|
||||||
version 1.0.8 (Tim Hockin <thockin@sun.com>)
|
|
||||||
* ETHTOOL_* support
|
|
||||||
* Wake on lan support (Erik Gilling)
|
|
||||||
* MXDMA fixes for serverworks
|
|
||||||
* EEPROM reload
|
|
||||||
|
|
||||||
version 1.0.9 (Manfred Spraul)
|
|
||||||
* Main change: fix lack of synchronize
|
|
||||||
netif_close/netif_suspend against a last interrupt
|
|
||||||
or packet.
|
|
||||||
* do not enable superflous interrupts (e.g. the
|
|
||||||
drivers relies on TxDone - TxIntr not needed)
|
|
||||||
* wait that the hardware has really stopped in close
|
|
||||||
and suspend.
|
|
||||||
* workaround for the (at least) gcc-2.95.1 compiler
|
|
||||||
problem. Also simplifies the code a bit.
|
|
||||||
* disable_irq() in tx_timeout - needed to protect
|
|
||||||
against rx interrupts.
|
|
||||||
* stop the nic before switching into silent rx mode
|
|
||||||
for wol (required according to docu).
|
|
||||||
|
|
||||||
version 1.0.10:
|
|
||||||
* use long for ee_addr (various)
|
|
||||||
* print pointers properly (DaveM)
|
|
||||||
* include asm/irq.h (?)
|
|
||||||
|
|
||||||
version 1.0.11:
|
|
||||||
* check and reset if PHY errors appear (Adrian Sun)
|
|
||||||
* WoL cleanup (Tim Hockin)
|
|
||||||
* Magic number cleanup (Tim Hockin)
|
|
||||||
* Don't reload EEPROM on every reset (Tim Hockin)
|
|
||||||
* Save and restore EEPROM state across reset (Tim Hockin)
|
|
||||||
* MDIO Cleanup (Tim Hockin)
|
|
||||||
* Reformat register offsets/bits (jgarzik)
|
|
||||||
|
|
||||||
version 1.0.12:
|
|
||||||
* ETHTOOL_* further support (Tim Hockin)
|
|
||||||
|
|
||||||
version 1.0.13:
|
|
||||||
* ETHTOOL_[G]EEPROM support (Tim Hockin)
|
|
||||||
|
|
||||||
version 1.0.13:
|
|
||||||
* crc cleanup (Matt Domsch <Matt_Domsch@dell.com>)
|
|
||||||
|
|
||||||
version 1.0.14:
|
|
||||||
* Cleanup some messages and autoneg in ethtool (Tim Hockin)
|
|
||||||
|
|
||||||
version 1.0.15:
|
|
||||||
* Get rid of cable_magic flag
|
|
||||||
* use new (National provided) solution for cable magic issue
|
|
||||||
|
|
||||||
version 1.0.16:
|
|
||||||
* call netdev_rx() for RxErrors (Manfred Spraul)
|
|
||||||
* formatting and cleanups
|
|
||||||
* change options and full_duplex arrays to be zero
|
|
||||||
initialized
|
|
||||||
* enable only the WoL and PHY interrupts in wol mode
|
|
||||||
|
|
||||||
version 1.0.17:
|
|
||||||
* only do cable_magic on 83815 and early 83816 (Tim Hockin)
|
|
||||||
* create a function for rx refill (Manfred Spraul)
|
|
||||||
* combine drain_ring and init_ring (Manfred Spraul)
|
|
||||||
* oom handling (Manfred Spraul)
|
|
||||||
* hands_off instead of playing with netif_device_{de,a}ttach
|
|
||||||
(Manfred Spraul)
|
|
||||||
* be sure to write the MAC back to the chip (Manfred Spraul)
|
|
||||||
* lengthen EEPROM timeout, and always warn about timeouts
|
|
||||||
(Manfred Spraul)
|
|
||||||
* comments update (Manfred)
|
|
||||||
* do the right thing on a phy-reset (Manfred and Tim)
|
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
* big endian support with CFG:BEM instead of cpu_to_le32
|
* big endian support with CFG:BEM instead of cpu_to_le32
|
||||||
*/
|
*/
|
||||||
|
@ -165,8 +54,8 @@
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
|
|
||||||
#define DRV_NAME "natsemi"
|
#define DRV_NAME "natsemi"
|
||||||
#define DRV_VERSION "1.07+LK1.0.17"
|
#define DRV_VERSION "2.0"
|
||||||
#define DRV_RELDATE "Sep 27, 2002"
|
#define DRV_RELDATE "June 27, 2006"
|
||||||
|
|
||||||
#define RX_OFFSET 2
|
#define RX_OFFSET 2
|
||||||
|
|
||||||
|
|
|
@ -22,129 +22,13 @@
|
||||||
|
|
||||||
Support and updates available at
|
Support and updates available at
|
||||||
http://www.scyld.com/network/starfire.html
|
http://www.scyld.com/network/starfire.html
|
||||||
|
[link no longer provides useful info -jgarzik]
|
||||||
|
|
||||||
-----------------------------------------------------------
|
|
||||||
|
|
||||||
Linux kernel-specific changes:
|
|
||||||
|
|
||||||
LK1.1.1 (jgarzik):
|
|
||||||
- Use PCI driver interface
|
|
||||||
- Fix MOD_xxx races
|
|
||||||
- softnet fixups
|
|
||||||
|
|
||||||
LK1.1.2 (jgarzik):
|
|
||||||
- Merge Becker version 0.15
|
|
||||||
|
|
||||||
LK1.1.3 (Andrew Morton)
|
|
||||||
- Timer cleanups
|
|
||||||
|
|
||||||
LK1.1.4 (jgarzik):
|
|
||||||
- Merge Becker version 1.03
|
|
||||||
|
|
||||||
LK1.2.1 (Ion Badulescu <ionut@cs.columbia.edu>)
|
|
||||||
- Support hardware Rx/Tx checksumming
|
|
||||||
- Use the GFP firmware taken from Adaptec's Netware driver
|
|
||||||
|
|
||||||
LK1.2.2 (Ion Badulescu)
|
|
||||||
- Backported to 2.2.x
|
|
||||||
|
|
||||||
LK1.2.3 (Ion Badulescu)
|
|
||||||
- Fix the flaky mdio interface
|
|
||||||
- More compat clean-ups
|
|
||||||
|
|
||||||
LK1.2.4 (Ion Badulescu)
|
|
||||||
- More 2.2.x initialization fixes
|
|
||||||
|
|
||||||
LK1.2.5 (Ion Badulescu)
|
|
||||||
- Several fixes from Manfred Spraul
|
|
||||||
|
|
||||||
LK1.2.6 (Ion Badulescu)
|
|
||||||
- Fixed ifup/ifdown/ifup problem in 2.4.x
|
|
||||||
|
|
||||||
LK1.2.7 (Ion Badulescu)
|
|
||||||
- Removed unused code
|
|
||||||
- Made more functions static and __init
|
|
||||||
|
|
||||||
LK1.2.8 (Ion Badulescu)
|
|
||||||
- Quell bogus error messages, inform about the Tx threshold
|
|
||||||
- Removed #ifdef CONFIG_PCI, this driver is PCI only
|
|
||||||
|
|
||||||
LK1.2.9 (Ion Badulescu)
|
|
||||||
- Merged Jeff Garzik's changes from 2.4.4-pre5
|
|
||||||
- Added 2.2.x compatibility stuff required by the above changes
|
|
||||||
|
|
||||||
LK1.2.9a (Ion Badulescu)
|
|
||||||
- More updates from Jeff Garzik
|
|
||||||
|
|
||||||
LK1.3.0 (Ion Badulescu)
|
|
||||||
- Merged zerocopy support
|
|
||||||
|
|
||||||
LK1.3.1 (Ion Badulescu)
|
|
||||||
- Added ethtool support
|
|
||||||
- Added GPIO (media change) interrupt support
|
|
||||||
|
|
||||||
LK1.3.2 (Ion Badulescu)
|
|
||||||
- Fixed 2.2.x compatibility issues introduced in 1.3.1
|
|
||||||
- Fixed ethtool ioctl returning uninitialized memory
|
|
||||||
|
|
||||||
LK1.3.3 (Ion Badulescu)
|
|
||||||
- Initialize the TxMode register properly
|
|
||||||
- Don't dereference dev->priv after freeing it
|
|
||||||
|
|
||||||
LK1.3.4 (Ion Badulescu)
|
|
||||||
- Fixed initialization timing problems
|
|
||||||
- Fixed interrupt mask definitions
|
|
||||||
|
|
||||||
LK1.3.5 (jgarzik)
|
|
||||||
- ethtool NWAY_RST, GLINK, [GS]MSGLVL support
|
|
||||||
|
|
||||||
LK1.3.6:
|
|
||||||
- Sparc64 support and fixes (Ion Badulescu)
|
|
||||||
- Better stats and error handling (Ion Badulescu)
|
|
||||||
- Use new pci_set_mwi() PCI API function (jgarzik)
|
|
||||||
|
|
||||||
LK1.3.7 (Ion Badulescu)
|
|
||||||
- minimal implementation of tx_timeout()
|
|
||||||
- correctly shutdown the Rx/Tx engines in netdev_close()
|
|
||||||
- added calls to netif_carrier_on/off
|
|
||||||
(patch from Stefan Rompf <srompf@isg.de>)
|
|
||||||
- VLAN support
|
|
||||||
|
|
||||||
LK1.3.8 (Ion Badulescu)
|
|
||||||
- adjust DMA burst size on sparc64
|
|
||||||
- 64-bit support
|
|
||||||
- reworked zerocopy support for 64-bit buffers
|
|
||||||
- working and usable interrupt mitigation/latency
|
|
||||||
- reduced Tx interrupt frequency for lower interrupt overhead
|
|
||||||
|
|
||||||
LK1.3.9 (Ion Badulescu)
|
|
||||||
- bugfix for mcast filter
|
|
||||||
- enable the right kind of Tx interrupts (TxDMADone, not TxDone)
|
|
||||||
|
|
||||||
LK1.4.0 (Ion Badulescu)
|
|
||||||
- NAPI support
|
|
||||||
|
|
||||||
LK1.4.1 (Ion Badulescu)
|
|
||||||
- flush PCI posting buffers after disabling Rx interrupts
|
|
||||||
- put the chip to a D3 slumber on driver unload
|
|
||||||
- added config option to enable/disable NAPI
|
|
||||||
|
|
||||||
LK1.4.2 (Ion Badulescu)
|
|
||||||
- finally added firmware (GPL'ed by Adaptec)
|
|
||||||
- removed compatibility code for 2.2.x
|
|
||||||
|
|
||||||
LK1.4.2.1 (Ion Badulescu)
|
|
||||||
- fixed 32/64 bit issues on i386 + CONFIG_HIGHMEM
|
|
||||||
- added 32-bit padding to outgoing skb's, removed previous workaround
|
|
||||||
|
|
||||||
TODO: - fix forced speed/duplexing code (broken a long time ago, when
|
|
||||||
somebody converted the driver to use the generic MII code)
|
|
||||||
- fix VLAN support
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DRV_NAME "starfire"
|
#define DRV_NAME "starfire"
|
||||||
#define DRV_VERSION "1.03+LK1.4.2.1"
|
#define DRV_VERSION "2.0"
|
||||||
#define DRV_RELDATE "October 3, 2005"
|
#define DRV_RELDATE "June 27, 2006"
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|
|
@ -16,91 +16,13 @@
|
||||||
|
|
||||||
Support and updates available at
|
Support and updates available at
|
||||||
http://www.scyld.com/network/sundance.html
|
http://www.scyld.com/network/sundance.html
|
||||||
|
[link no longer provides useful info -jgarzik]
|
||||||
|
|
||||||
|
|
||||||
Version LK1.01a (jgarzik):
|
|
||||||
- Replace some MII-related magic numbers with constants
|
|
||||||
|
|
||||||
Version LK1.02 (D-Link):
|
|
||||||
- Add new board to PCI ID list
|
|
||||||
- Fix multicast bug
|
|
||||||
|
|
||||||
Version LK1.03 (D-Link):
|
|
||||||
- New Rx scheme, reduce Rx congestion
|
|
||||||
- Option to disable flow control
|
|
||||||
|
|
||||||
Version LK1.04 (D-Link):
|
|
||||||
- Tx timeout recovery
|
|
||||||
- More support for ethtool.
|
|
||||||
|
|
||||||
Version LK1.04a:
|
|
||||||
- Remove unused/constant members from struct pci_id_info
|
|
||||||
(which then allows removal of 'drv_flags' from private struct)
|
|
||||||
(jgarzik)
|
|
||||||
- If no phy is found, fail to load that board (jgarzik)
|
|
||||||
- Always start phy id scan at id 1 to avoid problems (Donald Becker)
|
|
||||||
- Autodetect where mii_preable_required is needed,
|
|
||||||
default to not needed. (Donald Becker)
|
|
||||||
|
|
||||||
Version LK1.04b:
|
|
||||||
- Remove mii_preamble_required module parameter (Donald Becker)
|
|
||||||
- Add per-interface mii_preamble_required (setting is autodetected)
|
|
||||||
(Donald Becker)
|
|
||||||
- Remove unnecessary cast from void pointer (jgarzik)
|
|
||||||
- Re-align comments in private struct (jgarzik)
|
|
||||||
|
|
||||||
Version LK1.04c (jgarzik):
|
|
||||||
- Support bitmapped message levels (NETIF_MSG_xxx), and the
|
|
||||||
two ethtool ioctls that get/set them
|
|
||||||
- Don't hand-code MII ethtool support, use standard API/lib
|
|
||||||
|
|
||||||
Version LK1.04d:
|
|
||||||
- Merge from Donald Becker's sundance.c: (Jason Lunz)
|
|
||||||
* proper support for variably-sized MTUs
|
|
||||||
* default to PIO, to fix chip bugs
|
|
||||||
- Add missing unregister_netdev (Jason Lunz)
|
|
||||||
- Add CONFIG_SUNDANCE_MMIO config option (jgarzik)
|
|
||||||
- Better rx buf size calculation (Donald Becker)
|
|
||||||
|
|
||||||
Version LK1.05 (D-Link):
|
|
||||||
- Fix DFE-580TX packet drop issue (for DL10050C)
|
|
||||||
- Fix reset_tx logic
|
|
||||||
|
|
||||||
Version LK1.06 (D-Link):
|
|
||||||
- Fix crash while unloading driver
|
|
||||||
|
|
||||||
Versin LK1.06b (D-Link):
|
|
||||||
- New tx scheme, adaptive tx_coalesce
|
|
||||||
|
|
||||||
Version LK1.07 (D-Link):
|
|
||||||
- Fix tx bugs in big-endian machines
|
|
||||||
- Remove unused max_interrupt_work module parameter, the new
|
|
||||||
NAPI-like rx scheme doesn't need it.
|
|
||||||
- Remove redundancy get_stats() in intr_handler(), those
|
|
||||||
I/O access could affect performance in ARM-based system
|
|
||||||
- Add Linux software VLAN support
|
|
||||||
|
|
||||||
Version LK1.08 (Philippe De Muyter phdm@macqel.be):
|
|
||||||
- Fix bug of custom mac address
|
|
||||||
(StationAddr register only accept word write)
|
|
||||||
|
|
||||||
Version LK1.09 (D-Link):
|
|
||||||
- Fix the flowctrl bug.
|
|
||||||
- Set Pause bit in MII ANAR if flow control enabled.
|
|
||||||
|
|
||||||
Version LK1.09a (ICPlus):
|
|
||||||
- Add the delay time in reading the contents of EEPROM
|
|
||||||
|
|
||||||
Version LK1.10 (Philippe De Muyter phdm@macqel.be):
|
|
||||||
- Make 'unblock interface after Tx underrun' work
|
|
||||||
|
|
||||||
Version LK1.11 (Pedro Alejandro Lopez-Valencia palopezv at gmail.com):
|
|
||||||
- Add support for IC Plus Corporation IP100A chipset
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DRV_NAME "sundance"
|
#define DRV_NAME "sundance"
|
||||||
#define DRV_VERSION "1.01+LK1.11"
|
#define DRV_VERSION "1.1"
|
||||||
#define DRV_RELDATE "14-Jun-2006"
|
#define DRV_RELDATE "27-Jun-2006"
|
||||||
|
|
||||||
|
|
||||||
/* The user-configurable values.
|
/* The user-configurable values.
|
||||||
|
|
|
@ -10,26 +10,11 @@
|
||||||
410 Severn Ave., Suite 210
|
410 Severn Ave., Suite 210
|
||||||
Annapolis MD 21403
|
Annapolis MD 21403
|
||||||
|
|
||||||
-----------------------------------------------------------
|
|
||||||
|
|
||||||
Linux kernel-specific changes:
|
|
||||||
|
|
||||||
LK1.0 (Ion Badulescu)
|
|
||||||
- Major cleanup
|
|
||||||
- Use 2.4 PCI API
|
|
||||||
- Support ethtool
|
|
||||||
- Rewrite perfect filter/hash code
|
|
||||||
- Use interrupts for media changes
|
|
||||||
|
|
||||||
LK1.1 (Ion Badulescu)
|
|
||||||
- Disallow negotiation of unsupported full-duplex modes
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DRV_NAME "xircom_tulip_cb"
|
#define DRV_NAME "xircom_tulip_cb"
|
||||||
#define DRV_VERSION "0.91+LK1.1"
|
#define DRV_VERSION "0.92"
|
||||||
#define DRV_RELDATE "October 11, 2001"
|
#define DRV_RELDATE "June 27, 2006"
|
||||||
|
|
||||||
#define CARDBUS 1
|
|
||||||
|
|
||||||
/* A few user-configurable values. */
|
/* A few user-configurable values. */
|
||||||
|
|
||||||
|
@ -306,10 +291,10 @@ struct xircom_private {
|
||||||
struct xircom_tx_desc tx_ring[TX_RING_SIZE];
|
struct xircom_tx_desc tx_ring[TX_RING_SIZE];
|
||||||
/* The saved address of a sent-in-place packet/buffer, for skfree(). */
|
/* The saved address of a sent-in-place packet/buffer, for skfree(). */
|
||||||
struct sk_buff* tx_skbuff[TX_RING_SIZE];
|
struct sk_buff* tx_skbuff[TX_RING_SIZE];
|
||||||
#ifdef CARDBUS
|
|
||||||
/* The X3201-3 requires 4-byte aligned tx bufs */
|
/* The X3201-3 requires 4-byte aligned tx bufs */
|
||||||
struct sk_buff* tx_aligned_skbuff[TX_RING_SIZE];
|
struct sk_buff* tx_aligned_skbuff[TX_RING_SIZE];
|
||||||
#endif
|
|
||||||
/* The addresses of receive-in-place skbuffs. */
|
/* The addresses of receive-in-place skbuffs. */
|
||||||
struct sk_buff* rx_skbuff[RX_RING_SIZE];
|
struct sk_buff* rx_skbuff[RX_RING_SIZE];
|
||||||
u16 setup_frame[PKT_SETUP_SZ / sizeof(u16)]; /* Pseudo-Tx frame to init address table. */
|
u16 setup_frame[PKT_SETUP_SZ / sizeof(u16)]; /* Pseudo-Tx frame to init address table. */
|
||||||
|
@ -908,10 +893,8 @@ static void xircom_init_ring(struct net_device *dev)
|
||||||
tp->tx_skbuff[i] = NULL;
|
tp->tx_skbuff[i] = NULL;
|
||||||
tp->tx_ring[i].status = 0;
|
tp->tx_ring[i].status = 0;
|
||||||
tp->tx_ring[i].buffer2 = virt_to_bus(&tp->tx_ring[i+1]);
|
tp->tx_ring[i].buffer2 = virt_to_bus(&tp->tx_ring[i+1]);
|
||||||
#ifdef CARDBUS
|
|
||||||
if (tp->chip_id == X3201_3)
|
if (tp->chip_id == X3201_3)
|
||||||
tp->tx_aligned_skbuff[i] = dev_alloc_skb(PKT_BUF_SZ);
|
tp->tx_aligned_skbuff[i] = dev_alloc_skb(PKT_BUF_SZ);
|
||||||
#endif /* CARDBUS */
|
|
||||||
}
|
}
|
||||||
tp->tx_ring[i-1].buffer2 = virt_to_bus(&tp->tx_ring[0]);
|
tp->tx_ring[i-1].buffer2 = virt_to_bus(&tp->tx_ring[0]);
|
||||||
}
|
}
|
||||||
|
@ -931,12 +914,10 @@ xircom_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
entry = tp->cur_tx % TX_RING_SIZE;
|
entry = tp->cur_tx % TX_RING_SIZE;
|
||||||
|
|
||||||
tp->tx_skbuff[entry] = skb;
|
tp->tx_skbuff[entry] = skb;
|
||||||
#ifdef CARDBUS
|
|
||||||
if (tp->chip_id == X3201_3) {
|
if (tp->chip_id == X3201_3) {
|
||||||
memcpy(tp->tx_aligned_skbuff[entry]->data,skb->data,skb->len);
|
memcpy(tp->tx_aligned_skbuff[entry]->data,skb->data,skb->len);
|
||||||
tp->tx_ring[entry].buffer1 = virt_to_bus(tp->tx_aligned_skbuff[entry]->data);
|
tp->tx_ring[entry].buffer1 = virt_to_bus(tp->tx_aligned_skbuff[entry]->data);
|
||||||
} else
|
} else
|
||||||
#endif
|
|
||||||
tp->tx_ring[entry].buffer1 = virt_to_bus(skb->data);
|
tp->tx_ring[entry].buffer1 = virt_to_bus(skb->data);
|
||||||
|
|
||||||
if (tp->cur_tx - tp->dirty_tx < TX_RING_SIZE/2) {/* Typical path */
|
if (tp->cur_tx - tp->dirty_tx < TX_RING_SIZE/2) {/* Typical path */
|
||||||
|
|
|
@ -25,117 +25,13 @@
|
||||||
version. He may or may not be interested in bug reports on this
|
version. He may or may not be interested in bug reports on this
|
||||||
code. You can find his versions at:
|
code. You can find his versions at:
|
||||||
http://www.scyld.com/network/via-rhine.html
|
http://www.scyld.com/network/via-rhine.html
|
||||||
|
[link no longer provides useful info -jgarzik]
|
||||||
|
|
||||||
Linux kernel version history:
|
|
||||||
|
|
||||||
LK1.1.0:
|
|
||||||
- Jeff Garzik: softnet 'n stuff
|
|
||||||
|
|
||||||
LK1.1.1:
|
|
||||||
- Justin Guyett: softnet and locking fixes
|
|
||||||
- Jeff Garzik: use PCI interface
|
|
||||||
|
|
||||||
LK1.1.2:
|
|
||||||
- Urban Widmark: minor cleanups, merges from Becker 1.03a/1.04 versions
|
|
||||||
|
|
||||||
LK1.1.3:
|
|
||||||
- Urban Widmark: use PCI DMA interface (with thanks to the eepro100.c
|
|
||||||
code) update "Theory of Operation" with
|
|
||||||
softnet/locking changes
|
|
||||||
- Dave Miller: PCI DMA and endian fixups
|
|
||||||
- Jeff Garzik: MOD_xxx race fixes, updated PCI resource allocation
|
|
||||||
|
|
||||||
LK1.1.4:
|
|
||||||
- Urban Widmark: fix gcc 2.95.2 problem and
|
|
||||||
remove writel's to fixed address 0x7c
|
|
||||||
|
|
||||||
LK1.1.5:
|
|
||||||
- Urban Widmark: mdio locking, bounce buffer changes
|
|
||||||
merges from Beckers 1.05 version
|
|
||||||
added netif_running_on/off support
|
|
||||||
|
|
||||||
LK1.1.6:
|
|
||||||
- Urban Widmark: merges from Beckers 1.08b version (VT6102 + mdio)
|
|
||||||
set netif_running_on/off on startup, del_timer_sync
|
|
||||||
|
|
||||||
LK1.1.7:
|
|
||||||
- Manfred Spraul: added reset into tx_timeout
|
|
||||||
|
|
||||||
LK1.1.9:
|
|
||||||
- Urban Widmark: merges from Beckers 1.10 version
|
|
||||||
(media selection + eeprom reload)
|
|
||||||
- David Vrabel: merges from D-Link "1.11" version
|
|
||||||
(disable WOL and PME on startup)
|
|
||||||
|
|
||||||
LK1.1.10:
|
|
||||||
- Manfred Spraul: use "singlecopy" for unaligned buffers
|
|
||||||
don't allocate bounce buffers for !ReqTxAlign cards
|
|
||||||
|
|
||||||
LK1.1.11:
|
|
||||||
- David Woodhouse: Set dev->base_addr before the first time we call
|
|
||||||
wait_for_reset(). It's a lot happier that way.
|
|
||||||
Free np->tx_bufs only if we actually allocated it.
|
|
||||||
|
|
||||||
LK1.1.12:
|
|
||||||
- Martin Eriksson: Allow Memory-Mapped IO to be enabled.
|
|
||||||
|
|
||||||
LK1.1.13 (jgarzik):
|
|
||||||
- Add ethtool support
|
|
||||||
- Replace some MII-related magic numbers with constants
|
|
||||||
|
|
||||||
LK1.1.14 (Ivan G.):
|
|
||||||
- fixes comments for Rhine-III
|
|
||||||
- removes W_MAX_TIMEOUT (unused)
|
|
||||||
- adds HasDavicomPhy for Rhine-I (basis: linuxfet driver; my card
|
|
||||||
is R-I and has Davicom chip, flag is referenced in kernel driver)
|
|
||||||
- sends chip_id as a parameter to wait_for_reset since np is not
|
|
||||||
initialized on first call
|
|
||||||
- changes mmio "else if (chip_id==VT6102)" to "else" so it will work
|
|
||||||
for Rhine-III's (documentation says same bit is correct)
|
|
||||||
- transmit frame queue message is off by one - fixed
|
|
||||||
- adds IntrNormalSummary to "Something Wicked" exclusion list
|
|
||||||
so normal interrupts will not trigger the message (src: Donald Becker)
|
|
||||||
(Roger Luethi)
|
|
||||||
- show confused chip where to continue after Tx error
|
|
||||||
- location of collision counter is chip specific
|
|
||||||
- allow selecting backoff algorithm (module parameter)
|
|
||||||
|
|
||||||
LK1.1.15 (jgarzik):
|
|
||||||
- Use new MII lib helper generic_mii_ioctl
|
|
||||||
|
|
||||||
LK1.1.16 (Roger Luethi)
|
|
||||||
- Etherleak fix
|
|
||||||
- Handle Tx buffer underrun
|
|
||||||
- Fix bugs in full duplex handling
|
|
||||||
- New reset code uses "force reset" cmd on Rhine-II
|
|
||||||
- Various clean ups
|
|
||||||
|
|
||||||
LK1.1.17 (Roger Luethi)
|
|
||||||
- Fix race in via_rhine_start_tx()
|
|
||||||
- On errors, wait for Tx engine to turn off before scavenging
|
|
||||||
- Handle Tx descriptor write-back race on Rhine-II
|
|
||||||
- Force flushing for PCI posted writes
|
|
||||||
- More reset code changes
|
|
||||||
|
|
||||||
LK1.1.18 (Roger Luethi)
|
|
||||||
- No filtering multicast in promisc mode (Edward Peng)
|
|
||||||
- Fix for Rhine-I Tx timeouts
|
|
||||||
|
|
||||||
LK1.1.19 (Roger Luethi)
|
|
||||||
- Increase Tx threshold for unspecified errors
|
|
||||||
|
|
||||||
LK1.2.0-2.6 (Roger Luethi)
|
|
||||||
- Massive clean-up
|
|
||||||
- Rewrite PHY, media handling (remove options, full_duplex, backoff)
|
|
||||||
- Fix Tx engine race for good
|
|
||||||
- Craig Brind: Zero padded aligned buffers for short packets.
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DRV_NAME "via-rhine"
|
#define DRV_NAME "via-rhine"
|
||||||
#define DRV_VERSION "1.2.0-2.6"
|
#define DRV_VERSION "1.4.0"
|
||||||
#define DRV_RELDATE "June-10-2004"
|
#define DRV_RELDATE "June-27-2006"
|
||||||
|
|
||||||
|
|
||||||
/* A few user-configurable values.
|
/* A few user-configurable values.
|
||||||
|
|
|
@ -19,37 +19,13 @@
|
||||||
|
|
||||||
Support and updates available at
|
Support and updates available at
|
||||||
http://www.scyld.com/network/yellowfin.html
|
http://www.scyld.com/network/yellowfin.html
|
||||||
|
[link no longer provides useful info -jgarzik]
|
||||||
|
|
||||||
Linux kernel changelog:
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
LK1.1.1 (jgarzik): Port to 2.4 kernel
|
|
||||||
|
|
||||||
LK1.1.2 (jgarzik):
|
|
||||||
* Merge in becker version 1.05
|
|
||||||
|
|
||||||
LK1.1.3 (jgarzik):
|
|
||||||
* Various cleanups
|
|
||||||
* Update yellowfin_timer to correctly calculate duplex.
|
|
||||||
(suggested by Manfred Spraul)
|
|
||||||
|
|
||||||
LK1.1.4 (val@nmt.edu):
|
|
||||||
* Fix three endian-ness bugs
|
|
||||||
* Support dual function SYM53C885E ethernet chip
|
|
||||||
|
|
||||||
LK1.1.5 (val@nmt.edu):
|
|
||||||
* Fix forced full-duplex bug I introduced
|
|
||||||
|
|
||||||
LK1.1.6 (val@nmt.edu):
|
|
||||||
* Only print warning on truly "oversized" packets
|
|
||||||
* Fix theoretical bug on gigabit cards - return to 1.1.3 behavior
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DRV_NAME "yellowfin"
|
#define DRV_NAME "yellowfin"
|
||||||
#define DRV_VERSION "1.05+LK1.1.6"
|
#define DRV_VERSION "2.0"
|
||||||
#define DRV_RELDATE "Feb 11, 2002"
|
#define DRV_RELDATE "Jun 27, 2006"
|
||||||
|
|
||||||
#define PFX DRV_NAME ": "
|
#define PFX DRV_NAME ": "
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue