From: Claudiu Manoil Date: Mon, 12 Aug 2013 10:53:26 +0000 (+0300) Subject: gianfar: Add flow control support X-Git-Tag: v3.12-rc1~132^2~299 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23402bddf9e56eecb27bbd1e5467b3b79b3dbe58;p=pandora-kernel.git 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 Signed-off-by: Claudiu Manoil Signed-off-by: David S. Miller --- Reading git-diff-tree failed