summaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/files/drivers/net/ethernet
Commit message (Collapse)AuthorAgeFilesLines
* [ramips] add ethernet support for rt5350blogic2012-09-252-18/+106
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33548 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [ramips] make ramips ethernet use a register mapping tableblogic2012-09-251-29/+79
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33547 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Add missing andmask to ramips_esw register read for recv_good value.juhosg2012-09-051-1/+3
| | | | | | | | | | | | | Add missing andmask to ramips_esw register read for recv_good value. Without the mask, recv_bad leaks into the recv_good packet count. Didn't notice the bug before since you don't usually get bad packets, so I only saw it when I was playing with overlength packets earlier... Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33322 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Use doubletagging to disable ramips_esw vlan by default, it seems ↵juhosg2012-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | more reliable. Use doubletagging to disable ramips_esw vlan by default, it seems more reliable. Daniel Golle found an issue where sometimes (possibly only for RT3352) the default vlan disable method (clearing en_vlan, untag, doubletag and putting all ports into vlan 0) doesn't work and the packets get sent out vlan-tagged with vlan 0. Instead switch to using the doubletagging method (allow doubletagged packets, put all ports into vlan 0 with untag enabled) by default. Unless someone figures out a way to really globally disable vlan for this switch, this seems like the best (most reliable) option. I did some tests regarding maximum packet size and did not see any difference between the two methods, both allow for slightly bigger packets than the ramips_main.c ethernet driver (ping stops going through above "ping -s 1472" (1514 bytes), on the switch packets are recv_good until "ping -s 1490", or about 1532 bytes). Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33321 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Power down phy on disabled switch portsjuhosg2012-08-291-5/+67
| | | | | | | | | | | | | | Power down phy on disabled switch ports. Haven't measured this myself yet, but according to this http://www.8devices.com/community/viewtopic.php?f=6&t=156 it can save about 300mW of power. [juhosg: fix checkpatch warning] Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33304 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Rename POC registersjuhosg2012-08-291-31/+31
| | | | | | | | | | | | | | | | | | Rename POC registers. The current code uses POC1-POC3. The datasheet uses: POC1: Port Control 0 POC1: Port Control 1 POC2: Port Control 2 So the first POC1 is a typo that should have been POC0, rename the registers to POC0-POC2 accordingly. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33302 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Minor ramips_esw.c cleanupjuhosg2012-08-291-59/+3
| | | | | | | | | | | | Stop handling VLAN setup in the kernel. Removes the obsolete RT305X_ESW_VLAN_CONFIG_BYPASS option I added for WL-351 and add some extra comments. Also removes the en_vlan per-port flag that isn't very useful really, it now is only controlled by the global enable_vlan flag. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33301 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Add swconfig support to ramips_esw.cjuhosg2012-08-292-35/+755
| | | | | | | | | | | | | | | | | | | Add swconfig support to ramips_esw.c This patch adds swconfig support for ramips_esw: Tested on both D-LINK DIR-300 B1 and Sitecom WL-351 (external rtl8366rb on internal port 5). I've made sure that in the enable_vlan=0 case it behaves like a dumb switch, so external switches should work fine with vlans and verified this on the WL-351. The current state shown by swconfig is always read directly from HW registers, new settings only show after 'swconfig dev rt305x set apply'. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33299 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: ramips_esw.c indentation cleanupjuhosg2012-08-291-11/+11
| | | | | | | | | | Minor indentation cleanup. Prepare for the main swconfig patch by cleaning up indentation a bit. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33298 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Add byte queue limits support to net/ethernet/ramips_main.cjuhosg2012-05-231-0/+8
| | | | | | | | | | | | | | Add byte queue limits support to net/ethernet/ramips_main.c "Byte queue limits are a mechanism to limit the size of the transmit hardware queue on a NIC by number of bytes. The goal of these byte limits is too reduce latency (HOL blocking) caused by excessive queuing in hardware (aka buffer bloat) without sacrificing throughput." Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31844 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loopjuhosg2012-02-261-1/+3
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30733 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add rx_info structurejuhosg2012-02-262-24/+57
| | | | | | | | | | | | | This helps to reduce code size on RX path: add/remove: 0/0 grow/shrink: 3/1 up/down: 68/-56 (12) function old new delta ramips_eth_open 1104 1144 +40 ramips_ring_free 212 232 +20 ramips_eth_stop 400 408 +8 ramips_eth_rx_hw 648 592 -56 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30732 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add tx_info structurejuhosg2012-02-262-19/+55
| | | | | | | | | | | | | | This helps to reduce code size on TX path: add/remove: 0/0 grow/shrink: 1/4 up/down: 56/-92 (-36) function old new delta ramips_eth_open 1048 1104 +56 ramips_eth_tx_housekeeping 156 148 -8 ramips_ring_free 224 212 -12 ramips_eth_stop 420 400 -20 ramips_eth_hard_start_xmit 480 428 -52 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30731 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: don't process disabled interruptsjuhosg2012-02-251-5/+11
| | | | | | Also rename the 'fe_int' variable. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30713 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: show interrupt statistics in debugfsjuhosg2012-02-223-0/+105
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30681 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add debugfs supportjuhosg2012-02-225-1/+91
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30680 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: rename main source filejuhosg2012-02-222-0/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30679 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add missing Kconfig and Makefilejuhosg2012-02-212-0/+18
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30671 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: move the ethernet driver into a separate directoryjuhosg2012-02-213-0/+1674
Also clean up the Kconfig symbols. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30670 3c298f89-4303-0410-b956-a3cf2f4a3e73