ath9k: initialize tx gain table for AR9330
authorGabor Juhos <juhosg@openwrt.org>
Tue, 21 Jun 2011 09:23:27 +0000 (11:23 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 22 Jun 2011 20:09:50 +0000 (16:09 -0400)
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_hw.c

index dc0ad4a..264a7ea 100644 (file)
@@ -328,7 +328,17 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
        switch (ar9003_hw_get_tx_gain_idx(ah)) {
        case 0:
        default:
-               if (AR_SREV_9340(ah))
+               if (AR_SREV_9330_12(ah))
+                       INIT_INI_ARRAY(&ah->iniModesTxGain,
+                               ar9331_modes_lowest_ob_db_tx_gain_1p2,
+                               ARRAY_SIZE(ar9331_modes_lowest_ob_db_tx_gain_1p2),
+                               5);
+               else if (AR_SREV_9330_11(ah))
+                       INIT_INI_ARRAY(&ah->iniModesTxGain,
+                               ar9331_modes_lowest_ob_db_tx_gain_1p1,
+                               ARRAY_SIZE(ar9331_modes_lowest_ob_db_tx_gain_1p1),
+                               5);
+               else if (AR_SREV_9340(ah))
                        INIT_INI_ARRAY(&ah->iniModesTxGain,
                                        ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
                                       ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
@@ -345,7 +355,17 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
                                       5);
                break;
        case 1:
-               if (AR_SREV_9340(ah))
+               if (AR_SREV_9330_12(ah))
+                       INIT_INI_ARRAY(&ah->iniModesTxGain,
+                               ar9331_modes_high_ob_db_tx_gain_1p2,
+                               ARRAY_SIZE(ar9331_modes_high_ob_db_tx_gain_1p2),
+                               5);
+               else if (AR_SREV_9330_11(ah))
+                       INIT_INI_ARRAY(&ah->iniModesTxGain,
+                               ar9331_modes_high_ob_db_tx_gain_1p1,
+                               ARRAY_SIZE(ar9331_modes_high_ob_db_tx_gain_1p1),
+                               5);
+               else if (AR_SREV_9340(ah))
                        INIT_INI_ARRAY(&ah->iniModesTxGain,
                                        ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
                                       ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
@@ -362,7 +382,17 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
                                       5);
                break;
        case 2:
-               if (AR_SREV_9340(ah))
+               if (AR_SREV_9330_12(ah))
+                       INIT_INI_ARRAY(&ah->iniModesTxGain,
+                               ar9331_modes_low_ob_db_tx_gain_1p2,
+                               ARRAY_SIZE(ar9331_modes_low_ob_db_tx_gain_1p2),
+                               5);
+               else if (AR_SREV_9330_11(ah))
+                       INIT_INI_ARRAY(&ah->iniModesTxGain,
+                               ar9331_modes_low_ob_db_tx_gain_1p1,
+                               ARRAY_SIZE(ar9331_modes_low_ob_db_tx_gain_1p1),
+                               5);
+               else if (AR_SREV_9340(ah))
                        INIT_INI_ARRAY(&ah->iniModesTxGain,
                                        ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
                                       ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),
@@ -379,7 +409,17 @@ static void ar9003_tx_gain_table_apply(struct ath_hw *ah)
                                       5);
                break;
        case 3:
-               if (AR_SREV_9340(ah))
+               if (AR_SREV_9330_12(ah))
+                       INIT_INI_ARRAY(&ah->iniModesTxGain,
+                               ar9331_modes_high_power_tx_gain_1p2,
+                               ARRAY_SIZE(ar9331_modes_high_power_tx_gain_1p2),
+                               5);
+               else if (AR_SREV_9330_11(ah))
+                       INIT_INI_ARRAY(&ah->iniModesTxGain,
+                               ar9331_modes_high_power_tx_gain_1p1,
+                               ARRAY_SIZE(ar9331_modes_high_power_tx_gain_1p1),
+                               5);
+               else if (AR_SREV_9340(ah))
                        INIT_INI_ARRAY(&ah->iniModesTxGain,
                                        ar9340Modes_lowest_ob_db_tx_gain_table_1p0,
                                       ARRAY_SIZE(ar9340Modes_lowest_ob_db_tx_gain_table_1p0),