OpenCloudOS-Kernel/drivers/net/ethernet/freescale
Claudiu Manoil 23402bddf9 gianfar: Add flow control support
eTSEC has Rx and Tx flow control capabilities that may be enabled
through MACCFG1[Rx_Flow, Tx_Flow] bits.  These bits must not be set
however when eTSEC is operated in Half-Duplex mode.  Unfortunately,
the driver currently sets these bits unconditionally.
This patch adds the proper handling of the PAUSE frame capability
register bits by implementing the ethtool -A interface.  When pause
autoneg is enabled, the controller uses the phy's capability to
negotiate PAUSE frame settings with the link partner and reconfigures
its Rx_Flow and Tx_Flow settings to match the capabilities of the
link partner.  If pause autoneg is off, the PAUSE frame generation
may be forced manually (ethtool -A).  Flow control is disabled by
default now.
This implementation is inspired by the tg3 driver.

Signed-off-by: Lutz Jaenicke <ljaenicke@innominate.com>
Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-08-13 15:28:53 -07:00
..
fs_enet net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
Kconfig NET: FEC: dynamtic check DMA desc buff type 2013-01-04 15:15:39 -08:00
Makefile net: fec: build fec.c and fec_ptp.c to one module 2013-03-25 12:14:57 -04:00
fec.h net: fec: workaround stop tx during errata ERR006358 2013-07-27 20:14:48 -07:00
fec_main.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-08-03 21:36:46 -07:00
fec_mpc52xx.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07: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 fec: Only pass pdev in fec_ptp_init() 2013-06-07 14:41:07 -07: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 gianfar: Add flow control support 2013-08-13 15:28:53 -07:00
gianfar.h gianfar: Add flow control support 2013-08-13 15:28:53 -07:00
gianfar_ethtool.c gianfar: Add flow control support 2013-08-13 15:28:53 -07:00
gianfar_ptp.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00
gianfar_sysfs.c gianfar: Use netdev_<level> when possible 2013-04-14 15:41:49 -04:00
ucc_geth.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00
ucc_geth.h net: remove skb recycling 2012-10-07 00:40:54 -04:00
ucc_geth_ethtool.c ucc_geth: Convert ugeth_<level> to pr_<level> 2013-04-14 15:41:49 -04:00
xgmac_mdio.c net: ethernet: use platform_{get,set}_drvdata() 2013-05-25 21:27:58 -07:00