[tulip] Test release of tulip.c v0.92h

Donald Becker becker@scyld.com
Wed, 26 Jul 2000 20:09:13 -0400 (EDT)

A new test release of the Tulip driver is now available from

for instructions.

The minor change list for the Tulip driver has been growing without any
specific problem being large enough to cause a release.  So I've put the
changes together in this interim release.

The only outstanding problem is that the PNIC-II drops an auto-negotiated
link during a Tx timeout.  Or more likely the timeout occurs because of some
link problem during very heavy activity.

Barring problem reports, or a confirmation of the above issue, this version
will likely become v0.93.  If v0.93 is stable for three months, it will be
released as v1.00.

Anyway, here is the condensed and summarized log since v0.92:

tulip.c:v0.92h 7/9/2000

Only define MODVERSIONS when compiled as a module.  The linker doesn't like
munged names when the driver is built-in.

Set the driver to USE_IO_OPS with kernels before 2.1.  The 2.0 kernel will
not work with high-address memory regions, and a few PCI BIOSes now do that.

Minor support URL updates.

The chip-specific feature flags now come from both pci_id_tbl[]
(which matches the specific chip version) and the chip family table.
The immediate use is to mark 21143-TD chips as having VLAN support, while
the -TC and earlier chips do not.

Changed the media_cap[] table to mark the MII-100baseFx-HDX media type with
the MediaIsFx flag.  This flag used to indicate only that the scambler
should not be enabled with SYM transceiver connections.

The Passed-in media type mask changed from 15 to 31 to allow the new
transceiver types (e.g. Home-PNA).

Change the MII transceiver initialization to use forced speed and duplex
when a media type override is used.  Previously we only limited the
autonegotation types, which didn't work correctly with a non-autonegotiating
100baseTx-FDX link partner.

Restructured check_duplex() to not do MII operations when the media type is
locked with np->medialocked.

Changed SIOCDEVPRIVATE ioctl() names to SIOCGMIIREG, etc.

Added code to interpret the values written to the default transceivers.  The
SIOCSMIIREG call now sets the forced-full-duplex state and sets the local
idea of np->advertising.  This allows 'mii-diag' to set forced-full-duplex
after the driver is initialized.

Added a message for PCI Bus Errors.

Slightly different logic for the transmit restart so that we restart on PCI
bus errors.

Added casts to avoid bogus warning messages when compiling for the Alpha.

Added a few PNIC media selection debug statements
Replaced the CSR7 setting on a Tx timeout.

The search order for MII PHYs is now 1,2,..31, then 0.
Search for MII transceivers with the Comet/Centaur chips.
Added a new flag COMET_MAC_ADDR for the Comet/Centaur chips.
Fixed missing ";" when compiling with -DCARDBUS.
PCI table changes
  Added a TULIP_SIZE1 define for PCI table entries with 256 bytes of I/O space.
  Added Linksys subsystem ID table entries.

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Beowulf Clusters / Linux Installations
Annapolis MD 21403