2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c: Now that dev->name is only available late
	  in the probe, insert a hack to replace a not-evaluated
	  "eth%d" string with an evaluated "tulip%d" string.
	  Also, remove obvious comment and an indentation cleanup.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c: If we are a module, always print out the
	  version string.  If we are built into the kernel, only print
	  the version string if at least one tulip is detected.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	Merged from Becker's tulip.c 0.92t:

	* tulip_core.c: Add support for Conexant LANfinity.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c: Only suspend/resume if the interface
	  is up and running.  Use alloc_etherdev and pci_request_regions.
	  Spelling fix.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c: Remove code that existed when one or more of
	  the following defines existed.  These defines were never used
	  by normal users in practice: TULIP_FULL_DUPLEX,
	  TULIP_DEFAULT_MEDIA, and TULIP_NO_MEDIA_SWITCH.
	  
	* tulip.h, eeprom.c: Move EE_* constants from tulip.h to eeprom.c.
	* tulip.h, media.c: Move MDIO_* constants from tulip.h to media.c.

	* media.c: Add barrier() to mdio_read/write's PNIC status check
	  loops.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	Merged from Becker's tulip.c 0.92t:

	* tulip.h: Add MEDIA_MASK constant for bounding medianame[]
	  array lookups.
	* eeprom.c, media.c, timer.c, tulip_core.c: Use it.

	* media.c, tulip_core.c: mdio_{read,write} cleanup.  Since this
	  is called [pretty much] directly from ioctl, we mask
	  read/write arguments to limit the values passed.
	  Added mii_lock.  Added comet_miireg2offset and better
	  Comet-specific mdio_read/write code.	Pay closer attention
	  to the bits we set in ioctl.	Remove spinlocks from ioctl,
	  they are in mdio_read/write now.  Use mask to limit
	  phy number in tulip_init_one's MII scan.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	Merged from Becker's tulip.c 0.92t:

	* 21142.c, tulip_core.c: PNIC2 MAC address and NWay fixes.
	* tulip.h: Add FullDuplex constant, used in above change.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* timer.c: Do not call netif_carrier_{on,off}, it is not used in
	  the main tree.  Leave code in, disabled, as markers for future
	  carrier notification.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	Merged from Becker's tulip.c 0.92t, except for the tulip.h
	whitespace cleanup:

	* interrupt.c: If Rx stops, make sure to update the
	  multicast filter before restarting.
	* tulip.h: Add COMET_MAC_ADDR feature flag, clean up flags.
	  Add Accept* Rx mode bit constants.
	  Add mc_filter[] to driver private struct.
	* tulip_core.c: Add new Comet PCI id 0x1113:0x9511.
	  Add COMET_MAC_ADDR feature flag to comet entry in board info array.
	  Prefer to test COMET_MAC_ADDR flag to testing chip_id for COMET,
	  when dealing with the Comet's MAC address.
	  Enable Tx underrun recovery for Comet chips.
	  Use new Accept* constants in set_rx_mode.
	  Prefer COMET_MAC_ADDR flag test to chip_id test in set_rx_mode.
	  Store built mc_filter for later use in intr handler by Comets.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c: Use tp->cur_tx when building the
	  setup frame, instead of assuming that the setup
	  frame is always built in slot zero.  This case is
	  hit during PM resume.

2001-04-03  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* *.c: Update file headers (copyright, urls, etc.)
	* Makefile: re-order to that chip-specific modules on own line
	* eeprom.c: BSS/zero-init cleanup (Andrey Panin)
	* tulip_core.c: merge medianame[] update from tulip.c.
	  Additional arch-specific rx_copybreak, csr0 values. (various)

2001-02-20  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* media.c (tulip_select_media): No need to initialize
	new_csr6, all cases initialize it properly.

2001-02-18  Manfred Spraul  <manfred@colorfullife.com>

	* interrupt.c (tulip_refill_rx): Make public.
	If PNIC chip stops due to lack of Rx buffers, restart it.
	(tulip_interrupt): PNIC doesn't have a h/w timer, emulate
	with software timers.
	* pnic.c (pnic_check_duplex): New function, PNIC-specific
	version of tulip_check_duplex.
	(pnic_lnk_change): Call pnic_check_duplex.  If we use an
	external MII, then we mustn't use the internal negotiation.
	(pnic_timer): Support Rx refilling on work overflow in
	interrupt handler, as PNIC doesn't support a h/w timer.
	* tulip_core.c (tulip_tbl[]): Modify default csr6

2001-02-11  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c (tulip_init_one): Call pci_enable_device
	to ensure wakeup/resource assignment before checking those
	values.
	(tulip_init_one): Replace PCI ids with constants from pci_id.h.
	(tulip_suspend, tulip_resume, tulip_remove_one): Call
	pci_power_on/off (commented out for now).

2001-02-10  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip.h: Add CFDD_xxx bits for Tulip power management
	* tulip_core.c (tulip_set_power_state): New function,
	manipulating Tulip chip power state where supported.
	(tulip_up, tulip_down, tulip_init_one): Use it.

2001-02-10  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c (tulip_tx_timeout): Call netif_wake_queue
	to ensure the next Tx is always sent to us.

2001-01-27  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c (tulip_remove_one): Fix mem leak by freeing
	tp->media_tbl.  Add check for !dev, reformat code appropriately.

2001-01-27  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_tbl[]: Comment all entries to make order and chip_id
	relationship more clear.
	* tulip_pci_tbl[]: Add new Accton PCI id (COMET chipset).

2001-01-16  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c: static vars no longer explicitly
	initialized to zero.
	* eeprom.c (tulip_read_eeprom): Make sure to delay between
	EE_ENB and EE_ENB|EE_SHIFT_CLK.  Merged from becker tulip.c.

2001-01-05  Peter De Schrijver  <p2@mind.be>

	* eeprom.c (tulip_parse_eeprom): Interpret a bit more of 21142
	extended format type 3 info blocks in a tulip SROM.

2001-01-03  Matti Aarnio  <matti.aarnio@zmailer.org>

	* media.c (tulip_select_media): Support media types 5 and 6

2001-??-??  ??

	* tulip_core.c: Add comment about LanMedia needing
	a different driver.
	Enable workarounds for early PCI chipsets.
	Add IA64 csr0 support, update HPPA csr0 support.

2000-12-17  Alan Cox  <alan@redhat.com>

        * eeprom.c, timer.c, tulip.h, tulip_core.c: Merge support
	for the Davicom's quirks into the main tulip.
	Patch by Tobias Ringstrom

2000-11-08  Jim Studt  <jim@federated.com>

	* eeprom.c (tulip_parse_eeprom):  Check array bounds for
	medianame[] and block_name[] arrays to avoid oops due
	to bad values returned from hardware.

2000-11-02  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c (set_rx_mode): This is synchronized via
	dev->xmit_lock, so only the queueing of the setup frame needs to
	be locked, against tulip_interrupt.

2000-11-02  Alexey Kuznetov  <kuznet@ms2.inr.ac.ru>

	* timer.c (tulip_timer): Call netif_carrier_{on,off} to report
	link state to the rest of the kernel, and userspace.
	* interrupt.c (tulip_interrupt): Remove tx_full.
	* tulip.h: Likewise.
	* tulip_core.c (tulip_init_ring, tulip_start_xmit, set_rx_mode):
	Likewise.

2000-10-18  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* tulip_core.c: (tulip_init_one) Print out ethernet interface
	on error.  Print out a message when pci_enable_device fails.
	Handle DMA alloc failure.

2000-10-18  Jeff Garzik  <jgarzik@mandrakesoft.com>

	* Makefile: New file.
	* tulip_core.c (tulip_init_one): Correct error messages
	on PIO/MMIO region reserve failure.
	(tulip_init_one) Add new check to ensure that PIO region is
	sufficient for our needs.

