diff options
-rw-r--r-- | drivers/net/tg3.c | 25 | ||||
-rw-r--r-- | drivers/net/tg3.h | 20 |
2 files changed, 33 insertions, 12 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 81dafc26cdff..bb95c6ecda49 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -7819,11 +7819,26 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy) | |||
7819 | tw32_f(TG3_CPMU_EEE_CTRL, | 7819 | tw32_f(TG3_CPMU_EEE_CTRL, |
7820 | TG3_CPMU_EEE_CTRL_EXIT_20_1_US); | 7820 | TG3_CPMU_EEE_CTRL_EXIT_20_1_US); |
7821 | 7821 | ||
7822 | tw32_f(TG3_CPMU_EEE_MODE, | 7822 | val = TG3_CPMU_EEEMD_ERLY_L1_XIT_DET | |
7823 | TG3_CPMU_EEEMD_ERLY_L1_XIT_DET | | 7823 | TG3_CPMU_EEEMD_LPI_IN_TX | |
7824 | TG3_CPMU_EEEMD_LPI_IN_TX | | 7824 | TG3_CPMU_EEEMD_LPI_IN_RX | |
7825 | TG3_CPMU_EEEMD_LPI_IN_RX | | 7825 | TG3_CPMU_EEEMD_EEE_ENABLE; |
7826 | TG3_CPMU_EEEMD_EEE_ENABLE); | 7826 | |
7827 | if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5717) | ||
7828 | val |= TG3_CPMU_EEEMD_SND_IDX_DET_EN; | ||
7829 | |||
7830 | if (tp->tg3_flags3 & TG3_FLG3_ENABLE_APE) | ||
7831 | val |= TG3_CPMU_EEEMD_APE_TX_DET_EN; | ||
7832 | |||
7833 | tw32_f(TG3_CPMU_EEE_MODE, val); | ||
7834 | |||
7835 | tw32_f(TG3_CPMU_EEE_DBTMR1, | ||
7836 | TG3_CPMU_DBTMR1_PCIEXIT_2047US | | ||
7837 | TG3_CPMU_DBTMR1_LNKIDLE_2047US); | ||
7838 | |||
7839 | tw32_f(TG3_CPMU_EEE_DBTMR2, | ||
7840 | TG3_CPMU_DBTMR1_APE_TX_2047US | | ||
7841 | TG3_CPMU_DBTMR2_TXIDXEQ_2047US); | ||
7827 | } | 7842 | } |
7828 | 7843 | ||
7829 | if (reset_phy) | 7844 | if (reset_phy) |
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 6e72c6bd2675..d62c8d937c82 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h | |||
@@ -1094,13 +1094,19 @@ | |||
1094 | /* 0x3664 --> 0x36b0 unused */ | 1094 | /* 0x3664 --> 0x36b0 unused */ |
1095 | 1095 | ||
1096 | #define TG3_CPMU_EEE_MODE 0x000036b0 | 1096 | #define TG3_CPMU_EEE_MODE 0x000036b0 |
1097 | #define TG3_CPMU_EEEMD_ERLY_L1_XIT_DET 0x00000008 | 1097 | #define TG3_CPMU_EEEMD_APE_TX_DET_EN 0x00000004 |
1098 | #define TG3_CPMU_EEEMD_LPI_ENABLE 0x00000080 | 1098 | #define TG3_CPMU_EEEMD_ERLY_L1_XIT_DET 0x00000008 |
1099 | #define TG3_CPMU_EEEMD_LPI_IN_TX 0x00000100 | 1099 | #define TG3_CPMU_EEEMD_SND_IDX_DET_EN 0x00000040 |
1100 | #define TG3_CPMU_EEEMD_LPI_IN_RX 0x00000200 | 1100 | #define TG3_CPMU_EEEMD_LPI_ENABLE 0x00000080 |
1101 | #define TG3_CPMU_EEEMD_EEE_ENABLE 0x00100000 | 1101 | #define TG3_CPMU_EEEMD_LPI_IN_TX 0x00000100 |
1102 | /* 0x36b4 --> 0x36b8 unused */ | 1102 | #define TG3_CPMU_EEEMD_LPI_IN_RX 0x00000200 |
1103 | 1103 | #define TG3_CPMU_EEEMD_EEE_ENABLE 0x00100000 | |
1104 | #define TG3_CPMU_EEE_DBTMR1 0x000036b4 | ||
1105 | #define TG3_CPMU_DBTMR1_PCIEXIT_2047US 0x07ff0000 | ||
1106 | #define TG3_CPMU_DBTMR1_LNKIDLE_2047US 0x000070ff | ||
1107 | #define TG3_CPMU_EEE_DBTMR2 0x000036b8 | ||
1108 | #define TG3_CPMU_DBTMR1_APE_TX_2047US 0x07ff0000 | ||
1109 | #define TG3_CPMU_DBTMR2_TXIDXEQ_2047US 0x000070ff | ||
1104 | #define TG3_CPMU_EEE_LNKIDL_CTRL 0x000036bc | 1110 | #define TG3_CPMU_EEE_LNKIDL_CTRL 0x000036bc |
1105 | #define TG3_CPMU_EEE_LNKIDL_PCIE_NL0 0x01000000 | 1111 | #define TG3_CPMU_EEE_LNKIDL_PCIE_NL0 0x01000000 |
1106 | #define TG3_CPMU_EEE_LNKIDL_UART_IDL 0x00000004 | 1112 | #define TG3_CPMU_EEE_LNKIDL_UART_IDL 0x00000004 |