aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorAndy Fleming <afleming@freescale.com>2005-11-11 13:38:59 -0500
committerJeff Garzik <jgarzik@pobox.com>2005-11-18 13:31:26 -0500
commit7f7f53168dbee6d6a462acea666fddd18aad4f08 (patch)
tree9c59f9b4b7c06f70b48197408f37398e54b4771e /Documentation
parentfed5eccdcf542742786701b2514b5cb7ab282b93 (diff)
[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>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/networking/gianfar.txt72
1 files changed, 72 insertions, 0 deletions
diff --git a/Documentation/networking/gianfar.txt b/Documentation/networking/gianfar.txt
new file mode 100644
index 000000000000..ad474ea07d07
--- /dev/null
+++ b/Documentation/networking/gianfar.txt
@@ -0,0 +1,72 @@
1The Gianfar Ethernet Driver
2Sysfs File description
3
4Author: Andy Fleming <afleming@freescale.com>
5Updated: 2005-07-28
6
7SYSFS
8
9Several of the features of the gianfar driver are controlled
10through sysfs files. These are:
11
12bd_stash:
13To stash RX Buffer Descriptors in the L2, echo 'on' or '1' to
14bd_stash, echo 'off' or '0' to disable
15
16rx_stash_len:
17To stash the first n bytes of the packet in L2, echo the number
18of bytes to buf_stash_len. echo 0 to disable.
19
20WARNING: You could really screw these up if you set them too low or high!
21fifo_threshold:
22To change the number of bytes the controller needs in the
23fifo before it starts transmission, echo the number of bytes to
24fifo_thresh. Range should be 0-511.
25
26fifo_starve:
27When the FIFO has less than this many bytes during a transmit, it
28enters starve mode, and increases the priority of TX memory
29transactions. To change, echo the number of bytes to
30fifo_starve. Range should be 0-511.
31
32fifo_starve_off:
33Once in starve mode, the FIFO remains there until it has this
34many bytes. To change, echo the number of bytes to
35fifo_starve_off. Range should be 0-511.
36
37CHECKSUM OFFLOADING
38
39The eTSEC controller (first included in parts from late 2005 like
40the 8548) has the ability to perform TCP, UDP, and IP checksums
41in hardware. The Linux kernel only offloads the TCP and UDP
42checksums (and always performs the pseudo header checksums), so
43the driver only supports checksumming for TCP/IP and UDP/IP
44packets. Use ethtool to enable or disable this feature for RX
45and TX.
46
47VLAN
48
49In order to use VLAN, please consult Linux documentation on
50configuring VLANs. The gianfar driver supports hardware insertion and
51extraction of VLAN headers, but not filtering. Filtering will be
52done by the kernel.
53
54MULTICASTING
55
56The gianfar driver supports using the group hash table on the
57TSEC (and the extended hash table on the eTSEC) for multicast
58filtering. On the eTSEC, the exact-match MAC registers are used
59before the hash tables. See Linux documentation on how to join
60multicast groups.
61
62PADDING
63
64The gianfar driver supports padding received frames with 2 bytes
65to align the IP header to a 16-byte boundary, when supported by
66hardware.
67
68ETHTOOL
69
70The gianfar driver supports the use of ethtool for many
71configuration options. You must run ethtool only on currently
72open interfaces. See ethtool documentation for details.