ath9k: reorganize patches, reset hardware after full sleep (fixes #10349)
[openwrt.git] / package / mac80211 / patches / 300-pending_work.patch
index c723092..371e82b 100644 (file)
@@ -1,71 +1,3 @@
---- a/drivers/net/wireless/ath/ath9k/ar9003_calib.c
-+++ b/drivers/net/wireless/ath/ath9k/ar9003_calib.c
-@@ -908,12 +908,15 @@ static bool ar9003_hw_rtt_restore(struct
-       int i;
-       bool restore;
--      if (!(ah->caps.hw_caps & ATH9K_HW_CAP_RTT) || !ah->caldata)
-+      if (!ah->caldata)
-               return false;
-       hist = &ah->caldata->rtt_hist;
-+      if (!hist->num_readings)
-+              return false;
-+
-       ar9003_hw_rtt_enable(ah);
--      ar9003_hw_rtt_set_mask(ah, 0x10);
-+      ar9003_hw_rtt_set_mask(ah, 0x00);
-       for (i = 0; i < AR9300_MAX_CHAINS; i++) {
-               if (!(ah->rxchainmask & (1 << i)))
-                       continue;
-@@ -1070,6 +1073,7 @@ skip_tx_iqcal:
-               if (is_reusable && (hist->num_readings < RTT_HIST_MAX)) {
-                       u32 *table;
-+                      hist->num_readings++;
-                       for (i = 0; i < AR9300_MAX_CHAINS; i++) {
-                               if (!(ah->rxchainmask & (1 << i)))
-                                       continue;
---- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h
-+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
-@@ -572,14 +572,14 @@
- #define AR_PHY_TXGAIN_TABLE      (AR_SM_BASE + 0x300)
--#define AR_PHY_TX_IQCAL_CONTROL_0   (AR_SM_BASE + AR_SREV_9485(ah) ? \
--                                               0x3c4 : 0x444)
--#define AR_PHY_TX_IQCAL_CONTROL_1   (AR_SM_BASE + AR_SREV_9485(ah) ? \
--                                               0x3c8 : 0x448)
--#define AR_PHY_TX_IQCAL_START       (AR_SM_BASE + AR_SREV_9485(ah) ? \
--                                               0x3c4 : 0x440)
--#define AR_PHY_TX_IQCAL_STATUS_B0   (AR_SM_BASE + AR_SREV_9485(ah) ? \
--                                               0x3f0 : 0x48c)
-+#define AR_PHY_TX_IQCAL_CONTROL_0   (AR_SM_BASE + (AR_SREV_9485(ah) ? \
-+                                               0x3c4 : 0x444))
-+#define AR_PHY_TX_IQCAL_CONTROL_1   (AR_SM_BASE + (AR_SREV_9485(ah) ? \
-+                                               0x3c8 : 0x448))
-+#define AR_PHY_TX_IQCAL_START       (AR_SM_BASE + (AR_SREV_9485(ah) ? \
-+                                               0x3c4 : 0x440))
-+#define AR_PHY_TX_IQCAL_STATUS_B0   (AR_SM_BASE + (AR_SREV_9485(ah) ? \
-+                                               0x3f0 : 0x48c))
- #define AR_PHY_TX_IQCAL_CORR_COEFF_B0(_i)    (AR_SM_BASE + \
-                                            (AR_SREV_9485(ah) ? \
-                                             0x3d0 : 0x450) + ((_i) << 2))
-@@ -931,10 +931,10 @@
- #define AR_PHY_AIC_SRAM_ADDR_B1       (AR_SM1_BASE + 0x5f0)
- #define AR_PHY_AIC_SRAM_DATA_B1       (AR_SM1_BASE + 0x5f4)
--#define AR_PHY_RTT_TABLE_SW_INTF_B(i) (0x384 + (i) ? \
--                                      AR_SM1_BASE : AR_SM_BASE)
--#define AR_PHY_RTT_TABLE_SW_INTF_1_B(i)       (0x388 + (i) ? \
--                                      AR_SM1_BASE : AR_SM_BASE)
-+#define AR_PHY_RTT_TABLE_SW_INTF_B(i) (0x384 + ((i) ? \
-+                                      AR_SM1_BASE : AR_SM_BASE))
-+#define AR_PHY_RTT_TABLE_SW_INTF_1_B(i)       (0x388 + ((i) ? \
-+                                      AR_SM1_BASE : AR_SM_BASE))
- /*
-  * Channel 2 Register Map
-  */
 --- a/include/net/cfg80211.h
 +++ b/include/net/cfg80211.h
 @@ -1122,6 +1122,7 @@ struct cfg80211_ibss_params {
        if (params->ie) {
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -464,6 +464,7 @@ struct ieee80211_if_ibss {
+@@ -465,6 +465,7 @@ struct ieee80211_if_ibss {
        u8 ssid_len, ie_len;
        u8 *ie;
        struct ieee80211_channel *channel;
  
        unsigned long ibss_join_req;
        /* probe response/beacon for IBSS */
-@@ -1338,6 +1339,12 @@ void ieee80211_recalc_smps(struct ieee80
+@@ -1339,6 +1340,12 @@ void ieee80211_recalc_smps(struct ieee80
  size_t ieee80211_ie_split(const u8 *ies, size_t ielen,
                          const u8 *ids, int n_ids, size_t offset);
  size_t ieee80211_ie_split_vendor(const u8 *ies, size_t ielen, size_t offset);
  
  /* internal work items */
  void ieee80211_work_init(struct ieee80211_local *local);
-@@ -1366,6 +1373,8 @@ ieee80211_get_channel_mode(struct ieee80
+@@ -1367,6 +1374,8 @@ ieee80211_get_channel_mode(struct ieee80
  bool ieee80211_set_channel_type(struct ieee80211_local *local,
                                struct ieee80211_sub_if_data *sdata,
                                enum nl80211_channel_type chantype);
This page took 0.029259 seconds and 4 git commands to generate.