mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-08 07:15:55 +00:00
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> |
||
|---|---|---|
| .. | ||
| fs_enet | ||
| fec_main.c | ||
| fec_mpc52xx_phy.c | ||
| fec_mpc52xx.c | ||
| fec_mpc52xx.h | ||
| fec_ptp.c | ||
| fec.h | ||
| fsl_pq_mdio.c | ||
| gianfar_ethtool.c | ||
| gianfar_ptp.c | ||
| gianfar_sysfs.c | ||
| gianfar.c | ||
| gianfar.h | ||
| Kconfig | ||
| Makefile | ||
| ucc_geth_ethtool.c | ||
| ucc_geth.c | ||
| ucc_geth.h | ||
| xgmac_mdio.c | ||