aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath5k/phy.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/phy.c')
-rw-r--r--drivers/net/wireless/ath/ath5k/phy.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
index 31239ab6a00..95b602b4f44 100644
--- a/drivers/net/wireless/ath/ath5k/phy.c
+++ b/drivers/net/wireless/ath/ath5k/phy.c
@@ -228,8 +228,20 @@ static inline int ath5k_hw_write_ofdm_timings(struct ath5k_hw *ah,
228 * ALGO: coef = (5 * clock / carrier_freq) / 2 228 * ALGO: coef = (5 * clock / carrier_freq) / 2
229 * we scale coef by shifting clock value by 24 for 229 * we scale coef by shifting clock value by 24 for
230 * better precision since we use integers */ 230 * better precision since we use integers */
231 /* TODO: Half/quarter rate */ 231 switch (ah->ah_bwmode) {
232 clock = (channel->hw_value & CHANNEL_TURBO) ? 80 : 40; 232 case AR5K_BWMODE_40MHZ:
233 clock = 40 * 2;
234 break;
235 case AR5K_BWMODE_10MHZ:
236 clock = 40 / 2;
237 break;
238 case AR5K_BWMODE_5MHZ:
239 clock = 40 / 4;
240 break;
241 default:
242 clock = 40;
243 break;
244 }
233 coef_scaled = ((5 * (clock << 24)) / 2) / channel->center_freq; 245 coef_scaled = ((5 * (clock << 24)) / 2) / channel->center_freq;
234 246
235 /* Get exponent 247 /* Get exponent