From: Gabor Juhos <juhosg@openwrt.org>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org, users@rt2x00.serialmonkey.com,
Gabor Juhos <juhosg@openwrt.org>
Subject: [PATCH v2 3/6] rt2x00: rt2800lib: use a MCU command for frequency adjustment on USB devices
Date: Sat, 17 Aug 2013 14:09:30 +0200 [thread overview]
Message-ID: <1376741373-10032-4-git-send-email-juhosg@openwrt.org> (raw)
In-Reply-To: <1376741373-10032-1-git-send-email-juhosg@openwrt.org>
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>
---
Changes since v1:
- add a MCU_FREQ_OFFSET constant and use that instead
of a hardcoded number
---
drivers/net/wireless/rt2x00/rt2800.h | 1 +
drivers/net/wireless/rt2x00/rt2800lib.c | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h
index 6e69b96..e25e5bf 100644
--- a/drivers/net/wireless/rt2x00/rt2800.h
+++ b/drivers/net/wireless/rt2x00/rt2800.h
@@ -2794,6 +2794,7 @@ enum rt2800_eeprom_word {
#define MCU_RADAR 0x60
#define MCU_BOOT_SIGNAL 0x72
#define MCU_ANT_SELECT 0X73
+#define MCU_FREQ_OFFSET 0x74
#define MCU_BBP_SIGNAL 0x80
#define MCU_POWER_SAVE 0x83
#define MCU_BAND_SELECT 0x91
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
index 3407ac9..bebc56f 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,
--
1.7.10
next prev parent reply other threads:[~2013-08-17 12:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-17 12:09 [PATCH v2 0/6] rt2x00: rt2800lib: frequency offset adjustment fixes Gabor Juhos
2013-08-17 12:09 ` [PATCH v2 1/6] rt2x00: rt2800lib: fix frequency offset boundary calculation Gabor Juhos
2013-08-17 12:09 ` [PATCH v2 2/6] rt2x00: rt2800lib: optimize frequency offset adjustment Gabor Juhos
2013-08-17 12:09 ` Gabor Juhos [this message]
2013-08-17 12:09 ` [PATCH v2 4/6] rt2x00: rt2800lib: use step-by-step frequency offset adjustment on MMIO devices Gabor Juhos
2013-08-17 12:09 ` [PATCH v2 5/6] rt2x00: rt2800lib: move rt2800_adjust_freq_offset function Gabor Juhos
2013-08-17 12:09 ` [PATCH v2 6/6] rt2x00: rt2800lib: adjust frequency offset for RF3053 Gabor Juhos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1376741373-10032-4-git-send-email-juhosg@openwrt.org \
--to=juhosg@openwrt.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=users@rt2x00.serialmonkey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox