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