提交 b02f5d1a 编写于 作者: N Nick Kossifidis 提交者: John W. Linville

ath5k: Tweak phy activate to rx start delay based on bwmode

 * Tweak phy activation -> rx delay for different bwmodes
Signed-off-by: NNick Kossifidis <mickflemm@gmail.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 c2b0ebef
...@@ -3356,8 +3356,6 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel, ...@@ -3356,8 +3356,6 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel,
/* /*
* On 5211+ read activation -> rx delay * On 5211+ read activation -> rx delay
* and use it. * and use it.
*
* TODO: Half/quarter rate support
*/ */
if (ah->ah_version != AR5K_AR5210) { if (ah->ah_version != AR5K_AR5210) {
u32 delay; u32 delay;
...@@ -3365,8 +3363,13 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel, ...@@ -3365,8 +3363,13 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel,
AR5K_PHY_RX_DELAY_M; AR5K_PHY_RX_DELAY_M;
delay = (channel->hw_value & CHANNEL_CCK) ? delay = (channel->hw_value & CHANNEL_CCK) ?
((delay << 2) / 22) : (delay / 10); ((delay << 2) / 22) : (delay / 10);
if (ah->ah_bwmode == AR5K_BWMODE_10MHZ)
udelay(100 + (2 * delay)); delay = delay << 1;
if (ah->ah_bwmode == AR5K_BWMODE_5MHZ)
delay = delay << 2;
/* XXX: /2 on turbo ? Let's be safe
* for now */
udelay(100 + delay);
} else { } else {
mdelay(1); mdelay(1);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册