Commit graph

9 commits

Author SHA1 Message Date
DENG Qingfang
f99c9cd9c4 ramips: mt7530 swconfig: fix race condition in register access
The mt7530_{r,w}32 operation over MDIO uses 3 mdiobus operations and
does not hold a lock, which causes a race condition when multiple
threads try to access a register, they may get unexpected results.

To avoid this, handle the MDIO lock manually, and use the unlocked
__mdiobus_{read,write} in the critical section.

This fixes the "Ghost VLAN" artifact[1] in MT7530/7621 when the VLAN
operation and the swconfig LED link status poll race between each other.

[1] https://forum.openwrt.org/t/mysterious-vlan-ids-on-mt7621-device/64495

Signed-off-by: DENG Qingfang <dqfext@gmail.com>
2021-04-15 00:00:54 +08:00
Adrian Schmutzler
adf830a3a5 ramips: remove further mt7621 code from local ethernet driver
While commit 734a8c46e7 focussed on removing stuff directly
selected by the NET_RALINK_* symbols, this patch removes additional
unused mt7621-specific code from the ethernet driver.

As with the previous patch, the main reason is to reduce the amount
of code we have to maintain and care about.

Note that this patch still keeps a few lines with
IS_ENABLED(CONFIG_SOC_MT7621) in mtk_eth_soc.h/.c, as this file is
still selected for the mt7621 subtarget.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-26 23:58:01 +02:00
Salvatore Mesoraca
2a43ab4a18 ramips: add arl_table support for MT7530
Use switch.h API to expose MT7530's ARL table to
user space.

Signed-off-by: Salvatore Mesoraca <salvatore@samknows.com>
2020-07-17 11:00:33 +02:00
Chuanhong Guo
33d027c5b8 ramips: move and rename out-of-tree mtk eth driver
move the driver into shared 'files' directory and rename all symbols
from mediatek/mtk to ralink.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2020-04-12 22:27:17 +08:00
John Crispin
fa854a02a1 ralink: drop old ethernet driver
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47899
2015-12-17 09:25:30 +00:00
John Crispin
1aab21df9f ramips: Allow to receive vlan over untag ports on MT7530
The MT7530 switch driver with enable_vlan set will automatically set all
ports to the user port mode. The hardware will remove the incoming vlan tag
on these ports and use it for its internal vlan. This is usually not wanted
and makes it impossible to communicate via vlan over the switch in both
directions.

It is possible to configure a switch port to "transparent mode" when this
port is only used as untag in the switch VLANs. This will disable the VLAN
untagging of packets when they were received on this port. The tagging on
"tag" ports based on the vlan id is still working.

The transparent port mode cannot be used when a port is both used in a VLAN
as "tag" and in another one as "untag" port.

Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 47114
2015-10-05 10:26:09 +00:00
John Crispin
2238b75285 ralink: add support for mt7621 switch counters
Signed-off-by: Cristian Morales Vega <cristian@samknows.com>

SVN-Revision: 46050
2015-06-18 18:21:52 +00:00
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
2014-11-12 14:54:50 +00:00
John Crispin
d524fe46fd ralink: move ethernet driver to files/
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43194
2014-11-06 09:31:03 +00:00