openwrtv3/target/linux
Christian Lamparter f3ffac90bc ath79: gmac: add parsers for rxd(v)- and tx(d|en)-delay for AR9344
Some AR9344 boards do very poorly with the default settings and
need custom rxdv-delay, rxd-delay, txd-delay, txen-delay flags
to perform reasonably.

In this case the WD My Net Wi-Fi Range Extender can not even
manage 10Mbps on a 1Gbit link:

root@AR9344:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from client [...]
[  5] local [...] connected to client
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.09 MBytes  9.16 Mbits/sec
[  5]   1.00-2.00   sec   895 KBytes  7.33 Mbits/sec
[  5]   2.00-3.00   sec   762 KBytes  6.25 Mbits/sec
[...]
[  5]  10.00-10.03  sec  17.0 KBytes  4.74 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.03  sec  9.00 MBytes  7.52 Mbits/sec

with but with the correct settings in place, it does much better:

root@AR9344:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from client [...]
[  5] local [...] connected to client
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  23.1 MBytes   193 Mbits/sec
[  5]   1.00-2.00   sec  23.1 MBytes   194 Mbits/sec
[  5]   2.00-3.00   sec  23.2 MBytes   195 Mbits/sec
[...]
[  5]  10.00-10.04  sec   710 KBytes   180 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.04  sec   237 MBytes   198 Mbits/sec

The tx data and enable delay bits definitions are taken from Atheros'
AR9344 Data Sheet Section "8.6.1 Ethernet Configuration (ETH_CFG)" on
page 153.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2018-08-13 08:48:37 +02:00
..
adm5120 kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
adm8668 kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
apm821xx kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
ar7 kernel: bump 4.9 to 4.9.100 2018-05-18 09:10:21 +02:00
ar71xx kernel: bump 4.9 to 4.9.119 2018-08-10 18:43:23 +02:00
arc770 arc: Update variables substitutions in u-boot env files 2018-07-12 10:24:31 +02:00
archs38 arc: Update variables substitutions in u-boot env files 2018-07-12 10:24:31 +02:00
armvirt kernel: add missing ARM64_SSBD symbol 2018-07-31 12:22:11 +03:00
at91 at91: do not build image for at91-q5xr5 2018-08-12 11:34:50 +02:00
ath25 ath25: drop 4.9 kernel support 2018-05-22 07:20:13 +02:00
ath79 ath79: gmac: add parsers for rxd(v)- and tx(d|en)-delay for AR9344 2018-08-13 08:48:37 +02:00
au1000 kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
bcm53xx kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
brcm47xx brcm47xx: cosmetic fix in model detection 2018-08-13 08:37:19 +02:00
brcm63xx brcm63xx: switch to 4.14 2018-08-02 08:49:18 +02:00
brcm2708 kernel: bump 4.9 to 4.9.117 2018-08-03 16:10:38 +02:00
cns3xxx cns3xxx: correct size specifier in watchdog init print 2018-08-08 16:05:16 +02:00
gemini kernel: remove DEVMEM and DEVKMEM from target's config 2018-07-07 18:19:39 +02:00
generic kernel: bump 4.14 to 4.14.62 2018-08-10 18:43:23 +02:00
imx6 kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
ipq40xx kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
ipq806x ipq806x: dts: Remove device_type = "ethernet-phy" 2018-07-19 18:58:24 +02:00
ixp4xx kernel: bump 4.9 to 4.9.116 2018-08-01 09:46:59 +02:00
kirkwood kernel: bump 4.9 to 4.9.116 2018-08-01 09:46:59 +02:00
lantiq treewide: convert gpio-export to platform driver 2018-08-04 08:39:35 +02:00
layerscape kernel: bump 4.9 to 4.9.119 2018-08-10 18:43:23 +02:00
malta malta: bump tp v4.14 2018-01-09 10:26:16 +01:00
mcs814x kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
mediatek kernel: bump 4.14 to 4.14.62 2018-08-10 18:43:23 +02:00
mpc85xx WDR4900v1 remove dt node for absent hw crypto. 2018-07-07 18:19:39 +02:00
mvebu kernel: bump 4.14 to 4.14.60 2018-08-03 16:10:38 +02:00
mxs kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
octeon octeon: Add and set CPU type Octeon+ as default 2018-06-20 15:36:02 +02:00
octeontx kernel: add missing ARM64_SSBD symbol 2018-07-31 12:22:11 +03:00
omap omap: disable ubifs 2018-07-30 11:03:02 +02:00
omap24xx omap24xx: remove referece to not existing kmod-usb-musb-tusb6010 2018-01-15 13:13:34 +01:00
orion orion: remove linux 4.4 support 2018-04-19 14:38:57 +02:00
oxnas kernel: bump 4.14 to 4.14.59 2018-07-31 05:11:07 +03:00
pistachio kernel: bump 4.14 to 4.14.42 2018-05-22 20:49:08 +02:00
ppc40x kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
ppc44x kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
ramips ramips: fix BR-6478ACv2 support 2018-08-13 08:37:19 +02:00
rb532 kernel: only optimized for size if small_flash 2018-07-12 18:15:32 +02:00
samsung samsung/s5pv210: New target 2018-07-30 14:10:00 +02:00
sunxi kernel: bump 4.14 to 4.14.62 2018-08-10 18:43:23 +02:00
uml kernel: bump 4.9 to 4.9.100 2018-05-18 09:10:21 +02:00
x86 x86: add support to set GRUB menu entry title 2018-07-30 15:55:21 +02:00
xburst kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
zynq zynq: remove config options handled by generic 2018-07-02 07:12:48 +02:00
Makefile