ath9k_hw: Remove BTCOEX initvals
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Wed, 11 Apr 2012 04:04:08 +0000 (09:34 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 13 Apr 2012 18:32:50 +0000 (14:32 -0400)
The MAX_TXPWR table for BTCOEX is not needed for AR9462.
Programming these values to the HW results in undesirable
behavior - for example, large number of delimiter/data
underruns are seen in AES-CCMP mode. Also, registers like
AR_PCU_MISC_MODE2 return 0xdeadbeef after the BTCOEX_MAX
power table is programmed to the HW, and frames being transmitted
end up being looped back to the RX engine, an example being beacon
frames in IBSS mode.

Remove this table for now - this fixes CCMP performance and general
IBSS usage.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/ar9003_hw.c
drivers/net/wireless/ath/ath9k/ar9003_phy.c
drivers/net/wireless/ath/ath9k/ar9462_2p0_initvals.h

index 0f56e322dd3bb8157e850723c6a12f30f3ba9a53..a0e3394b10dc6e3696933b6435fdceedbbcdbec6 100644 (file)
@@ -305,11 +305,6 @@ static void ar9003_hw_init_mode_regs(struct ath_hw *ah)
                                ar9462_common_rx_gain_table_2p0,
                                ARRAY_SIZE(ar9462_common_rx_gain_table_2p0), 2);
 
-               INIT_INI_ARRAY(&ah->ini_BTCOEX_MAX_TXPWR,
-                               ar9462_2p0_BTCOEX_MAX_TXPWR_table,
-                               ARRAY_SIZE(ar9462_2p0_BTCOEX_MAX_TXPWR_table),
-                               2);
-
                /* Awake -> Sleep Setting */
                INIT_INI_ARRAY(&ah->iniPcieSerdes,
                                PCIE_PLL_ON_CREQ_DIS_L1_2P0,
index 04d12252731c9a1483aba98058361664a94ea3ae..4c9bc9f14f7971f81acd341b37380a44fd4ea51c 100644 (file)
@@ -683,9 +683,6 @@ static int ar9003_hw_process_ini(struct ath_hw *ah,
 
        REG_WRITE_ARRAY(&ah->iniAdditional, 1, regWrites);
 
-       if (AR_SREV_9462(ah))
-               ar9003_hw_prog_ini(ah, &ah->ini_BTCOEX_MAX_TXPWR, 1);
-
        if (chan->channel == 2484)
                ar9003_hw_prog_ini(ah, &ah->ini_japan2484, 1);
 
index b6ba1e8149be5eaf85022eaecf662c9d016d452e..b39870ce3f2ed60d92cc5a081b2d6e365219d35e 100644 (file)
@@ -1448,16 +1448,4 @@ static const u32 ar9462_common_mixed_rx_gain_table_2p0[][2] = {
        {0x0000b1fc, 0x00000196},
 };
 
-static const u32 ar9462_2p0_BTCOEX_MAX_TXPWR_table[][2] = {
-       /* Addr      allmodes  */
-       {0x000018c0, 0x10101010},
-       {0x000018c4, 0x10101010},
-       {0x000018c8, 0x10101010},
-       {0x000018cc, 0x10101010},
-       {0x000018d0, 0x10101010},
-       {0x000018d4, 0x10101010},
-       {0x000018d8, 0x10101010},
-       {0x000018dc, 0x10101010},
-};
-
 #endif /* INITVALS_9462_2P0_H */