linux-sg2042/drivers/net/ethernet/freescale
Frank Li baa70a5c48 net: fec: enable pause frame to improve rx prefomance for 1G network
The limition of imx6 internal bus cause fec can't achieve 1G perfomance.
There will be many packages lost because FIFO over run.

This patch enable pause frame flow control.

Before this patch
iperf -s -i 1
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.192.242.153 port 5001 connected with 10.192.242.94 port 49773
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  6.35 MBytes  53.3 Mbits/sec
[  4]  1.0- 2.0 sec  3.39 MBytes  28.5 Mbits/sec
[  4]  2.0- 3.0 sec  2.63 MBytes  22.1 Mbits/sec
[  4]  3.0- 4.0 sec  1.10 MBytes  9.23 Mbits/sec

ifconfig
   RX packets:46195 errors:1859 dropped:1 overruns:1859 frame:1859

After this patch
iperf -s -i 1

[  4] local 10.192.242.153 port 5001 connected with 10.192.242.94 port 49757
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  49.8 MBytes   418 Mbits/sec
[  4]  1.0- 2.0 sec  50.1 MBytes   420 Mbits/sec
[  4]  2.0- 3.0 sec  47.5 MBytes   399 Mbits/sec
[  4]  3.0- 4.0 sec  45.9 MBytes   385 Mbits/sec
[  4]  4.0- 5.0 sec  44.8 MBytes   376 Mbits/sec

ifconfig
   RX packets:2348454 errors:0 dropped:16 overruns:0 frame:0

Signed-off-by: Frank Li <Frank.Li@freescale.com>
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-18 14:16:11 -05:00
..
fs_enet ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
Kconfig NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
Makefile NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
fec.c net: fec: enable pause frame to improve rx prefomance for 1G network 2013-01-18 14:16:11 -05:00
fec.h net: fec: enable pause frame to improve rx prefomance for 1G network 2013-01-18 14:16:11 -05:00
fec_mpc52xx.c net/freescale: remove __dev* attributes 2012-12-03 11:16:54 -08:00
fec_mpc52xx.h drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
fec_mpc52xx_phy.c
fec_ptp.c net: fec: reduce spin lock time in fec_ptp_adjfreq 2012-11-07 18:52:12 -05:00
fsl_pq_mdio.c net/fsl_pq_mdio: add support for the Fman 1G MDIO controller 2012-08-30 13:29:32 -04:00
gianfar.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-11-10 18:32:51 -05:00
gianfar.h gianfar: use more portable i/o accessors 2013-01-11 15:58:08 -08:00
gianfar_ethtool.c ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
gianfar_ptp.c gianfar_ptp: use iomem, not ioports resource tree in probe 2012-10-24 23:18:59 -04:00
gianfar_sysfs.c drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
ucc_geth.c net: fix typo in freescale/ucc_geth.c 2012-10-09 00:21:38 -04:00
ucc_geth.h net: remove skb recycling 2012-10-07 00:40:54 -04:00
ucc_geth_ethtool.c ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
xgmac_mdio.c net/freescale: remove __dev* attributes 2012-12-03 11:16:54 -08:00