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. | ||
