ar71xx: allow to use large ethernet frames on AR934x SoCs
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 20 Dec 2013 11:41:23 +0000 (11:41 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 20 Dec 2013 11:41:23 +0000 (11:41 +0000)
The hardware supports large ethernet frames. Override
the maximum frame length and packet lenght mask in the
platform data to allow to use large MTU on the ethernet
interfaces.

Limit the feature to AR934x SoCs for now. It should work
on some other SoCs as well, but those has not been tested
yet.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39149 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ar71xx/files/arch/mips/ath79/dev-eth.c

index 8b54d0c817fb887aa22e4e27900aabd6cf70ece7..da67478fe68dcf7ee83c51d21f70769a8746fa3b 100644 (file)
@@ -20,6 +20,7 @@
 #include <linux/platform_device.h>
 #include <linux/serial_8250.h>
 #include <linux/clk.h>
+#include <linux/sizes.h>
 
 #include <asm/mach-ath79/ath79.h>
 #include <asm/mach-ath79/ar71xx_regs.h>
@@ -958,6 +959,9 @@ void __init ath79_register_eth(unsigned int id)
                pdata->has_gbit = 1;
                pdata->is_ar724x = 1;
 
+               pdata->max_frame_len = SZ_16K - 1;
+               pdata->desc_pktlen_mask = SZ_16K - 1;
+
                if (!pdata->fifo_cfg1)
                        pdata->fifo_cfg1 = 0x0010ffff;
                if (!pdata->fifo_cfg2)