mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 18:53:24 +00:00 
			
		
		
		
	 7f7f53168d
			
		
	
	
		7f7f53168d
		
	
	
	
	
		
			
			This seems to have gotten lost, so I'll resend. Signed-off-by: Andy Fleming <afleming@freescale.com> * Added sysfs support to gianfar for modifying FIFO and stashing parameters * Updated driver to support 10 Mbit, full duplex operation * Improved comments throughout * Cleaned up and optimized offloading code * Fixed a bug where rx buffers were being improperly mapped and unmapped * (only manifested if cache-coherency was off) * Added support for using the eTSEC exact-match MAC registers * Bumped the version to 1.3 * Added support for distinguishing between reduced 100 and 10 Mbit modes * Modified default coalescing values to lower latency * Added documentation Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
		
			
				
	
	
		
			73 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| The Gianfar Ethernet Driver
 | |
| Sysfs File description
 | |
| 
 | |
| Author: Andy Fleming <afleming@freescale.com>
 | |
| Updated: 2005-07-28
 | |
| 
 | |
| SYSFS
 | |
| 
 | |
| Several of the features of the gianfar driver are controlled
 | |
| through sysfs files.  These are:
 | |
| 
 | |
| bd_stash:
 | |
| To stash RX Buffer Descriptors in the L2, echo 'on' or '1' to
 | |
| bd_stash, echo 'off' or '0' to disable
 | |
| 
 | |
| rx_stash_len:
 | |
| To stash the first n bytes of the packet in L2, echo the number
 | |
| of bytes to buf_stash_len.  echo 0 to disable.
 | |
| 
 | |
| WARNING: You could really screw these up if you set them too low or high!
 | |
| fifo_threshold:
 | |
| To change the number of bytes the controller needs in the
 | |
| fifo before it starts transmission, echo the number of bytes to 
 | |
| fifo_thresh.  Range should be 0-511.
 | |
| 
 | |
| fifo_starve:
 | |
| When the FIFO has less than this many bytes during a transmit, it
 | |
| enters starve mode, and increases the priority of TX memory
 | |
| transactions.  To change, echo the number of bytes to
 | |
| fifo_starve.  Range should be 0-511.
 | |
| 
 | |
| fifo_starve_off:
 | |
| Once in starve mode, the FIFO remains there until it has this
 | |
| many bytes.  To change, echo the number of bytes to
 | |
| fifo_starve_off.  Range should be 0-511.
 | |
| 
 | |
| CHECKSUM OFFLOADING
 | |
| 
 | |
| The eTSEC controller (first included in parts from late 2005 like
 | |
| the 8548) has the ability to perform TCP, UDP, and IP checksums
 | |
| in hardware.  The Linux kernel only offloads the TCP and UDP
 | |
| checksums (and always performs the pseudo header checksums), so
 | |
| the driver only supports checksumming for TCP/IP and UDP/IP
 | |
| packets.  Use ethtool to enable or disable this feature for RX
 | |
| and TX.
 | |
| 
 | |
| VLAN
 | |
| 
 | |
| In order to use VLAN, please consult Linux documentation on
 | |
| configuring VLANs.  The gianfar driver supports hardware insertion and
 | |
| extraction of VLAN headers, but not filtering.  Filtering will be
 | |
| done by the kernel.
 | |
| 
 | |
| MULTICASTING
 | |
| 
 | |
| The gianfar driver supports using the group hash table on the
 | |
| TSEC (and the extended hash table on the eTSEC) for multicast
 | |
| filtering.  On the eTSEC, the exact-match MAC registers are used
 | |
| before the hash tables.  See Linux documentation on how to join
 | |
| multicast groups.
 | |
| 
 | |
| PADDING
 | |
| 
 | |
| The gianfar driver supports padding received frames with 2 bytes
 | |
| to align the IP header to a 16-byte boundary, when supported by
 | |
| hardware.
 | |
| 
 | |
| ETHTOOL
 | |
| 
 | |
| The gianfar driver supports the use of ethtool for many
 | |
| configuration options.  You must run ethtool only on currently
 | |
| open interfaces.  See ethtool documentation for details.
 |