ath9k: simplify noise floor calibration chainmask calculation
authorFelix Fietkau <nbd@openwrt.org>
Fri, 23 Jul 2010 02:22:52 +0000 (02:22 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 23 Jul 2010 02:22:52 +0000 (02:22 +0000)
SVN-Revision: 22362

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++) {