]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - drivers/net/wireless/rt2x00/rt2800lib.c
Merge branch 'for-john' of git://git.sipsolutions.net/mac80211-next
[can-eth-gw-linux.git] / drivers / net / wireless / rt2x00 / rt2800lib.c
index e0002697a2b77e438d2ebaeb746509ea5085ee16..197b4466a5d2a44378f998fdefa2c221ae6124c6 100644 (file)
@@ -2173,7 +2173,7 @@ static void rt2800_config_channel_rf53xx(struct rt2x00_dev *rt2x00dev,
                                rt2800_rfcsr_write(rt2x00dev, 59,
                                                   r59_nonbt_rev[idx]);
                        } else if (rt2x00_rt(rt2x00dev, RT5390) ||
-                                          rt2x00_rt(rt2x00dev, RT5392)) {
+                                  rt2x00_rt(rt2x00dev, RT5392)) {
                                static const char r59_non_bt[] = {0x8f, 0x8f,
                                        0x8f, 0x8f, 0x8f, 0x8f, 0x8f, 0x8d,
                                        0x8a, 0x88, 0x88, 0x87, 0x87, 0x86};
@@ -2243,7 +2243,7 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
                rt2800_rfcsr_write(rt2x00dev, 30, rfcsr);
 
                rt2800_rfcsr_read(rt2x00dev, 3, &rfcsr);
-               rt2x00_set_field8(&rfcsr, RFCSR30_RF_CALIBRATION, 1);
+               rt2x00_set_field8(&rfcsr, RFCSR3_VCOCAL_EN, 1);
                rt2800_rfcsr_write(rt2x00dev, 3, rfcsr);
        }
 
@@ -2264,7 +2264,7 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
 
        if (rf->channel <= 14) {
                if (!rt2x00_rt(rt2x00dev, RT5390) &&
-                       !rt2x00_rt(rt2x00dev, RT5392)) {
+                   !rt2x00_rt(rt2x00dev, RT5392)) {
                        if (test_bit(CAPABILITY_EXTERNAL_LNA_BG,
                                     &rt2x00dev->cap_flags)) {
                                rt2800_bbp_write(rt2x00dev, 82, 0x62);
@@ -2449,7 +2449,7 @@ static int rt2800_get_gain_calibration_delta(struct rt2x00_dev *rt2x00dev)
        /*
         * Check if temperature compensation is supported.
         */
-       if (tssi_bounds[4] == 0xff)
+       if (tssi_bounds[4] == 0xff || step == 0xff)
                return 0;
 
        /*
@@ -2804,7 +2804,7 @@ void rt2800_vco_calibration(struct rt2x00_dev *rt2x00dev)
        case RF5390:
        case RF5392:
                rt2800_rfcsr_read(rt2x00dev, 3, &rfcsr);
-               rt2x00_set_field8(&rfcsr, RFCSR30_RF_CALIBRATION, 1);
+               rt2x00_set_field8(&rfcsr, RFCSR3_VCOCAL_EN, 1);
                rt2800_rfcsr_write(rt2x00dev, 3, rfcsr);
                break;
        default:
@@ -3592,8 +3592,8 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev)
        if (rt2x00_rt_rev(rt2x00dev, RT2860, REV_RT2860D))
                rt2800_bbp_write(rt2x00dev, 84, 0x19);
        else if (rt2x00_rt(rt2x00dev, RT3290) ||
-                    rt2x00_rt(rt2x00dev, RT5390) ||
-                    rt2x00_rt(rt2x00dev, RT5392))
+                rt2x00_rt(rt2x00dev, RT5390) ||
+                rt2x00_rt(rt2x00dev, RT5392))
                rt2800_bbp_write(rt2x00dev, 84, 0x9a);
        else
                rt2800_bbp_write(rt2x00dev, 84, 0x99);
@@ -3652,7 +3652,7 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev)
        else if (rt2x00_rt(rt2x00dev, RT3352))
                rt2800_bbp_write(rt2x00dev, 105, 0x34);
        else if (rt2x00_rt(rt2x00dev, RT5390) ||
-                        rt2x00_rt(rt2x00dev, RT5392))
+                rt2x00_rt(rt2x00dev, RT5392))
                rt2800_bbp_write(rt2x00dev, 105, 0x3c);
        else
                rt2800_bbp_write(rt2x00dev, 105, 0x05);
@@ -3746,7 +3746,7 @@ static int rt2800_init_bbp(struct rt2x00_dev *rt2x00dev)
        }
 
        if (rt2x00_rt(rt2x00dev, RT5390) ||
-               rt2x00_rt(rt2x00dev, RT5392)) {
+           rt2x00_rt(rt2x00dev, RT5392)) {
                int ant, div_mode;
 
                rt2x00_eeprom_read(rt2x00dev, EEPROM_NIC_CONF1, &eeprom);
@@ -4220,66 +4220,66 @@ static int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev)
                        rt2800_rfcsr_write(rt2x00dev, 61, 0xdd);
                rt2800_rfcsr_write(rt2x00dev, 62, 0x00);
                rt2800_rfcsr_write(rt2x00dev, 63, 0x00);
-       }       else if (rt2x00_rt(rt2x00dev, RT5392)) {
-                       rt2800_rfcsr_write(rt2x00dev, 1, 0x17);
-                       rt2800_rfcsr_write(rt2x00dev, 2, 0x80);
-                       rt2800_rfcsr_write(rt2x00dev, 3, 0x88);
-                       rt2800_rfcsr_write(rt2x00dev, 5, 0x10);
-                       rt2800_rfcsr_write(rt2x00dev, 6, 0xe0);
-                       rt2800_rfcsr_write(rt2x00dev, 7, 0x00);
-                       rt2800_rfcsr_write(rt2x00dev, 10, 0x53);
-                       rt2800_rfcsr_write(rt2x00dev, 11, 0x4a);
-                       rt2800_rfcsr_write(rt2x00dev, 12, 0x46);
-                       rt2800_rfcsr_write(rt2x00dev, 13, 0x9f);
-                       rt2800_rfcsr_write(rt2x00dev, 14, 0x00);
-                       rt2800_rfcsr_write(rt2x00dev, 15, 0x00);
-                       rt2800_rfcsr_write(rt2x00dev, 16, 0x00);
-                       rt2800_rfcsr_write(rt2x00dev, 18, 0x03);
-                       rt2800_rfcsr_write(rt2x00dev, 19, 0x4d);
-                       rt2800_rfcsr_write(rt2x00dev, 20, 0x00);
-                       rt2800_rfcsr_write(rt2x00dev, 21, 0x8d);
-                       rt2800_rfcsr_write(rt2x00dev, 22, 0x20);
-                       rt2800_rfcsr_write(rt2x00dev, 23, 0x0b);
-                       rt2800_rfcsr_write(rt2x00dev, 24, 0x44);
-                       rt2800_rfcsr_write(rt2x00dev, 25, 0x80);
-                       rt2800_rfcsr_write(rt2x00dev, 26, 0x82);
-                       rt2800_rfcsr_write(rt2x00dev, 27, 0x09);
-                       rt2800_rfcsr_write(rt2x00dev, 28, 0x00);
-                       rt2800_rfcsr_write(rt2x00dev, 29, 0x10);
-                       rt2800_rfcsr_write(rt2x00dev, 30, 0x10);
-                       rt2800_rfcsr_write(rt2x00dev, 31, 0x80);
-                       rt2800_rfcsr_write(rt2x00dev, 32, 0x20);
-                       rt2800_rfcsr_write(rt2x00dev, 33, 0xC0);
-                       rt2800_rfcsr_write(rt2x00dev, 34, 0x07);
-                       rt2800_rfcsr_write(rt2x00dev, 35, 0x12);
-                       rt2800_rfcsr_write(rt2x00dev, 36, 0x00);
-                       rt2800_rfcsr_write(rt2x00dev, 37, 0x08);
-                       rt2800_rfcsr_write(rt2x00dev, 38, 0x89);
-                       rt2800_rfcsr_write(rt2x00dev, 39, 0x1b);
-                       rt2800_rfcsr_write(rt2x00dev, 40, 0x0f);
-                       rt2800_rfcsr_write(rt2x00dev, 41, 0xbb);
-                       rt2800_rfcsr_write(rt2x00dev, 42, 0xd5);
-                       rt2800_rfcsr_write(rt2x00dev, 43, 0x9b);
-                       rt2800_rfcsr_write(rt2x00dev, 44, 0x0e);
-                       rt2800_rfcsr_write(rt2x00dev, 45, 0xa2);
-                       rt2800_rfcsr_write(rt2x00dev, 46, 0x73);
-                       rt2800_rfcsr_write(rt2x00dev, 47, 0x0c);
-                       rt2800_rfcsr_write(rt2x00dev, 48, 0x10);
-                       rt2800_rfcsr_write(rt2x00dev, 49, 0x94);
-                       rt2800_rfcsr_write(rt2x00dev, 50, 0x94);
-                       rt2800_rfcsr_write(rt2x00dev, 51, 0x3a);
-                       rt2800_rfcsr_write(rt2x00dev, 52, 0x48);
-                       rt2800_rfcsr_write(rt2x00dev, 53, 0x44);
-                       rt2800_rfcsr_write(rt2x00dev, 54, 0x38);
-                       rt2800_rfcsr_write(rt2x00dev, 55, 0x43);
-                       rt2800_rfcsr_write(rt2x00dev, 56, 0xa1);
-                       rt2800_rfcsr_write(rt2x00dev, 57, 0x00);
-                       rt2800_rfcsr_write(rt2x00dev, 58, 0x39);
-                       rt2800_rfcsr_write(rt2x00dev, 59, 0x07);
-                       rt2800_rfcsr_write(rt2x00dev, 60, 0x45);
-                       rt2800_rfcsr_write(rt2x00dev, 61, 0x91);
-                       rt2800_rfcsr_write(rt2x00dev, 62, 0x39);
-                       rt2800_rfcsr_write(rt2x00dev, 63, 0x07);
+       } else if (rt2x00_rt(rt2x00dev, RT5392)) {
+               rt2800_rfcsr_write(rt2x00dev, 1, 0x17);
+               rt2800_rfcsr_write(rt2x00dev, 2, 0x80);
+               rt2800_rfcsr_write(rt2x00dev, 3, 0x88);
+               rt2800_rfcsr_write(rt2x00dev, 5, 0x10);
+               rt2800_rfcsr_write(rt2x00dev, 6, 0xe0);
+               rt2800_rfcsr_write(rt2x00dev, 7, 0x00);
+               rt2800_rfcsr_write(rt2x00dev, 10, 0x53);
+               rt2800_rfcsr_write(rt2x00dev, 11, 0x4a);
+               rt2800_rfcsr_write(rt2x00dev, 12, 0x46);
+               rt2800_rfcsr_write(rt2x00dev, 13, 0x9f);
+               rt2800_rfcsr_write(rt2x00dev, 14, 0x00);
+               rt2800_rfcsr_write(rt2x00dev, 15, 0x00);
+               rt2800_rfcsr_write(rt2x00dev, 16, 0x00);
+               rt2800_rfcsr_write(rt2x00dev, 18, 0x03);
+               rt2800_rfcsr_write(rt2x00dev, 19, 0x4d);
+               rt2800_rfcsr_write(rt2x00dev, 20, 0x00);
+               rt2800_rfcsr_write(rt2x00dev, 21, 0x8d);
+               rt2800_rfcsr_write(rt2x00dev, 22, 0x20);
+               rt2800_rfcsr_write(rt2x00dev, 23, 0x0b);
+               rt2800_rfcsr_write(rt2x00dev, 24, 0x44);
+               rt2800_rfcsr_write(rt2x00dev, 25, 0x80);
+               rt2800_rfcsr_write(rt2x00dev, 26, 0x82);
+               rt2800_rfcsr_write(rt2x00dev, 27, 0x09);
+               rt2800_rfcsr_write(rt2x00dev, 28, 0x00);
+               rt2800_rfcsr_write(rt2x00dev, 29, 0x10);
+               rt2800_rfcsr_write(rt2x00dev, 30, 0x10);
+               rt2800_rfcsr_write(rt2x00dev, 31, 0x80);
+               rt2800_rfcsr_write(rt2x00dev, 32, 0x20);
+               rt2800_rfcsr_write(rt2x00dev, 33, 0xC0);
+               rt2800_rfcsr_write(rt2x00dev, 34, 0x07);
+               rt2800_rfcsr_write(rt2x00dev, 35, 0x12);
+               rt2800_rfcsr_write(rt2x00dev, 36, 0x00);
+               rt2800_rfcsr_write(rt2x00dev, 37, 0x08);
+               rt2800_rfcsr_write(rt2x00dev, 38, 0x89);
+               rt2800_rfcsr_write(rt2x00dev, 39, 0x1b);
+               rt2800_rfcsr_write(rt2x00dev, 40, 0x0f);
+               rt2800_rfcsr_write(rt2x00dev, 41, 0xbb);
+               rt2800_rfcsr_write(rt2x00dev, 42, 0xd5);
+               rt2800_rfcsr_write(rt2x00dev, 43, 0x9b);
+               rt2800_rfcsr_write(rt2x00dev, 44, 0x0e);
+               rt2800_rfcsr_write(rt2x00dev, 45, 0xa2);
+               rt2800_rfcsr_write(rt2x00dev, 46, 0x73);
+               rt2800_rfcsr_write(rt2x00dev, 47, 0x0c);
+               rt2800_rfcsr_write(rt2x00dev, 48, 0x10);
+               rt2800_rfcsr_write(rt2x00dev, 49, 0x94);
+               rt2800_rfcsr_write(rt2x00dev, 50, 0x94);
+               rt2800_rfcsr_write(rt2x00dev, 51, 0x3a);
+               rt2800_rfcsr_write(rt2x00dev, 52, 0x48);
+               rt2800_rfcsr_write(rt2x00dev, 53, 0x44);
+               rt2800_rfcsr_write(rt2x00dev, 54, 0x38);
+               rt2800_rfcsr_write(rt2x00dev, 55, 0x43);
+               rt2800_rfcsr_write(rt2x00dev, 56, 0xa1);
+               rt2800_rfcsr_write(rt2x00dev, 57, 0x00);
+               rt2800_rfcsr_write(rt2x00dev, 58, 0x39);
+               rt2800_rfcsr_write(rt2x00dev, 59, 0x07);
+               rt2800_rfcsr_write(rt2x00dev, 60, 0x45);
+               rt2800_rfcsr_write(rt2x00dev, 61, 0x91);
+               rt2800_rfcsr_write(rt2x00dev, 62, 0x39);
+               rt2800_rfcsr_write(rt2x00dev, 63, 0x07);
        }
 
        if (rt2x00_rt_rev_lt(rt2x00dev, RT3070, REV_RT3070F)) {
@@ -4356,7 +4356,7 @@ static int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev)
        rt2800_bbp_read(rt2x00dev, 26, &drv_data->bbp26);
 
        if (!rt2x00_rt(rt2x00dev, RT5390) &&
-               !rt2x00_rt(rt2x00dev, RT5392)) {
+           !rt2x00_rt(rt2x00dev, RT5392)) {
                /*
                 * Set back to initial state
                 */
@@ -4385,7 +4385,7 @@ static int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev)
        rt2800_register_write(rt2x00dev, OPT_14_CSR, reg);
 
        if (!rt2x00_rt(rt2x00dev, RT5390) &&
-               !rt2x00_rt(rt2x00dev, RT5392)) {
+           !rt2x00_rt(rt2x00dev, RT5392)) {
                rt2800_rfcsr_read(rt2x00dev, 17, &rfcsr);
                rt2x00_set_field8(&rfcsr, RFCSR17_TX_LO1_EN, 0);
                if (rt2x00_rt(rt2x00dev, RT3070) ||
@@ -4457,7 +4457,7 @@ static int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev)
        }
 
        if (rt2x00_rt(rt2x00dev, RT5390) ||
-               rt2x00_rt(rt2x00dev, RT5392)) {
+           rt2x00_rt(rt2x00dev, RT5392)) {
                rt2800_rfcsr_read(rt2x00dev, 38, &rfcsr);
                rt2x00_set_field8(&rfcsr, RFCSR38_RX_LO1_EN, 0);
                rt2800_rfcsr_write(rt2x00dev, 38, rfcsr);