Commit Graph

33 Commits (194ca6127ee18cd3a95da4d03f02e43b5428c0bb)

Author SHA1 Message Date
John Crispin 194ca6127e ralink: improve mt7530 support
the SDK does a bit of extra init that we did not do yet when using an external mt7530.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43245
10 years ago
John Crispin 062828aee0 ralink: mt7621 has a different base addr for PVID
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43243
10 years ago
John Crispin 86e3315ece ralink: add support for mt7621 ethernet
somehow all switch ports still come up as 10mbit.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43237
10 years ago
John Crispin e399931376 ralink: fix mdio polling of external phys if only 1 phy exists
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43235
10 years ago
John Crispin 9007e2244f ralink: mt7628 does not actually need this fix for the ethernet driver
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43206
10 years ago
John Crispin c32ad22e40 ralink: improve r43200
r43200 tries to detect if the fixup is needed or not. control the behaviour via
OF instead and disable unused ports.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43201
10 years ago
John Crispin 0cc0ba2b3a ralink: only apply ephy1 fixup if the phy is present
this broke e1700 lan2 as the fixup was applied to the phy inside the mt7530.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43200
10 years ago
John Crispin f8404aaf9e ralink: add mt7628 support to the ethernet driver
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43196
10 years ago
John Crispin 26504289df ralink: cleanup ethernet Makefile/Kconfig
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43195
10 years ago
John Crispin d524fe46fd ralink: move ethernet driver to files/
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43194
10 years ago
John Crispin d4db00205d move files to files-3.7
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 36161
11 years ago
John Crispin 756a7c5451 fix for non-blinking LAN LEDs
https://dev.openwrt.org/ticket/12830

SVN-Revision: 35359
12 years ago
Gabor Juhos 57b7879a4e ramips: ramips_eth: use Kconfig definition to enable debug
The Kconfig identifier to enable debugging in the driver was different from the
actually used one. Fix that.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34332
12 years ago
John Crispin ced0cf3a94 move ethernet hw init to init/uninit functions
This should fix the stalled irq problem seen by several people.
This is not the real fix, but rather moves the bug to the un/init patch of the driver.
The real bug still needs to be fixed, but this workaround should be suffcient to make
the ethernet stable.

SVN-Revision: 34177
12 years ago
John Crispin 34d57ebd8b add ethernet support for rt5350
SVN-Revision: 33548
12 years ago
John Crispin af0cd76937 make ramips ethernet use a register mapping table
SVN-Revision: 33547
12 years ago
Gabor Juhos d8b2fef763 ramips: Add missing andmask to ramips_esw register read for recv_good value.
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>

SVN-Revision: 33322
12 years ago
Gabor Juhos 04c6143ca9 ramips: Use doubletagging to disable ramips_esw vlan by default, it seems 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>

SVN-Revision: 33321
12 years ago
Gabor Juhos bc4763a399 ramips: Power down phy on disabled switch ports
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>

SVN-Revision: 33304
12 years ago
Gabor Juhos bb0785880a ramips: Rename POC registers
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>

SVN-Revision: 33302
12 years ago
Gabor Juhos f1b9d77912 ramips: Minor ramips_esw.c cleanup
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>

SVN-Revision: 33301
12 years ago
Gabor Juhos 3b17f1deb8 ramips: Add swconfig support to ramips_esw.c
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>

SVN-Revision: 33299
12 years ago
Gabor Juhos 358c7e47f2 ramips: ramips_esw.c indentation cleanup
Minor indentation cleanup.

Prepare for the main swconfig patch by cleaning up indentation a bit.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>

SVN-Revision: 33298
12 years ago
Gabor Juhos e4720dfa95 ramips: Add byte queue limits support to net/ethernet/ramips_main.c
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>

SVN-Revision: 31844
12 years ago
Gabor Juhos 72599f0c61 ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loop
SVN-Revision: 30733
13 years ago
Gabor Juhos 100f76a010 ramips: raeth: add rx_info structure
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

SVN-Revision: 30732
13 years ago
Gabor Juhos 32e7b1c7d9 ramips: raeth: add tx_info structure
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

SVN-Revision: 30731
13 years ago
Gabor Juhos 30143b715c ramips: raeth: don't process disabled interrupts
Also rename the 'fe_int' variable.

SVN-Revision: 30713
13 years ago
Gabor Juhos a18a821733 ramips: raeth: show interrupt statistics in debugfs
SVN-Revision: 30681
13 years ago
Gabor Juhos 214216c04d ramips: raeth: add debugfs support
SVN-Revision: 30680
13 years ago
Gabor Juhos c1e4d709fa ramips: raeth: rename main source file
SVN-Revision: 30679
13 years ago
Gabor Juhos 5e6bc97d0c ramips: raeth: add missing Kconfig and Makefile
SVN-Revision: 30671
13 years ago
Gabor Juhos 3ba0f4e1ca ramips: move the ethernet driver into a separate directory
Also clean up the Kconfig symbols.

SVN-Revision: 30670
13 years ago