Deleted Added
full compact
if_run.c (259546) if_run.c (259547)
1/*-
2 * Copyright (c) 2008,2010 Damien Bergamini <damien.bergamini@free.fr>
3 * ported to FreeBSD by Akinori Furukoshi <moonlightakkiy@yahoo.ca>
4 * USB Consulting, Hans Petter Selasky <hselasky@freebsd.org>
5 * Copyright (c) 2013 Kevin Lo
6 *
7 * Permission to use, copy, modify, and distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above

--- 4 unchanged lines hidden (view full) ---

13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 */
19
20#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2008,2010 Damien Bergamini <damien.bergamini@free.fr>
3 * ported to FreeBSD by Akinori Furukoshi <moonlightakkiy@yahoo.ca>
4 * USB Consulting, Hans Petter Selasky <hselasky@freebsd.org>
5 * Copyright (c) 2013 Kevin Lo
6 *
7 * Permission to use, copy, modify, and distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above

--- 4 unchanged lines hidden (view full) ---

13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 */
19
20#include <sys/cdefs.h>
21__FBSDID("$FreeBSD: head/sys/dev/usb/wlan/if_run.c 259546 2013-12-18 08:39:12Z kevlo $");
21__FBSDID("$FreeBSD: head/sys/dev/usb/wlan/if_run.c 259547 2013-12-18 08:53:40Z kevlo $");
22
23/*-
24 * Ralink Technology RT2700U/RT2800U/RT3000U/RT3900E chipset driver.
25 * http://www.ralinktech.com/
26 */
27
28#include <sys/param.h>
29#include <sys/sockio.h>

--- 3624 unchanged lines hidden (view full) ---

3654 RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH100_TO_CH138_5GHZ,
3655 &val, 1);
3656 } else if (chan <= 165) {
3657 run_efuse_read(sc,
3658 RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH140_TO_CH165_5GHZ,
3659 &val, 1);
3660 } else
3661 val = 0;
22
23/*-
24 * Ralink Technology RT2700U/RT2800U/RT3000U/RT3900E chipset driver.
25 * http://www.ralinktech.com/
26 */
27
28#include <sys/param.h>
29#include <sys/sockio.h>

--- 3624 unchanged lines hidden (view full) ---

3654 RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH100_TO_CH138_5GHZ,
3655 &val, 1);
3656 } else if (chan <= 165) {
3657 run_efuse_read(sc,
3658 RT5390_EEPROM_IQ_GAIN_CAL_TX0_CH140_TO_CH165_5GHZ,
3659 &val, 1);
3660 } else
3661 val = 0;
3662 run_bbp_write(sc, 159, val & 0xff);
3662 run_bbp_write(sc, 159, val);
3663
3664 /* Tx0 IQ phase. */
3665 run_bbp_write(sc, 158, 0x2d);
3666 if (chan <= 14) {
3667 run_efuse_read(sc, RT5390_EEPROM_IQ_PHASE_CAL_TX0_2GHZ,
3668 &val, 1);
3669 } else if (chan <= 64) {
3670 run_efuse_read(sc,

--- 4 unchanged lines hidden (view full) ---

3675 RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH100_TO_CH138_5GHZ,
3676 &val, 1);
3677 } else if (chan <= 165) {
3678 run_efuse_read(sc,
3679 RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH140_TO_CH165_5GHZ,
3680 &val, 1);
3681 } else
3682 val = 0;
3663
3664 /* Tx0 IQ phase. */
3665 run_bbp_write(sc, 158, 0x2d);
3666 if (chan <= 14) {
3667 run_efuse_read(sc, RT5390_EEPROM_IQ_PHASE_CAL_TX0_2GHZ,
3668 &val, 1);
3669 } else if (chan <= 64) {
3670 run_efuse_read(sc,

--- 4 unchanged lines hidden (view full) ---

3675 RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH100_TO_CH138_5GHZ,
3676 &val, 1);
3677 } else if (chan <= 165) {
3678 run_efuse_read(sc,
3679 RT5390_EEPROM_IQ_PHASE_CAL_TX0_CH140_TO_CH165_5GHZ,
3680 &val, 1);
3681 } else
3682 val = 0;
3683 run_bbp_write(sc, 159, val & 0xff);
3683 run_bbp_write(sc, 159, val);
3684
3685 /* Tx1 IQ gain. */
3686 run_bbp_write(sc, 158, 0x4a);
3687 if (chan <= 14) {
3688 run_efuse_read(sc, RT5390_EEPROM_IQ_GAIN_CAL_TX1_2GHZ,
3689 &val, 1);
3690 } else if (chan <= 64) {
3691 run_efuse_read(sc,

--- 4 unchanged lines hidden (view full) ---

3696 RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH100_TO_CH138_5GHZ,
3697 &val, 1);
3698 } else if (chan <= 165) {
3699 run_efuse_read(sc,
3700 RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH140_TO_CH165_5GHZ,
3701 &val, 1);
3702 } else
3703 val = 0;
3684
3685 /* Tx1 IQ gain. */
3686 run_bbp_write(sc, 158, 0x4a);
3687 if (chan <= 14) {
3688 run_efuse_read(sc, RT5390_EEPROM_IQ_GAIN_CAL_TX1_2GHZ,
3689 &val, 1);
3690 } else if (chan <= 64) {
3691 run_efuse_read(sc,

--- 4 unchanged lines hidden (view full) ---

3696 RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH100_TO_CH138_5GHZ,
3697 &val, 1);
3698 } else if (chan <= 165) {
3699 run_efuse_read(sc,
3700 RT5390_EEPROM_IQ_GAIN_CAL_TX1_CH140_TO_CH165_5GHZ,
3701 &val, 1);
3702 } else
3703 val = 0;
3704 run_bbp_write(sc, 159, val & 0xff);
3704 run_bbp_write(sc, 159, val);
3705
3706 /* Tx1 IQ phase. */
3707 run_bbp_write(sc, 158, 0x4b);
3708 if (chan <= 14) {
3709 run_efuse_read(sc, RT5390_EEPROM_IQ_PHASE_CAL_TX1_2GHZ,
3710 &val, 1);
3711 } else if (chan <= 64) {
3712 run_efuse_read(sc,

--- 4 unchanged lines hidden (view full) ---

3717 RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH100_TO_CH138_5GHZ,
3718 &val, 1);
3719 } else if (chan <= 165) {
3720 run_efuse_read(sc,
3721 RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH140_TO_CH165_5GHZ,
3722 &val, 1);
3723 } else
3724 val = 0;
3705
3706 /* Tx1 IQ phase. */
3707 run_bbp_write(sc, 158, 0x4b);
3708 if (chan <= 14) {
3709 run_efuse_read(sc, RT5390_EEPROM_IQ_PHASE_CAL_TX1_2GHZ,
3710 &val, 1);
3711 } else if (chan <= 64) {
3712 run_efuse_read(sc,

--- 4 unchanged lines hidden (view full) ---

3717 RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH100_TO_CH138_5GHZ,
3718 &val, 1);
3719 } else if (chan <= 165) {
3720 run_efuse_read(sc,
3721 RT5390_EEPROM_IQ_PHASE_CAL_TX1_CH140_TO_CH165_5GHZ,
3722 &val, 1);
3723 } else
3724 val = 0;
3725 run_bbp_write(sc, 159, val & 0xff);
3725 run_bbp_write(sc, 159, val);
3726
3727 /* RF IQ compensation control. */
3728 run_bbp_write(sc, 158, 0x04);
3729 run_efuse_read(sc, RT5390_EEPROM_RF_IQ_COMPENSATION_CTL,
3730 &val, 1);
3726
3727 /* RF IQ compensation control. */
3728 run_bbp_write(sc, 158, 0x04);
3729 run_efuse_read(sc, RT5390_EEPROM_RF_IQ_COMPENSATION_CTL,
3730 &val, 1);
3731 run_bbp_write(sc, 159, val & 0xff);
3731 run_bbp_write(sc, 159, val);
3732
3733 /* RF IQ imbalance compensation control. */
3734 run_bbp_write(sc, 158, 0x03);
3735 run_efuse_read(sc,
3736 RT5390_EEPROM_RF_IQ_IMBALANCE_COMPENSATION_CTL, &val, 1);
3732
3733 /* RF IQ imbalance compensation control. */
3734 run_bbp_write(sc, 158, 0x03);
3735 run_efuse_read(sc,
3736 RT5390_EEPROM_RF_IQ_IMBALANCE_COMPENSATION_CTL, &val, 1);
3737 run_bbp_write(sc, 159, val & 0xff);
3737 run_bbp_write(sc, 159, val);
3738}
3739
3740static void
3741run_set_agc(struct run_softc *sc, uint8_t agc)
3742{
3743 uint8_t bbp;
3744
3745 if (sc->mac_ver == 0x3572) {

--- 2055 unchanged lines hidden ---
3738}
3739
3740static void
3741run_set_agc(struct run_softc *sc, uint8_t agc)
3742{
3743 uint8_t bbp;
3744
3745 if (sc->mac_ver == 0x3572) {

--- 2055 unchanged lines hidden ---