diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-08-17 14:09:30 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-08-22 20:30:27 +0200 |
commit | 76773f301f2210dcc20c466aebda7118062673eb (patch) | |
tree | f4147cc43c71d728016e15e9cc7ec3f2cd28c602 /drivers/net/wireless/rt2x00/rt2800lib.c | |
parent | rt2x00: rt2800lib: optimize frequency offset adjustment (diff) | |
download | linux-76773f301f2210dcc20c466aebda7118062673eb.tar.xz linux-76773f301f2210dcc20c466aebda7118062673eb.zip |
rt2x00: rt2800lib: use a MCU command for frequency adjustment on USB devices
According to the Ralink driver, there is an MCU
command which can be used to send the frequency
offset value directly to the USB device without
going through the RFCSR writing sequence.
Based on the DPO_RT5572_LinuxSTA_2.6.0.1_20120629
driver.
Reference:
RTMPAdjustFrequencyOffset function in common/rt_rf.c
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800lib.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 3407ac911fd6..bebc56f5b849 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c @@ -2509,7 +2509,11 @@ static void rt2800_adjust_freq_offset(struct rt2x00_dev *rt2x00dev) if (rfcsr == prev_rfcsr) return; - rt2800_rfcsr_write(rt2x00dev, 17, rfcsr); + if (rt2x00_is_usb(rt2x00dev)) + rt2800_mcu_request(rt2x00dev, MCU_FREQ_OFFSET, 0xff, + freq_offset, prev_rfcsr); + else + rt2800_rfcsr_write(rt2x00dev, 17, rfcsr); } static void rt2800_config_channel_rf3290(struct rt2x00_dev *rt2x00dev, |