net: bcmgenet: add EEE support

Allow enabling and disabling EEE using the designated ethtool getters
and setters. GENET allows controlling EEE at the UniMAC, RBUF and TBUF
levels. We also take care of restoring EEE after a suspend/resume cycle
if it was enabled prior to suspending.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Florian Fainelli
2014-11-25 21:16:35 -08:00
committed by David S. Miller
parent d0a6db8dd0
commit 6ef398ea60
2 changed files with 100 additions and 0 deletions

View File

@@ -573,6 +573,8 @@ struct bcmgenet_priv {
struct device_node *phy_dn;
struct mii_bus *mii_bus;
u16 gphy_rev;
struct clk *clk_eee;
bool clk_eee_enabled;
/* PHY device variables */
int old_link;
@@ -609,6 +611,8 @@ struct bcmgenet_priv {
u32 wolopts;
struct bcmgenet_mib_counters mib;
struct ethtool_eee eee;
};
#define GENET_IO_MACRO(name, offset) \