<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
	"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>

<book id="TulipUserGuide">
 <bookinfo>
  <title>Tulip Driver User's Guide</title>
  
  <authorgroup>
   <author>
    <firstname>Jeff</firstname>
    <surname>Garzik</surname>
    <affiliation>
     <address>
      <email>jgarzik@pobox.com</email>
     </address>
    </affiliation>
   </author>
  </authorgroup>

  <copyright>
   <year>2001</year>
   <holder>Jeff Garzik</holder>
  </copyright>

  <legalnotice>
   <para>
     This documentation is free software; you can redistribute
     it and/or modify it under the terms of the GNU General Public
     License as published by the Free Software Foundation; either
     version 2 of the License, or (at your option) any later
     version.
   </para>
      
   <para>
     This program is distributed in the hope that it will be
     useful, but WITHOUT ANY WARRANTY; without even the implied
     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     See the GNU General Public License for more details.
   </para>
      
   <para>
     You should have received a copy of the GNU General Public
     License along with this program; if not, write to the Free
     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
     MA 02111-1307 USA
   </para>
      
   <para>
     For more details see the file COPYING in the source
     distribution of Linux.
   </para>
  </legalnotice>
 </bookinfo>

 <toc></toc>

  <chapter id="intro">
    <title>Introduction</title>
<para>
The Tulip Ethernet Card Driver
is maintained by Jeff Garzik (<email>jgarzik@pobox.com</email>).
</para>

<para>
The Tulip driver was developed by Donald Becker and changed by
Jeff Garzik, Takashi Manabe and a cast of thousands.
</para>

<para>
For 2.4.x and later kernels, the Linux Tulip driver is available at
<ulink url="http://sourceforge.net/projects/tulip/">http://sourceforge.net/projects/tulip/</ulink>
</para>

<para>
	This driver is for the Digital "Tulip" Ethernet adapter interface.
	It should work with most DEC 21*4*-based chips/ethercards, as well as
	with work-alike chips from Lite-On (PNIC) and Macronix (MXIC) and ASIX.
</para>

<para>
        The original author may be reached as becker@scyld.com, or C/O
        Scyld Computing Corporation,
        410 Severn Ave., Suite 210,
        Annapolis MD 21403
</para>

<para>
	Additional information on Donald Becker's tulip.c
	is available at <ulink url="http://www.scyld.com/network/tulip.html">http://www.scyld.com/network/tulip.html</ulink>
</para>

  </chapter>

  <chapter id="drvr-compat">
    <title>Driver Compatibility</title>

<para>
This device driver is designed for the DECchip "Tulip", Digital's
single-chip ethernet controllers for PCI (now owned by Intel).
Supported members of the family
are the 21040, 21041, 21140, 21140A, 21142, and 21143.  Similar work-alike
chips from Lite-On, Macronics, ASIX, Compex and other listed below are also
supported.
</para>

<para>
These chips are used on at least 140 unique PCI board designs.  The great
number of chips and board designs supported is the reason for the
driver size and complexity.  Almost of the increasing complexity is in the
board configuration and media selection code.  There is very little
increasing in the operational critical path length.
</para>
  </chapter>

  <chapter id="board-settings">
    <title>Board-specific Settings</title>

<para>
PCI bus devices are configured by the system at boot time, so no jumpers
need to be set on the board.  The system BIOS preferably should assign the
PCI INTA signal to an otherwise unused system IRQ line.
</para>

<para>
Some boards have EEPROMs tables with default media entry.  The factory default
is usually "autoselect".  This should only be overridden when using
transceiver connections without link beat e.g. 10base2 or AUI, or (rarely!)
for forcing full-duplex when used with old link partners that do not do
autonegotiation.
</para>
  </chapter>

  <chapter id="driver-operation">
    <title>Driver Operation</title>

<sect1><title>Ring buffers</title>

<para>
The Tulip can use either ring buffers or lists of Tx and Rx descriptors.
This driver uses statically allocated rings of Rx and Tx descriptors, set at
compile time by RX/TX_RING_SIZE.  This version of the driver allocates skbuffs
for the Rx ring buffers at open() time and passes the skb->data field to the
Tulip as receive data buffers.  When an incoming frame is less than
RX_COPYBREAK bytes long, a fresh skbuff is allocated and the frame is
copied to the new skbuff.  When the incoming frame is larger, the skbuff is
passed directly up the protocol stack and replaced by a newly allocated
skbuff.
</para>

<para>
The RX_COPYBREAK value is chosen to trade-off the memory wasted by
using a full-sized skbuff for small frames vs. the copying costs of larger
frames.  For small frames the copying cost is negligible (esp. considering
that we are pre-loading the cache with immediately useful header
information).  For large frames the copying cost is non-trivial, and the
larger copy might flush the cache of useful data.  A subtle aspect of this
choice is that the Tulip only receives into longword aligned buffers, thus
the IP header at offset 14 isn't longword aligned for further processing.
Copied frames are put into the new skbuff at an offset of "+2", thus copying
has the beneficial effect of aligning the IP header and preloading the
cache.
</para>

</sect1>

<sect1><title>Synchronization</title>
<para>
The driver runs as two independent, single-threaded flows of control.  One
is the send-packet routine, which enforces single-threaded use by the
dev->tbusy flag.  The other thread is the interrupt handler, which is single
threaded by the hardware and other software.
</para>

<para>
The send packet thread has partial control over the Tx ring and 'dev->tbusy'
flag.  It sets the tbusy flag whenever it's queuing a Tx packet. If the next
queue slot is empty, it clears the tbusy flag when finished otherwise it sets
the 'tp->tx_full' flag.
</para>

<para>
The interrupt handler has exclusive control over the Rx ring and records stats
from the Tx ring.  (The Tx-done interrupt can't be selectively turned off, so
we can't avoid the interrupt overhead by having the Tx routine reap the Tx
stats.)	 After reaping the stats, it marks the queue entry as empty by setting
the 'base' to zero.	 Iff the 'tp->tx_full' flag is set, it clears both the
tx_full and tbusy flags.
</para>

</sect1>

  </chapter>

  <chapter id="errata">
    <title>Errata</title>

<para>
The old DEC databooks were light on details.
The 21040 databook claims that CSR13, CSR14, and CSR15 should each be the last
register of the set CSR12-15 written.  Hmmm, now how is that possible?
</para>

<para>
The DEC SROM format is very badly designed not precisely defined, leading to
part of the media selection junkheap below.  Some boards do not have EEPROM
media tables and need to be patched up.  Worse, other boards use the DEC
design kit media table when it isn't correct for their board.
</para>

<para>
We cannot use MII interrupts because there is no defined GPIO pin to attach
them.  The MII transceiver status is polled using an kernel timer.
</para>
  </chapter>

  <chapter id="changelog">
    <title>Driver Change History</title>

    <sect1><title>Version 0.9.14 (February 20, 2001)</title>
    <itemizedlist>
    <listitem><para>Fix PNIC problems (Manfred Spraul)</para></listitem>
    <listitem><para>Add new PCI id for Accton comet</para></listitem>
    <listitem><para>Support Davicom tulips</para></listitem>
    <listitem><para>Fix oops in eeprom parsing</para></listitem>
    <listitem><para>Enable workarounds for early PCI chipsets</para></listitem>
    <listitem><para>IA64, hppa csr0 support</para></listitem>
    <listitem><para>Support media types 5, 6</para></listitem>
    <listitem><para>Interpret a bit more of the 21142 SROM extended media type 3</para></listitem>
    <listitem><para>Add missing delay in eeprom reading</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.11 (November 3, 2000)</title>
    <itemizedlist>
    <listitem><para>Eliminate extra bus accesses when sharing interrupts (prumpf)</para></listitem>
    <listitem><para>Barrier following ownership descriptor bit flip (prumpf)</para></listitem>
    <listitem><para>Endianness fixes for >14 addresses in setup frames (prumpf)</para></listitem>
    <listitem><para>Report link beat to kernel/userspace via netif_carrier_*. (kuznet)</para></listitem>
    <listitem><para>Better spinlocking in set_rx_mode.</para></listitem>
    <listitem><para>Fix I/O resource request failure error messages (DaveM catch)</para></listitem>
    <listitem><para>Handle DMA allocation failure.</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.10 (September 6, 2000)</title>
    <itemizedlist>
    <listitem><para>Simple interrupt mitigation (via jamal)</para></listitem>
    <listitem><para>More PCI ids</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.9 (August 11, 2000)</title>
    <itemizedlist>
    <listitem><para>More PCI ids</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.8 (July 13, 2000)</title>
    <itemizedlist>
    <listitem><para>Correct signed/unsigned comparison for dummy frame index</para></listitem>
    <listitem><para>Remove outdated references to struct enet_statistics</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.7 (June 17, 2000)</title>
    <itemizedlist>
    <listitem><para>Timer cleanups (Andrew Morton)</para></listitem>
    <listitem><para>Alpha compile fix (somebody?)</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.6 (May 31, 2000)</title>
    <itemizedlist>
    <listitem><para>Revert 21143-related support flag patch</para></listitem>
    <listitem><para>Add HPPA/media-table debugging printk</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.5 (May 30, 2000)</title>
    <itemizedlist>
    <listitem><para>HPPA support (willy@puffingroup)</para></listitem>
    <listitem><para>CSR6 bits and tulip.h cleanup (Chris Smith)</para></listitem>
    <listitem><para>Improve debugging messages a bit</para></listitem>
    <listitem><para>Add delay after CSR13 write in t21142_start_nway</para></listitem>
    <listitem><para>Remove unused ETHER_STATS code</para></listitem>
    <listitem><para>Convert 'extern inline' to 'static inline' in tulip.h (Chris Smith)</para></listitem>
    <listitem><para>Update DS21143 support flags in tulip_chip_info[]</para></listitem>
    <listitem><para>Use spin_lock_irq, not _irqsave/restore, in tulip_start_xmit()</para></listitem>
    <listitem><para>Add locking to set_rx_mode()</para></listitem>
    <listitem><para>Fix race with chip setting DescOwned bit (Hal Murray)</para></listitem>
    <listitem><para>Request 100% of PIO and MMIO resource space assigned to card</para></listitem>
    <listitem><para>Remove error message from pci_enable_device failure</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.4.3 (April 14, 2000)</title>
    <itemizedlist>
    <listitem><para>mod_timer fix (Hal Murray)</para></listitem>
    <listitem><para>PNIC2 resuscitation (Chris Smith)</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.4.2 (March 21, 2000)</title>
    <itemizedlist>
    <listitem><para>Fix 21041 CSR7, CSR13/14/15 handling</para></listitem>
    <listitem><para>Merge some PCI ids from tulip 0.91x</para></listitem>
    <listitem><para>Merge some HAS_xxx flags and flag settings from tulip 0.91x</para></listitem>
    <listitem><para>asm/io.h fix (submitted by many) and cleanup</para></listitem>
    <listitem><para>s/HAS_NWAY143/HAS_NWAY/</para></listitem>
    <listitem><para>Cleanup 21041 mode reporting</para></listitem>
    <listitem><para>Small code cleanups</para></listitem>
    </itemizedlist>
    </sect1>

    <sect1><title>Version 0.9.4.1 (March 18, 2000)</title>
    <itemizedlist>
    <listitem><para>Finish PCI DMA conversion (davem)</para></listitem>
    <listitem><para>Do not netif_start_queue() at end of tulip_tx_timeout() (kuznet)</para></listitem>
    <listitem><para>PCI DMA fix (kuznet)</para></listitem>
    <listitem><para>eeprom.c code cleanup</para></listitem>
    <listitem><para>Remove Xircom Tulip crud</para></listitem>
    </itemizedlist>
    </sect1>
  </chapter>

</book>
