ramips: Enable rx of 1536 bytes ethernet frames on MT7621
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 5 Oct 2015 10:26:34 +0000 (10:26 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 5 Oct 2015 10:26:34 +0000 (10:26 +0000)
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47117 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ramips/files/drivers/net/ethernet/ralink/gsw_mt7620a.c

index 8039704..325e243 100644 (file)
@@ -602,12 +602,12 @@ static void gsw_hw_init_mt7621(struct mt7620_gsw *gsw, struct device_node *np)
        udelay(10);
 
        if ((rt_sysc_r32(SYSC_REG_CHIP_REV_ID) & 0xFFFF) == 0x0101) {
-               /* (GE1, Force 1000M/FD, FC ON) */
-               gsw_w32(gsw, 0x2005e30b, 0x100);
+               /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 1536) */
+               gsw_w32(gsw, 0x2105e30b, 0x100);
                mt7530_mdio_w32(gsw, 0x3600, 0x5e30b);
        } else {
-               /* (GE1, Force 1000M/FD, FC ON) */
-               gsw_w32(gsw, 0x2005e33b, 0x100);
+               /* (GE1, Force 1000M/FD, FC ON, MAX_RX_LENGTH 1536) */
+               gsw_w32(gsw, 0x2105e33b, 0x100);
                mt7530_mdio_w32(gsw, 0x3600, 0x5e33b);
        }