ath9k_hw: Configure RF channel freqency for AR9340
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d1395d85fa
commit
17869f4fe9
@ -86,14 +86,31 @@ static int ar9003_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
|
||||
channelSel = (freq * 4) / 120;
|
||||
chan_frac = (((freq * 4) % 120) * 0x20000) / 120;
|
||||
channelSel = (channelSel << 17) | chan_frac;
|
||||
} else if (AR_SREV_9340(ah)) {
|
||||
if (ah->is_clk_25mhz) {
|
||||
u32 chan_frac;
|
||||
|
||||
channelSel = (freq * 2) / 75;
|
||||
chan_frac = (((freq * 2) % 75) * 0x20000) / 75;
|
||||
channelSel = (channelSel << 17) | chan_frac;
|
||||
} else
|
||||
channelSel = CHANSEL_2G(freq) >> 1;
|
||||
} else
|
||||
channelSel = CHANSEL_2G(freq);
|
||||
/* Set to 2G mode */
|
||||
bMode = 1;
|
||||
} else {
|
||||
channelSel = CHANSEL_5G(freq);
|
||||
/* Doubler is ON, so, divide channelSel by 2. */
|
||||
channelSel >>= 1;
|
||||
if (AR_SREV_9340(ah) && ah->is_clk_25mhz) {
|
||||
u32 chan_frac;
|
||||
|
||||
channelSel = (freq * 2) / 75;
|
||||
chan_frac = ((freq % 75) * 0x20000) / 75;
|
||||
channelSel = (channelSel << 17) | chan_frac;
|
||||
} else {
|
||||
channelSel = CHANSEL_5G(freq);
|
||||
/* Doubler is ON, so, divide channelSel by 2. */
|
||||
channelSel >>= 1;
|
||||
}
|
||||
/* Set to 5G mode */
|
||||
bMode = 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user