| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
The default switch frame size (with FCS + header) is 1536 bytes. But the
GMAC only accepted frames up to 1522 bytes. Setting it to 1536 allows to
receive ethernet frames using the full of MTU 1500 + an extra VLAN header +
VLAN header added by the switch.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 47117
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The driver assumes that the maximum received buffer for non-jumbo frames is
1536 bytes. But the allocation of the rx fragment doesn't reflect that. It
currently allocates fragments which will only be large enough to be used as
rx buffer with the size of 1534 bytes. This is problematic because the GMAC
will now try to write to 2 bytes which don't belong to its receive buffer
when a large enough ethernet frame is received.
This may already be a problem on existing chips but will at least become a
problem when the 1536 byte rx modus is enabled on MT7621a. It is required
on this SoC to receive ethernet frames which use their full 1500 bytes MTU
and a VLAN header next to the switch VLAN tag.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 47116
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The length of the DMA rx buffer was always set to 0 because the function
for extracting the length was used to calculate the value for setting it.
Instead the macro has to be split in a get and set function similar to the
TX_DMA_(GET_|)PLEN(0|1) macro.
No problem was noticed on MT7621a before this was changed and thus maybe it
was hidden by different problem which is not yet fixed.
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
SVN-Revision: 47115
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 46295
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use pktgen to verify on rt3662. can improve transmit rate.
pkt_size 1500
burst 1 : 807Mb/sec
burst 8 : 984Mb/sec
pkt_size 60
burst 1 : 57Mb/sec
burst 8 : 236Mb/sec
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 46294
|
|
|
|
|
|
| |
Signed-off-by: Cristian Morales Vega <cristian@samknows.com>
SVN-Revision: 46050
|
|
|
|
|
|
|
|
|
|
| |
if there is any new tx need to clean up. do it in next napi poll.
collect tx related members to fe_tx_ring struct. for better
cache usage and more readable.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 45895
|
|
|
|
|
|
|
|
|
|
| |
when open device. first ready napi software rx.
then enable hardware interrupt.
final start software tx queue to send data.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 45894
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 45893
|
|
|
|
|
|
| |
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44940
|
|
|
|
|
|
|
|
| |
more
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44918
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44741
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44740
|
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 44401
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the old FE_INT_STATUS register becomes two registers.
FE_INT_STATUS and INT_STATUS. so the hw status almost full
must change to read from FE_INT_STATUS register.
tx/rx done read from INT_STATUS register.
mt7620 datasheet define CNT_GDM1_AF at BIT(29).
but after test it should be BIT(13). why?
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44371
|
|
|
|
|
|
|
|
| |
keep default as 3.14, mt7621 gic need to be ported to 3.18
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 44349
|
|
|
|
|
|
|
|
|
|
|
| |
- budget is decremented with completed frames, so don't check if done is
smaller
- ACK the interrupt before processing further frames to fix a small race
condition.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44234
|
|
|
|
|
|
|
|
|
| |
The mac address usually write in factory block. but sometime user erase this block , the mac address will change to ff:ff:ff:ff:ff:ff.
This patch is purpose to fix this issue.
Signed-off-by: wengbj <linux.c@foxmail.com>
SVN-Revision: 44166
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix TSO features verify on mt7621 firewrt board
* improve tx clean up. no need to access uncached
memory. also use TX_DTX register instead of
read tx ring DONE bit
* mt7621 need napi weight 64 to get more performance
* remove netif_receive_skb, after kernel version
3.7 tcp4_gro_receive can handle tcp checksum.
on rt2880 use iperf tcp LAN to WAN throughput test.
with gro 135 Mbits/sec. without gro 80.4Mbits/sec.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44118
|
|
|
|
|
|
|
|
|
|
| |
on mt7621 don't have tx vlan vid registers.
so set FE_REG_FE_DMA_VID_BASE to 0.
set rx vlan offload register to disable.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44117
|
|
|
|
|
|
|
|
|
|
| |
the rx_buf_size now is 1534 when mtu is 1500.
the ethernet frame with vlan tag and FCS is 1522.
so the buffer is enough.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44116
|
|
|
|
|
|
| |
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44115
|
|
|
|
|
|
| |
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44047
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44046
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44045
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44044
|
|
|
|
|
|
|
|
|
|
| |
* use default timeout value
* print more debug ring info
* move timeout reset function to workqueue
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44043
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44041
|
|
|
|
|
|
| |
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43995
|
|
|
|
|
|
|
|
| |
overrun related packet loss
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43953
|
|
|
|
|
|
|
|
| |
could reduce throughput
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43952
|
|
|
|
|
|
| |
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43811
|
|
|
|
|
|
|
|
| |
offload is unavailable
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43810
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
hardware status and tx vlan offload support on all targets
except rt5350. so i modify the IS_ENABLE condition only for
mt7621.
support mt7621 hardware status reference by SDK. but i don't
have mt7621. if not work just set mt7621 FE_REG_FE_COUNTER_BASE
to 0 to let software count.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 43303
|
|
|
|
|
|
| |
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 43302
|
|
|
|
|
|
|
|
|
|
|
| |
hardware tx vlan offload only support max 16 vids
now use add/delete vlan interface to update vlan id table
when duplicate vlan id index detect.
disable hardware tx vlan offload support.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 43301
|
|
|
|
|
|
| |
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43247
|
|
|
|
|
|
|
|
| |
a missing "val =" caused the AN bit in the phy0 reg to be flushed.
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43246
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43243
|
|
|
|
|
|
|
|
| |
somehow all switch ports still come up as 10mbit.
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43237
|
|
|
|
|
|
| |
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43235
|
|
|
|
|
|
| |
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43206
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43196
|
|
|
|
|
|
| |
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43195
|
|
|
|
|
|
| |
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 43194
|
|
|
|
|
|
| |
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 39949
|