diff options
author | Jie Yang <Jie.Yang@atheros.com> | 2010-06-01 03:28:12 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-01 03:28:12 -0400 |
commit | 8f574b35f22fbb9b5e5f1d11ad6b55b6f35f4533 (patch) | |
tree | 3baea347e8214e9e573436b32a92f37f1c7d1195 /drivers/net/atl1c/atl1c.h | |
parent | aac4dddc358acfd9d98b20024a42c34dfab31c39 (diff) |
atl1c: Add AR8151 v2 support and change L0s/L1 routine
Add AR8151 v2.0 Gigabit 1000 support
Change jumbo frame size to 6K
Update L0s/L1 rountine
when link speed is 100M or 1G, set L1 link timer to 4 for l1d_2 and l2c_b2
set L1 link timer to 7 for l2c_b, set L1 link timer to 0xF for others.
Update atl1c_suspend routine
just refactory the function, add atl1c_phy_power_saving routine,
when Wake On Lan enable, this func will be called to save power,
it will reautoneg PHY to 10/100M speed depend on the link
partners link capability.
Update atl1c_configure_des_ring
do not use l2c_b default SRAM configuration.
Signed-off-by: Jie Yang <Jie.Yang@atheros.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/atl1c/atl1c.h')
-rw-r--r-- | drivers/net/atl1c/atl1c.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/atl1c/atl1c.h b/drivers/net/atl1c/atl1c.h index 84ae905bf732..52abbbdf8a08 100644 --- a/drivers/net/atl1c/atl1c.h +++ b/drivers/net/atl1c/atl1c.h | |||
@@ -73,7 +73,8 @@ | |||
73 | #define FULL_DUPLEX 2 | 73 | #define FULL_DUPLEX 2 |
74 | 74 | ||
75 | #define AT_RX_BUF_SIZE (ETH_FRAME_LEN + VLAN_HLEN + ETH_FCS_LEN) | 75 | #define AT_RX_BUF_SIZE (ETH_FRAME_LEN + VLAN_HLEN + ETH_FCS_LEN) |
76 | #define MAX_JUMBO_FRAME_SIZE (9*1024) | 76 | #define MAX_JUMBO_FRAME_SIZE (6*1024) |
77 | #define MAX_TSO_FRAME_SIZE (7*1024) | ||
77 | #define MAX_TX_OFFLOAD_THRESH (9*1024) | 78 | #define MAX_TX_OFFLOAD_THRESH (9*1024) |
78 | 79 | ||
79 | #define AT_MAX_RECEIVE_QUEUE 4 | 80 | #define AT_MAX_RECEIVE_QUEUE 4 |
@@ -87,10 +88,11 @@ | |||
87 | #define AT_MAX_INT_WORK 5 | 88 | #define AT_MAX_INT_WORK 5 |
88 | #define AT_TWSI_EEPROM_TIMEOUT 100 | 89 | #define AT_TWSI_EEPROM_TIMEOUT 100 |
89 | #define AT_HW_MAX_IDLE_DELAY 10 | 90 | #define AT_HW_MAX_IDLE_DELAY 10 |
90 | #define AT_SUSPEND_LINK_TIMEOUT 28 | 91 | #define AT_SUSPEND_LINK_TIMEOUT 100 |
91 | 92 | ||
92 | #define AT_ASPM_L0S_TIMER 6 | 93 | #define AT_ASPM_L0S_TIMER 6 |
93 | #define AT_ASPM_L1_TIMER 12 | 94 | #define AT_ASPM_L1_TIMER 12 |
95 | #define AT_LCKDET_TIMER 12 | ||
94 | 96 | ||
95 | #define ATL1C_PCIE_L0S_L1_DISABLE 0x01 | 97 | #define ATL1C_PCIE_L0S_L1_DISABLE 0x01 |
96 | #define ATL1C_PCIE_PHY_RESET 0x02 | 98 | #define ATL1C_PCIE_PHY_RESET 0x02 |
@@ -316,6 +318,7 @@ enum atl1c_nic_type { | |||
316 | athr_l2c_b, | 318 | athr_l2c_b, |
317 | athr_l2c_b2, | 319 | athr_l2c_b2, |
318 | athr_l1d, | 320 | athr_l1d, |
321 | athr_l1d_2, | ||
319 | }; | 322 | }; |
320 | 323 | ||
321 | enum atl1c_trans_queue { | 324 | enum atl1c_trans_queue { |
@@ -392,6 +395,8 @@ struct atl1c_hw { | |||
392 | u16 subsystem_id; | 395 | u16 subsystem_id; |
393 | u16 subsystem_vendor_id; | 396 | u16 subsystem_vendor_id; |
394 | u8 revision_id; | 397 | u8 revision_id; |
398 | u16 phy_id1; | ||
399 | u16 phy_id2; | ||
395 | 400 | ||
396 | u32 intr_mask; | 401 | u32 intr_mask; |
397 | u8 dmaw_dly_cnt; | 402 | u8 dmaw_dly_cnt; |