[TG3]: Fix low power state
Fix the following bugs in tg3_set_power_state(): 1. Both WOL and ASF flags require switching to aux power. 2. Add a missing handshake with firmware to enable WOL. 3. Turn off the PHY if both WOL and ASF are disabled. 4. Add nvram arbitration before halting the firmware. 5. Fix tg3_setup_copper_phy() to switch to 100Mbps when changing to low power state. Update revision and date. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
16fe9d74f1
commit
6921d201f7
@@ -1529,6 +1529,12 @@
|
||||
#define NIC_SRAM_MAC_ADDR_HIGH_MBOX 0x00000c14
|
||||
#define NIC_SRAM_MAC_ADDR_LOW_MBOX 0x00000c18
|
||||
|
||||
#define NIC_SRAM_WOL_MBOX 0x00000d30
|
||||
#define WOL_SIGNATURE 0x474c0000
|
||||
#define WOL_DRV_STATE_SHUTDOWN 0x00000001
|
||||
#define WOL_DRV_WOL 0x00000002
|
||||
#define WOL_SET_MAGIC_PKT 0x00000004
|
||||
|
||||
#define NIC_SRAM_DATA_CFG_2 0x00000d38
|
||||
|
||||
#define SHASTA_EXT_LED_MODE_MASK 0x00018000
|
||||
@@ -1565,6 +1571,7 @@
|
||||
#define MII_TG3_EXT_CTRL 0x10 /* Extended control register */
|
||||
#define MII_TG3_EXT_CTRL_FIFO_ELASTIC 0x0001
|
||||
#define MII_TG3_EXT_CTRL_LNK3_LED_MODE 0x0002
|
||||
#define MII_TG3_EXT_CTRL_FORCE_LED_OFF 0x0008
|
||||
#define MII_TG3_EXT_CTRL_TBI 0x8000
|
||||
|
||||
#define MII_TG3_EXT_STAT 0x11 /* Extended status register */
|
||||
|
Reference in New Issue
Block a user