]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/wireless/ath/ath5k/ani.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / net / wireless / ath / ath5k / ani.c
index f1419198a479511f995b9e290b2316b0181bd677..f915f404302d68f2457797fb38255d6920381255 100644 (file)
@@ -58,20 +58,20 @@ ath5k_ani_set_noise_immunity_level(struct ath5k_hw *ah, int level)
 {
        /* TODO:
         * ANI documents suggest the following five levels to use, but the HAL
-        * and ath9k use only use the last two levels, making this
+        * and ath9k use only the last two levels, making this
         * essentially an on/off option. There *may* be a reason for this (???),
         * so i stick with the HAL version for now...
         */
 #if 0
-       const s8 hi[] = { -18, -18, -16, -14, -12 };
-       const s8 lo[] = { -52, -56, -60, -64, -70 };
-       const s8 sz[] = { -34, -41, -48, -55, -62 };
-       const s8 fr[] = { -70, -72, -75, -78, -80 };
+       static const s8 lo[] = { -52, -56, -60, -64, -70 };
+       static const s8 hi[] = { -18, -18, -16, -14, -12 };
+       static const s8 sz[] = { -34, -41, -48, -55, -62 };
+       static const s8 fr[] = { -70, -72, -75, -78, -80 };
 #else
-       const s8 sz[] = { -55, -62 };
-       const s8 lo[] = { -64, -70 };
-       const s8 hi[] = { -14, -12 };
-       const s8 fr[] = { -78, -80 };
+       static const s8 lo[] = { -64, -70 };
+       static const s8 hi[] = { -14, -12 };
+       static const s8 sz[] = { -55, -62 };
+       static const s8 fr[] = { -78, -80 };
 #endif
        if (level < 0 || level >= ARRAY_SIZE(sz)) {
                ATH5K_ERR(ah->ah_sc, "noise immuniy level %d out of range",
@@ -102,7 +102,7 @@ ath5k_ani_set_noise_immunity_level(struct ath5k_hw *ah, int level)
 void
 ath5k_ani_set_spur_immunity_level(struct ath5k_hw *ah, int level)
 {
-       const int val[] = { 2, 4, 6, 8, 10, 12, 14, 16 };
+       static const int val[] = { 2, 4, 6, 8, 10, 12, 14, 16 };
 
        if (level < 0 || level >= ARRAY_SIZE(val) ||
            level > ah->ah_sc->ani_state.max_spur_level) {
@@ -127,7 +127,7 @@ ath5k_ani_set_spur_immunity_level(struct ath5k_hw *ah, int level)
 void
 ath5k_ani_set_firstep_level(struct ath5k_hw *ah, int level)
 {
-       const int val[] = { 0, 4, 8 };
+       static const int val[] = { 0, 4, 8 };
 
        if (level < 0 || level >= ARRAY_SIZE(val)) {
                ATH5K_ERR(ah->ah_sc, "firstep level %d out of range", level);
@@ -151,12 +151,12 @@ ath5k_ani_set_firstep_level(struct ath5k_hw *ah, int level)
 void
 ath5k_ani_set_ofdm_weak_signal_detection(struct ath5k_hw *ah, bool on)
 {
-       const int m1l[] = { 127, 50 };
-       const int m2l[] = { 127, 40 };
-       const int m1[] = { 127, 0x4d };
-       const int m2[] = { 127, 0x40 };
-       const int m2cnt[] = { 31, 16 };
-       const int m2lcnt[] = { 63, 48 };
+       static const int m1l[] = { 127, 50 };
+       static const int m2l[] = { 127, 40 };
+       static const int m1[] = { 127, 0x4d };
+       static const int m2[] = { 127, 0x40 };
+       static const int m2cnt[] = { 31, 16 };
+       static const int m2lcnt[] = { 63, 48 };
 
        AR5K_REG_WRITE_BITS(ah, AR5K_PHY_WEAK_OFDM_LOW_THR,
                                AR5K_PHY_WEAK_OFDM_LOW_THR_M1, m1l[on]);
@@ -192,7 +192,7 @@ ath5k_ani_set_ofdm_weak_signal_detection(struct ath5k_hw *ah, bool on)
 void
 ath5k_ani_set_cck_weak_signal_detection(struct ath5k_hw *ah, bool on)
 {
-       const int val[] = { 8, 6 };
+       static const int val[] = { 8, 6 };
        AR5K_REG_WRITE_BITS(ah, AR5K_PHY_CCK_CROSSCORR,
                                AR5K_PHY_CCK_CROSSCORR_WEAK_SIG_THR, val[on]);
        ah->ah_sc->ani_state.cck_weak_sig = on;
@@ -216,7 +216,7 @@ static void
 ath5k_ani_raise_immunity(struct ath5k_hw *ah, struct ath5k_ani_state *as,
                         bool ofdm_trigger)
 {
-       int rssi = ah->ah_beacon_rssi_avg.avg;
+       int rssi = ewma_read(&ah->ah_beacon_rssi_avg);
 
        ATH5K_DBG_UNLIMIT(ah->ah_sc, ATH5K_DEBUG_ANI, "raise immunity (%s)",
                ofdm_trigger ? "ODFM" : "CCK");
@@ -301,7 +301,7 @@ ath5k_ani_raise_immunity(struct ath5k_hw *ah, struct ath5k_ani_state *as,
 static void
 ath5k_ani_lower_immunity(struct ath5k_hw *ah, struct ath5k_ani_state *as)
 {
-       int rssi = ah->ah_beacon_rssi_avg.avg;
+       int rssi = ewma_read(&ah->ah_beacon_rssi_avg);
 
        ATH5K_DBG_UNLIMIT(ah->ah_sc, ATH5K_DEBUG_ANI, "lower immunity");