aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/patches-4.4/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch
diff options
context:
space:
mode:
authorMichael Lee <igvtee@gmail.com>2017-04-27 09:04:31 +0800
committerJo-Philipp Wich <jo@mein.io>2017-12-13 15:33:04 +0100
commit108a42bcbae14f224116511b619755abd8f57c77 (patch)
tree5a10bbc79a088b3abdd7ed3d07b1dc573d8456cd /target/linux/ramips/patches-4.4/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch
parent8d4c047dd1983720081329d591b76ff5dc95af2d (diff)
downloadupstream-108a42bcbae14f224116511b619755abd8f57c77.tar.gz
upstream-108a42bcbae14f224116511b619755abd8f57c77.tar.bz2
upstream-108a42bcbae14f224116511b619755abd8f57c77.zip
ramips: support jumbo frame on mt7621 up to 2k
Signed-off-by: Michael Lee <igvtee@gmail.com> (cherry picked from commit eee09bfe01e8cc2db1501f82dde7b9b6bb424faf)
Diffstat (limited to 'target/linux/ramips/patches-4.4/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch')
-rw-r--r--target/linux/ramips/patches-4.4/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch15
1 files changed, 9 insertions, 6 deletions
diff --git a/target/linux/ramips/patches-4.4/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch b/target/linux/ramips/patches-4.4/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch
index 71192c9a25..28c5139451 100644
--- a/target/linux/ramips/patches-4.4/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch
+++ b/target/linux/ramips/patches-4.4/0504-net-next-mediatek-add-switch-driver-for-mt7621.patch
@@ -14,7 +14,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- /dev/null
+++ b/drivers/net/ethernet/mediatek/gsw_mt7621.c
-@@ -0,0 +1,284 @@
+@@ -0,0 +1,287 @@
+/* This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License
@@ -115,17 +115,20 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ usleep_range(10, 20);
+
+ if ((rt_sysc_r32(SYSC_REG_CHIP_REV_ID) & 0xFFFF) == 0x0101) {
-+ /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 1536) */
-+ mtk_switch_w32(gsw, 0x2105e30b, 0x100);
++ /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 2k) */
++ mtk_switch_w32(gsw, 0x2305e30b, GSW_REG_MAC_P0_MCR);
+ mt7530_mdio_w32(gsw, 0x3600, 0x5e30b);
+ } else {
-+ /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 1536) */
-+ mtk_switch_w32(gsw, 0x2105e33b, 0x100);
++ /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 2k) */
++ mtk_switch_w32(gsw, 0x2305e33b, GSW_REG_MAC_P0_MCR);
+ mt7530_mdio_w32(gsw, 0x3600, 0x5e33b);
+ }
+
+ /* (GE2, Link down) */
-+ mtk_switch_w32(gsw, 0x8000, 0x200);
++ mtk_switch_w32(gsw, 0x8000, GSW_REG_MAC_P1_MCR);
++
++ /* Set switch max RX frame length to 2k */
++ mt7530_mdio_w32(gsw, GSW_REG_GMACCR, 0x3F0B);
+
+ /* Enable Port 6, P5 as GMAC5, P5 disable */
+ val = mt7530_mdio_r32(gsw, 0x7804);