[rt2x00-users] [PATCH 3/4] rt2800: radio 3xxx: add channel switch calibration routines
Helmut Schaa
helmut.schaa at googlemail.com
Wed Feb 1 21:30:35 EST 2012
On Mon, Jan 30, 2012 at 4:17 PM, Stanislaw Gruszka <sgruszka at redhat.com> wrote:
> Synchronize code with Ralink driver:
> 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO
> Based on functions:
> RT33xx_ChipSwitchChannel
> RT30xx_ChipSwitchChannel
>
> Acked-by: Gertjan van Wingerde <gwingerde at gmail.com>
> Signed-off-by: Stanislaw Gruszka <sgruszka at redhat.com>
> ---
> drivers/net/wireless/rt2x00/rt2800lib.c | 14 ++++++++++++++
> 1 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c
> index a841918..b5dcc48 100644
> --- a/drivers/net/wireless/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
> @@ -1700,6 +1700,13 @@ static void rt2800_config_channel_rf3xxx(struct rt2x00_dev *rt2x00dev,
> }
> rt2800_rfcsr_write(rt2x00dev, 1, rfcsr);
>
> + rt2800_rfcsr_read(rt2x00dev, 30, &rfcsr);
> + rt2x00_set_field8(&rfcsr, RFCSR30_RF_CALIBRATION, 1);
> + rt2800_rfcsr_write(rt2x00dev, 30, rfcsr);
> + msleep(1);
> + rt2x00_set_field8(&rfcsr, RFCSR30_RF_CALIBRATION, 0);
> + rt2800_rfcsr_write(rt2x00dev, 30, rfcsr);
> +
> rt2800_rfcsr_read(rt2x00dev, 23, &rfcsr);
> rt2x00_set_field8(&rfcsr, RFCSR23_FREQ_OFFSET, rt2x00dev->freq_offset);
> rt2800_rfcsr_write(rt2x00dev, 23, rfcsr);
> @@ -1710,6 +1717,13 @@ static void rt2800_config_channel_rf3xxx(struct rt2x00_dev *rt2x00dev,
> rt2800_rfcsr_read(rt2x00dev, 7, &rfcsr);
> rt2x00_set_field8(&rfcsr, RFCSR7_RF_TUNING, 1);
> rt2800_rfcsr_write(rt2x00dev, 7, rfcsr);
> +
> + rt2800_rfcsr_read(rt2x00dev, 30, &rfcsr);
> + rt2x00_set_field8(&rfcsr, RFCSR30_RF_CALIBRATION, 1);
> + rt2800_rfcsr_write(rt2x00dev, 30, rfcsr);
> + msleep(1);
> + rt2x00_set_field8(&rfcsr, RFCSR30_RF_CALIBRATION, 0);
> + rt2800_rfcsr_write(rt2x00dev, 30, rfcsr);
> }
This was also introduced for later chipsets only but since Ralink left the
code in for all chipsets I guess this is ok ...
Helmut
More information about the users
mailing list