|The Gianfar Ethernet Driver
|Sysfs File description
|Author: Andy Fleming <firstname.lastname@example.org>
|Several of the features of the gianfar driver are controlled
|through sysfs files. These are:
|To stash RX Buffer Descriptors in the L2, echo 'on' or '1' to
|bd_stash, echo 'off' or '0' to disable
|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!
|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.
|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.
|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.
|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
|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.
|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
|The gianfar driver supports padding received frames with 2 bytes
|to align the IP header to a 16-byte boundary, when supported by
|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.