-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PATCH] Gianfar update and sysfs support
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>
- Loading branch information
Andy Fleming
authored and
Jeff Garzik
committed
Nov 18, 2005
1 parent
fed5ecc
commit 7f7f531
Showing
7 changed files
with
579 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.