ath9k: simplify noise floor calibration chainmask calculation
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 23 Jul 2010 02:22:52 +0000 (02:22 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 23 Jul 2010 02:22:52 +0000 (02:22 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22362 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/531-ath9k_nf_cleanup.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/531-ath9k_nf_cleanup.patch b/package/mac80211/patches/531-ath9k_nf_cleanup.patch
new file mode 100644 (file)
index 0000000..f038559
--- /dev/null
@@ -0,0 +1,30 @@
+--- a/drivers/net/wireless/ath/ath9k/calib.c
++++ b/drivers/net/wireless/ath/ath9k/calib.c
+@@ -172,26 +172,9 @@ void ath9k_hw_loadnf(struct ath_hw *ah, 
+       struct ath9k_nfcal_hist *h;
+       unsigned i, j;
+       int32_t val;
+-      u8 chainmask;
++      u8 chainmask = (ah->rxchainmask << 3) | ah->rxchainmask;
+       struct ath_common *common = ath9k_hw_common(ah);
+-      if (AR_SREV_9300_20_OR_LATER(ah))
+-              chainmask = 0x3F;
+-      else if (AR_SREV_9285(ah) || AR_SREV_9271(ah))
+-              chainmask = 0x9;
+-      else if (AR_SREV_9280(ah) || AR_SREV_9287(ah)) {
+-              if ((ah->rxchainmask & 0x2) || (ah->rxchainmask & 0x4))
+-                      chainmask = 0x1B;
+-              else
+-                      chainmask = 0x09;
+-      } else {
+-              if (ah->rxchainmask & 0x4)
+-                      chainmask = 0x3F;
+-              else if (ah->rxchainmask & 0x2)
+-                      chainmask = 0x1B;
+-              else
+-                      chainmask = 0x09;
+-      }
+       h = ah->nfCalHist;
+       for (i = 0; i < NUM_NF_READINGS; i++) {