mac80211: refresh patches
authorFelix Fietkau <nbd@openwrt.org>
Sat, 25 Oct 2014 09:31:01 +0000 (09:31 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 25 Oct 2014 09:31:01 +0000 (09:31 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43054

package/kernel/mac80211/patches/620-rt2x00-add-AP+STA-support.patch
package/kernel/mac80211/patches/621-rt2x00-ht20_40_fix.patch
package/kernel/mac80211/patches/800-b43-backports-form-wireless-testing-master-master-20.patch
package/kernel/mac80211/patches/910-01-add-support-for-mt7620.patch
package/kernel/mac80211/patches/925-rt2x00-backport_rf5362.patch

index ce667b85a19d42fb8c6a1d193b9ddc531767ff5f..6ec04782c8c437327224605a3c2c439d800eb989 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c
 +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
-@@ -1265,7 +1265,7 @@ static inline void rt2x00lib_set_if_comb
+@@ -1276,7 +1276,7 @@ static inline void rt2x00lib_set_if_comb
         */
        if_limit = &rt2x00dev->if_limits_ap;
        if_limit->max = rt2x00dev->ops->max_ap_intf;
index 74a4cc5fd5f9a974899e3f61c26636c4f5192afe..e05c525d35e75030bfde4237e0cd4d4292ae275d 100644 (file)
@@ -1,8 +1,6 @@
-Index: compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800.h
-===================================================================
---- compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800.h       2014-08-31 05:04:55.600142409 +0200
-+++ compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800.h    2014-08-31 05:11:02.068145882 +0200
-@@ -2346,6 +2346,8 @@
+--- a/drivers/net/wireless/rt2x00/rt2800.h
++++ b/drivers/net/wireless/rt2x00/rt2800.h
+@@ -2319,6 +2319,8 @@ struct mac_iveiv_entry {
  #define RFCSR30_RX_H20M                       FIELD8(0x04)
  #define RFCSR30_RX_VCM                        FIELD8(0x18)
  #define RFCSR30_RF_CALIBRATION                FIELD8(0x80)
@@ -11,11 +9,9 @@ Index: compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800.h
  
  /*
   * RFCSR 31:
-Index: compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800lib.c
-===================================================================
---- compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800lib.c    2014-08-31 05:04:55.604142409 +0200
-+++ compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800lib.c 2014-08-31 05:15:02.176148157 +0200
-@@ -3928,8 +3928,13 @@
+--- a/drivers/net/wireless/rt2x00/rt2800lib.c
++++ b/drivers/net/wireless/rt2x00/rt2800lib.c
+@@ -3549,8 +3549,13 @@ static void rt2800_config_channel(struct
            rt2x00_rf(rt2x00dev, RF5390) ||
            rt2x00_rf(rt2x00dev, RF5392)) {
                rt2800_rfcsr_read(rt2x00dev, 30, &rfcsr);
index bf661201f5796d753525267877e74219dd607f86..03c2cbf5845ea129455d1ad8d52a2c25ed0a3929 100644 (file)
@@ -433,7 +433,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
  
        phy->gmode = gmode;
        b43_phy_put_into_reset(dev);
-@@ -3796,38 +3903,29 @@ static void b43_set_retry_limits(struct
+@@ -3796,38 +3903,29 @@ static void b43_set_retry_limits(struct 
  static int b43_op_config(struct ieee80211_hw *hw, u32 changed)
  {
        struct b43_wl *wl = hw_to_b43_wl(hw);
@@ -817,7 +817,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
        if (ops->exit)
                ops->exit(dev);
  }
-@@ -403,9 +411,6 @@ int b43_switch_channel(struct b43_wldev
+@@ -403,9 +411,6 @@ int b43_switch_channel(struct b43_wldev 
        u16 channelcookie, savedcookie;
        int err;
  
@@ -827,7 +827,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
        /* First we set the channel radio code to prevent the
         * firmware from sending ghost packets.
         */
-@@ -423,7 +428,6 @@ int b43_switch_channel(struct b43_wldev
+@@ -423,7 +428,6 @@ int b43_switch_channel(struct b43_wldev 
        if (err)
                goto err_restore_cookie;
  
@@ -1496,7 +1496,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
        struct ssb_sprom *sprom = dev->dev->bus_sprom;
        enum ieee80211_band band = b43_current_band(dev->wl);
        u16 offset;
-@@ -897,7 +1230,7 @@ static void b43_radio_2056_setup(struct
+@@ -897,7 +1230,7 @@ static void b43_radio_2056_setup(struct 
                                        offset | B2056_TX_MIXG_BOOST_TUNE,
                                        mixg_boost);
                        } else {
@@ -1505,7 +1505,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
                                b43_radio_write(dev,
                                        offset | B2056_TX_INTPAG_IMAIN_STAT,
                                        bias);
-@@ -911,7 +1244,7 @@ static void b43_radio_2056_setup(struct
+@@ -911,7 +1244,7 @@ static void b43_radio_2056_setup(struct 
                        b43_radio_write(dev, offset | B2056_TX_PA_SPARE1, 0xee);
                }
        } else if (dev->phy.n->ipa5g_on && band == IEEE80211_BAND_5GHZ) {
@@ -1563,7 +1563,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
        struct b43_phy_n *nphy = dev->phy.n;
        int i;
        u16 seq_mode;
-@@ -1261,17 +1593,35 @@ static void b43_nphy_run_samples(struct
+@@ -1261,17 +1593,35 @@ static void b43_nphy_run_samples(struct 
  
        b43_nphy_stay_in_carrier_search(dev, true);
  
@@ -1605,7 +1605,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
  
        b43_phy_write(dev, B43_NPHY_SAMP_DEPCNT, (samps - 1));
  
-@@ -1289,10 +1639,8 @@ static void b43_nphy_run_samples(struct
+@@ -1289,10 +1639,8 @@ static void b43_nphy_run_samples(struct 
                b43_phy_mask(dev, B43_NPHY_IQLOCAL_CMDGCTL, 0x7FFF);
                b43_phy_set(dev, B43_NPHY_IQLOCAL_CMDGCTL, 0x8000);
        } else {
@@ -2274,7 +2274,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
                b43_ntab_write(dev, B43_NTAB32(16, 3), 0x18D);
                b43_ntab_write(dev, B43_NTAB32(16, 127), 0x18D);
        } else {
-@@ -2930,6 +3461,7 @@ static void b43_nphy_workarounds(struct
+@@ -2930,6 +3461,7 @@ static void b43_nphy_workarounds(struct 
        b43_phy_set(dev, B43_NPHY_IQFLIP,
                    B43_NPHY_IQFLIP_ADC1 | B43_NPHY_IQFLIP_ADC2);
  
@@ -2282,7 +2282,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
        if (dev->phy.rev >= 7)
                b43_nphy_workarounds_rev7plus(dev);
        else if (dev->phy.rev >= 3)
-@@ -2950,12 +3482,13 @@ static void b43_nphy_workarounds(struct
+@@ -2950,12 +3482,13 @@ static void b43_nphy_workarounds(struct 
   * http://bcm-v4.sipsolutions.net/802.11/PHY/N/TXTone
   */
  static int b43_nphy_tx_tone(struct b43_wldev *dev, u32 freq, u16 max_val,
@@ -2609,7 +2609,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
        }
  }
  
-@@ -3688,7 +4285,9 @@ static void b43_nphy_pa_override(struct
+@@ -3688,7 +4285,9 @@ static void b43_nphy_pa_override(struct 
                nphy->rfctrl_intc2_save = b43_phy_read(dev,
                                                       B43_NPHY_RFCTL_INTC2);
                band = b43_current_band(dev->wl);
@@ -2620,7 +2620,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
                        if (band == IEEE80211_BAND_5GHZ)
                                tmp = 0x600;
                        else
-@@ -3709,21 +4308,28 @@ static void b43_nphy_pa_override(struct
+@@ -3709,21 +4308,28 @@ static void b43_nphy_pa_override(struct 
        }
  }
  
@@ -2995,7 +2995,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
        struct b43_phy_n *nphy = dev->phy.n;
  
        u16 coef[4];
-@@ -4562,7 +5329,26 @@ static void b43_nphy_restore_cal(struct
+@@ -4562,7 +5329,26 @@ static void b43_nphy_restore_cal(struct 
        }
  
        /* TODO use some definitions */
@@ -3023,7 +3023,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
                b43_radio_write(dev, 0x2021, txcal_radio_regs[0]);
                b43_radio_write(dev, 0x2022, txcal_radio_regs[1]);
                b43_radio_write(dev, 0x3021, txcal_radio_regs[2]);
-@@ -4585,6 +5371,7 @@ static int b43_nphy_cal_tx_iq_lo(struct
+@@ -4585,6 +5371,7 @@ static int b43_nphy_cal_tx_iq_lo(struct 
                                struct nphy_txgains target,
                                bool full, bool mphase)
  {
@@ -3031,7 +3031,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
        struct b43_phy_n *nphy = dev->phy.n;
        int i;
        int error = 0;
-@@ -4625,7 +5412,7 @@ static int b43_nphy_cal_tx_iq_lo(struct
+@@ -4625,7 +5412,7 @@ static int b43_nphy_cal_tx_iq_lo(struct 
                (dev->phy.rev == 5 && nphy->ipa2g_on &&
                b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ);
        if (phy6or5x) {
@@ -3040,7 +3040,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
                        b43_ntab_write_bulk(dev, B43_NTAB16(15, 0), 18,
                                        tbl_tx_iqlo_cal_loft_ladder_40);
                        b43_ntab_write_bulk(dev, B43_NTAB16(15, 32), 18,
-@@ -4638,18 +5425,24 @@ static int b43_nphy_cal_tx_iq_lo(struct
+@@ -4638,18 +5425,24 @@ static int b43_nphy_cal_tx_iq_lo(struct 
                }
        }
  
@@ -3070,7 +3070,7 @@ This brings b43 up to wireless-testing/master master-2014-07-29-1
  
        if (error == 0) {
                if (nphy->mphase_cal_phase_id > 2) {
-@@ -4777,9 +5570,9 @@ static int b43_nphy_cal_tx_iq_lo(struct
+@@ -4777,9 +5570,9 @@ static int b43_nphy_cal_tx_iq_lo(struct 
                                                nphy->txiqlocal_bestc);
                        nphy->txiqlocal_coeffsvalid = true;
                        nphy->txiqlocal_chanspec.center_freq =
index c736b5759a7b3661f372dd4281d6b3d76089ee6c..2bdf12f52428d1afc131ebb9698932c0e799cb90 100644 (file)
@@ -1,5 +1,5 @@
---- a/drivers/net/wireless/rt2x00/rt2800.h     2014-06-30 01:05:26.000000000 +0300
-+++ b/drivers/net/wireless/rt2x00/rt2800.h     2014-06-30 01:23:42.000000000 +0300
+--- a/drivers/net/wireless/rt2x00/rt2800.h
++++ b/drivers/net/wireless/rt2x00/rt2800.h
 @@ -79,6 +79,7 @@
  #define RF5372                                0x5372
  #define RF5390                                0x5390
@@ -62,8 +62,8 @@
  /* TX_PWR_CFG_7 */
  #define TX_PWR_CFG_7                  0x13d4
  #define TX_PWR_CFG_7_OFDM54_CH0               FIELD32(0x0000000f)
---- a/drivers/net/wireless/rt2x00/rt2800lib.c  2014-06-30 01:05:26.000000000 +0300
-+++ b/drivers/net/wireless/rt2x00/rt2800lib.c  2014-06-30 17:31:35.000000000 +0300
+--- a/drivers/net/wireless/rt2x00/rt2800lib.c
++++ b/drivers/net/wireless/rt2x00/rt2800lib.c
 @@ -61,6 +61,8 @@
        rt2800_regbusy_read((__dev), BBP_CSR_CFG, BBP_CSR_CFG_BUSY, (__reg))
  #define WAIT_FOR_RFCSR(__dev, __reg) \
        default:
                rt2800_config_channel_rf2xxx(rt2x00dev, conf, rf, info);
        }
-@@ -3631,7 +4010,7 @@ static void rt2800_config_channel(struct
+@@ -3636,7 +4015,7 @@ static void rt2800_config_channel(struct
                else if (rt2x00_rt(rt2x00dev, RT3593) ||
                         rt2x00_rt(rt2x00dev, RT3883))
                        rt2800_bbp_write(rt2x00dev, 82, 0x82);
                        rt2800_bbp_write(rt2x00dev, 82, 0xf2);
  
                if (rt2x00_rt(rt2x00dev, RT3593) ||
-@@ -3653,7 +4032,7 @@ static void rt2800_config_channel(struct
+@@ -3658,7 +4037,7 @@ static void rt2800_config_channel(struct
        if (rt2x00_rt(rt2x00dev, RT3572))
                rt2800_rfcsr_write(rt2x00dev, 8, 0);
  
  
        switch (rt2x00dev->default_ant.tx_chain_num) {
        case 3:
-@@ -3702,6 +4081,7 @@ static void rt2800_config_channel(struct
+@@ -3707,6 +4086,7 @@ static void rt2800_config_channel(struct
  
        rt2x00_set_field32(&tx_pin, TX_PIN_CFG_RFTR_EN, 1);
        rt2x00_set_field32(&tx_pin, TX_PIN_CFG_TRSW_EN, 1);
  
        rt2800_register_write(rt2x00dev, TX_PIN_CFG, tx_pin);
  
-@@ -4710,6 +5090,14 @@ void rt2800_vco_calibration(struct rt2x0
+@@ -4715,6 +5095,14 @@ void rt2800_vco_calibration(struct rt2x0
                rt2x00_set_field8(&rfcsr, RFCSR3_VCOCAL_EN, 1);
                rt2800_rfcsr_write(rt2x00dev, 3, rfcsr);
                break;
        default:
                return;
        }
-@@ -5110,9 +5498,42 @@ static int rt2800_init_registers(struct
+@@ -5115,9 +5503,42 @@ static int rt2800_init_registers(struct 
        } else if (rt2x00_rt(rt2x00dev, RT5390) ||
                   rt2x00_rt(rt2x00dev, RT5392) ||
                   rt2x00_rt(rt2x00dev, RT5592)) {
        } else if (rt2x00_rt(rt2x00dev, RT5350)) {
                rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404);
        } else {
-@@ -6144,6 +6565,225 @@ static void rt2800_init_bbp_5592(struct
+@@ -6149,6 +6570,225 @@ static void rt2800_init_bbp_5592(struct 
                rt2800_bbp_write(rt2x00dev, 103, 0xc0);
  }
  
  static void rt2800_init_bbp(struct rt2x00_dev *rt2x00dev)
  {
        unsigned int i;
-@@ -6186,7 +6826,10 @@ static void rt2800_init_bbp(struct rt2x0
+@@ -6191,7 +6831,10 @@ static void rt2800_init_bbp(struct rt2x0
                return;
        case RT5390:
        case RT5392:
                break;
        case RT5592:
                rt2800_init_bbp_5592(rt2x00dev);
-@@ -7400,6 +8043,295 @@ static void rt2800_init_rfcsr_5592(struc
+@@ -7405,6 +8048,295 @@ static void rt2800_init_rfcsr_5592(struc
        rt2800_led_open_drain_enable(rt2x00dev);
  }
  
  static void rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev)
  {
        if (rt2800_is_305x_soc(rt2x00dev)) {
-@@ -7435,7 +8367,10 @@ static void rt2800_init_rfcsr(struct rt2
+@@ -7440,7 +8372,10 @@ static void rt2800_init_rfcsr(struct rt2
                rt2800_init_rfcsr_5350(rt2x00dev);
                break;
        case RT5390:
                break;
        case RT5392:
                rt2800_init_rfcsr_5392(rt2x00dev);
-@@ -7866,6 +8801,7 @@ static int rt2800_init_eeprom(struct rt2
+@@ -7871,6 +8806,7 @@ static int rt2800_init_eeprom(struct rt2
        case RF5390:
        case RF5392:
        case RF5592:
                break;
        default:
                rt2x00_err(rt2x00dev, "Invalid RF chipset 0x%04x detected\n",
-@@ -8431,6 +9367,7 @@ static int rt2800_probe_hw_mode(struct r
+@@ -8436,6 +9372,7 @@ static int rt2800_probe_hw_mode(struct r
        case RF5372:
        case RF5390:
        case RF5392:
                spec->num_channels = 14;
                if (spec->clk_is_20mhz)
                        spec->channels = rf_vals_xtal20mhz_3x;
-@@ -8570,6 +9507,7 @@ static int rt2800_probe_hw_mode(struct r
+@@ -8575,6 +9512,7 @@ static int rt2800_probe_hw_mode(struct r
        case RF5372:
        case RF5390:
        case RF5392:
index 84b1fcdc4443cf51fc1f7b8d2f2de208b7b8cda1..9bb5656b11b01ae9e1b38537f5d9d0f01cb17ac9 100644 (file)
@@ -1,6 +1,5 @@
-diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800.h compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800.h
---- compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800.h       2014-10-10 14:53:56.000000000 +0200
-+++ compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800.h    2014-10-10 15:09:36.000000000 +0200
+--- a/drivers/net/wireless/rt2x00/rt2800.h
++++ b/drivers/net/wireless/rt2x00/rt2800.h
 @@ -53,6 +53,7 @@
   * RF5592 2.4G/5G 2T2R
   * RF3070 2.4G 1T1R
@@ -17,7 +16,7 @@ diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800
  #define RF5370                                0x5370
  #define RF5372                                0x5372
  #define RF5390                                0x5390
-@@ -2207,7 +2209,7 @@
+@@ -2207,7 +2209,7 @@ struct mac_iveiv_entry {
  /* Bits [7-4] for RF3320 (RT3370/RT3390), on other chipsets reserved */
  #define RFCSR3_PA1_BIAS_CCK           FIELD8(0x70)
  #define RFCSR3_PA2_CASCODE_BIAS_CCKK  FIELD8(0x80)
@@ -26,10 +25,9 @@ diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800
  #define RFCSR3_VCOCAL_EN              FIELD8(0x80)
  /* Bits for RF3050 */
  #define RFCSR3_BIT1                   FIELD8(0x02)
-diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800lib.c compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800lib.c
---- compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800lib.c    2014-10-10 14:53:56.000000000 +0200
-+++ compat-wireless-2014-05-22/drivers/net/wireless/rt2x00/rt2800lib.c 2014-10-10 15:10:43.000000000 +0200
-@@ -3902,6 +3902,7 @@
+--- a/drivers/net/wireless/rt2x00/rt2800lib.c
++++ b/drivers/net/wireless/rt2x00/rt2800lib.c
+@@ -3902,6 +3902,7 @@ static void rt2800_config_channel(struct
        case RF3070:
        case RF5350:
        case RF5360:
@@ -37,7 +35,7 @@ diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800
        case RF5370:
        case RF5372:
        case RF5390:
-@@ -3923,6 +3924,7 @@
+@@ -3923,6 +3924,7 @@ static void rt2800_config_channel(struct
            rt2x00_rf(rt2x00dev, RF3322) ||
            rt2x00_rf(rt2x00dev, RF5350) ||
            rt2x00_rf(rt2x00dev, RF5360) ||
@@ -45,7 +43,7 @@ diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800
            rt2x00_rf(rt2x00dev, RF5370) ||
            rt2x00_rf(rt2x00dev, RF5372) ||
            rt2x00_rf(rt2x00dev, RF5390) ||
-@@ -5087,6 +5089,7 @@
+@@ -5087,6 +5089,7 @@ void rt2800_vco_calibration(struct rt2x0
        case RF3853:
        case RF5350:
        case RF5360:
@@ -53,7 +51,7 @@ diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800
        case RF5370:
        case RF5372:
        case RF5390:
-@@ -8801,6 +8804,7 @@
+@@ -8801,6 +8804,7 @@ static int rt2800_init_eeprom(struct rt2
        case RF3853:
        case RF5350:
        case RF5360:
@@ -61,7 +59,7 @@ diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800
        case RF5370:
        case RF5372:
        case RF5390:
-@@ -9368,6 +9372,7 @@
+@@ -9368,6 +9372,7 @@ static int rt2800_probe_hw_mode(struct r
        case RF3322:
        case RF5350:
        case RF5360:
@@ -69,7 +67,7 @@ diff -u -N -r compat-wireless-2014-05-22.orig/drivers/net/wireless/rt2x00/rt2800
        case RF5370:
        case RF5372:
        case RF5390:
-@@ -9508,6 +9513,7 @@
+@@ -9508,6 +9513,7 @@ static int rt2800_probe_hw_mode(struct r
        case RF3853:
        case RF5350:
        case RF5360: