[driver-announce] Fall 2002 driver set update -- all PCI drivers

Donald Becker becker@scyld.com
Mon Nov 18 11:55:02 2002


This is to announce the fall 2002 update to the PCI Ethernet driver set.

Almost every PCI Ethernet driver that I maintain has been updated to the
current interface described in pci-skeleton.c v2.12.

The updated drivers are available at
   ftp://www.scyld.com/pub/network/test/*
and will be moved into the release directory in approximately one week
   ftp://www.scyld.com/pub/network/*

The combined set is
   ftp://www.scyld.com/pub/network/test/netdrivers-3.tgz

The major changes for 2.12 are
 Almost all drivers now have PCI hot-swap support.
   Previously NICs with CardBus implementations had the support, but
   others had that capability disabled.

 The ability to selectively enable driver messages:
    Per-interface copies and consistent SIOC{S,G}PARAMS settings for
    variables the that used to be configurable only as global module options:
       msg_level, rx_copybreak, max_interrupt_work, multicast_filter_limit

Many other minor fixes and changes are included in this update. 
A significant amount of work went into rewriting previous changes
to keep the drivers structurally consistent where possible.  This
consistency is vital to making possible efficient implementation of
planned structural changes.

The version number and release dates are

3c59x.c:v0.99Xf 11/17/2002
eepro100.c:v1.26 11/17/2002
epic100.c:v1.17 11/17/2002
hamachi.c:v1.04 11/17/2002
intel-gige.c:v0.14 11/14/2002
myson803.c:v1.04 11/17/2002
natsemi.c:v1.15 11/17/2002
ns820.c:v1.02 11/17/2002
rtl8139.c:v1.22 11/17/2002
starfire.c:v1.08 11/17/2002
sundance.c:v1.10 11/17/2002
tulip.c:v0.95f 11/17/2002
via-rhine.c:v1.13 11/17/2002
winbond-840.c:v1.08 11/16/2002
yellowfin.c:v1.09 11/17/2002

________________________________________________________________

3c59x.c:v0.99Xf 11/17/2002

Change to the setting VLAN detection register, use defined(CONFIG_VLAN).

Use PKT_BUF_SZ as the suggested size for allocating receive buffers over
a broader range of MTU settings.

Added a variable to track the current receive setting and minimize
register writes.

Use numeric constants for all ioctl() values, since the symbolic names
change value (grrrr).

Standard compile-command uses the Makefile.
Per-interface settings and SIOC{S,G}PARAMS settings for
   max_interrupt_work, multicast_filter_limit

Cleaned up harmless warnings from inl() type change.
________________________________________________________________

eepro100.c:v1.26 11/17/2002

Added PCI bus:devfn to the detection message.

Updated to remaining 2.12 pci-skeleton recommendations.
  Default debug (message level) value changed to '2'
  TX_TIMEOUT change from 2 to 6 seconds.
  Standard compile-command uses the Makefile.
  Per-interface settings and SIOC{S,G}PARAMS settings for
    rx_copybreak, max_interrupt_work, multicast_filter_limit

Changed full_duplex[] documentation to note that it is deprecated.

Use symbolic names for Rx mode state, including methods to enable run
and error packet reception.

Allocate Rx buffers with sp->rx_buf_sz instead of PKT_BUF_SZ.

Explicit Hammer/__x86_64 architecture check, and cleaned up harmless
warnings from inl() type change.

________________________________________________________________

epic100.c:v1.17 11/17/2002

Added PCI bus:devfn to the detection message.

Added multicast_filter_limit to the module parameter set.

Updated to remaining 2.12 pci-skeleton recommendations.
  TX_TIMEOUT change from 2 to 6 seconds.
  Per-interface settings and SIOC{S,G}PARAMS settings for
   rx_copybreak, max_interrupt_work, multicast_filter_limit

Do eeprom dump with NETIF_MSG_MISC.

Track the Rx mode state to minimize register writes with rapid interface
state changes.

Set -DPWRDWN_AFTER_IOCTL if the chip should be returned to power down
mode after ioctl() calls.

Clean up harmless warnings with Hammer/__x86_64 include files.
________________________________________________________________

hamachi.c:v1.04 11/17/2002

Added module option 'multicast_filter_limit'.
Removed the 'mtu' module parameter.

Added a variable to track the current receive setting and minimize
register writes.

Use PKT_BUF_SZ, now 1536 from the earlier 1544, as the suggested size
for allocating receive buffers when possible.

Updated to 2.12 pci-skeleton recommendations.
  Default debug (message level) value changed to '2'
  Added module parameter descriptions
  TX_TIMEOUT change from 2 to 6 seconds.
  Standard compile-command uses the Makefile.
  Per-interface settings and SIOC{S,G}PARAMS settings for
   rx_copybreak, max_interrupt_work, multicast_filter_limit

Removed SIOC.MII* symbolic name in favor of constants.

Report link status change on LinkChange interrupt with
  netif_link_up()/netif_link_down()

Allocate Rx buffers with sp->rx_buf_sz instead of PKT_BUF_SZ.
________________________________________________________________

intel-gige.c:v0.14 11/14/2002

Cleaned up harmless warnings from Hammer/__x86_64 and inl() type change.

Report link status change on LinkChange interrupt with
  netif_link_up()/netif_link_down()

Updated to 2.12 pci-skeleton recommendations.
  Default debug (message level) value changed to '2'
  Added module parameter descriptions
  TX_TIMEOUT change from 2 to 6 seconds.
  Standard compile-command uses the Makefile.
  Per-interface settings and SIOC{S,G}PARAMS settings for
   rx_copybreak, max_interrupt_work, multicast_filter_limit

Added PCI_HOTSWAP flag.

Removed the 'mtu' module parameter, added change_mtu() method.
________________________________________________________________

myson803.c:v1.04 11/17/2002

Updated to remaining 2.12 pci-skeleton recommendations.
  TX_TIMEOUT change from 2 to 6 seconds.
  Standard compile-command uses the Makefile.

Cleaned up harmless warnings on Hammer/__x86_64.

________________________________________________________________

natsemi.c:v1.15 11/17/2002

Cleaned up harmless warnings on Hammer/__x86_64.

Updated to remaining 2.12 pci-skeleton recommendations.
  Standard compile-command uses the Makefile.

________________________________________________________________

ns820.c:v1.02 11/17/2002

Added "D-Link DGE-500T (DP83820)" subsystem ID, 0x1186 0x4900.

Added FDXActiveLow flag, added in the PCI table for some specific boards.
Symbolic name for the FDX bit, and changed code to detect full duplex on
various boards.

Symbolic names for transceiver reset/power control bits.

Clean up harmless warnings with Hammer/__x86_64 include files.
________________________________________________________________

rtl8139.c:v1.22 11/17/2002

Added PCI table entry for
 0x13d1 0xab06  "Edimax EP-4103DL"

Used PKT_BUF_SZ as a suggested size for allocating receive buffers.

Added variables to track the multicast filter settings.

Standard compile-command uses the Makefile.
Per-interface settings and SIOC{S,G}PARAMS settings for
   max_interrupt_work, multicast_filter_limit

Cleaned up harmless warnings from inl() type change.
________________________________________________________________

starfire.c:v1.08 11/17/2002

Check for corrupted or null Tx skbuffs in the Tx done handler.  This is
triggered by kernels hacked with proprietary firewall code.

Report link status change on LinkChange interrupt with
  netif_link_up()/netif_link_down()

Added PCI hotswap power management code.

Check for various failures in the monitor timer: missing chip, failed
interrupt line, polling mode, Tx clogged.

Set the timer to re-enable interrupts on work overload.

Removed the 'mtu' module parameter, added change_mtu() method up to
17268 bytes.
Use PKT_BUF_SZ for a broader range of MTU values.

Added symbolic names for more register bits.
Added cache alignment attributes.

Changed media selection and locking code to be more like pci-skeleton.

Updated to 2.12 pci-skeleton recommendations.
  Default debug (message level) value changed to '2'
  Added module parameter descriptions
  TX_TIMEOUT change from 2 to 6 seconds.
  Standard compile-command uses the Makefile.
  Per-interface settings and SIOC{S,G}PARAMS settings for
   rx_copybreak, max_interrupt_work, multicast_filter_limit

Added PCI_HOTSWAP flag.

Explicit Hammer/__x86_64 architecture check, and cleaned up harmless
warnings from inl() type change.

________________________________________________________________

sundance.c:v1.10 11/17/2002

Check for chip rev. 0x14 which has the packet drop bug.

Report link status with KERN_NOTICE not ERR.

Updated to remaining 2.12 pci-skeleton recommendations.
  TX_TIMEOUT change from 5 to 6 seconds.
  Per-interface settings and SIOC{S,G}PARAMS settings for
    rx_copybreak, max_interrupt_work, multicast_filter_limit

Clean up harmless warnings with Hammer/__x86_64 include files.

________________________________________________________________

tulip.c:v0.95f 11/17/2002

Corrected 95e check-in:
   The board name was actually "D-Link DFE-680TXD v1.0 (ADMtek Centaur-C)"
   The ID was 0x1541...., not 0x1514....

Changes for Hammer:
   Architecture check for CSR0 setting.
   Added 'unsigned' to two lock flags declarations that were not
     previously updated.
________________________________________________________________

via-rhine.c:v1.13 11/17/2002

Added PCI hotswap power management code and PCI_HOTSWAP flag.

Increased RX_RING_SIZE to 32.

Removed SIOC.MII* constants.

Report link status change on LinkChange interrupt with
  netif_link_up()/netif_link_down()

Changed media selection and locking code to be more like pci-skeleton.

Updated to 2.12 pci-skeleton recommendations.
  Default debug (message level) value changed to '2'
  Added module parameter descriptions
  TX_TIMEOUT change from 2 to 6 seconds.
  Standard compile-command uses the Makefile.
  Per-interface settings and SIOC{S,G}PARAMS settings for
   rx_copybreak, max_interrupt_work, multicast_filter_limit

________________________________________________________________

winbond-840.c:v1.08 11/16/2002

Report link status change on LinkChange interrupt with
  netif_link_up()/netif_link_down()

Updated to 2.12 pci-skeleton recommendations.
  Default debug (message level) value changed to '2'
  Added module parameter descriptions
  TX_TIMEOUT change from 2 to 6 seconds.
  Per-interface settings and SIOC{S,G}PARAMS settings for
   rx_copybreak, max_interrupt_work, multicast_filter_limit

Added power event handling.

Moved the CSR0 bus parameter register definitions to a global variable,
and add an architecture check for __x86_64.

A new TX_DESC_SIZE to allow additional space between descriptors for
cache line alignment.

Initial code for variable size Tx and Rx rings .
________________________________________________________________

yellowfin.c:v1.09 11/17/2002

Cleaned up harmless warnings with Hammer/__x86_64.

Added module option 'multicast_filter_limit'.
Removed the 'mtu' module parameter.

Updated to remaining 2.12 pci-skeleton recommendations.
  Default debug (message level) value changed to '2'
  Added module parameter descriptions
  TX_TIMEOUT change from 2 to 6 seconds.
  Standard compile-command uses the Makefile.
  Used PKT_BUF_SZ as a consistent size for allocating receive buffers.
  Per-interface settings and SIOC{S,G}PARAMS settings for
   rx_copybreak, max_interrupt_work, multicast_filter_limit

Added a variables to track the current receive and multicast filter
setting to minimize register writes.


-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993