2001-12-12  Hugo Tyson  <hmt@redhat.com>

	* src/if_lan91cxx.c (lan91cxx_recv): If discarding data due to
	caller out of buffers, we must read-out and discard the packet to
	correctly complete the transaction.  Bogus assert for buffer
	pointer removed; other asserts from not discarding data assuaged
	by first change above.

2001-08-17  Hugo Tyson  <hmt@redhat.com>

	* src/if_lan91cxx.c (lan91cxx_poll): The interrupt acknowledge
	call only occurs in the ISR for this driver because the interrupt
	via GPIO is edge triggered.  We now also acknowledge the interrupt
	within the poll() routine - otherwise RedBoot net use never acks!
	Which doesn't matter if the app uses the net, but in a net-free
	app, it near enough wedges in the resulting interrupt loop.

2001-08-13  Hugo Tyson  <hmt@redhat.com>

	* src/smsc_lan91cxx.h (get_att,put_att): Condition out the inline
	functions if not CYGINT_DEVS_ETH_SMSC_LAN91CXX_PCMCIA_MODE -
	because they don't compile.  Inlines are not like macros.

2001-07-27  Jordi Colomer  <jco@ict.es>

	* cdl/smsc_lan91cxx_eth_drivers.cdl:
	Add interface for whether the hardware is in PCMCIA mode.
	* src/if_lan91cxx.c (smsc_lan91cxx_init):
	Allow for hardware shift addresses
	Initialize appropriately if PCMCIA mode.
	* src/smsc_lan91cxx.h:
	Support address shifts in get_reg,put_Reg, get_data, put_data
	Add new functions get_banksel , put_att and get_att.

2001-07-11  Hugo Tyson  <hmt@redhat.com>

	* src/if_lan91cxx.c (lan91cxx_stop): Clean up any pending tx both
	to prevent mbuf leak due to noncompletion, and to clear tx_busy so
	that the newly upbrung device can be used.
	(lan91cxx_can_send): Similarly detect a stopped tx engine and
	restart it, and clean up any pending tx, in here.  Otherwise the
	system cannot progress.

2001-03-27  Hugo Tyson  <hmt@redhat.com>
2001-03-27  Robin Farine  <acnrf@dial.eunet.ch>
	
	* src/if_lan91cxx.c (lan91cxx_start): Strip the CRC from
	incoming frames.

2001-01-26  Hugo Tyson  <hmt@redhat.com>

	* src/smsc_lan91cxx.h (smsc_lan91cxx_stats): Add stats structure.

	* src/if_lan91cxx.c (lan91cxx_control): Implement ioctl() call for
	SNMP statistics gathering.  Implement stats counting generally.

2001-01-25  Hugo Tyson  <hmt@redhat.com>

	* cdl/smsc_lan91cxx_eth_drivers.cdl
	(CYGSEM_DEVS_ETH_SMSC_LAN91CXX_WRITE_EEPROM): New option to
	control whether the IOCTL to set the ESA actually writes the
	EEPROM.  Default disabled for safety.
	(CYGINT_DEVS_ETH_SMSC_LAN91CXX_STATIC_ESA): New interface controls
	whether a statically configured ESA is picked up from private data.

	* src/smsc_lan91cxx.h (LAN91CXX_CONFIG): Add this, plus
	(LAN91CXX_CONTROL_EEPROM_SELECT): et al for EEPROM writing.

	* src/if_lan91cxx.c (lan91cxx_control): Implement updating the
	EEPROM with the new ESA, if so configured.  Otherwise just set the
	ESA in the device and continue, using the new value.
	(smsc_lan91cxx_init): Obey the STATIC_ESA interface setting to use the
	EEPROM or device data for the ESA.

	Removed some never-compiled, never-used stuff for getting an ESA
	out of RedBoot's flash storage.

2001-01-25  Hugo Tyson  <hmt@redhat.com>

	* cdl/smsc_lan91cxx_eth_drivers.cdl: This generic driver does not
	implement CYGHWR_NET_DRIVER_ETH0 et al; the instantiating package
	does.

2001-01-24  Hugo Tyson  <hmt@redhat.com>

	* src/if_lan91cxx.c (lan91cxx_start): Implement promiscuous mode.
	This just involves setting a bit in ..._start() if certain
	interface flags are set.  Also import a couple of other details
	under #ifdef CYGPKG_NET from the i82559 driver for safety.

2001-01-24  Hugo Tyson  <hmt@redhat.com>

	* src/if_lan91cxx.c (DEBUG): Refined debug output, for trying it
	in RedBoot experiments.

2001-01-22  Hugo Tyson  <hmt@redhat.com>

	* src/smsc_lan91cxx.h: New file.
	* src/if_lan91cxx.c: New file.
	* cdl/smsc_lan91cxx_eth_drivers.cdl: New file.
	New component.  Based on previous work [mis]named, in the same
	idiom, lan900.  Hence this new component with a better name.  A
	major rewrite too, to make the new one work with LAN91C96,
	specifically.

//===========================================================================
//####COPYRIGHTBEGIN####
//                                                                          
// -------------------------------------------                              
// The contents of this file are subject to the Red Hat eCos Public License 
// Version 1.1 (the "License"); you may not use this file except in         
// compliance with the License.  You may obtain a copy of the License at    
// http://www.redhat.com/                                                   
//                                                                          
// Software distributed under the License is distributed on an "AS IS"      
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
// License for the specific language governing rights and limitations under 
// the License.                                                             
//                                                                          
// The Original Code is eCos - Embedded Configurable Operating System,      
// released September 30, 1998.                                             
//                                                                          
// The Initial Developer of the Original Code is Red Hat.                   
// Portions created by Red Hat are                                          
// Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc.
// All Rights Reserved.                                                     
// -------------------------------------------                              
//                                                                          
//####COPYRIGHTEND####
//===========================================================================
