* [PATCH] ath9k_hw: remove initvals for hardware which was never sold
From: Felix Fietkau @ 2010-07-13 12:52 UTC (permalink / raw)
To: linux-wireless; +Cc: Luis R. Rodriguez, John W. Linville, Doug Dahlby
According to documentation, The following chip revisions were never sold:
- AR9280 v1.0
- AR9285 v1.0
- AR9285 v1.1
- AR9287 v1.0
Removing initvals specific to these chip revisions saves around 30k in
binary size (tested on MIPS).
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
---
--- a/drivers/net/wireless/ath/ath9k/ar9002_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9002_hw.c
@@ -85,21 +85,6 @@ static void ar9002_hw_init_mode_regs(struct ath_hw *ah)
ar9287PciePhy_clkreq_always_on_L1_9287_1_1,
ARRAY_SIZE(ar9287PciePhy_clkreq_always_on_L1_9287_1_1),
2);
- } else if (AR_SREV_9287_10_OR_LATER(ah)) {
- INIT_INI_ARRAY(&ah->iniModes, ar9287Modes_9287_1_0,
- ARRAY_SIZE(ar9287Modes_9287_1_0), 6);
- INIT_INI_ARRAY(&ah->iniCommon, ar9287Common_9287_1_0,
- ARRAY_SIZE(ar9287Common_9287_1_0), 2);
-
- if (ah->config.pcie_clock_req)
- INIT_INI_ARRAY(&ah->iniPcieSerdes,
- ar9287PciePhy_clkreq_off_L1_9287_1_0,
- ARRAY_SIZE(ar9287PciePhy_clkreq_off_L1_9287_1_0), 2);
- else
- INIT_INI_ARRAY(&ah->iniPcieSerdes,
- ar9287PciePhy_clkreq_always_on_L1_9287_1_0,
- ARRAY_SIZE(ar9287PciePhy_clkreq_always_on_L1_9287_1_0),
- 2);
} else if (AR_SREV_9285_12_OR_LATER(ah)) {
@@ -118,21 +103,6 @@ static void ar9002_hw_init_mode_regs(struct ath_hw *ah)
ARRAY_SIZE(ar9285PciePhy_clkreq_always_on_L1_9285_1_2),
2);
}
- } else if (AR_SREV_9285_10_OR_LATER(ah)) {
- INIT_INI_ARRAY(&ah->iniModes, ar9285Modes_9285,
- ARRAY_SIZE(ar9285Modes_9285), 6);
- INIT_INI_ARRAY(&ah->iniCommon, ar9285Common_9285,
- ARRAY_SIZE(ar9285Common_9285), 2);
-
- if (ah->config.pcie_clock_req) {
- INIT_INI_ARRAY(&ah->iniPcieSerdes,
- ar9285PciePhy_clkreq_off_L1_9285,
- ARRAY_SIZE(ar9285PciePhy_clkreq_off_L1_9285), 2);
- } else {
- INIT_INI_ARRAY(&ah->iniPcieSerdes,
- ar9285PciePhy_clkreq_always_on_L1_9285,
- ARRAY_SIZE(ar9285PciePhy_clkreq_always_on_L1_9285), 2);
- }
} else if (AR_SREV_9280_20_OR_LATER(ah)) {
INIT_INI_ARRAY(&ah->iniModes, ar9280Modes_9280_2,
ARRAY_SIZE(ar9280Modes_9280_2), 6);
@@ -151,11 +121,6 @@ static void ar9002_hw_init_mode_regs(struct ath_hw *ah)
INIT_INI_ARRAY(&ah->iniModesAdditional,
ar9280Modes_fast_clock_9280_2,
ARRAY_SIZE(ar9280Modes_fast_clock_9280_2), 3);
- } else if (AR_SREV_9280_10_OR_LATER(ah)) {
- INIT_INI_ARRAY(&ah->iniModes, ar9280Modes_9280,
- ARRAY_SIZE(ar9280Modes_9280), 6);
- INIT_INI_ARRAY(&ah->iniCommon, ar9280Common_9280,
- ARRAY_SIZE(ar9280Common_9280), 2);
} else if (AR_SREV_9160_10_OR_LATER(ah)) {
INIT_INI_ARRAY(&ah->iniModes, ar5416Modes_9160,
ARRAY_SIZE(ar5416Modes_9160), 6);
@@ -305,10 +270,6 @@ static void ar9002_hw_init_mode_gain_regs(struct ath_hw *ah)
INIT_INI_ARRAY(&ah->iniModesRxGain,
ar9287Modes_rx_gain_9287_1_1,
ARRAY_SIZE(ar9287Modes_rx_gain_9287_1_1), 6);
- else if (AR_SREV_9287_10(ah))
- INIT_INI_ARRAY(&ah->iniModesRxGain,
- ar9287Modes_rx_gain_9287_1_0,
- ARRAY_SIZE(ar9287Modes_rx_gain_9287_1_0), 6);
else if (AR_SREV_9280_20(ah))
ar9280_20_hw_init_rxgain_ini(ah);
@@ -316,10 +277,6 @@ static void ar9002_hw_init_mode_gain_regs(struct ath_hw *ah)
INIT_INI_ARRAY(&ah->iniModesTxGain,
ar9287Modes_tx_gain_9287_1_1,
ARRAY_SIZE(ar9287Modes_tx_gain_9287_1_1), 6);
- } else if (AR_SREV_9287_10(ah)) {
- INIT_INI_ARRAY(&ah->iniModesTxGain,
- ar9287Modes_tx_gain_9287_1_0,
- ARRAY_SIZE(ar9287Modes_tx_gain_9287_1_0), 6);
} else if (AR_SREV_9280_20(ah)) {
ar9280_20_hw_init_txgain_ini(ah);
} else if (AR_SREV_9285_12_OR_LATER(ah)) {
@@ -389,29 +346,6 @@ static void ar9002_hw_configpcipowersave(struct ath_hw *ah,
REG_WRITE(ah, INI_RA(&ah->iniPcieSerdes, i, 0),
INI_RA(&ah->iniPcieSerdes, i, 1));
}
- } else if (AR_SREV_9280(ah) &&
- (ah->hw_version.macRev == AR_SREV_REVISION_9280_10)) {
- REG_WRITE(ah, AR_PCIE_SERDES, 0x9248fd00);
- REG_WRITE(ah, AR_PCIE_SERDES, 0x24924924);
-
- /* RX shut off when elecidle is asserted */
- REG_WRITE(ah, AR_PCIE_SERDES, 0xa8000019);
- REG_WRITE(ah, AR_PCIE_SERDES, 0x13160820);
- REG_WRITE(ah, AR_PCIE_SERDES, 0xe5980560);
-
- /* Shut off CLKREQ active in L1 */
- if (ah->config.pcie_clock_req)
- REG_WRITE(ah, AR_PCIE_SERDES, 0x401deffc);
- else
- REG_WRITE(ah, AR_PCIE_SERDES, 0x401deffd);
-
- REG_WRITE(ah, AR_PCIE_SERDES, 0x1aaabe40);
- REG_WRITE(ah, AR_PCIE_SERDES, 0xbe105554);
- REG_WRITE(ah, AR_PCIE_SERDES, 0x00043007);
-
- /* Load the new settings */
- REG_WRITE(ah, AR_PCIE_SERDES2, 0x00000000);
-
} else {
ENABLE_REGWRITE_BUFFER(ah);
--- a/drivers/net/wireless/ath/ath9k/ar9002_initvals.h
+++ b/drivers/net/wireless/ath/ath9k/ar9002_initvals.h
@@ -14,556 +14,6 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-static const u32 ar9280Modes_9280[][6] = {
- {0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160, 0x000001e0},
- {0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c, 0x000001e0},
- {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38, 0x00001180},
- {0x000010f0, 0x0000a000, 0x00014000, 0x00016000, 0x0000b000, 0x00014008},
- {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801080, 0x08400840, 0x06e006e0},
- {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b, 0x0988004f},
- {0x00009804, 0x00000300, 0x000003c4, 0x000003c4, 0x00000300, 0x00000303},
- {0x00009820, 0x02020200, 0x02020200, 0x02020200, 0x02020200, 0x02020200},
- {0x00009824, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
- {0x00009828, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001},
- {0x00009834, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
- {0x00009838, 0x00000007, 0x00000007, 0x00000007, 0x00000007, 0x00000007},
- {0x00009844, 0x1372161e, 0x1372161e, 0x137216a0, 0x137216a0, 0x137216a0},
- {0x00009848, 0x00028566, 0x00028566, 0x00028563, 0x00028563, 0x00028563},
- {0x0000a848, 0x00028566, 0x00028566, 0x00028563, 0x00028563, 0x00028563},
- {0x00009850, 0x6d4000e2, 0x6d4000e2, 0x6d4000e2, 0x6d4000e2, 0x6d4000e2},
- {0x00009858, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e},
- {0x0000985c, 0x3139605e, 0x3139605e, 0x3139605e, 0x3139605e, 0x3139605e},
- {0x00009860, 0x00049d18, 0x00049d18, 0x00049d20, 0x00049d20, 0x00049d18},
- {0x0000c864, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00},
- {0x00009868, 0x5ac64190, 0x5ac64190, 0x5ac64190, 0x5ac64190, 0x5ac64190},
- {0x0000986c, 0x06903081, 0x06903081, 0x06903881, 0x06903881, 0x06903881},
- {0x00009914, 0x000007d0, 0x000007d0, 0x00000898, 0x00000898, 0x000007d0},
- {0x00009918, 0x0000000a, 0x00000014, 0x00000016, 0x0000000b, 0x00000016},
- {0x00009924, 0xd00a8a07, 0xd00a8a07, 0xd00a8a0d, 0xd00a8a0d, 0xd00a8a0d},
- {0x00009944, 0xdfbc1010, 0xdfbc1010, 0xdfbc1010, 0xdfbc1010, 0xdfbc1010},
- {0x00009960, 0x00000010, 0x00000010, 0x00000010, 0x00000010, 0x00000010},
- {0x0000a960, 0x00000010, 0x00000010, 0x00000010, 0x00000010, 0x00000010},
- {0x00009964, 0x00000210, 0x00000210, 0x00000210, 0x00000210, 0x00000210},
- {0x0000c9b8, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a, 0x0000001a},
- {0x0000c9bc, 0x00000600, 0x00000600, 0x00000c00, 0x00000c00, 0x00000c00},
- {0x000099c0, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
- {0x000099c4, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77},
- {0x000099c8, 0x60f6532c, 0x60f6532c, 0x60f6532c, 0x60f6532c, 0x60f6532c},
- {0x000099cc, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8},
- {0x000099d0, 0x00046384, 0x00046384, 0x00046384, 0x00046384, 0x00046384},
- {0x000099d4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x000099d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x00009a00, 0x00008184, 0x00008184, 0x00000214, 0x00000214, 0x00000214},
- {0x00009a04, 0x00008188, 0x00008188, 0x00000218, 0x00000218, 0x00000218},
- {0x00009a08, 0x0000818c, 0x0000818c, 0x00000224, 0x00000224, 0x00000224},
- {0x00009a0c, 0x00008190, 0x00008190, 0x00000228, 0x00000228, 0x00000228},
- {0x00009a10, 0x00008194, 0x00008194, 0x0000022c, 0x0000022c, 0x0000022c},
- {0x00009a14, 0x00008200, 0x00008200, 0x00000230, 0x00000230, 0x00000230},
- {0x00009a18, 0x00008204, 0x00008204, 0x000002a4, 0x000002a4, 0x000002a4},
- {0x00009a1c, 0x00008208, 0x00008208, 0x000002a8, 0x000002a8, 0x000002a8},
- {0x00009a20, 0x0000820c, 0x0000820c, 0x000002ac, 0x000002ac, 0x000002ac},
- {0x00009a24, 0x00008210, 0x00008210, 0x000002b0, 0x000002b0, 0x000002b0},
- {0x00009a28, 0x00008214, 0x00008214, 0x000002b4, 0x000002b4, 0x000002b4},
- {0x00009a2c, 0x00008280, 0x00008280, 0x000002b8, 0x000002b8, 0x000002b8},
- {0x00009a30, 0x00008284, 0x00008284, 0x00000390, 0x00000390, 0x00000390},
- {0x00009a34, 0x00008288, 0x00008288, 0x00000394, 0x00000394, 0x00000394},
- {0x00009a38, 0x0000828c, 0x0000828c, 0x00000398, 0x00000398, 0x00000398},
- {0x00009a3c, 0x00008290, 0x00008290, 0x00000334, 0x00000334, 0x00000334},
- {0x00009a40, 0x00008300, 0x00008300, 0x00000338, 0x00000338, 0x00000338},
- {0x00009a44, 0x00008304, 0x00008304, 0x000003ac, 0x000003ac, 0x000003ac},
- {0x00009a48, 0x00008308, 0x00008308, 0x000003b0, 0x000003b0, 0x000003b0},
- {0x00009a4c, 0x0000830c, 0x0000830c, 0x000003b4, 0x000003b4, 0x000003b4},
- {0x00009a50, 0x00008310, 0x00008310, 0x000003b8, 0x000003b8, 0x000003b8},
- {0x00009a54, 0x00008314, 0x00008314, 0x000003a5, 0x000003a5, 0x000003a5},
- {0x00009a58, 0x00008380, 0x00008380, 0x000003a9, 0x000003a9, 0x000003a9},
- {0x00009a5c, 0x00008384, 0x00008384, 0x000003ad, 0x000003ad, 0x000003ad},
- {0x00009a60, 0x00008388, 0x00008388, 0x00008194, 0x00008194, 0x00008194},
- {0x00009a64, 0x0000838c, 0x0000838c, 0x000081a0, 0x000081a0, 0x000081a0},
- {0x00009a68, 0x00008390, 0x00008390, 0x0000820c, 0x0000820c, 0x0000820c},
- {0x00009a6c, 0x00008394, 0x00008394, 0x000081a8, 0x000081a8, 0x000081a8},
- {0x00009a70, 0x0000a380, 0x0000a380, 0x00008284, 0x00008284, 0x00008284},
- {0x00009a74, 0x0000a384, 0x0000a384, 0x00008288, 0x00008288, 0x00008288},
- {0x00009a78, 0x0000a388, 0x0000a388, 0x00008224, 0x00008224, 0x00008224},
- {0x00009a7c, 0x0000a38c, 0x0000a38c, 0x00008290, 0x00008290, 0x00008290},
- {0x00009a80, 0x0000a390, 0x0000a390, 0x00008300, 0x00008300, 0x00008300},
- {0x00009a84, 0x0000a394, 0x0000a394, 0x00008304, 0x00008304, 0x00008304},
- {0x00009a88, 0x0000a780, 0x0000a780, 0x00008308, 0x00008308, 0x00008308},
- {0x00009a8c, 0x0000a784, 0x0000a784, 0x0000830c, 0x0000830c, 0x0000830c},
- {0x00009a90, 0x0000a788, 0x0000a788, 0x00008380, 0x00008380, 0x00008380},
- {0x00009a94, 0x0000a78c, 0x0000a78c, 0x00008384, 0x00008384, 0x00008384},
- {0x00009a98, 0x0000a790, 0x0000a790, 0x00008700, 0x00008700, 0x00008700},
- {0x00009a9c, 0x0000a794, 0x0000a794, 0x00008704, 0x00008704, 0x00008704},
- {0x00009aa0, 0x0000ab84, 0x0000ab84, 0x00008708, 0x00008708, 0x00008708},
- {0x00009aa4, 0x0000ab88, 0x0000ab88, 0x0000870c, 0x0000870c, 0x0000870c},
- {0x00009aa8, 0x0000ab8c, 0x0000ab8c, 0x00008780, 0x00008780, 0x00008780},
- {0x00009aac, 0x0000ab90, 0x0000ab90, 0x00008784, 0x00008784, 0x00008784},
- {0x00009ab0, 0x0000ab94, 0x0000ab94, 0x00008b00, 0x00008b00, 0x00008b00},
- {0x00009ab4, 0x0000af80, 0x0000af80, 0x00008b04, 0x00008b04, 0x00008b04},
- {0x00009ab8, 0x0000af84, 0x0000af84, 0x00008b08, 0x00008b08, 0x00008b08},
- {0x00009abc, 0x0000af88, 0x0000af88, 0x00008b0c, 0x00008b0c, 0x00008b0c},
- {0x00009ac0, 0x0000af8c, 0x0000af8c, 0x00008b80, 0x00008b80, 0x00008b80},
- {0x00009ac4, 0x0000af90, 0x0000af90, 0x00008b84, 0x00008b84, 0x00008b84},
- {0x00009ac8, 0x0000af94, 0x0000af94, 0x00008b88, 0x00008b88, 0x00008b88},
- {0x00009acc, 0x0000b380, 0x0000b380, 0x00008b8c, 0x00008b8c, 0x00008b8c},
- {0x00009ad0, 0x0000b384, 0x0000b384, 0x00008b90, 0x00008b90, 0x00008b90},
- {0x00009ad4, 0x0000b388, 0x0000b388, 0x00008f80, 0x00008f80, 0x00008f80},
- {0x00009ad8, 0x0000b38c, 0x0000b38c, 0x00008f84, 0x00008f84, 0x00008f84},
- {0x00009adc, 0x0000b390, 0x0000b390, 0x00008f88, 0x00008f88, 0x00008f88},
- {0x00009ae0, 0x0000b394, 0x0000b394, 0x00008f8c, 0x00008f8c, 0x00008f8c},
- {0x00009ae4, 0x0000b398, 0x0000b398, 0x00008f90, 0x00008f90, 0x00008f90},
- {0x00009ae8, 0x0000b780, 0x0000b780, 0x0000930c, 0x0000930c, 0x0000930c},
- {0x00009aec, 0x0000b784, 0x0000b784, 0x00009310, 0x00009310, 0x00009310},
- {0x00009af0, 0x0000b788, 0x0000b788, 0x00009384, 0x00009384, 0x00009384},
- {0x00009af4, 0x0000b78c, 0x0000b78c, 0x00009388, 0x00009388, 0x00009388},
- {0x00009af8, 0x0000b790, 0x0000b790, 0x00009324, 0x00009324, 0x00009324},
- {0x00009afc, 0x0000b794, 0x0000b794, 0x00009704, 0x00009704, 0x00009704},
- {0x00009b00, 0x0000b798, 0x0000b798, 0x000096a4, 0x000096a4, 0x000096a4},
- {0x00009b04, 0x0000d784, 0x0000d784, 0x000096a8, 0x000096a8, 0x000096a8},
- {0x00009b08, 0x0000d788, 0x0000d788, 0x00009710, 0x00009710, 0x00009710},
- {0x00009b0c, 0x0000d78c, 0x0000d78c, 0x00009714, 0x00009714, 0x00009714},
- {0x00009b10, 0x0000d790, 0x0000d790, 0x00009720, 0x00009720, 0x00009720},
- {0x00009b14, 0x0000f780, 0x0000f780, 0x00009724, 0x00009724, 0x00009724},
- {0x00009b18, 0x0000f784, 0x0000f784, 0x00009728, 0x00009728, 0x00009728},
- {0x00009b1c, 0x0000f788, 0x0000f788, 0x0000972c, 0x0000972c, 0x0000972c},
- {0x00009b20, 0x0000f78c, 0x0000f78c, 0x000097a0, 0x000097a0, 0x000097a0},
- {0x00009b24, 0x0000f790, 0x0000f790, 0x000097a4, 0x000097a4, 0x000097a4},
- {0x00009b28, 0x0000f794, 0x0000f794, 0x000097a8, 0x000097a8, 0x000097a8},
- {0x00009b2c, 0x0000f7a4, 0x0000f7a4, 0x000097b0, 0x000097b0, 0x000097b0},
- {0x00009b30, 0x0000f7a8, 0x0000f7a8, 0x000097b4, 0x000097b4, 0x000097b4},
- {0x00009b34, 0x0000f7ac, 0x0000f7ac, 0x000097b8, 0x000097b8, 0x000097b8},
- {0x00009b38, 0x0000f7b0, 0x0000f7b0, 0x000097a5, 0x000097a5, 0x000097a5},
- {0x00009b3c, 0x0000f7b4, 0x0000f7b4, 0x000097a9, 0x000097a9, 0x000097a9},
- {0x00009b40, 0x0000f7a1, 0x0000f7a1, 0x000097ad, 0x000097ad, 0x000097ad},
- {0x00009b44, 0x0000f7a5, 0x0000f7a5, 0x000097b1, 0x000097b1, 0x000097b1},
- {0x00009b48, 0x0000f7a9, 0x0000f7a9, 0x000097b5, 0x000097b5, 0x000097b5},
- {0x00009b4c, 0x0000f7ad, 0x0000f7ad, 0x000097b9, 0x000097b9, 0x000097b9},
- {0x00009b50, 0x0000f7b1, 0x0000f7b1, 0x000097c5, 0x000097c5, 0x000097c5},
- {0x00009b54, 0x0000f7b5, 0x0000f7b5, 0x000097c9, 0x000097c9, 0x000097c9},
- {0x00009b58, 0x0000f7c5, 0x0000f7c5, 0x000097d1, 0x000097d1, 0x000097d1},
- {0x00009b5c, 0x0000f7c9, 0x0000f7c9, 0x000097d5, 0x000097d5, 0x000097d5},
- {0x00009b60, 0x0000f7cd, 0x0000f7cd, 0x000097d9, 0x000097d9, 0x000097d9},
- {0x00009b64, 0x0000f7d1, 0x0000f7d1, 0x000097c6, 0x000097c6, 0x000097c6},
- {0x00009b68, 0x0000f7d5, 0x0000f7d5, 0x000097ca, 0x000097ca, 0x000097ca},
- {0x00009b6c, 0x0000f7c2, 0x0000f7c2, 0x000097ce, 0x000097ce, 0x000097ce},
- {0x00009b70, 0x0000f7c6, 0x0000f7c6, 0x000097d2, 0x000097d2, 0x000097d2},
- {0x00009b74, 0x0000f7ca, 0x0000f7ca, 0x000097d6, 0x000097d6, 0x000097d6},
- {0x00009b78, 0x0000f7ce, 0x0000f7ce, 0x000097c3, 0x000097c3, 0x000097c3},
- {0x00009b7c, 0x0000f7d2, 0x0000f7d2, 0x000097c7, 0x000097c7, 0x000097c7},
- {0x00009b80, 0x0000f7d6, 0x0000f7d6, 0x000097cb, 0x000097cb, 0x000097cb},
- {0x00009b84, 0x0000f7c3, 0x0000f7c3, 0x000097cf, 0x000097cf, 0x000097cf},
- {0x00009b88, 0x0000f7c7, 0x0000f7c7, 0x000097d7, 0x000097d7, 0x000097d7},
- {0x00009b8c, 0x0000f7cb, 0x0000f7cb, 0x000097db, 0x000097db, 0x000097db},
- {0x00009b90, 0x0000f7d3, 0x0000f7d3, 0x000097db, 0x000097db, 0x000097db},
- {0x00009b94, 0x0000f7d7, 0x0000f7d7, 0x000097db, 0x000097db, 0x000097db},
- {0x00009b98, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009b9c, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009ba0, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009ba4, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009ba8, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bac, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bb0, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bb4, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bb8, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bbc, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bc0, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bc4, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bc8, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bcc, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bd0, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bd4, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bd8, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bdc, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009be0, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009be4, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009be8, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bec, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bf0, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bf4, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bf8, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x00009bfc, 0x0000f7db, 0x0000f7db, 0x000097db, 0x000097db, 0x000097db},
- {0x0000a204, 0x00000444, 0x00000444, 0x00000444, 0x00000444, 0x00000444},
- {0x0000a208, 0x803e4788, 0x803e4788, 0x803e4788, 0x803e4788, 0x803e4788},
- {0x0000a20c, 0x000c6019, 0x000c6019, 0x000c6019, 0x000c6019, 0x000c6019},
- {0x0000b20c, 0x000c6019, 0x000c6019, 0x000c6019, 0x000c6019, 0x000c6019},
- {0x0000a21c, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a},
- {0x0000a230, 0x00000000, 0x00000000, 0x00000210, 0x00000108, 0x00000000},
- {0x0000a274, 0x0a19c652, 0x0a19c652, 0x0a1aa652, 0x0a1aa652, 0x0a1aa652},
- {0x0000a300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x0000a304, 0x00003002, 0x00003002, 0x00003002, 0x00003002, 0x00003002},
- {0x0000a308, 0x00006004, 0x00006004, 0x00008009, 0x00008009, 0x00008009},
- {0x0000a30c, 0x0000a006, 0x0000a006, 0x0000b00b, 0x0000b00b, 0x0000b00b},
- {0x0000a310, 0x0000e012, 0x0000e012, 0x0000e012, 0x0000e012, 0x0000e012},
- {0x0000a314, 0x00011014, 0x00011014, 0x00012048, 0x00012048, 0x00012048},
- {0x0000a318, 0x0001504a, 0x0001504a, 0x0001604a, 0x0001604a, 0x0001604a},
- {0x0000a31c, 0x0001904c, 0x0001904c, 0x0001a211, 0x0001a211, 0x0001a211},
- {0x0000a320, 0x0001c04e, 0x0001c04e, 0x0001e213, 0x0001e213, 0x0001e213},
- {0x0000a324, 0x00020092, 0x00020092, 0x0002121b, 0x0002121b, 0x0002121b},
- {0x0000a328, 0x0002410a, 0x0002410a, 0x00024412, 0x00024412, 0x00024412},
- {0x0000a32c, 0x0002710c, 0x0002710c, 0x00028414, 0x00028414, 0x00028414},
- {0x0000a330, 0x0002b18b, 0x0002b18b, 0x0002b44a, 0x0002b44a, 0x0002b44a},
- {0x0000a334, 0x0002e1cc, 0x0002e1cc, 0x00030649, 0x00030649, 0x00030649},
- {0x0000a338, 0x000321ec, 0x000321ec, 0x0003364b, 0x0003364b, 0x0003364b},
- {0x0000a33c, 0x000321ec, 0x000321ec, 0x00038a49, 0x00038a49, 0x00038a49},
- {0x0000a340, 0x000321ec, 0x000321ec, 0x0003be48, 0x0003be48, 0x0003be48},
- {0x0000a344, 0x000321ec, 0x000321ec, 0x0003ee4a, 0x0003ee4a, 0x0003ee4a},
- {0x0000a348, 0x000321ec, 0x000321ec, 0x00042e88, 0x00042e88, 0x00042e88},
- {0x0000a34c, 0x000321ec, 0x000321ec, 0x00046e8a, 0x00046e8a, 0x00046e8a},
- {0x0000a350, 0x000321ec, 0x000321ec, 0x00049ec9, 0x00049ec9, 0x00049ec9},
- {0x0000a354, 0x000321ec, 0x000321ec, 0x0004bf42, 0x0004bf42, 0x0004bf42},
- {0x0000784c, 0x0e4f048c, 0x0e4f048c, 0x0e4d048c, 0x0e4d048c, 0x0e4d048c},
- {0x00007854, 0x12031828, 0x12031828, 0x12035828, 0x12035828, 0x12035828},
- {0x00007870, 0x807ec400, 0x807ec400, 0x807ec000, 0x807ec000, 0x807ec000},
- {0x0000788c, 0x00010000, 0x00010000, 0x00110000, 0x00110000, 0x00110000},
-};
-
-static const u32 ar9280Common_9280[][2] = {
- /* Addr allmodes */
- {0x0000000c, 0x00000000},
- {0x00000030, 0x00020015},
- {0x00000034, 0x00000005},
- {0x00000040, 0x00000000},
- {0x00000044, 0x00000008},
- {0x00000048, 0x00000008},
- {0x0000004c, 0x00000010},
- {0x00000050, 0x00000000},
- {0x00000054, 0x0000001f},
- {0x00000800, 0x00000000},
- {0x00000804, 0x00000000},
- {0x00000808, 0x00000000},
- {0x0000080c, 0x00000000},
- {0x00000810, 0x00000000},
- {0x00000814, 0x00000000},
- {0x00000818, 0x00000000},
- {0x0000081c, 0x00000000},
- {0x00000820, 0x00000000},
- {0x00000824, 0x00000000},
- {0x00001040, 0x002ffc0f},
- {0x00001044, 0x002ffc0f},
- {0x00001048, 0x002ffc0f},
- {0x0000104c, 0x002ffc0f},
- {0x00001050, 0x002ffc0f},
- {0x00001054, 0x002ffc0f},
- {0x00001058, 0x002ffc0f},
- {0x0000105c, 0x002ffc0f},
- {0x00001060, 0x002ffc0f},
- {0x00001064, 0x002ffc0f},
- {0x00001230, 0x00000000},
- {0x00001270, 0x00000000},
- {0x00001038, 0x00000000},
- {0x00001078, 0x00000000},
- {0x000010b8, 0x00000000},
- {0x000010f8, 0x00000000},
- {0x00001138, 0x00000000},
- {0x00001178, 0x00000000},
- {0x000011b8, 0x00000000},
- {0x000011f8, 0x00000000},
- {0x00001238, 0x00000000},
- {0x00001278, 0x00000000},
- {0x000012b8, 0x00000000},
- {0x000012f8, 0x00000000},
- {0x00001338, 0x00000000},
- {0x00001378, 0x00000000},
- {0x000013b8, 0x00000000},
- {0x000013f8, 0x00000000},
- {0x00001438, 0x00000000},
- {0x00001478, 0x00000000},
- {0x000014b8, 0x00000000},
- {0x000014f8, 0x00000000},
- {0x00001538, 0x00000000},
- {0x00001578, 0x00000000},
- {0x000015b8, 0x00000000},
- {0x000015f8, 0x00000000},
- {0x00001638, 0x00000000},
- {0x00001678, 0x00000000},
- {0x000016b8, 0x00000000},
- {0x000016f8, 0x00000000},
- {0x00001738, 0x00000000},
- {0x00001778, 0x00000000},
- {0x000017b8, 0x00000000},
- {0x000017f8, 0x00000000},
- {0x0000103c, 0x00000000},
- {0x0000107c, 0x00000000},
- {0x000010bc, 0x00000000},
- {0x000010fc, 0x00000000},
- {0x0000113c, 0x00000000},
- {0x0000117c, 0x00000000},
- {0x000011bc, 0x00000000},
- {0x000011fc, 0x00000000},
- {0x0000123c, 0x00000000},
- {0x0000127c, 0x00000000},
- {0x000012bc, 0x00000000},
- {0x000012fc, 0x00000000},
- {0x0000133c, 0x00000000},
- {0x0000137c, 0x00000000},
- {0x000013bc, 0x00000000},
- {0x000013fc, 0x00000000},
- {0x0000143c, 0x00000000},
- {0x0000147c, 0x00000000},
- {0x00004030, 0x00000002},
- {0x0000403c, 0x00000002},
- {0x00004024, 0x0000001f},
- {0x00007010, 0x00000033},
- {0x00007038, 0x000004c2},
- {0x00008004, 0x00000000},
- {0x00008008, 0x00000000},
- {0x0000800c, 0x00000000},
- {0x00008018, 0x00000700},
- {0x00008020, 0x00000000},
- {0x00008038, 0x00000000},
- {0x0000803c, 0x00000000},
- {0x00008048, 0x40000000},
- {0x00008054, 0x00000000},
- {0x00008058, 0x00000000},
- {0x0000805c, 0x000fc78f},
- {0x00008060, 0x0000000f},
- {0x00008064, 0x00000000},
- {0x00008070, 0x00000000},
- {0x000080c0, 0x2a82301a},
- {0x000080c4, 0x05dc01e0},
- {0x000080c8, 0x1f402710},
- {0x000080cc, 0x01f40000},
- {0x000080d0, 0x00001e00},
- {0x000080d4, 0x00000000},
- {0x000080d8, 0x00400000},
- {0x000080e0, 0xffffffff},
- {0x000080e4, 0x0000ffff},
- {0x000080e8, 0x003f3f3f},
- {0x000080ec, 0x00000000},
- {0x000080f0, 0x00000000},
- {0x000080f4, 0x00000000},
- {0x000080f8, 0x00000000},
- {0x000080fc, 0x00020000},
- {0x00008100, 0x00020000},
- {0x00008104, 0x00000001},
- {0x00008108, 0x00000052},
- {0x0000810c, 0x00000000},
- {0x00008110, 0x00000168},
- {0x00008118, 0x000100aa},
- {0x0000811c, 0x00003210},
- {0x00008120, 0x08f04800},
- {0x00008124, 0x00000000},
- {0x00008128, 0x00000000},
- {0x0000812c, 0x00000000},
- {0x00008130, 0x00000000},
- {0x00008134, 0x00000000},
- {0x00008138, 0x00000000},
- {0x0000813c, 0x00000000},
- {0x00008144, 0x00000000},
- {0x00008168, 0x00000000},
- {0x0000816c, 0x00000000},
- {0x00008170, 0x32143320},
- {0x00008174, 0xfaa4fa50},
- {0x00008178, 0x00000100},
- {0x0000817c, 0x00000000},
- {0x000081c4, 0x00000000},
- {0x000081d0, 0x00003210},
- {0x000081ec, 0x00000000},
- {0x000081f0, 0x00000000},
- {0x000081f4, 0x00000000},
- {0x000081f8, 0x00000000},
- {0x000081fc, 0x00000000},
- {0x00008200, 0x00000000},
- {0x00008204, 0x00000000},
- {0x00008208, 0x00000000},
- {0x0000820c, 0x00000000},
- {0x00008210, 0x00000000},
- {0x00008214, 0x00000000},
- {0x00008218, 0x00000000},
- {0x0000821c, 0x00000000},
- {0x00008220, 0x00000000},
- {0x00008224, 0x00000000},
- {0x00008228, 0x00000000},
- {0x0000822c, 0x00000000},
- {0x00008230, 0x00000000},
- {0x00008234, 0x00000000},
- {0x00008238, 0x00000000},
- {0x0000823c, 0x00000000},
- {0x00008240, 0x00100000},
- {0x00008244, 0x0010f400},
- {0x00008248, 0x00000100},
- {0x0000824c, 0x0001e800},
- {0x00008250, 0x00000000},
- {0x00008254, 0x00000000},
- {0x00008258, 0x00000000},
- {0x0000825c, 0x400000ff},
- {0x00008260, 0x00080922},
- {0x00008270, 0x00000000},
- {0x00008274, 0x40000000},
- {0x00008278, 0x003e4180},
- {0x0000827c, 0x00000000},
- {0x00008284, 0x0000002c},
- {0x00008288, 0x0000002c},
- {0x0000828c, 0x00000000},
- {0x00008294, 0x00000000},
- {0x00008298, 0x00000000},
- {0x00008300, 0x00000000},
- {0x00008304, 0x00000000},
- {0x00008308, 0x00000000},
- {0x0000830c, 0x00000000},
- {0x00008310, 0x00000000},
- {0x00008314, 0x00000000},
- {0x00008318, 0x00000000},
- {0x00008328, 0x00000000},
- {0x0000832c, 0x00000007},
- {0x00008330, 0x00000302},
- {0x00008334, 0x00000e00},
- {0x00008338, 0x00000000},
- {0x0000833c, 0x00000000},
- {0x00008340, 0x000107ff},
- {0x00008344, 0x00000000},
- {0x00009808, 0x00000000},
- {0x0000980c, 0xaf268e30},
- {0x00009810, 0xfd14e000},
- {0x00009814, 0x9c0a9f6b},
- {0x0000981c, 0x00000000},
- {0x0000982c, 0x0000a000},
- {0x00009830, 0x00000000},
- {0x0000983c, 0x00200400},
- {0x00009840, 0x206a01ae},
- {0x0000984c, 0x0040233c},
- {0x0000a84c, 0x0040233c},
- {0x00009854, 0x00000044},
- {0x00009900, 0x00000000},
- {0x00009904, 0x00000000},
- {0x00009908, 0x00000000},
- {0x0000990c, 0x00000000},
- {0x0000991c, 0x10000fff},
- {0x00009920, 0x04900000},
- {0x0000a920, 0x04900000},
- {0x00009928, 0x00000001},
- {0x0000992c, 0x00000004},
- {0x00009934, 0x1e1f2022},
- {0x00009938, 0x0a0b0c0d},
- {0x0000993c, 0x00000000},
- {0x00009948, 0x9280c00a},
- {0x0000994c, 0x00020028},
- {0x00009954, 0xe250a51e},
- {0x00009958, 0x3388ffff},
- {0x00009940, 0x00781204},
- {0x0000c95c, 0x004b6a8e},
- {0x0000c968, 0x000003ce},
- {0x00009970, 0x190fb514},
- {0x00009974, 0x00000000},
- {0x00009978, 0x00000001},
- {0x0000997c, 0x00000000},
- {0x00009980, 0x00000000},
- {0x00009984, 0x00000000},
- {0x00009988, 0x00000000},
- {0x0000998c, 0x00000000},
- {0x00009990, 0x00000000},
- {0x00009994, 0x00000000},
- {0x00009998, 0x00000000},
- {0x0000999c, 0x00000000},
- {0x000099a0, 0x00000000},
- {0x000099a4, 0x00000001},
- {0x000099a8, 0x201fff00},
- {0x000099ac, 0x006f00c4},
- {0x000099b0, 0x03051000},
- {0x000099b4, 0x00000820},
- {0x000099dc, 0x00000000},
- {0x000099e0, 0x00000000},
- {0x000099e4, 0xaaaaaaaa},
- {0x000099e8, 0x3c466478},
- {0x000099ec, 0x0cc80caa},
- {0x000099fc, 0x00001042},
- {0x0000a210, 0x4080a333},
- {0x0000a214, 0x40206c10},
- {0x0000a218, 0x009c4060},
- {0x0000a220, 0x01834061},
- {0x0000a224, 0x00000400},
- {0x0000a228, 0x000003b5},
- {0x0000a22c, 0x23277200},
- {0x0000a234, 0x20202020},
- {0x0000a238, 0x20202020},
- {0x0000a23c, 0x13c889af},
- {0x0000a240, 0x38490a20},
- {0x0000a244, 0x00007bb6},
- {0x0000a248, 0x0fff3ffc},
- {0x0000a24c, 0x00000001},
- {0x0000a250, 0x001da000},
- {0x0000a254, 0x00000000},
- {0x0000a258, 0x0cdbd380},
- {0x0000a25c, 0x0f0f0f01},
- {0x0000a260, 0xdfa91f01},
- {0x0000a268, 0x00000000},
- {0x0000a26c, 0x0ebae9c6},
- {0x0000b26c, 0x0ebae9c6},
- {0x0000d270, 0x00820820},
- {0x0000a278, 0x1ce739ce},
- {0x0000a27c, 0x050701ce},
- {0x0000a358, 0x7999aa0f},
- {0x0000d35c, 0x07ffffef},
- {0x0000d360, 0x0fffffe7},
- {0x0000d364, 0x17ffffe5},
- {0x0000d368, 0x1fffffe4},
- {0x0000d36c, 0x37ffffe3},
- {0x0000d370, 0x3fffffe3},
- {0x0000d374, 0x57ffffe3},
- {0x0000d378, 0x5fffffe2},
- {0x0000d37c, 0x7fffffe2},
- {0x0000d380, 0x7f3c7bba},
- {0x0000d384, 0xf3307ff0},
- {0x0000a388, 0x0c000000},
- {0x0000a38c, 0x20202020},
- {0x0000a390, 0x20202020},
- {0x0000a394, 0x1ce739ce},
- {0x0000a398, 0x000001ce},
- {0x0000a39c, 0x00000001},
- {0x0000a3a0, 0x00000000},
- {0x0000a3a4, 0x00000000},
- {0x0000a3a8, 0x00000000},
- {0x0000a3ac, 0x00000000},
- {0x0000a3b0, 0x00000000},
- {0x0000a3b4, 0x00000000},
- {0x0000a3b8, 0x00000000},
- {0x0000a3bc, 0x00000000},
- {0x0000a3c0, 0x00000000},
- {0x0000a3c4, 0x00000000},
- {0x0000a3c8, 0x00000246},
- {0x0000a3cc, 0x20202020},
- {0x0000a3d0, 0x20202020},
- {0x0000a3d4, 0x20202020},
- {0x0000a3dc, 0x1ce739ce},
- {0x0000a3e0, 0x000001ce},
- {0x0000a3e4, 0x00000000},
- {0x0000a3e8, 0x18c43433},
- {0x0000a3ec, 0x00f38081},
- {0x00007800, 0x00040000},
- {0x00007804, 0xdb005012},
- {0x00007808, 0x04924914},
- {0x0000780c, 0x21084210},
- {0x00007810, 0x6d801300},
- {0x00007814, 0x0019beff},
- {0x00007818, 0x07e40000},
- {0x0000781c, 0x00492000},
- {0x00007820, 0x92492480},
- {0x00007824, 0x00040000},
- {0x00007828, 0xdb005012},
- {0x0000782c, 0x04924914},
- {0x00007830, 0x21084210},
- {0x00007834, 0x6d801300},
- {0x00007838, 0x0019beff},
- {0x0000783c, 0x07e40000},
- {0x00007840, 0x00492000},
- {0x00007844, 0x92492480},
- {0x00007848, 0x00120000},
- {0x00007850, 0x54214514},
- {0x00007858, 0x92592692},
- {0x00007860, 0x52802000},
- {0x00007864, 0x0a8e370e},
- {0x00007868, 0xc0102850},
- {0x0000786c, 0x812d4000},
- {0x00007874, 0x001b6db0},
- {0x00007878, 0x00376b63},
- {0x0000787c, 0x06db6db6},
- {0x00007880, 0x006d8000},
- {0x00007884, 0xffeffffe},
- {0x00007888, 0xffeffffe},
- {0x00007890, 0x00060aeb},
- {0x00007894, 0x5a108000},
- {0x00007898, 0x2a850160},
-};
-
static const u32 ar9280Modes_9280_2[][6] = {
{0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160, 0x000001e0},
{0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c, 0x000001e0},
@@ -1469,662 +919,6 @@ static const u32 ar9280PciePhy_clkreq_always_on_L1_9280[][2] = {
{0x00004044, 0x00000000},
};
-static const u32 ar9285Modes_9285[][6] = {
- {0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160, 0x000001e0},
- {0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c, 0x000001e0},
- {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38, 0x00001180},
- {0x000010f0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008},
- {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00, 0x06e006e0},
- {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b, 0x0988004f},
- {0x00008318, 0x00003e80, 0x00007d00, 0x00006880, 0x00003440, 0x00006880},
- {0x00009804, 0x00000300, 0x000003c4, 0x000003c4, 0x00000300, 0x00000303},
- {0x00009820, 0x02020200, 0x02020200, 0x02020200, 0x02020200, 0x02020200},
- {0x00009824, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
- {0x00009828, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001},
- {0x00009834, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
- {0x00009838, 0x00000007, 0x00000007, 0x00000007, 0x00000007, 0x00000007},
- {0x00009840, 0x206a012e, 0x206a012e, 0x206a012e, 0x206a012e, 0x206a012e},
- {0x00009844, 0x0372161e, 0x0372161e, 0x03720020, 0x03720020, 0x037216a0},
- {0x00009848, 0x00001066, 0x00001066, 0x0000004e, 0x0000004e, 0x00001059},
- {0x00009850, 0x6d4000e2, 0x6d4000e2, 0x6d4000e2, 0x6d4000e2, 0x6d4000e2},
- {0x00009858, 0x7ec84d2e, 0x7ec84d2e, 0x7ec84d2e, 0x7ec84d2e, 0x7ec84d2e},
- {0x0000985c, 0x3139605e, 0x3139605e, 0x3136605e, 0x3136605e, 0x3139605e},
- {0x00009860, 0x00058d18, 0x00058d18, 0x00058d20, 0x00058d20, 0x00058d18},
- {0x00009864, 0x0000fe00, 0x0000fe00, 0x0001ce00, 0x0001ce00, 0x0001ce00},
- {0x00009868, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0},
- {0x0000986c, 0x06903081, 0x06903081, 0x06903881, 0x06903881, 0x06903881},
- {0x00009914, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898, 0x000007d0},
- {0x00009918, 0x0000000a, 0x00000014, 0x00000016, 0x0000000b, 0x00000016},
- {0x00009924, 0xd00a8007, 0xd00a8007, 0xd00a800d, 0xd00a800d, 0xd00a800d},
- {0x00009944, 0xdfbc1010, 0xdfbc1010, 0xdfbc1020, 0xdfbc1020, 0xdfbc1010},
- {0x00009960, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x00009964, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x000099b8, 0x00cf4d1c, 0x00cf4d1c, 0x00cf4d1c, 0x00cf4d1c, 0x00cf4d1c},
- {0x000099bc, 0x00000600, 0x00000600, 0x00000c00, 0x00000c00, 0x00000c00},
- {0x000099c0, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
- {0x000099c4, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77},
- {0x000099c8, 0x60f65329, 0x60f65329, 0x60f65329, 0x60f65329, 0x60f65329},
- {0x000099cc, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8},
- {0x000099d0, 0x00046384, 0x00046384, 0x00046384, 0x00046384, 0x00046384},
- {0x000099d4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x000099d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x00009a00, 0x00000000, 0x00000000, 0x00068084, 0x00068084, 0x00000000},
- {0x00009a04, 0x00000000, 0x00000000, 0x00068088, 0x00068088, 0x00000000},
- {0x00009a08, 0x00000000, 0x00000000, 0x0006808c, 0x0006808c, 0x00000000},
- {0x00009a0c, 0x00000000, 0x00000000, 0x00068100, 0x00068100, 0x00000000},
- {0x00009a10, 0x00000000, 0x00000000, 0x00068104, 0x00068104, 0x00000000},
- {0x00009a14, 0x00000000, 0x00000000, 0x00068108, 0x00068108, 0x00000000},
- {0x00009a18, 0x00000000, 0x00000000, 0x0006810c, 0x0006810c, 0x00000000},
- {0x00009a1c, 0x00000000, 0x00000000, 0x00068110, 0x00068110, 0x00000000},
- {0x00009a20, 0x00000000, 0x00000000, 0x00068114, 0x00068114, 0x00000000},
- {0x00009a24, 0x00000000, 0x00000000, 0x00068180, 0x00068180, 0x00000000},
- {0x00009a28, 0x00000000, 0x00000000, 0x00068184, 0x00068184, 0x00000000},
- {0x00009a2c, 0x00000000, 0x00000000, 0x00068188, 0x00068188, 0x00000000},
- {0x00009a30, 0x00000000, 0x00000000, 0x0006818c, 0x0006818c, 0x00000000},
- {0x00009a34, 0x00000000, 0x00000000, 0x00068190, 0x00068190, 0x00000000},
- {0x00009a38, 0x00000000, 0x00000000, 0x00068194, 0x00068194, 0x00000000},
- {0x00009a3c, 0x00000000, 0x00000000, 0x000681a0, 0x000681a0, 0x00000000},
- {0x00009a40, 0x00000000, 0x00000000, 0x0006820c, 0x0006820c, 0x00000000},
- {0x00009a44, 0x00000000, 0x00000000, 0x000681a8, 0x000681a8, 0x00000000},
- {0x00009a48, 0x00000000, 0x00000000, 0x00068284, 0x00068284, 0x00000000},
- {0x00009a4c, 0x00000000, 0x00000000, 0x00068288, 0x00068288, 0x00000000},
- {0x00009a50, 0x00000000, 0x00000000, 0x00068220, 0x00068220, 0x00000000},
- {0x00009a54, 0x00000000, 0x00000000, 0x00068290, 0x00068290, 0x00000000},
- {0x00009a58, 0x00000000, 0x00000000, 0x00068300, 0x00068300, 0x00000000},
- {0x00009a5c, 0x00000000, 0x00000000, 0x00068304, 0x00068304, 0x00000000},
- {0x00009a60, 0x00000000, 0x00000000, 0x00068308, 0x00068308, 0x00000000},
- {0x00009a64, 0x00000000, 0x00000000, 0x0006830c, 0x0006830c, 0x00000000},
- {0x00009a68, 0x00000000, 0x00000000, 0x00068380, 0x00068380, 0x00000000},
- {0x00009a6c, 0x00000000, 0x00000000, 0x00068384, 0x00068384, 0x00000000},
- {0x00009a70, 0x00000000, 0x00000000, 0x00068700, 0x00068700, 0x00000000},
- {0x00009a74, 0x00000000, 0x00000000, 0x00068704, 0x00068704, 0x00000000},
- {0x00009a78, 0x00000000, 0x00000000, 0x00068708, 0x00068708, 0x00000000},
- {0x00009a7c, 0x00000000, 0x00000000, 0x0006870c, 0x0006870c, 0x00000000},
- {0x00009a80, 0x00000000, 0x00000000, 0x00068780, 0x00068780, 0x00000000},
- {0x00009a84, 0x00000000, 0x00000000, 0x00068784, 0x00068784, 0x00000000},
- {0x00009a88, 0x00000000, 0x00000000, 0x00068b04, 0x00068b04, 0x00000000},
- {0x00009a8c, 0x00000000, 0x00000000, 0x00068b08, 0x00068b08, 0x00000000},
- {0x00009a90, 0x00000000, 0x00000000, 0x00068b08, 0x00068b08, 0x00000000},
- {0x00009a94, 0x00000000, 0x00000000, 0x00068b0c, 0x00068b0c, 0x00000000},
- {0x00009a98, 0x00000000, 0x00000000, 0x00068b80, 0x00068b80, 0x00000000},
- {0x00009a9c, 0x00000000, 0x00000000, 0x00068b84, 0x00068b84, 0x00000000},
- {0x00009aa0, 0x00000000, 0x00000000, 0x00068b88, 0x00068b88, 0x00000000},
- {0x00009aa4, 0x00000000, 0x00000000, 0x00068b8c, 0x00068b8c, 0x00000000},
- {0x00009aa8, 0x00000000, 0x00000000, 0x000b8b90, 0x000b8b90, 0x00000000},
- {0x00009aac, 0x00000000, 0x00000000, 0x000b8f80, 0x000b8f80, 0x00000000},
- {0x00009ab0, 0x00000000, 0x00000000, 0x000b8f84, 0x000b8f84, 0x00000000},
- {0x00009ab4, 0x00000000, 0x00000000, 0x000b8f88, 0x000b8f88, 0x00000000},
- {0x00009ab8, 0x00000000, 0x00000000, 0x000b8f8c, 0x000b8f8c, 0x00000000},
- {0x00009abc, 0x00000000, 0x00000000, 0x000b8f90, 0x000b8f90, 0x00000000},
- {0x00009ac0, 0x00000000, 0x00000000, 0x000bb30c, 0x000bb30c, 0x00000000},
- {0x00009ac4, 0x00000000, 0x00000000, 0x000bb310, 0x000bb310, 0x00000000},
- {0x00009ac8, 0x00000000, 0x00000000, 0x000bb384, 0x000bb384, 0x00000000},
- {0x00009acc, 0x00000000, 0x00000000, 0x000bb388, 0x000bb388, 0x00000000},
- {0x00009ad0, 0x00000000, 0x00000000, 0x000bb324, 0x000bb324, 0x00000000},
- {0x00009ad4, 0x00000000, 0x00000000, 0x000bb704, 0x000bb704, 0x00000000},
- {0x00009ad8, 0x00000000, 0x00000000, 0x000f96a4, 0x000f96a4, 0x00000000},
- {0x00009adc, 0x00000000, 0x00000000, 0x000f96a8, 0x000f96a8, 0x00000000},
- {0x00009ae0, 0x00000000, 0x00000000, 0x000f9710, 0x000f9710, 0x00000000},
- {0x00009ae4, 0x00000000, 0x00000000, 0x000f9714, 0x000f9714, 0x00000000},
- {0x00009ae8, 0x00000000, 0x00000000, 0x000f9720, 0x000f9720, 0x00000000},
- {0x00009aec, 0x00000000, 0x00000000, 0x000f9724, 0x000f9724, 0x00000000},
- {0x00009af0, 0x00000000, 0x00000000, 0x000f9728, 0x000f9728, 0x00000000},
- {0x00009af4, 0x00000000, 0x00000000, 0x000f972c, 0x000f972c, 0x00000000},
- {0x00009af8, 0x00000000, 0x00000000, 0x000f97a0, 0x000f97a0, 0x00000000},
- {0x00009afc, 0x00000000, 0x00000000, 0x000f97a4, 0x000f97a4, 0x00000000},
- {0x00009b00, 0x00000000, 0x00000000, 0x000fb7a8, 0x000fb7a8, 0x00000000},
- {0x00009b04, 0x00000000, 0x00000000, 0x000fb7b0, 0x000fb7b0, 0x00000000},
- {0x00009b08, 0x00000000, 0x00000000, 0x000fb7b4, 0x000fb7b4, 0x00000000},
- {0x00009b0c, 0x00000000, 0x00000000, 0x000fb7b8, 0x000fb7b8, 0x00000000},
- {0x00009b10, 0x00000000, 0x00000000, 0x000fb7a5, 0x000fb7a5, 0x00000000},
- {0x00009b14, 0x00000000, 0x00000000, 0x000fb7a9, 0x000fb7a9, 0x00000000},
- {0x00009b18, 0x00000000, 0x00000000, 0x000fb7ad, 0x000fb7ad, 0x00000000},
- {0x00009b1c, 0x00000000, 0x00000000, 0x000fb7b1, 0x000fb7b1, 0x00000000},
- {0x00009b20, 0x00000000, 0x00000000, 0x000fb7b5, 0x000fb7b5, 0x00000000},
- {0x00009b24, 0x00000000, 0x00000000, 0x000fb7b9, 0x000fb7b9, 0x00000000},
- {0x00009b28, 0x00000000, 0x00000000, 0x000fb7c5, 0x000fb7c5, 0x00000000},
- {0x00009b2c, 0x00000000, 0x00000000, 0x000fb7c9, 0x000fb7c9, 0x00000000},
- {0x00009b30, 0x00000000, 0x00000000, 0x000fb7d1, 0x000fb7d1, 0x00000000},
- {0x00009b34, 0x00000000, 0x00000000, 0x000fb7d5, 0x000fb7d5, 0x00000000},
- {0x00009b38, 0x00000000, 0x00000000, 0x000fb7d9, 0x000fb7d9, 0x00000000},
- {0x00009b3c, 0x00000000, 0x00000000, 0x000fb7c6, 0x000fb7c6, 0x00000000},
- {0x00009b40, 0x00000000, 0x00000000, 0x000fb7ca, 0x000fb7ca, 0x00000000},
- {0x00009b44, 0x00000000, 0x00000000, 0x000fb7ce, 0x000fb7ce, 0x00000000},
- {0x00009b48, 0x00000000, 0x00000000, 0x000fb7d2, 0x000fb7d2, 0x00000000},
- {0x00009b4c, 0x00000000, 0x00000000, 0x000fb7d6, 0x000fb7d6, 0x00000000},
- {0x00009b50, 0x00000000, 0x00000000, 0x000fb7c3, 0x000fb7c3, 0x00000000},
- {0x00009b54, 0x00000000, 0x00000000, 0x000fb7c7, 0x000fb7c7, 0x00000000},
- {0x00009b58, 0x00000000, 0x00000000, 0x000fb7cb, 0x000fb7cb, 0x00000000},
- {0x00009b5c, 0x00000000, 0x00000000, 0x000fb7cf, 0x000fb7cf, 0x00000000},
- {0x00009b60, 0x00000000, 0x00000000, 0x000fb7d7, 0x000fb7d7, 0x00000000},
- {0x00009b64, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b68, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b6c, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b70, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b74, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b78, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b7c, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b80, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b84, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b88, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b8c, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b90, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b94, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b98, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009b9c, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009ba0, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009ba4, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009ba8, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bac, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bb0, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bb4, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bb8, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bbc, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bc0, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bc4, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bc8, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bcc, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bd0, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bd4, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bd8, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bdc, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009be0, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009be4, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009be8, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bec, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bf0, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bf4, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bf8, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x00009bfc, 0x00000000, 0x00000000, 0x000fb7db, 0x000fb7db, 0x00000000},
- {0x0000aa00, 0x00000000, 0x00000000, 0x0006801c, 0x0006801c, 0x00000000},
- {0x0000aa04, 0x00000000, 0x00000000, 0x00068080, 0x00068080, 0x00000000},
- {0x0000aa08, 0x00000000, 0x00000000, 0x00068084, 0x00068084, 0x00000000},
- {0x0000aa0c, 0x00000000, 0x00000000, 0x00068088, 0x00068088, 0x00000000},
- {0x0000aa10, 0x00000000, 0x00000000, 0x0006808c, 0x0006808c, 0x00000000},
- {0x0000aa14, 0x00000000, 0x00000000, 0x00068100, 0x00068100, 0x00000000},
- {0x0000aa18, 0x00000000, 0x00000000, 0x00068104, 0x00068104, 0x00000000},
- {0x0000aa1c, 0x00000000, 0x00000000, 0x00068108, 0x00068108, 0x00000000},
- {0x0000aa20, 0x00000000, 0x00000000, 0x0006810c, 0x0006810c, 0x00000000},
- {0x0000aa24, 0x00000000, 0x00000000, 0x00068110, 0x00068110, 0x00000000},
- {0x0000aa28, 0x00000000, 0x00000000, 0x00068110, 0x00068110, 0x00000000},
- {0x0000aa2c, 0x00000000, 0x00000000, 0x00068180, 0x00068180, 0x00000000},
- {0x0000aa30, 0x00000000, 0x00000000, 0x00068184, 0x00068184, 0x00000000},
- {0x0000aa34, 0x00000000, 0x00000000, 0x00068188, 0x00068188, 0x00000000},
- {0x0000aa38, 0x00000000, 0x00000000, 0x0006818c, 0x0006818c, 0x00000000},
- {0x0000aa3c, 0x00000000, 0x00000000, 0x00068190, 0x00068190, 0x00000000},
- {0x0000aa40, 0x00000000, 0x00000000, 0x00068194, 0x00068194, 0x00000000},
- {0x0000aa44, 0x00000000, 0x00000000, 0x000681a0, 0x000681a0, 0x00000000},
- {0x0000aa48, 0x00000000, 0x00000000, 0x0006820c, 0x0006820c, 0x00000000},
- {0x0000aa4c, 0x00000000, 0x00000000, 0x000681a8, 0x000681a8, 0x00000000},
- {0x0000aa50, 0x00000000, 0x00000000, 0x000681ac, 0x000681ac, 0x00000000},
- {0x0000aa54, 0x00000000, 0x00000000, 0x0006821c, 0x0006821c, 0x00000000},
- {0x0000aa58, 0x00000000, 0x00000000, 0x00068224, 0x00068224, 0x00000000},
- {0x0000aa5c, 0x00000000, 0x00000000, 0x00068290, 0x00068290, 0x00000000},
- {0x0000aa60, 0x00000000, 0x00000000, 0x00068300, 0x00068300, 0x00000000},
- {0x0000aa64, 0x00000000, 0x00000000, 0x00068308, 0x00068308, 0x00000000},
- {0x0000aa68, 0x00000000, 0x00000000, 0x0006830c, 0x0006830c, 0x00000000},
- {0x0000aa6c, 0x00000000, 0x00000000, 0x00068310, 0x00068310, 0x00000000},
- {0x0000aa70, 0x00000000, 0x00000000, 0x00068788, 0x00068788, 0x00000000},
- {0x0000aa74, 0x00000000, 0x00000000, 0x0006878c, 0x0006878c, 0x00000000},
- {0x0000aa78, 0x00000000, 0x00000000, 0x00068790, 0x00068790, 0x00000000},
- {0x0000aa7c, 0x00000000, 0x00000000, 0x00068794, 0x00068794, 0x00000000},
- {0x0000aa80, 0x00000000, 0x00000000, 0x00068798, 0x00068798, 0x00000000},
- {0x0000aa84, 0x00000000, 0x00000000, 0x0006879c, 0x0006879c, 0x00000000},
- {0x0000aa88, 0x00000000, 0x00000000, 0x00068b89, 0x00068b89, 0x00000000},
- {0x0000aa8c, 0x00000000, 0x00000000, 0x00068b8d, 0x00068b8d, 0x00000000},
- {0x0000aa90, 0x00000000, 0x00000000, 0x00068b91, 0x00068b91, 0x00000000},
- {0x0000aa94, 0x00000000, 0x00000000, 0x00068b95, 0x00068b95, 0x00000000},
- {0x0000aa98, 0x00000000, 0x00000000, 0x00068b99, 0x00068b99, 0x00000000},
- {0x0000aa9c, 0x00000000, 0x00000000, 0x00068ba5, 0x00068ba5, 0x00000000},
- {0x0000aaa0, 0x00000000, 0x00000000, 0x00068ba9, 0x00068ba9, 0x00000000},
- {0x0000aaa4, 0x00000000, 0x00000000, 0x00068bad, 0x00068bad, 0x00000000},
- {0x0000aaa8, 0x00000000, 0x00000000, 0x000b8b0c, 0x000b8b0c, 0x00000000},
- {0x0000aaac, 0x00000000, 0x00000000, 0x000b8f10, 0x000b8f10, 0x00000000},
- {0x0000aab0, 0x00000000, 0x00000000, 0x000b8f14, 0x000b8f14, 0x00000000},
- {0x0000aab4, 0x00000000, 0x00000000, 0x000b8f84, 0x000b8f84, 0x00000000},
- {0x0000aab8, 0x00000000, 0x00000000, 0x000b8f84, 0x000b8f84, 0x00000000},
- {0x0000aabc, 0x00000000, 0x00000000, 0x000b8f88, 0x000b8f88, 0x00000000},
- {0x0000aac0, 0x00000000, 0x00000000, 0x000bb380, 0x000bb380, 0x00000000},
- {0x0000aac4, 0x00000000, 0x00000000, 0x000bb384, 0x000bb384, 0x00000000},
- {0x0000aac8, 0x00000000, 0x00000000, 0x000bb388, 0x000bb388, 0x00000000},
- {0x0000aacc, 0x00000000, 0x00000000, 0x000bb38c, 0x000bb38c, 0x00000000},
- {0x0000aad0, 0x00000000, 0x00000000, 0x000bb394, 0x000bb394, 0x00000000},
- {0x0000aad4, 0x00000000, 0x00000000, 0x000bb798, 0x000bb798, 0x00000000},
- {0x0000aad8, 0x00000000, 0x00000000, 0x000f970c, 0x000f970c, 0x00000000},
- {0x0000aadc, 0x00000000, 0x00000000, 0x000f9710, 0x000f9710, 0x00000000},
- {0x0000aae0, 0x00000000, 0x00000000, 0x000f9714, 0x000f9714, 0x00000000},
- {0x0000aae4, 0x00000000, 0x00000000, 0x000f9718, 0x000f9718, 0x00000000},
- {0x0000aae8, 0x00000000, 0x00000000, 0x000f9705, 0x000f9705, 0x00000000},
- {0x0000aaec, 0x00000000, 0x00000000, 0x000f9709, 0x000f9709, 0x00000000},
- {0x0000aaf0, 0x00000000, 0x00000000, 0x000f970d, 0x000f970d, 0x00000000},
- {0x0000aaf4, 0x00000000, 0x00000000, 0x000f9711, 0x000f9711, 0x00000000},
- {0x0000aaf8, 0x00000000, 0x00000000, 0x000f9715, 0x000f9715, 0x00000000},
- {0x0000aafc, 0x00000000, 0x00000000, 0x000f9719, 0x000f9719, 0x00000000},
- {0x0000ab00, 0x00000000, 0x00000000, 0x000fb7a4, 0x000fb7a4, 0x00000000},
- {0x0000ab04, 0x00000000, 0x00000000, 0x000fb7a8, 0x000fb7a8, 0x00000000},
- {0x0000ab08, 0x00000000, 0x00000000, 0x000fb7ac, 0x000fb7ac, 0x00000000},
- {0x0000ab0c, 0x00000000, 0x00000000, 0x000fb7ac, 0x000fb7ac, 0x00000000},
- {0x0000ab10, 0x00000000, 0x00000000, 0x000fb7b0, 0x000fb7b0, 0x00000000},
- {0x0000ab14, 0x00000000, 0x00000000, 0x000fb7b8, 0x000fb7b8, 0x00000000},
- {0x0000ab18, 0x00000000, 0x00000000, 0x000fb7bc, 0x000fb7bc, 0x00000000},
- {0x0000ab1c, 0x00000000, 0x00000000, 0x000fb7a1, 0x000fb7a1, 0x00000000},
- {0x0000ab20, 0x00000000, 0x00000000, 0x000fb7a5, 0x000fb7a5, 0x00000000},
- {0x0000ab24, 0x00000000, 0x00000000, 0x000fb7a9, 0x000fb7a9, 0x00000000},
- {0x0000ab28, 0x00000000, 0x00000000, 0x000fb7b1, 0x000fb7b1, 0x00000000},
- {0x0000ab2c, 0x00000000, 0x00000000, 0x000fb7b5, 0x000fb7b5, 0x00000000},
- {0x0000ab30, 0x00000000, 0x00000000, 0x000fb7bd, 0x000fb7bd, 0x00000000},
- {0x0000ab34, 0x00000000, 0x00000000, 0x000fb7c9, 0x000fb7c9, 0x00000000},
- {0x0000ab38, 0x00000000, 0x00000000, 0x000fb7cd, 0x000fb7cd, 0x00000000},
- {0x0000ab3c, 0x00000000, 0x00000000, 0x000fb7d1, 0x000fb7d1, 0x00000000},
- {0x0000ab40, 0x00000000, 0x00000000, 0x000fb7d9, 0x000fb7d9, 0x00000000},
- {0x0000ab44, 0x00000000, 0x00000000, 0x000fb7c2, 0x000fb7c2, 0x00000000},
- {0x0000ab48, 0x00000000, 0x00000000, 0x000fb7c6, 0x000fb7c6, 0x00000000},
- {0x0000ab4c, 0x00000000, 0x00000000, 0x000fb7ca, 0x000fb7ca, 0x00000000},
- {0x0000ab50, 0x00000000, 0x00000000, 0x000fb7ce, 0x000fb7ce, 0x00000000},
- {0x0000ab54, 0x00000000, 0x00000000, 0x000fb7d2, 0x000fb7d2, 0x00000000},
- {0x0000ab58, 0x00000000, 0x00000000, 0x000fb7d6, 0x000fb7d6, 0x00000000},
- {0x0000ab5c, 0x00000000, 0x00000000, 0x000fb7c3, 0x000fb7c3, 0x00000000},
- {0x0000ab60, 0x00000000, 0x00000000, 0x000fb7cb, 0x000fb7cb, 0x00000000},
- {0x0000ab64, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab68, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab6c, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab70, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab74, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab78, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab7c, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab80, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab84, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab88, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab8c, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab90, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab94, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab98, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000ab9c, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000aba0, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000aba4, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000aba8, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abac, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abb0, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abb4, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abb8, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abbc, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abc0, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abc4, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abc8, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abcc, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abd0, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abd4, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abd8, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abdc, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abe0, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abe4, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abe8, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abec, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abf0, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abf4, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abf8, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000abfc, 0x00000000, 0x00000000, 0x000fb7d3, 0x000fb7d3, 0x00000000},
- {0x0000a204, 0x00000004, 0x00000004, 0x00000004, 0x00000004, 0x00000004},
- {0x0000a20c, 0x00000014, 0x00000014, 0x00000000, 0x00000000, 0x0001f000},
- {0x0000a21c, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a},
- {0x0000a230, 0x00000000, 0x00000000, 0x00000210, 0x00000108, 0x00000000},
- {0x0000a250, 0x001ff000, 0x001ff000, 0x001ca000, 0x001ca000, 0x001da000},
- {0x0000a274, 0x0a81c652, 0x0a81c652, 0x0a820652, 0x0a820652, 0x0a82a652},
- {0x0000a300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x0000a304, 0x00000000, 0x00000000, 0x00007201, 0x00007201, 0x00000000},
- {0x0000a308, 0x00000000, 0x00000000, 0x00010408, 0x00010408, 0x00000000},
- {0x0000a30c, 0x00000000, 0x00000000, 0x0001860a, 0x0001860a, 0x00000000},
- {0x0000a310, 0x00000000, 0x00000000, 0x00020818, 0x00020818, 0x00000000},
- {0x0000a314, 0x00000000, 0x00000000, 0x00024858, 0x00024858, 0x00000000},
- {0x0000a318, 0x00000000, 0x00000000, 0x00026859, 0x00026859, 0x00000000},
- {0x0000a31c, 0x00000000, 0x00000000, 0x0002985b, 0x0002985b, 0x00000000},
- {0x0000a320, 0x00000000, 0x00000000, 0x0002c89a, 0x0002c89a, 0x00000000},
- {0x0000a324, 0x00000000, 0x00000000, 0x0002e89b, 0x0002e89b, 0x00000000},
- {0x0000a328, 0x00000000, 0x00000000, 0x0003089c, 0x0003089c, 0x00000000},
- {0x0000a32c, 0x00000000, 0x00000000, 0x0003289d, 0x0003289d, 0x00000000},
- {0x0000a330, 0x00000000, 0x00000000, 0x0003489e, 0x0003489e, 0x00000000},
- {0x0000a334, 0x00000000, 0x00000000, 0x000388de, 0x000388de, 0x00000000},
- {0x0000a338, 0x00000000, 0x00000000, 0x0003b91e, 0x0003b91e, 0x00000000},
- {0x0000a33c, 0x00000000, 0x00000000, 0x0003d95e, 0x0003d95e, 0x00000000},
- {0x0000a340, 0x00000000, 0x00000000, 0x000419df, 0x000419df, 0x00000000},
- {0x0000a344, 0x0003e9df, 0x0003e9df, 0x0003e9df, 0x0003e9df, 0x00000000},
- {0x0000a358, 0x7999aa02, 0x7999aa02, 0x7999aa0e, 0x7999aa0e, 0x7999aa0e},
-};
-
-static const u32 ar9285Common_9285[][2] = {
- /* Addr allmodes */
- {0x0000000c, 0x00000000},
- {0x00000030, 0x00020045},
- {0x00000034, 0x00000005},
- {0x00000040, 0x00000000},
- {0x00000044, 0x00000008},
- {0x00000048, 0x00000008},
- {0x0000004c, 0x00000010},
- {0x00000050, 0x00000000},
- {0x00000054, 0x0000001f},
- {0x00000800, 0x00000000},
- {0x00000804, 0x00000000},
- {0x00000808, 0x00000000},
- {0x0000080c, 0x00000000},
- {0x00000810, 0x00000000},
- {0x00000814, 0x00000000},
- {0x00000818, 0x00000000},
- {0x0000081c, 0x00000000},
- {0x00000820, 0x00000000},
- {0x00000824, 0x00000000},
- {0x00001040, 0x002ffc0f},
- {0x00001044, 0x002ffc0f},
- {0x00001048, 0x002ffc0f},
- {0x0000104c, 0x002ffc0f},
- {0x00001050, 0x002ffc0f},
- {0x00001054, 0x002ffc0f},
- {0x00001058, 0x002ffc0f},
- {0x0000105c, 0x002ffc0f},
- {0x00001060, 0x002ffc0f},
- {0x00001064, 0x002ffc0f},
- {0x00001230, 0x00000000},
- {0x00001270, 0x00000000},
- {0x00001038, 0x00000000},
- {0x00001078, 0x00000000},
- {0x000010b8, 0x00000000},
- {0x000010f8, 0x00000000},
- {0x00001138, 0x00000000},
- {0x00001178, 0x00000000},
- {0x000011b8, 0x00000000},
- {0x000011f8, 0x00000000},
- {0x00001238, 0x00000000},
- {0x00001278, 0x00000000},
- {0x000012b8, 0x00000000},
- {0x000012f8, 0x00000000},
- {0x00001338, 0x00000000},
- {0x00001378, 0x00000000},
- {0x000013b8, 0x00000000},
- {0x000013f8, 0x00000000},
- {0x00001438, 0x00000000},
- {0x00001478, 0x00000000},
- {0x000014b8, 0x00000000},
- {0x000014f8, 0x00000000},
- {0x00001538, 0x00000000},
- {0x00001578, 0x00000000},
- {0x000015b8, 0x00000000},
- {0x000015f8, 0x00000000},
- {0x00001638, 0x00000000},
- {0x00001678, 0x00000000},
- {0x000016b8, 0x00000000},
- {0x000016f8, 0x00000000},
- {0x00001738, 0x00000000},
- {0x00001778, 0x00000000},
- {0x000017b8, 0x00000000},
- {0x000017f8, 0x00000000},
- {0x0000103c, 0x00000000},
- {0x0000107c, 0x00000000},
- {0x000010bc, 0x00000000},
- {0x000010fc, 0x00000000},
- {0x0000113c, 0x00000000},
- {0x0000117c, 0x00000000},
- {0x000011bc, 0x00000000},
- {0x000011fc, 0x00000000},
- {0x0000123c, 0x00000000},
- {0x0000127c, 0x00000000},
- {0x000012bc, 0x00000000},
- {0x000012fc, 0x00000000},
- {0x0000133c, 0x00000000},
- {0x0000137c, 0x00000000},
- {0x000013bc, 0x00000000},
- {0x000013fc, 0x00000000},
- {0x0000143c, 0x00000000},
- {0x0000147c, 0x00000000},
- {0x00004030, 0x00000002},
- {0x0000403c, 0x00000002},
- {0x00004024, 0x0000001f},
- {0x00004060, 0x00000000},
- {0x00004064, 0x00000000},
- {0x00007010, 0x00000031},
- {0x00007034, 0x00000002},
- {0x00007038, 0x000004c2},
- {0x00008004, 0x00000000},
- {0x00008008, 0x00000000},
- {0x0000800c, 0x00000000},
- {0x00008018, 0x00000700},
- {0x00008020, 0x00000000},
- {0x00008038, 0x00000000},
- {0x0000803c, 0x00000000},
- {0x00008048, 0x00000000},
- {0x00008054, 0x00000000},
- {0x00008058, 0x00000000},
- {0x0000805c, 0x000fc78f},
- {0x00008060, 0x0000000f},
- {0x00008064, 0x00000000},
- {0x00008070, 0x00000000},
- {0x000080c0, 0x2a80001a},
- {0x000080c4, 0x05dc01e0},
- {0x000080c8, 0x1f402710},
- {0x000080cc, 0x01f40000},
- {0x000080d0, 0x00001e00},
- {0x000080d4, 0x00000000},
- {0x000080d8, 0x00400000},
- {0x000080e0, 0xffffffff},
- {0x000080e4, 0x0000ffff},
- {0x000080e8, 0x003f3f3f},
- {0x000080ec, 0x00000000},
- {0x000080f0, 0x00000000},
- {0x000080f4, 0x00000000},
- {0x000080f8, 0x00000000},
- {0x000080fc, 0x00020000},
- {0x00008100, 0x00020000},
- {0x00008104, 0x00000001},
- {0x00008108, 0x00000052},
- {0x0000810c, 0x00000000},
- {0x00008110, 0x00000168},
- {0x00008118, 0x000100aa},
- {0x0000811c, 0x00003210},
- {0x00008120, 0x08f04800},
- {0x00008124, 0x00000000},
- {0x00008128, 0x00000000},
- {0x0000812c, 0x00000000},
- {0x00008130, 0x00000000},
- {0x00008134, 0x00000000},
- {0x00008138, 0x00000000},
- {0x0000813c, 0x00000000},
- {0x00008144, 0x00000000},
- {0x00008168, 0x00000000},
- {0x0000816c, 0x00000000},
- {0x00008170, 0x32143320},
- {0x00008174, 0xfaa4fa50},
- {0x00008178, 0x00000100},
- {0x0000817c, 0x00000000},
- {0x000081c0, 0x00000000},
- {0x000081d0, 0x00003210},
- {0x000081ec, 0x00000000},
- {0x000081f0, 0x00000000},
- {0x000081f4, 0x00000000},
- {0x000081f8, 0x00000000},
- {0x000081fc, 0x00000000},
- {0x00008200, 0x00000000},
- {0x00008204, 0x00000000},
- {0x00008208, 0x00000000},
- {0x0000820c, 0x00000000},
- {0x00008210, 0x00000000},
- {0x00008214, 0x00000000},
- {0x00008218, 0x00000000},
- {0x0000821c, 0x00000000},
- {0x00008220, 0x00000000},
- {0x00008224, 0x00000000},
- {0x00008228, 0x00000000},
- {0x0000822c, 0x00000000},
- {0x00008230, 0x00000000},
- {0x00008234, 0x00000000},
- {0x00008238, 0x00000000},
- {0x0000823c, 0x00000000},
- {0x00008240, 0x00100000},
- {0x00008244, 0x0010f400},
- {0x00008248, 0x00000100},
- {0x0000824c, 0x0001e800},
- {0x00008250, 0x00000000},
- {0x00008254, 0x00000000},
- {0x00008258, 0x00000000},
- {0x0000825c, 0x400000ff},
- {0x00008260, 0x00080922},
- {0x00008264, 0x88a00010},
- {0x00008270, 0x00000000},
- {0x00008274, 0x40000000},
- {0x00008278, 0x003e4180},
- {0x0000827c, 0x00000000},
- {0x00008284, 0x0000002c},
- {0x00008288, 0x0000002c},
- {0x0000828c, 0x00000000},
- {0x00008294, 0x00000000},
- {0x00008298, 0x00000000},
- {0x0000829c, 0x00000000},
- {0x00008300, 0x00000040},
- {0x00008314, 0x00000000},
- {0x00008328, 0x00000000},
- {0x0000832c, 0x00000001},
- {0x00008330, 0x00000302},
- {0x00008334, 0x00000e00},
- {0x00008338, 0x00000000},
- {0x0000833c, 0x00000000},
- {0x00008340, 0x00010380},
- {0x00008344, 0x00481043},
- {0x00009808, 0x00000000},
- {0x0000980c, 0xafe68e30},
- {0x00009810, 0xfd14e000},
- {0x00009814, 0x9c0a9f6b},
- {0x0000981c, 0x00000000},
- {0x0000982c, 0x0000a000},
- {0x00009830, 0x00000000},
- {0x0000983c, 0x00200400},
- {0x0000984c, 0x0040233c},
- {0x00009854, 0x00000044},
- {0x00009900, 0x00000000},
- {0x00009904, 0x00000000},
- {0x00009908, 0x00000000},
- {0x0000990c, 0x00000000},
- {0x00009910, 0x01002310},
- {0x0000991c, 0x10000fff},
- {0x00009920, 0x04900000},
- {0x00009928, 0x00000001},
- {0x0000992c, 0x00000004},
- {0x00009934, 0x1e1f2022},
- {0x00009938, 0x0a0b0c0d},
- {0x0000993c, 0x00000000},
- {0x00009940, 0x14750604},
- {0x00009948, 0x9280c00a},
- {0x0000994c, 0x00020028},
- {0x00009954, 0x5f3ca3de},
- {0x00009958, 0x2108ecff},
- {0x00009968, 0x000003ce},
- {0x00009970, 0x1927b515},
- {0x00009974, 0x00000000},
- {0x00009978, 0x00000001},
- {0x0000997c, 0x00000000},
- {0x00009980, 0x00000000},
- {0x00009984, 0x00000000},
- {0x00009988, 0x00000000},
- {0x0000998c, 0x00000000},
- {0x00009990, 0x00000000},
- {0x00009994, 0x00000000},
- {0x00009998, 0x00000000},
- {0x0000999c, 0x00000000},
- {0x000099a0, 0x00000000},
- {0x000099a4, 0x00000001},
- {0x000099a8, 0x201fff00},
- {0x000099ac, 0x2def0a00},
- {0x000099b0, 0x03051000},
- {0x000099b4, 0x00000820},
- {0x000099dc, 0x00000000},
- {0x000099e0, 0x00000000},
- {0x000099e4, 0xaaaaaaaa},
- {0x000099e8, 0x3c466478},
- {0x000099ec, 0x0cc80caa},
- {0x000099f0, 0x00000000},
- {0x0000a208, 0x803e6788},
- {0x0000a210, 0x4080a333},
- {0x0000a214, 0x00206c10},
- {0x0000a218, 0x009c4060},
- {0x0000a220, 0x01834061},
- {0x0000a224, 0x00000400},
- {0x0000a228, 0x000003b5},
- {0x0000a22c, 0x00000000},
- {0x0000a234, 0x20202020},
- {0x0000a238, 0x20202020},
- {0x0000a244, 0x00000000},
- {0x0000a248, 0xfffffffc},
- {0x0000a24c, 0x00000000},
- {0x0000a254, 0x00000000},
- {0x0000a258, 0x0ccb5380},
- {0x0000a25c, 0x15151501},
- {0x0000a260, 0xdfa90f01},
- {0x0000a268, 0x00000000},
- {0x0000a26c, 0x0ebae9e6},
- {0x0000d270, 0x0d820820},
- {0x0000a278, 0x39ce739c},
- {0x0000a27c, 0x050e039c},
- {0x0000d35c, 0x07ffffef},
- {0x0000d360, 0x0fffffe7},
- {0x0000d364, 0x17ffffe5},
- {0x0000d368, 0x1fffffe4},
- {0x0000d36c, 0x37ffffe3},
- {0x0000d370, 0x3fffffe3},
- {0x0000d374, 0x57ffffe3},
- {0x0000d378, 0x5fffffe2},
- {0x0000d37c, 0x7fffffe2},
- {0x0000d380, 0x7f3c7bba},
- {0x0000d384, 0xf3307ff0},
- {0x0000a388, 0x0c000000},
- {0x0000a38c, 0x20202020},
- {0x0000a390, 0x20202020},
- {0x0000a394, 0x39ce739c},
- {0x0000a398, 0x0000039c},
- {0x0000a39c, 0x00000001},
- {0x0000a3a0, 0x00000000},
- {0x0000a3a4, 0x00000000},
- {0x0000a3a8, 0x00000000},
- {0x0000a3ac, 0x00000000},
- {0x0000a3b0, 0x00000000},
- {0x0000a3b4, 0x00000000},
- {0x0000a3b8, 0x00000000},
- {0x0000a3bc, 0x00000000},
- {0x0000a3c0, 0x00000000},
- {0x0000a3c4, 0x00000000},
- {0x0000a3cc, 0x20202020},
- {0x0000a3d0, 0x20202020},
- {0x0000a3d4, 0x20202020},
- {0x0000a3dc, 0x39ce739c},
- {0x0000a3e0, 0x0000039c},
- {0x0000a3e4, 0x00000000},
- {0x0000a3e8, 0x18c43433},
- {0x0000a3ec, 0x00f70081},
- {0x00007800, 0x00140000},
- {0x00007804, 0x0e4548d8},
- {0x00007808, 0x54214514},
- {0x0000780c, 0x02025820},
- {0x00007810, 0x71c0d388},
- {0x00007814, 0x924934a8},
- {0x0000781c, 0x00000000},
- {0x00007820, 0x00000c04},
- {0x00007824, 0x00d86fff},
- {0x00007828, 0x26d2491b},
- {0x0000782c, 0x6e36d97b},
- {0x00007830, 0xedb6d96c},
- {0x00007834, 0x71400086},
- {0x00007838, 0xfac68800},
- {0x0000783c, 0x0001fffe},
- {0x00007840, 0xffeb1a20},
- {0x00007844, 0x000c0db6},
- {0x00007848, 0x6db61b6f},
- {0x0000784c, 0x6d9b66db},
- {0x00007850, 0x6d8c6dba},
- {0x00007854, 0x00040000},
- {0x00007858, 0xdb003012},
- {0x0000785c, 0x04924914},
- {0x00007860, 0x21084210},
- {0x00007864, 0xf7d7ffde},
- {0x00007868, 0xc2034080},
- {0x0000786c, 0x48609eb4},
- {0x00007870, 0x10142c00},
-};
-
static const u32 ar9285PciePhy_clkreq_always_on_L1_9285[][2] = {
/* Addr allmodes */
{0x00004040, 0x9248fd00},
@@ -2966,761 +1760,6 @@ static const u32 ar9285PciePhy_clkreq_off_L1_9285_1_2[][2] = {
{0x00004044, 0x00000000},
};
-static const u32 ar9287Modes_9287_1_0[][6] = {
- {0x00001030, 0x00000000, 0x00000000, 0x000002c0, 0x00000160, 0x000001e0},
- {0x00001070, 0x00000000, 0x00000000, 0x00000318, 0x0000018c, 0x000001e0},
- {0x000010b0, 0x00000000, 0x00000000, 0x00007c70, 0x00003e38, 0x00001180},
- {0x000010f0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008},
- {0x00008014, 0x00000000, 0x00000000, 0x10801600, 0x08400b00, 0x06e006e0},
- {0x0000801c, 0x00000000, 0x00000000, 0x12e00057, 0x12e0002b, 0x0988004f},
- {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810, 0x08f04810},
- {0x000081d0, 0x00003200, 0x00003200, 0x0000320a, 0x0000320a, 0x0000320a},
- {0x00008318, 0x00000000, 0x00000000, 0x00006880, 0x00003440, 0x00006880},
- {0x00009804, 0x00000000, 0x00000000, 0x000003c4, 0x00000300, 0x00000303},
- {0x00009820, 0x00000000, 0x00000000, 0x02020200, 0x02020200, 0x02020200},
- {0x00009824, 0x00000000, 0x00000000, 0x01000e0e, 0x01000e0e, 0x01000e0e},
- {0x00009828, 0x00000000, 0x00000000, 0x0a020001, 0x0a020001, 0x0a020001},
- {0x00009834, 0x00000000, 0x00000000, 0x00000e0e, 0x00000e0e, 0x00000e0e},
- {0x00009838, 0x00000003, 0x00000003, 0x00000007, 0x00000007, 0x00000007},
- {0x00009840, 0x206a002e, 0x206a002e, 0x206a012e, 0x206a012e, 0x206a012e},
- {0x00009844, 0x03720000, 0x03720000, 0x037216a0, 0x037216a0, 0x037216a0},
- {0x00009850, 0x60000000, 0x60000000, 0x6d4000e2, 0x6c4000e2, 0x6c4000e2},
- {0x00009858, 0x7c000d00, 0x7c000d00, 0x7ec84d2e, 0x7ec84d2e, 0x7ec84d2e},
- {0x0000985c, 0x3100005e, 0x3100005e, 0x3139605e, 0x31395d5e, 0x31395d5e},
- {0x00009860, 0x00058d00, 0x00058d00, 0x00058d20, 0x00058d20, 0x00058d18},
- {0x00009864, 0x00000e00, 0x00000e00, 0x0001ce00, 0x0001ce00, 0x0001ce00},
- {0x00009868, 0x000040c0, 0x000040c0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0},
- {0x0000986c, 0x00000080, 0x00000080, 0x06903881, 0x06903881, 0x06903881},
- {0x00009914, 0x00000000, 0x00000000, 0x00001130, 0x00000898, 0x000007d0},
- {0x00009918, 0x00000000, 0x00000000, 0x00000016, 0x0000000b, 0x00000016},
- {0x00009924, 0xd00a8a01, 0xd00a8a01, 0xd00a8a0d, 0xd00a8a0d, 0xd00a8a0d},
- {0x00009944, 0xefbc0000, 0xefbc0000, 0xefbc1010, 0xefbc1010, 0xefbc1010},
- {0x00009960, 0x00000000, 0x00000000, 0x00000010, 0x00000010, 0x00000010},
- {0x0000a960, 0x00000000, 0x00000000, 0x00000010, 0x00000010, 0x00000010},
- {0x00009964, 0x00000000, 0x00000000, 0x00000210, 0x00000210, 0x00000210},
- {0x0000c968, 0x00000200, 0x00000200, 0x000003ce, 0x000003ce, 0x000003ce},
- {0x000099b8, 0x00000000, 0x00000000, 0x0000001c, 0x0000001c, 0x0000001c},
- {0x000099bc, 0x00000000, 0x00000000, 0x00000c00, 0x00000c00, 0x00000c00},
- {0x000099c0, 0x00000000, 0x00000000, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
- {0x0000a204, 0x00000440, 0x00000440, 0x00000444, 0x00000444, 0x00000444},
- {0x0000a20c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x0000b20c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x0000a21c, 0x1803800a, 0x1803800a, 0x1883800a, 0x1883800a, 0x1883800a},
- {0x0000a230, 0x00000000, 0x00000000, 0x00000210, 0x00000108, 0x00000000},
- {0x0000a250, 0x00000000, 0x00000000, 0x0004a000, 0x0004a000, 0x0004a000},
- {0x0000a358, 0x7999aa02, 0x7999aa02, 0x7999aa0e, 0x7999aa0e, 0x7999aa0e},
- {0x0000a3d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
-};
-
-static const u32 ar9287Common_9287_1_0[][2] = {
- /* Addr allmodes */
- {0x0000000c, 0x00000000},
- {0x00000030, 0x00020015},
- {0x00000034, 0x00000005},
- {0x00000040, 0x00000000},
- {0x00000044, 0x00000008},
- {0x00000048, 0x00000008},
- {0x0000004c, 0x00000010},
- {0x00000050, 0x00000000},
- {0x00000054, 0x0000001f},
- {0x00000800, 0x00000000},
- {0x00000804, 0x00000000},
- {0x00000808, 0x00000000},
- {0x0000080c, 0x00000000},
- {0x00000810, 0x00000000},
- {0x00000814, 0x00000000},
- {0x00000818, 0x00000000},
- {0x0000081c, 0x00000000},
- {0x00000820, 0x00000000},
- {0x00000824, 0x00000000},
- {0x00001040, 0x002ffc0f},
- {0x00001044, 0x002ffc0f},
- {0x00001048, 0x002ffc0f},
- {0x0000104c, 0x002ffc0f},
- {0x00001050, 0x002ffc0f},
- {0x00001054, 0x002ffc0f},
- {0x00001058, 0x002ffc0f},
- {0x0000105c, 0x002ffc0f},
- {0x00001060, 0x002ffc0f},
- {0x00001064, 0x002ffc0f},
- {0x00001230, 0x00000000},
- {0x00001270, 0x00000000},
- {0x00001038, 0x00000000},
- {0x00001078, 0x00000000},
- {0x000010b8, 0x00000000},
- {0x000010f8, 0x00000000},
- {0x00001138, 0x00000000},
- {0x00001178, 0x00000000},
- {0x000011b8, 0x00000000},
- {0x000011f8, 0x00000000},
- {0x00001238, 0x00000000},
- {0x00001278, 0x00000000},
- {0x000012b8, 0x00000000},
- {0x000012f8, 0x00000000},
- {0x00001338, 0x00000000},
- {0x00001378, 0x00000000},
- {0x000013b8, 0x00000000},
- {0x000013f8, 0x00000000},
- {0x00001438, 0x00000000},
- {0x00001478, 0x00000000},
- {0x000014b8, 0x00000000},
- {0x000014f8, 0x00000000},
- {0x00001538, 0x00000000},
- {0x00001578, 0x00000000},
- {0x000015b8, 0x00000000},
- {0x000015f8, 0x00000000},
- {0x00001638, 0x00000000},
- {0x00001678, 0x00000000},
- {0x000016b8, 0x00000000},
- {0x000016f8, 0x00000000},
- {0x00001738, 0x00000000},
- {0x00001778, 0x00000000},
- {0x000017b8, 0x00000000},
- {0x000017f8, 0x00000000},
- {0x0000103c, 0x00000000},
- {0x0000107c, 0x00000000},
- {0x000010bc, 0x00000000},
- {0x000010fc, 0x00000000},
- {0x0000113c, 0x00000000},
- {0x0000117c, 0x00000000},
- {0x000011bc, 0x00000000},
- {0x000011fc, 0x00000000},
- {0x0000123c, 0x00000000},
- {0x0000127c, 0x00000000},
- {0x000012bc, 0x00000000},
- {0x000012fc, 0x00000000},
- {0x0000133c, 0x00000000},
- {0x0000137c, 0x00000000},
- {0x000013bc, 0x00000000},
- {0x000013fc, 0x00000000},
- {0x0000143c, 0x00000000},
- {0x0000147c, 0x00000000},
- {0x00004030, 0x00000002},
- {0x0000403c, 0x00000002},
- {0x00004024, 0x0000001f},
- {0x00004060, 0x00000000},
- {0x00004064, 0x00000000},
- {0x00007010, 0x00000033},
- {0x00007020, 0x00000000},
- {0x00007034, 0x00000002},
- {0x00007038, 0x000004c2},
- {0x00008004, 0x00000000},
- {0x00008008, 0x00000000},
- {0x0000800c, 0x00000000},
- {0x00008018, 0x00000700},
- {0x00008020, 0x00000000},
- {0x00008038, 0x00000000},
- {0x0000803c, 0x00000000},
- {0x00008048, 0x40000000},
- {0x00008054, 0x00000000},
- {0x00008058, 0x00000000},
- {0x0000805c, 0x000fc78f},
- {0x00008060, 0x0000000f},
- {0x00008064, 0x00000000},
- {0x00008070, 0x00000000},
- {0x000080c0, 0x2a80001a},
- {0x000080c4, 0x05dc01e0},
- {0x000080c8, 0x1f402710},
- {0x000080cc, 0x01f40000},
- {0x000080d0, 0x00001e00},
- {0x000080d4, 0x00000000},
- {0x000080d8, 0x00400000},
- {0x000080e0, 0xffffffff},
- {0x000080e4, 0x0000ffff},
- {0x000080e8, 0x003f3f3f},
- {0x000080ec, 0x00000000},
- {0x000080f0, 0x00000000},
- {0x000080f4, 0x00000000},
- {0x000080f8, 0x00000000},
- {0x000080fc, 0x00020000},
- {0x00008100, 0x00020000},
- {0x00008104, 0x00000001},
- {0x00008108, 0x00000052},
- {0x0000810c, 0x00000000},
- {0x00008110, 0x00000168},
- {0x00008118, 0x000100aa},
- {0x0000811c, 0x00003210},
- {0x00008124, 0x00000000},
- {0x00008128, 0x00000000},
- {0x0000812c, 0x00000000},
- {0x00008130, 0x00000000},
- {0x00008134, 0x00000000},
- {0x00008138, 0x00000000},
- {0x0000813c, 0x00000000},
- {0x00008144, 0xffffffff},
- {0x00008168, 0x00000000},
- {0x0000816c, 0x00000000},
- {0x00008170, 0x18487320},
- {0x00008174, 0xfaa4fa50},
- {0x00008178, 0x00000100},
- {0x0000817c, 0x00000000},
- {0x000081c0, 0x00000000},
- {0x000081c4, 0x00000000},
- {0x000081d4, 0x00000000},
- {0x000081ec, 0x00000000},
- {0x000081f0, 0x00000000},
- {0x000081f4, 0x00000000},
- {0x000081f8, 0x00000000},
- {0x000081fc, 0x00000000},
- {0x00008200, 0x00000000},
- {0x00008204, 0x00000000},
- {0x00008208, 0x00000000},
- {0x0000820c, 0x00000000},
- {0x00008210, 0x00000000},
- {0x00008214, 0x00000000},
- {0x00008218, 0x00000000},
- {0x0000821c, 0x00000000},
- {0x00008220, 0x00000000},
- {0x00008224, 0x00000000},
- {0x00008228, 0x00000000},
- {0x0000822c, 0x00000000},
- {0x00008230, 0x00000000},
- {0x00008234, 0x00000000},
- {0x00008238, 0x00000000},
- {0x0000823c, 0x00000000},
- {0x00008240, 0x00100000},
- {0x00008244, 0x0010f400},
- {0x00008248, 0x00000100},
- {0x0000824c, 0x0001e800},
- {0x00008250, 0x00000000},
- {0x00008254, 0x00000000},
- {0x00008258, 0x00000000},
- {0x0000825c, 0x400000ff},
- {0x00008260, 0x00080922},
- {0x00008264, 0x88a00010},
- {0x00008270, 0x00000000},
- {0x00008274, 0x40000000},
- {0x00008278, 0x003e4180},
- {0x0000827c, 0x00000000},
- {0x00008284, 0x0000002c},
- {0x00008288, 0x0000002c},
- {0x0000828c, 0x000000ff},
- {0x00008294, 0x00000000},
- {0x00008298, 0x00000000},
- {0x0000829c, 0x00000000},
- {0x00008300, 0x00000040},
- {0x00008314, 0x00000000},
- {0x00008328, 0x00000000},
- {0x0000832c, 0x00000007},
- {0x00008330, 0x00000302},
- {0x00008334, 0x00000e00},
- {0x00008338, 0x00ff0000},
- {0x0000833c, 0x00000000},
- {0x00008340, 0x000107ff},
- {0x00008344, 0x01c81043},
- {0x00008360, 0xffffffff},
- {0x00008364, 0xffffffff},
- {0x00008368, 0x00000000},
- {0x00008370, 0x00000000},
- {0x00008374, 0x000000ff},
- {0x00008378, 0x00000000},
- {0x0000837c, 0x00000000},
- {0x00008380, 0xffffffff},
- {0x00008384, 0xffffffff},
- {0x00008390, 0x0fffffff},
- {0x00008394, 0x0fffffff},
- {0x00008398, 0x00000000},
- {0x0000839c, 0x00000000},
- {0x000083a0, 0x00000000},
- {0x00009808, 0x00000000},
- {0x0000980c, 0xafe68e30},
- {0x00009810, 0xfd14e000},
- {0x00009814, 0x9c0a9f6b},
- {0x0000981c, 0x00000000},
- {0x0000982c, 0x0000a000},
- {0x00009830, 0x00000000},
- {0x0000983c, 0x00200400},
- {0x0000984c, 0x0040233c},
- {0x0000a84c, 0x0040233c},
- {0x00009854, 0x00000044},
- {0x00009900, 0x00000000},
- {0x00009904, 0x00000000},
- {0x00009908, 0x00000000},
- {0x0000990c, 0x00000000},
- {0x00009910, 0x10002310},
- {0x0000991c, 0x10000fff},
- {0x00009920, 0x04900000},
- {0x0000a920, 0x04900000},
- {0x00009928, 0x00000001},
- {0x0000992c, 0x00000004},
- {0x00009930, 0x00000000},
- {0x0000a930, 0x00000000},
- {0x00009934, 0x1e1f2022},
- {0x00009938, 0x0a0b0c0d},
- {0x0000993c, 0x00000000},
- {0x00009948, 0x9280c00a},
- {0x0000994c, 0x00020028},
- {0x00009954, 0x5f3ca3de},
- {0x00009958, 0x0108ecff},
- {0x00009940, 0x14750604},
- {0x0000c95c, 0x004b6a8e},
- {0x00009970, 0x990bb515},
- {0x00009974, 0x00000000},
- {0x00009978, 0x00000001},
- {0x0000997c, 0x00000000},
- {0x000099a0, 0x00000000},
- {0x000099a4, 0x00000001},
- {0x000099a8, 0x201fff00},
- {0x000099ac, 0x0c6f0000},
- {0x000099b0, 0x03051000},
- {0x000099b4, 0x00000820},
- {0x000099c4, 0x06336f77},
- {0x000099c8, 0x6af65329},
- {0x000099cc, 0x08f186c8},
- {0x000099d0, 0x00046384},
- {0x000099dc, 0x00000000},
- {0x000099e0, 0x00000000},
- {0x000099e4, 0xaaaaaaaa},
- {0x000099e8, 0x3c466478},
- {0x000099ec, 0x0cc80caa},
- {0x000099f0, 0x00000000},
- {0x000099fc, 0x00001042},
- {0x0000a1f4, 0x00fffeff},
- {0x0000a1f8, 0x00f5f9ff},
- {0x0000a1fc, 0xb79f6427},
- {0x0000a208, 0x803e4788},
- {0x0000a210, 0x4080a333},
- {0x0000a214, 0x40206c10},
- {0x0000a218, 0x009c4060},
- {0x0000a220, 0x01834061},
- {0x0000a224, 0x00000400},
- {0x0000a228, 0x000003b5},
- {0x0000a22c, 0x233f7180},
- {0x0000a234, 0x20202020},
- {0x0000a238, 0x20202020},
- {0x0000a23c, 0x13c889af},
- {0x0000a240, 0x38490a20},
- {0x0000a244, 0x00000000},
- {0x0000a248, 0xfffffffc},
- {0x0000a24c, 0x00000000},
- {0x0000a254, 0x00000000},
- {0x0000a258, 0x0cdbd380},
- {0x0000a25c, 0x0f0f0f01},
- {0x0000a260, 0xdfa91f01},
- {0x0000a264, 0x00418a11},
- {0x0000b264, 0x00418a11},
- {0x0000a268, 0x00000000},
- {0x0000a26c, 0x0e79e5c6},
- {0x0000b26c, 0x0e79e5c6},
- {0x0000d270, 0x00820820},
- {0x0000a278, 0x1ce739ce},
- {0x0000a27c, 0x050701ce},
- {0x0000d35c, 0x07ffffef},
- {0x0000d360, 0x0fffffe7},
- {0x0000d364, 0x17ffffe5},
- {0x0000d368, 0x1fffffe4},
- {0x0000d36c, 0x37ffffe3},
- {0x0000d370, 0x3fffffe3},
- {0x0000d374, 0x57ffffe3},
- {0x0000d378, 0x5fffffe2},
- {0x0000d37c, 0x7fffffe2},
- {0x0000d380, 0x7f3c7bba},
- {0x0000d384, 0xf3307ff0},
- {0x0000a388, 0x0c000000},
- {0x0000a38c, 0x20202020},
- {0x0000a390, 0x20202020},
- {0x0000a394, 0x1ce739ce},
- {0x0000a398, 0x000001ce},
- {0x0000b398, 0x000001ce},
- {0x0000a39c, 0x00000001},
- {0x0000a3c8, 0x00000246},
- {0x0000a3cc, 0x20202020},
- {0x0000a3d0, 0x20202020},
- {0x0000a3d4, 0x20202020},
- {0x0000a3dc, 0x1ce739ce},
- {0x0000a3e0, 0x000001ce},
- {0x0000a3e4, 0x00000000},
- {0x0000a3e8, 0x18c43433},
- {0x0000a3ec, 0x00f70081},
- {0x0000a3f0, 0x01036a1e},
- {0x0000a3f4, 0x00000000},
- {0x0000b3f4, 0x00000000},
- {0x0000a7d8, 0x00000001},
- {0x00007800, 0x00000800},
- {0x00007804, 0x6c35ffb0},
- {0x00007808, 0x6db6c000},
- {0x0000780c, 0x6db6cb30},
- {0x00007810, 0x6db6cb6c},
- {0x00007814, 0x0501e200},
- {0x00007818, 0x0094128d},
- {0x0000781c, 0x976ee392},
- {0x00007820, 0xf75ff6fc},
- {0x00007824, 0x00040000},
- {0x00007828, 0xdb003012},
- {0x0000782c, 0x04924914},
- {0x00007830, 0x21084210},
- {0x00007834, 0x00140000},
- {0x00007838, 0x0e4548d8},
- {0x0000783c, 0x54214514},
- {0x00007840, 0x02025820},
- {0x00007844, 0x71c0d388},
- {0x00007848, 0x934934a8},
- {0x00007850, 0x00000000},
- {0x00007854, 0x00000800},
- {0x00007858, 0x6c35ffb0},
- {0x0000785c, 0x6db6c000},
- {0x00007860, 0x6db6cb2c},
- {0x00007864, 0x6db6cb6c},
- {0x00007868, 0x0501e200},
- {0x0000786c, 0x0094128d},
- {0x00007870, 0x976ee392},
- {0x00007874, 0xf75ff6fc},
- {0x00007878, 0x00040000},
- {0x0000787c, 0xdb003012},
- {0x00007880, 0x04924914},
- {0x00007884, 0x21084210},
- {0x00007888, 0x001b6db0},
- {0x0000788c, 0x00376b63},
- {0x00007890, 0x06db6db6},
- {0x00007894, 0x006d8000},
- {0x00007898, 0x48100000},
- {0x0000789c, 0x00000000},
- {0x000078a0, 0x08000000},
- {0x000078a4, 0x0007ffd8},
- {0x000078a8, 0x0007ffd8},
- {0x000078ac, 0x001c0020},
- {0x000078b0, 0x000611eb},
- {0x000078b4, 0x40008080},
- {0x000078b8, 0x2a850160},
-};
-
-static const u32 ar9287Modes_tx_gain_9287_1_0[][6] = {
- {0x0000a300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
- {0x0000a304, 0x00000000, 0x00000000, 0x00004002, 0x00004002, 0x00004002},
- {0x0000a308, 0x00000000, 0x00000000, 0x00008004, 0x00008004, 0x00008004},
- {0x0000a30c, 0x00000000, 0x00000000, 0x0000c00a, 0x0000c00a, 0x0000c00a},
- {0x0000a310, 0x00000000, 0x00000000, 0x0001000c, 0x0001000c, 0x0001000c},
- {0x0000a314, 0x00000000, 0x00000000, 0x0001420b, 0x0001420b, 0x0001420b},
- {0x0000a318, 0x00000000, 0x00000000, 0x0001824a, 0x0001824a, 0x0001824a},
- {0x0000a31c, 0x00000000, 0x00000000, 0x0001c44a, 0x0001c44a, 0x0001c44a},
- {0x0000a320, 0x00000000, 0x00000000, 0x0002064a, 0x0002064a, 0x0002064a},
- {0x0000a324, 0x00000000, 0x00000000, 0x0002484a, 0x0002484a, 0x0002484a},
- {0x0000a328, 0x00000000, 0x00000000, 0x00028a4a, 0x00028a4a, 0x00028a4a},
- {0x0000a32c, 0x00000000, 0x00000000, 0x0002cc4a, 0x0002cc4a, 0x0002cc4a},
- {0x0000a330, 0x00000000, 0x00000000, 0x00030e4a, 0x00030e4a, 0x00030e4a},
- {0x0000a334, 0x00000000, 0x00000000, 0x00034e8a, 0x00034e8a, 0x00034e8a},
- {0x0000a338, 0x00000000, 0x00000000, 0x00038e8c, 0x00038e8c, 0x00038e8c},
- {0x0000a33c, 0x00000000, 0x00000000, 0x0003cecc, 0x0003cecc, 0x0003cecc},
- {0x0000a340, 0x00000000, 0x00000000, 0x00040ed4, 0x00040ed4, 0x00040ed4},
- {0x0000a344, 0x00000000, 0x00000000, 0x00044edc, 0x00044edc, 0x00044edc},
- {0x0000a348, 0x00000000, 0x00000000, 0x00048ede, 0x00048ede, 0x00048ede},
- {0x0000a34c, 0x00000000, 0x00000000, 0x0004cf1e, 0x0004cf1e, 0x0004cf1e},
- {0x0000a350, 0x00000000, 0x00000000, 0x00050f5e, 0x00050f5e, 0x00050f5e},
- {0x0000a354, 0x00000000, 0x00000000, 0x00054f9e, 0x00054f9e, 0x00054f9e},
- {0x0000a780, 0x00000000, 0x00000000, 0x00000060, 0x00000060, 0x00000060},
- {0x0000a784, 0x00000000, 0x00000000, 0x00004062, 0x00004062, 0x00004062},
- {0x0000a788, 0x00000000, 0x00000000, 0x00008064, 0x00008064, 0x00008064},
- {0x0000a78c, 0x00000000, 0x00000000, 0x0000c0a4, 0x0000c0a4, 0x0000c0a4},
- {0x0000a790, 0x00000000, 0x00000000, 0x000100b0, 0x000100b0, 0x000100b0},
- {0x0000a794, 0x00000000, 0x00000000, 0x000140b2, 0x000140b2, 0x000140b2},
- {0x0000a798, 0x00000000, 0x00000000, 0x000180b4, 0x000180b4, 0x000180b4},
- {0x0000a79c, 0x00000000, 0x00000000, 0x0001c0f4, 0x0001c0f4, 0x0001c0f4},
- {0x0000a7a0, 0x00000000, 0x00000000, 0x00020134, 0x00020134, 0x00020134},
- {0x0000a7a4, 0x00000000, 0x00000000, 0x000240fe, 0x000240fe, 0x000240fe},
- {0x0000a7a8, 0x00000000, 0x00000000, 0x0002813e, 0x0002813e, 0x0002813e},
- {0x0000a7ac, 0x00000000, 0x00000000, 0x0002c17e, 0x0002c17e, 0x0002c17e},
- {0x0000a7b0, 0x00000000, 0x00000000, 0x000301be, 0x000301be, 0x000301be},
- {0x0000a7b4, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a7b8, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a7bc, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a7c0, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a7c4, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a7c8, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a7cc, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a7d0, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a7d4, 0x00000000, 0x00000000, 0x000341fe, 0x000341fe, 0x000341fe},
- {0x0000a274, 0x0a180000, 0x0a180000, 0x0a1aa000, 0x0a1aa000, 0x0a1aa000},
-};
-
-static const u32 ar9287Modes_rx_gain_9287_1_0[][6] = {
- {0x00009a00, 0x00000000, 0x00000000, 0x0000a120, 0x0000a120, 0x0000a120},
- {0x00009a04, 0x00000000, 0x00000000, 0x0000a124, 0x0000a124, 0x0000a124},
- {0x00009a08, 0x00000000, 0x00000000, 0x0000a128, 0x0000a128, 0x0000a128},
- {0x00009a0c, 0x00000000, 0x00000000, 0x0000a12c, 0x0000a12c, 0x0000a12c},
- {0x00009a10, 0x00000000, 0x00000000, 0x0000a130, 0x0000a130, 0x0000a130},
- {0x00009a14, 0x00000000, 0x00000000, 0x0000a194, 0x0000a194, 0x0000a194},
- {0x00009a18, 0x00000000, 0x00000000, 0x0000a198, 0x0000a198, 0x0000a198},
- {0x00009a1c, 0x00000000, 0x00000000, 0x0000a20c, 0x0000a20c, 0x0000a20c},
- {0x00009a20, 0x00000000, 0x00000000, 0x0000a210, 0x0000a210, 0x0000a210},
- {0x00009a24, 0x00000000, 0x00000000, 0x0000a284, 0x0000a284, 0x0000a284},
- {0x00009a28, 0x00000000, 0x00000000, 0x0000a288, 0x0000a288, 0x0000a288},
- {0x00009a2c, 0x00000000, 0x00000000, 0x0000a28c, 0x0000a28c, 0x0000a28c},
- {0x00009a30, 0x00000000, 0x00000000, 0x0000a290, 0x0000a290, 0x0000a290},
- {0x00009a34, 0x00000000, 0x00000000, 0x0000a294, 0x0000a294, 0x0000a294},
- {0x00009a38, 0x00000000, 0x00000000, 0x0000a2a0, 0x0000a2a0, 0x0000a2a0},
- {0x00009a3c, 0x00000000, 0x00000000, 0x0000a2a4, 0x0000a2a4, 0x0000a2a4},
- {0x00009a40, 0x00000000, 0x00000000, 0x0000a2a8, 0x0000a2a8, 0x0000a2a8},
- {0x00009a44, 0x00000000, 0x00000000, 0x0000a2ac, 0x0000a2ac, 0x0000a2ac},
- {0x00009a48, 0x00000000, 0x00000000, 0x0000a2b0, 0x0000a2b0, 0x0000a2b0},
- {0x00009a4c, 0x00000000, 0x00000000, 0x0000a2b4, 0x0000a2b4, 0x0000a2b4},
- {0x00009a50, 0x00000000, 0x00000000, 0x0000a2b8, 0x0000a2b8, 0x0000a2b8},
- {0x00009a54, 0x00000000, 0x00000000, 0x0000a2c4, 0x0000a2c4, 0x0000a2c4},
- {0x00009a58, 0x00000000, 0x00000000, 0x0000a708, 0x0000a708, 0x0000a708},
- {0x00009a5c, 0x00000000, 0x00000000, 0x0000a70c, 0x0000a70c, 0x0000a70c},
- {0x00009a60, 0x00000000, 0x00000000, 0x0000a710, 0x0000a710, 0x0000a710},
- {0x00009a64, 0x00000000, 0x00000000, 0x0000ab04, 0x0000ab04, 0x0000ab04},
- {0x00009a68, 0x00000000, 0x00000000, 0x0000ab08, 0x0000ab08, 0x0000ab08},
- {0x00009a6c, 0x00000000, 0x00000000, 0x0000ab0c, 0x0000ab0c, 0x0000ab0c},
- {0x00009a70, 0x00000000, 0x00000000, 0x0000ab10, 0x0000ab10, 0x0000ab10},
- {0x00009a74, 0x00000000, 0x00000000, 0x0000ab14, 0x0000ab14, 0x0000ab14},
- {0x00009a78, 0x00000000, 0x00000000, 0x0000ab18, 0x0000ab18, 0x0000ab18},
- {0x00009a7c, 0x00000000, 0x00000000, 0x0000ab8c, 0x0000ab8c, 0x0000ab8c},
- {0x00009a80, 0x00000000, 0x00000000, 0x0000ab90, 0x0000ab90, 0x0000ab90},
- {0x00009a84, 0x00000000, 0x00000000, 0x0000ab94, 0x0000ab94, 0x0000ab94},
- {0x00009a88, 0x00000000, 0x00000000, 0x0000ab98, 0x0000ab98, 0x0000ab98},
- {0x00009a8c, 0x00000000, 0x00000000, 0x0000aba4, 0x0000aba4, 0x0000aba4},
- {0x00009a90, 0x00000000, 0x00000000, 0x0000aba8, 0x0000aba8, 0x0000aba8},
- {0x00009a94, 0x00000000, 0x00000000, 0x0000cb04, 0x0000cb04, 0x0000cb04},
- {0x00009a98, 0x00000000, 0x00000000, 0x0000cb08, 0x0000cb08, 0x0000cb08},
- {0x00009a9c, 0x00000000, 0x00000000, 0x0000cb0c, 0x0000cb0c, 0x0000cb0c},
- {0x00009aa0, 0x00000000, 0x00000000, 0x0000cb10, 0x0000cb10, 0x0000cb10},
- {0x00009aa4, 0x00000000, 0x00000000, 0x0000cb14, 0x0000cb14, 0x0000cb14},
- {0x00009aa8, 0x00000000, 0x00000000, 0x0000cb18, 0x0000cb18, 0x0000cb18},
- {0x00009aac, 0x00000000, 0x00000000, 0x0000cb8c, 0x0000cb8c, 0x0000cb8c},
- {0x00009ab0, 0x00000000, 0x00000000, 0x0000cb90, 0x0000cb90, 0x0000cb90},
- {0x00009ab4, 0x00000000, 0x00000000, 0x0000cf18, 0x0000cf18, 0x0000cf18},
- {0x00009ab8, 0x00000000, 0x00000000, 0x0000cf24, 0x0000cf24, 0x0000cf24},
- {0x00009abc, 0x00000000, 0x00000000, 0x0000cf28, 0x0000cf28, 0x0000cf28},
- {0x00009ac0, 0x00000000, 0x00000000, 0x0000d314, 0x0000d314, 0x0000d314},
- {0x00009ac4, 0x00000000, 0x00000000, 0x0000d318, 0x0000d318, 0x0000d318},
- {0x00009ac8, 0x00000000, 0x00000000, 0x0000d38c, 0x0000d38c, 0x0000d38c},
- {0x00009acc, 0x00000000, 0x00000000, 0x0000d390, 0x0000d390, 0x0000d390},
- {0x00009ad0, 0x00000000, 0x00000000, 0x0000d394, 0x0000d394, 0x0000d394},
- {0x00009ad4, 0x00000000, 0x00000000, 0x0000d398, 0x0000d398, 0x0000d398},
- {0x00009ad8, 0x00000000, 0x00000000, 0x0000d3a4, 0x0000d3a4, 0x0000d3a4},
- {0x00009adc, 0x00000000, 0x00000000, 0x0000d3a8, 0x0000d3a8, 0x0000d3a8},
- {0x00009ae0, 0x00000000, 0x00000000, 0x0000d3ac, 0x0000d3ac, 0x0000d3ac},
- {0x00009ae4, 0x00000000, 0x00000000, 0x0000d3b0, 0x0000d3b0, 0x0000d3b0},
- {0x00009ae8, 0x00000000, 0x00000000, 0x0000f380, 0x0000f380, 0x0000f380},
- {0x00009aec, 0x00000000, 0x00000000, 0x0000f384, 0x0000f384, 0x0000f384},
- {0x00009af0, 0x00000000, 0x00000000, 0x0000f388, 0x0000f388, 0x0000f388},
- {0x00009af4, 0x00000000, 0x00000000, 0x0000f710, 0x0000f710, 0x0000f710},
- {0x00009af8, 0x00000000, 0x00000000, 0x0000f714, 0x0000f714, 0x0000f714},
- {0x00009afc, 0x00000000, 0x00000000, 0x0000f718, 0x0000f718, 0x0000f718},
- {0x00009b00, 0x00000000, 0x00000000, 0x0000fb10, 0x0000fb10, 0x0000fb10},
- {0x00009b04, 0x00000000, 0x00000000, 0x0000fb14, 0x0000fb14, 0x0000fb14},
- {0x00009b08, 0x00000000, 0x00000000, 0x0000fb18, 0x0000fb18, 0x0000fb18},
- {0x00009b0c, 0x00000000, 0x00000000, 0x0000fb8c, 0x0000fb8c, 0x0000fb8c},
- {0x00009b10, 0x00000000, 0x00000000, 0x0000fb90, 0x0000fb90, 0x0000fb90},
- {0x00009b14, 0x00000000, 0x00000000, 0x0000fb94, 0x0000fb94, 0x0000fb94},
- {0x00009b18, 0x00000000, 0x00000000, 0x0000ff8c, 0x0000ff8c, 0x0000ff8c},
- {0x00009b1c, 0x00000000, 0x00000000, 0x0000ff90, 0x0000ff90, 0x0000ff90},
- {0x00009b20, 0x00000000, 0x00000000, 0x0000ff94, 0x0000ff94, 0x0000ff94},
- {0x00009b24, 0x00000000, 0x00000000, 0x0000ffa0, 0x0000ffa0, 0x0000ffa0},
- {0x00009b28, 0x00000000, 0x00000000, 0x0000ffa4, 0x0000ffa4, 0x0000ffa4},
- {0x00009b2c, 0x00000000, 0x00000000, 0x0000ffa8, 0x0000ffa8, 0x0000ffa8},
- {0x00009b30, 0x00000000, 0x00000000, 0x0000ffac, 0x0000ffac, 0x0000ffac},
- {0x00009b34, 0x00000000, 0x00000000, 0x0000ffb0, 0x0000ffb0, 0x0000ffb0},
- {0x00009b38, 0x00000000, 0x00000000, 0x0000ffb4, 0x0000ffb4, 0x0000ffb4},
- {0x00009b3c, 0x00000000, 0x00000000, 0x0000ffa1, 0x0000ffa1, 0x0000ffa1},
- {0x00009b40, 0x00000000, 0x00000000, 0x0000ffa5, 0x0000ffa5, 0x0000ffa5},
- {0x00009b44, 0x00000000, 0x00000000, 0x0000ffa9, 0x0000ffa9, 0x0000ffa9},
- {0x00009b48, 0x00000000, 0x00000000, 0x0000ffad, 0x0000ffad, 0x0000ffad},
- {0x00009b4c, 0x00000000, 0x00000000, 0x0000ffb1, 0x0000ffb1, 0x0000ffb1},
- {0x00009b50, 0x00000000, 0x00000000, 0x0000ffb5, 0x0000ffb5, 0x0000ffb5},
- {0x00009b54, 0x00000000, 0x00000000, 0x0000ffb9, 0x0000ffb9, 0x0000ffb9},
- {0x00009b58, 0x00000000, 0x00000000, 0x0000ffc5, 0x0000ffc5, 0x0000ffc5},
- {0x00009b5c, 0x00000000, 0x00000000, 0x0000ffc9, 0x0000ffc9, 0x0000ffc9},
- {0x00009b60, 0x00000000, 0x00000000, 0x0000ffcd, 0x0000ffcd, 0x0000ffcd},
- {0x00009b64, 0x00000000, 0x00000000, 0x0000ffd1, 0x0000ffd1, 0x0000ffd1},
- {0x00009b68, 0x00000000, 0x00000000, 0x0000ffd5, 0x0000ffd5, 0x0000ffd5},
- {0x00009b6c, 0x00000000, 0x00000000, 0x0000ffc2, 0x0000ffc2, 0x0000ffc2},
- {0x00009b70, 0x00000000, 0x00000000, 0x0000ffc6, 0x0000ffc6, 0x0000ffc6},
- {0x00009b74, 0x00000000, 0x00000000, 0x0000ffca, 0x0000ffca, 0x0000ffca},
- {0x00009b78, 0x00000000, 0x00000000, 0x0000ffce, 0x0000ffce, 0x0000ffce},
- {0x00009b7c, 0x00000000, 0x00000000, 0x0000ffd2, 0x0000ffd2, 0x0000ffd2},
- {0x00009b80, 0x00000000, 0x00000000, 0x0000ffd6, 0x0000ffd6, 0x0000ffd6},
- {0x00009b84, 0x00000000, 0x00000000, 0x0000ffda, 0x0000ffda, 0x0000ffda},
- {0x00009b88, 0x00000000, 0x00000000, 0x0000ffc7, 0x0000ffc7, 0x0000ffc7},
- {0x00009b8c, 0x00000000, 0x00000000, 0x0000ffcb, 0x0000ffcb, 0x0000ffcb},
- {0x00009b90, 0x00000000, 0x00000000, 0x0000ffcf, 0x0000ffcf, 0x0000ffcf},
- {0x00009b94, 0x00000000, 0x00000000, 0x0000ffd3, 0x0000ffd3, 0x0000ffd3},
- {0x00009b98, 0x00000000, 0x00000000, 0x0000ffd7, 0x0000ffd7, 0x0000ffd7},
- {0x00009b9c, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009ba0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009ba4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009ba8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bac, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bb0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bb4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bb8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bbc, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bc0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bc4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bc8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bcc, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bd0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bd4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bd8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bdc, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009be0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009be4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009be8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bec, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bf0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bf4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bf8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009bfc, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000aa00, 0x00000000, 0x00000000, 0x0000a120, 0x0000a120, 0x0000a120},
- {0x0000aa04, 0x00000000, 0x00000000, 0x0000a124, 0x0000a124, 0x0000a124},
- {0x0000aa08, 0x00000000, 0x00000000, 0x0000a128, 0x0000a128, 0x0000a128},
- {0x0000aa0c, 0x00000000, 0x00000000, 0x0000a12c, 0x0000a12c, 0x0000a12c},
- {0x0000aa10, 0x00000000, 0x00000000, 0x0000a130, 0x0000a130, 0x0000a130},
- {0x0000aa14, 0x00000000, 0x00000000, 0x0000a194, 0x0000a194, 0x0000a194},
- {0x0000aa18, 0x00000000, 0x00000000, 0x0000a198, 0x0000a198, 0x0000a198},
- {0x0000aa1c, 0x00000000, 0x00000000, 0x0000a20c, 0x0000a20c, 0x0000a20c},
- {0x0000aa20, 0x00000000, 0x00000000, 0x0000a210, 0x0000a210, 0x0000a210},
- {0x0000aa24, 0x00000000, 0x00000000, 0x0000a284, 0x0000a284, 0x0000a284},
- {0x0000aa28, 0x00000000, 0x00000000, 0x0000a288, 0x0000a288, 0x0000a288},
- {0x0000aa2c, 0x00000000, 0x00000000, 0x0000a28c, 0x0000a28c, 0x0000a28c},
- {0x0000aa30, 0x00000000, 0x00000000, 0x0000a290, 0x0000a290, 0x0000a290},
- {0x0000aa34, 0x00000000, 0x00000000, 0x0000a294, 0x0000a294, 0x0000a294},
- {0x0000aa38, 0x00000000, 0x00000000, 0x0000a2a0, 0x0000a2a0, 0x0000a2a0},
- {0x0000aa3c, 0x00000000, 0x00000000, 0x0000a2a4, 0x0000a2a4, 0x0000a2a4},
- {0x0000aa40, 0x00000000, 0x00000000, 0x0000a2a8, 0x0000a2a8, 0x0000a2a8},
- {0x0000aa44, 0x00000000, 0x00000000, 0x0000a2ac, 0x0000a2ac, 0x0000a2ac},
- {0x0000aa48, 0x00000000, 0x00000000, 0x0000a2b0, 0x0000a2b0, 0x0000a2b0},
- {0x0000aa4c, 0x00000000, 0x00000000, 0x0000a2b4, 0x0000a2b4, 0x0000a2b4},
- {0x0000aa50, 0x00000000, 0x00000000, 0x0000a2b8, 0x0000a2b8, 0x0000a2b8},
- {0x0000aa54, 0x00000000, 0x00000000, 0x0000a2c4, 0x0000a2c4, 0x0000a2c4},
- {0x0000aa58, 0x00000000, 0x00000000, 0x0000a708, 0x0000a708, 0x0000a708},
- {0x0000aa5c, 0x00000000, 0x00000000, 0x0000a70c, 0x0000a70c, 0x0000a70c},
- {0x0000aa60, 0x00000000, 0x00000000, 0x0000a710, 0x0000a710, 0x0000a710},
- {0x0000aa64, 0x00000000, 0x00000000, 0x0000ab04, 0x0000ab04, 0x0000ab04},
- {0x0000aa68, 0x00000000, 0x00000000, 0x0000ab08, 0x0000ab08, 0x0000ab08},
- {0x0000aa6c, 0x00000000, 0x00000000, 0x0000ab0c, 0x0000ab0c, 0x0000ab0c},
- {0x0000aa70, 0x00000000, 0x00000000, 0x0000ab10, 0x0000ab10, 0x0000ab10},
- {0x0000aa74, 0x00000000, 0x00000000, 0x0000ab14, 0x0000ab14, 0x0000ab14},
- {0x0000aa78, 0x00000000, 0x00000000, 0x0000ab18, 0x0000ab18, 0x0000ab18},
- {0x0000aa7c, 0x00000000, 0x00000000, 0x0000ab8c, 0x0000ab8c, 0x0000ab8c},
- {0x0000aa80, 0x00000000, 0x00000000, 0x0000ab90, 0x0000ab90, 0x0000ab90},
- {0x0000aa84, 0x00000000, 0x00000000, 0x0000ab94, 0x0000ab94, 0x0000ab94},
- {0x0000aa88, 0x00000000, 0x00000000, 0x0000ab98, 0x0000ab98, 0x0000ab98},
- {0x0000aa8c, 0x00000000, 0x00000000, 0x0000aba4, 0x0000aba4, 0x0000aba4},
- {0x0000aa90, 0x00000000, 0x00000000, 0x0000aba8, 0x0000aba8, 0x0000aba8},
- {0x0000aa94, 0x00000000, 0x00000000, 0x0000cb04, 0x0000cb04, 0x0000cb04},
- {0x0000aa98, 0x00000000, 0x00000000, 0x0000cb08, 0x0000cb08, 0x0000cb08},
- {0x0000aa9c, 0x00000000, 0x00000000, 0x0000cb0c, 0x0000cb0c, 0x0000cb0c},
- {0x0000aaa0, 0x00000000, 0x00000000, 0x0000cb10, 0x0000cb10, 0x0000cb10},
- {0x0000aaa4, 0x00000000, 0x00000000, 0x0000cb14, 0x0000cb14, 0x0000cb14},
- {0x0000aaa8, 0x00000000, 0x00000000, 0x0000cb18, 0x0000cb18, 0x0000cb18},
- {0x0000aaac, 0x00000000, 0x00000000, 0x0000cb8c, 0x0000cb8c, 0x0000cb8c},
- {0x0000aab0, 0x00000000, 0x00000000, 0x0000cb90, 0x0000cb90, 0x0000cb90},
- {0x0000aab4, 0x00000000, 0x00000000, 0x0000cf18, 0x0000cf18, 0x0000cf18},
- {0x0000aab8, 0x00000000, 0x00000000, 0x0000cf24, 0x0000cf24, 0x0000cf24},
- {0x0000aabc, 0x00000000, 0x00000000, 0x0000cf28, 0x0000cf28, 0x0000cf28},
- {0x0000aac0, 0x00000000, 0x00000000, 0x0000d314, 0x0000d314, 0x0000d314},
- {0x0000aac4, 0x00000000, 0x00000000, 0x0000d318, 0x0000d318, 0x0000d318},
- {0x0000aac8, 0x00000000, 0x00000000, 0x0000d38c, 0x0000d38c, 0x0000d38c},
- {0x0000aacc, 0x00000000, 0x00000000, 0x0000d390, 0x0000d390, 0x0000d390},
- {0x0000aad0, 0x00000000, 0x00000000, 0x0000d394, 0x0000d394, 0x0000d394},
- {0x0000aad4, 0x00000000, 0x00000000, 0x0000d398, 0x0000d398, 0x0000d398},
- {0x0000aad8, 0x00000000, 0x00000000, 0x0000d3a4, 0x0000d3a4, 0x0000d3a4},
- {0x0000aadc, 0x00000000, 0x00000000, 0x0000d3a8, 0x0000d3a8, 0x0000d3a8},
- {0x0000aae0, 0x00000000, 0x00000000, 0x0000d3ac, 0x0000d3ac, 0x0000d3ac},
- {0x0000aae4, 0x00000000, 0x00000000, 0x0000d3b0, 0x0000d3b0, 0x0000d3b0},
- {0x0000aae8, 0x00000000, 0x00000000, 0x0000f380, 0x0000f380, 0x0000f380},
- {0x0000aaec, 0x00000000, 0x00000000, 0x0000f384, 0x0000f384, 0x0000f384},
- {0x0000aaf0, 0x00000000, 0x00000000, 0x0000f388, 0x0000f388, 0x0000f388},
- {0x0000aaf4, 0x00000000, 0x00000000, 0x0000f710, 0x0000f710, 0x0000f710},
- {0x0000aaf8, 0x00000000, 0x00000000, 0x0000f714, 0x0000f714, 0x0000f714},
- {0x0000aafc, 0x00000000, 0x00000000, 0x0000f718, 0x0000f718, 0x0000f718},
- {0x0000ab00, 0x00000000, 0x00000000, 0x0000fb10, 0x0000fb10, 0x0000fb10},
- {0x0000ab04, 0x00000000, 0x00000000, 0x0000fb14, 0x0000fb14, 0x0000fb14},
- {0x0000ab08, 0x00000000, 0x00000000, 0x0000fb18, 0x0000fb18, 0x0000fb18},
- {0x0000ab0c, 0x00000000, 0x00000000, 0x0000fb8c, 0x0000fb8c, 0x0000fb8c},
- {0x0000ab10, 0x00000000, 0x00000000, 0x0000fb90, 0x0000fb90, 0x0000fb90},
- {0x0000ab14, 0x00000000, 0x00000000, 0x0000fb94, 0x0000fb94, 0x0000fb94},
- {0x0000ab18, 0x00000000, 0x00000000, 0x0000ff8c, 0x0000ff8c, 0x0000ff8c},
- {0x0000ab1c, 0x00000000, 0x00000000, 0x0000ff90, 0x0000ff90, 0x0000ff90},
- {0x0000ab20, 0x00000000, 0x00000000, 0x0000ff94, 0x0000ff94, 0x0000ff94},
- {0x0000ab24, 0x00000000, 0x00000000, 0x0000ffa0, 0x0000ffa0, 0x0000ffa0},
- {0x0000ab28, 0x00000000, 0x00000000, 0x0000ffa4, 0x0000ffa4, 0x0000ffa4},
- {0x0000ab2c, 0x00000000, 0x00000000, 0x0000ffa8, 0x0000ffa8, 0x0000ffa8},
- {0x0000ab30, 0x00000000, 0x00000000, 0x0000ffac, 0x0000ffac, 0x0000ffac},
- {0x0000ab34, 0x00000000, 0x00000000, 0x0000ffb0, 0x0000ffb0, 0x0000ffb0},
- {0x0000ab38, 0x00000000, 0x00000000, 0x0000ffb4, 0x0000ffb4, 0x0000ffb4},
- {0x0000ab3c, 0x00000000, 0x00000000, 0x0000ffa1, 0x0000ffa1, 0x0000ffa1},
- {0x0000ab40, 0x00000000, 0x00000000, 0x0000ffa5, 0x0000ffa5, 0x0000ffa5},
- {0x0000ab44, 0x00000000, 0x00000000, 0x0000ffa9, 0x0000ffa9, 0x0000ffa9},
- {0x0000ab48, 0x00000000, 0x00000000, 0x0000ffad, 0x0000ffad, 0x0000ffad},
- {0x0000ab4c, 0x00000000, 0x00000000, 0x0000ffb1, 0x0000ffb1, 0x0000ffb1},
- {0x0000ab50, 0x00000000, 0x00000000, 0x0000ffb5, 0x0000ffb5, 0x0000ffb5},
- {0x0000ab54, 0x00000000, 0x00000000, 0x0000ffb9, 0x0000ffb9, 0x0000ffb9},
- {0x0000ab58, 0x00000000, 0x00000000, 0x0000ffc5, 0x0000ffc5, 0x0000ffc5},
- {0x0000ab5c, 0x00000000, 0x00000000, 0x0000ffc9, 0x0000ffc9, 0x0000ffc9},
- {0x0000ab60, 0x00000000, 0x00000000, 0x0000ffcd, 0x0000ffcd, 0x0000ffcd},
- {0x0000ab64, 0x00000000, 0x00000000, 0x0000ffd1, 0x0000ffd1, 0x0000ffd1},
- {0x0000ab68, 0x00000000, 0x00000000, 0x0000ffd5, 0x0000ffd5, 0x0000ffd5},
- {0x0000ab6c, 0x00000000, 0x00000000, 0x0000ffc2, 0x0000ffc2, 0x0000ffc2},
- {0x0000ab70, 0x00000000, 0x00000000, 0x0000ffc6, 0x0000ffc6, 0x0000ffc6},
- {0x0000ab74, 0x00000000, 0x00000000, 0x0000ffca, 0x0000ffca, 0x0000ffca},
- {0x0000ab78, 0x00000000, 0x00000000, 0x0000ffce, 0x0000ffce, 0x0000ffce},
- {0x0000ab7c, 0x00000000, 0x00000000, 0x0000ffd2, 0x0000ffd2, 0x0000ffd2},
- {0x0000ab80, 0x00000000, 0x00000000, 0x0000ffd6, 0x0000ffd6, 0x0000ffd6},
- {0x0000ab84, 0x00000000, 0x00000000, 0x0000ffda, 0x0000ffda, 0x0000ffda},
- {0x0000ab88, 0x00000000, 0x00000000, 0x0000ffc7, 0x0000ffc7, 0x0000ffc7},
- {0x0000ab8c, 0x00000000, 0x00000000, 0x0000ffcb, 0x0000ffcb, 0x0000ffcb},
- {0x0000ab90, 0x00000000, 0x00000000, 0x0000ffcf, 0x0000ffcf, 0x0000ffcf},
- {0x0000ab94, 0x00000000, 0x00000000, 0x0000ffd3, 0x0000ffd3, 0x0000ffd3},
- {0x0000ab98, 0x00000000, 0x00000000, 0x0000ffd7, 0x0000ffd7, 0x0000ffd7},
- {0x0000ab9c, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000aba0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000aba4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000aba8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abac, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abb0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abb4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abb8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abbc, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abc0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abc4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abc8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abcc, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abd0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abd4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abd8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abdc, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abe0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abe4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abe8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abec, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abf0, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abf4, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abf8, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x0000abfc, 0x00000000, 0x00000000, 0x0000ffdb, 0x0000ffdb, 0x0000ffdb},
- {0x00009848, 0x00000000, 0x00000000, 0x00001067, 0x00001067, 0x00001067},
- {0x0000a848, 0x00000000, 0x00000000, 0x00001067, 0x00001067, 0x00001067},
-};
-
-static const u32 ar9287PciePhy_clkreq_always_on_L1_9287_1_0[][2] = {
- /* Addr allmodes */
- {0x00004040, 0x9248fd00},
- {0x00004040, 0x24924924},
- {0x00004040, 0xa8000019},
- {0x00004040, 0x13160820},
- {0x00004040, 0xe5980560},
- {0x00004040, 0xc01dcffd},
- {0x00004040, 0x1aaabe41},
- {0x00004040, 0xbe105554},
- {0x00004040, 0x00043007},
- {0x00004044, 0x00000000},
-};
-
-static const u32 ar9287PciePhy_clkreq_off_L1_9287_1_0[][2] = {
- /* Addr allmodes */
- {0x00004040, 0x9248fd00},
- {0x00004040, 0x24924924},
- {0x00004040, 0xa8000019},
- {0x00004040, 0x13160820},
- {0x00004040, 0xe5980560},
- {0x00004040, 0xc01dcffc},
- {0x00004040, 0x1aaabe41},
- {0x00004040, 0xbe105554},
- {0x00004040, 0x00043007},
- {0x00004044, 0x00000000},
-};
-
static const u32 ar9287Modes_9287_1_1[][6] = {
{0x00001030, 0x00000000, 0x00000000, 0x000002c0, 0x00000160, 0x000001e0},
{0x00001070, 0x00000000, 0x00000000, 0x00000318, 0x0000018c, 0x000001e0},
^ permalink raw reply
* Re: Bug#588196: b43: does not join multicast groups
From: Michael Büsch @ 2010-07-13 13:00 UTC (permalink / raw)
To: Simon Richter
Cc: Larry Finger, Ben Hutchings, Stefano Brivio, linux-wireless,
588196
In-Reply-To: <20100713073751.GB3089@richter>
On 07/13/2010 09:37 AM, Simon Richter wrote:
>>> That appears to work, at least I have v6 addresses now.
>> Unlike before, you now have communication.
> Well, v4 worked fine before. :)
That's very nice.
But I wanna say again that this all is expected behavior. The PIO
fallback workaround randomly drops packets when switching modes.
So it is expected that certain handshaking packages may be lost.
It's just a hackish workaround. No more, but also no less.
> I was also having some suspend related issues, I'm going to give it a
> few days now to see whether they also disappear now.
Please open a new bug for this. Thanks.
--
Greetings Michael.
^ permalink raw reply
* Re: Bug#588196: b43: does not join multicast groups
From: Simon Richter @ 2010-07-13 13:06 UTC (permalink / raw)
To: Michael Büsch
Cc: Larry Finger, Ben Hutchings, Stefano Brivio, linux-wireless,
588196
In-Reply-To: <4C3C6350.50304@bu3sch.de>
Hi,
On Tue, Jul 13, 2010 at 03:00:00PM +0200, Michael Büsch wrote:
> But I wanna say again that this all is expected behavior. The PIO
> fallback workaround randomly drops packets when switching modes.
> So it is expected that certain handshaking packages may be lost.
So if the handshake to join a MC group is lost for whatever reason, it
is lost forever, or is that just in the "shit happened, reset
everything" code path?
> >I was also having some suspend related issues, I'm going to give it a
> >few days now to see whether they also disappear now.
> Please open a new bug for this. Thanks.
If they keep appearing; this may also be related to lost packets.
Simon
^ permalink raw reply
* Re: Bug#588196: b43: does not join multicast groups
From: Michael Büsch @ 2010-07-13 14:05 UTC (permalink / raw)
To: Simon Richter
Cc: Larry Finger, Ben Hutchings, Stefano Brivio, linux-wireless,
588196
In-Reply-To: <20100713130614.GB25565@richter>
On 07/13/2010 03:06 PM, Simon Richter wrote:
> Hi,
>
> On Tue, Jul 13, 2010 at 03:00:00PM +0200, Michael Büsch wrote:
>
>> But I wanna say again that this all is expected behavior. The PIO
>> fallback workaround randomly drops packets when switching modes.
>> So it is expected that certain handshaking packages may be lost.
>
> So if the handshake to join a MC group is lost for whatever reason, it
> is lost forever, or is that just in the "shit happened, reset
> everything" code path?
It's not entirely possible to answer that question from a b43 point of view.
What happens in b43 is:
It tries to transmit through DMA. If that fails, it drops all queued
packets (but does not tell any upper layer about that) and resets the
hardware to PIO mode and waits for further work.
So it is up to the upper layer to detect the failure. I don't think
it's possible to automatically detect such incidents for multicast
transmissions. So the mechanism fails here.
>>> I was also having some suspend related issues, I'm going to give it a
>>> few days now to see whether they also disappear now.
>
>> Please open a new bug for this. Thanks.
>
> If they keep appearing; this may also be related to lost packets.
I'm pretty sure that any suspend issue is not related to the PIO
fallback mechanism.
--
Greetings Michael.
^ permalink raw reply
* Re: [PATCH] cfg80211: ignore spurious deauth
From: Paul Stewart @ 2010-07-13 15:04 UTC (permalink / raw)
To: Johannes Berg; +Cc: linux-wireless, John W. Linville
In-Reply-To: <1278938803.5870.24.camel@jlt3.sipsolutions.net>
As stated in the other thread, this patch solves the issue I was
running into. Thanks!
--
Paul
On Mon, Jul 12, 2010 at 5:46 AM, Johannes Berg
<johannes@sipsolutions.net> wrote:
> From: Johannes Berg <johannes.berg@intel.com>
>
> Ever since mac80211/drivers are no longer
> fully in charge of keeping track of the
> auth status, trying to make them do so will
> fail. Instead of warning and reporting the
> deauthentication to userspace, cfg80211 must
> simply ignore it so that spurious
> deauthentications, e.g. before starting
> authentication, aren't seen by userspace as
> actual deauthentications.
>
> Cc: stable@kernel.org
> Reported-by: Paul Stewart <pstew@google.com>
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> ---
> net/wireless/mlme.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> --- wireless-testing.orig/net/wireless/mlme.c 2010-07-12 14:34:22.000000000 +0200
> +++ wireless-testing/net/wireless/mlme.c 2010-07-12 14:42:27.000000000 +0200
> @@ -44,10 +44,10 @@ void cfg80211_send_rx_auth(struct net_de
> }
> }
>
> - WARN_ON(!done);
> -
> - nl80211_send_rx_auth(rdev, dev, buf, len, GFP_KERNEL);
> - cfg80211_sme_rx_auth(dev, buf, len);
> + if (done) {
> + nl80211_send_rx_auth(rdev, dev, buf, len, GFP_KERNEL);
> + cfg80211_sme_rx_auth(dev, buf, len);
> + }
>
> wdev_unlock(wdev);
> }
>
>
>
^ permalink raw reply
* [PATCH 2/2] ath5k: disable tasklets during reset
From: Bob Copeland @ 2010-07-13 15:32 UTC (permalink / raw)
To: linville, br1
Cc: linux-wireless, ath5k-devel, jirislaby, mickflemm, lrodriguez,
Bob Copeland
In-Reply-To: <1279035161-10802-1-git-send-email-me@bobcopeland.com>
Based on a patch from Bruno Randolf, attempting useful
work while we are resetting the chip just leads to interface
lockups and bad descriptor data, and possibly DMAing to
freed buffers. Let's suspend all tasklets while
reprogramming the registers in the card to avoid such
problems.
In the future we can convert the tasklets to threaded
interrupt handlers to simplify things.
Signed-off-by: Bob Copeland <me@bobcopeland.com>
---
drivers/net/wireless/ath/ath5k/base.c | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index b290cc6..b0e1ca9 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -2639,6 +2639,15 @@ ath5k_stop_locked(struct ath5k_softc *sc)
return 0;
}
+static void stop_tasklets(struct ath5k_softc *sc)
+{
+ tasklet_kill(&sc->rxtq);
+ tasklet_kill(&sc->txtq);
+ tasklet_kill(&sc->calib);
+ tasklet_kill(&sc->beacontq);
+ tasklet_kill(&sc->ani_tasklet);
+}
+
/*
* Stop the device, grabbing the top-level lock to protect
* against concurrent entry through ath5k_init (which can happen
@@ -2683,11 +2692,7 @@ ath5k_stop_hw(struct ath5k_softc *sc)
mmiowb();
mutex_unlock(&sc->lock);
- tasklet_kill(&sc->rxtq);
- tasklet_kill(&sc->txtq);
- tasklet_kill(&sc->calib);
- tasklet_kill(&sc->beacontq);
- tasklet_kill(&sc->ani_tasklet);
+ stop_tasklets(sc);
ath5k_rfkill_hw_stop(sc->ah);
@@ -2937,8 +2942,11 @@ ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan)
ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "resetting\n");
+ ath5k_hw_set_imr(ah, 0);
+ synchronize_irq(sc->pdev->irq);
+ stop_tasklets(sc);
+
if (chan) {
- ath5k_hw_set_imr(ah, 0);
ath5k_txq_cleanup(sc);
ath5k_rx_stop(sc);
--
1.6.3.3
^ permalink raw reply related
* [PATCH 1/2] ath5k: move reset to mac80211 workqueue
From: Bob Copeland @ 2010-07-13 15:32 UTC (permalink / raw)
To: linville, br1
Cc: linux-wireless, ath5k-devel, jirislaby, mickflemm, lrodriguez,
Bob Copeland
We currently trigger a reset via a tasklet when certain error
conditions are detected so that the card will (eventually)
restart. Unfortunately this makes locking complicated since
reset can also be called in process context (e.g. for channel
change). Currently nothing protects against concurrent resets,
which can be the source of corruption bugs.
Reset takes too long to spinlock the whole thing, so this
patch moves deferred resets into the mac80211 workqueue to
enable use of sc->lock mutex.
Signed-off-by: Bob Copeland <me@bobcopeland.com>
---
drivers/net/wireless/ath/ath5k/base.c | 38 +++++++++++++++++--------------
drivers/net/wireless/ath/ath5k/base.h | 3 +-
drivers/net/wireless/ath/ath5k/debug.c | 2 +-
3 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 20328bd..b290cc6 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -388,7 +388,7 @@ static int ath5k_init(struct ath5k_softc *sc);
static int ath5k_stop_locked(struct ath5k_softc *sc);
static int ath5k_stop_hw(struct ath5k_softc *sc);
static irqreturn_t ath5k_intr(int irq, void *dev_id);
-static void ath5k_tasklet_reset(unsigned long data);
+static void ath5k_reset_work(struct work_struct *work);
static void ath5k_tasklet_calibrate(unsigned long data);
@@ -831,11 +831,12 @@ ath5k_attach(struct pci_dev *pdev, struct ieee80211_hw *hw)
tasklet_init(&sc->rxtq, ath5k_tasklet_rx, (unsigned long)sc);
tasklet_init(&sc->txtq, ath5k_tasklet_tx, (unsigned long)sc);
- tasklet_init(&sc->restq, ath5k_tasklet_reset, (unsigned long)sc);
tasklet_init(&sc->calib, ath5k_tasklet_calibrate, (unsigned long)sc);
tasklet_init(&sc->beacontq, ath5k_tasklet_beacon, (unsigned long)sc);
tasklet_init(&sc->ani_tasklet, ath5k_tasklet_ani, (unsigned long)sc);
+ INIT_WORK(&sc->reset_work, ath5k_reset_work);
+
ret = ath5k_eeprom_read_mac(ah, mac);
if (ret) {
ATH5K_ERR(sc, "unable to read address from EEPROM: 0x%04x\n",
@@ -2294,8 +2295,8 @@ err_unmap:
* frame contents are done as needed and the slot time is
* also adjusted based on current state.
*
- * This is called from software irq context (beacontq or restq
- * tasklets) or user context from ath5k_beacon_config.
+ * This is called from software irq context (beacontq tasklets)
+ * or user context from ath5k_beacon_config.
*/
static void
ath5k_beacon_send(struct ath5k_softc *sc)
@@ -2328,7 +2329,7 @@ ath5k_beacon_send(struct ath5k_softc *sc)
sc->bmisscount);
ATH5K_DBG(sc, ATH5K_DEBUG_RESET,
"stuck beacon, resetting\n");
- tasklet_schedule(&sc->restq);
+ ieee80211_queue_work(sc->hw, &sc->reset_work);
}
return;
}
@@ -2684,7 +2685,6 @@ ath5k_stop_hw(struct ath5k_softc *sc)
tasklet_kill(&sc->rxtq);
tasklet_kill(&sc->txtq);
- tasklet_kill(&sc->restq);
tasklet_kill(&sc->calib);
tasklet_kill(&sc->beacontq);
tasklet_kill(&sc->ani_tasklet);
@@ -2737,7 +2737,7 @@ ath5k_intr(int irq, void *dev_id)
*/
ATH5K_DBG(sc, ATH5K_DEBUG_RESET,
"fatal int, resetting\n");
- tasklet_schedule(&sc->restq);
+ ieee80211_queue_work(sc->hw, &sc->reset_work);
} else if (unlikely(status & AR5K_INT_RXORN)) {
/*
* Receive buffers are full. Either the bus is busy or
@@ -2752,7 +2752,7 @@ ath5k_intr(int irq, void *dev_id)
if (ah->ah_mac_srev < AR5K_SREV_AR5212) {
ATH5K_DBG(sc, ATH5K_DEBUG_RESET,
"rx overrun, resetting\n");
- tasklet_schedule(&sc->restq);
+ ieee80211_queue_work(sc->hw, &sc->reset_work);
}
else
tasklet_schedule(&sc->rxtq);
@@ -2799,14 +2799,6 @@ ath5k_intr(int irq, void *dev_id)
return IRQ_HANDLED;
}
-static void
-ath5k_tasklet_reset(unsigned long data)
-{
- struct ath5k_softc *sc = (void *)data;
-
- ath5k_reset(sc, sc->curchan);
-}
-
/*
* Periodically recalibrate the PHY to account
* for temperature/environment changes.
@@ -2830,7 +2822,7 @@ ath5k_tasklet_calibrate(unsigned long data)
* to load new gain values.
*/
ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "calibration, resetting\n");
- ath5k_reset(sc, sc->curchan);
+ ieee80211_queue_work(sc->hw, &sc->reset_work);
}
if (ath5k_hw_phy_calibrate(ah, sc->curchan))
ATH5K_ERR(sc, "calibration of channel %u failed\n",
@@ -2934,6 +2926,8 @@ drop_packet:
/*
* Reset the hardware. If chan is not NULL, then also pause rx/tx
* and change to the given channel.
+ *
+ * This should be called with sc->lock.
*/
static int
ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan)
@@ -2990,6 +2984,16 @@ err:
return ret;
}
+static void ath5k_reset_work(struct work_struct *work)
+{
+ struct ath5k_softc *sc = container_of(work, struct ath5k_softc,
+ reset_work);
+
+ mutex_lock(&sc->lock);
+ ath5k_reset(sc, sc->curchan);
+ mutex_unlock(&sc->lock);
+}
+
static int ath5k_start(struct ieee80211_hw *hw)
{
return ath5k_init(hw->priv);
diff --git a/drivers/net/wireless/ath/ath5k/base.h b/drivers/net/wireless/ath/ath5k/base.h
index 56221bc..86c90f4 100644
--- a/drivers/net/wireless/ath/ath5k/base.h
+++ b/drivers/net/wireless/ath/ath5k/base.h
@@ -47,6 +47,7 @@
#include <linux/if_ether.h>
#include <linux/leds.h>
#include <linux/rfkill.h>
+#include <linux/workqueue.h>
#include "ath5k.h"
#include "debug.h"
@@ -189,7 +190,7 @@ struct ath5k_softc {
unsigned int led_pin, /* GPIO pin for driving LED */
led_on; /* pin setting for LED on */
- struct tasklet_struct restq; /* reset tasklet */
+ struct work_struct reset_work; /* deferred chip reset */
unsigned int rxbufsize; /* rx size based on mtu */
struct list_head rxbuf; /* receive buffer */
diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c
index 8c63886..ebb9c23 100644
--- a/drivers/net/wireless/ath/ath5k/debug.c
+++ b/drivers/net/wireless/ath/ath5k/debug.c
@@ -279,7 +279,7 @@ static ssize_t write_file_reset(struct file *file,
{
struct ath5k_softc *sc = file->private_data;
ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "debug file triggered reset\n");
- tasklet_schedule(&sc->restq);
+ ieee80211_queue_work(sc->hw, &sc->reset_work);
return count;
}
--
1.6.3.3
^ permalink raw reply related
* Re: rt2x00: slow wifi with correct basic rate bitmap (was Re: stable? quality assurance?)
From: John W. Linville @ 2010-07-13 15:35 UTC (permalink / raw)
To: Stefan Richter
Cc: Alejandro Riveira Fernández, Martin Steigerwald,
linux-kernel, Johannes Berg, linux-wireless
In-Reply-To: <4C3C6106.3000909@s5r6.in-berlin.de>
On Tue, Jul 13, 2010 at 02:50:14PM +0200, Stefan Richter wrote:
> Alejandro Riveira Fernández wrote:
> > I for one stopped booting into -rc kernels.
> > The fact that still have to patch my kernels with a *one* liner
> > since 2.6.29 kernel [1] does not give me confidence on the "test
> > report/bisect and it will be fixed" promise some have made in this
> > threath
> >
> > [1] https://bugzilla.kernel.org/show_bug.cgi?id=13362
>
> There were promises made in this thread? Then I must have read a
> different mailinglist or so.
>
> I do not know why your WLAN regression has not been fixed yet, but at
> least it seems rather plausible why commit
> 7e0986c17f695952ce5d61ed793ce048ba90a661 is not going to be reverted (if
> such a revert is the one-liner that you are referring to).
>
> Why is one reporter's rt2500 OK now though but not yours? Are there
> different card revisions or firmwares out there that require quirk handling?
The patch (7e0986c1) corrects an obvious error. Reverting it might
improve your (i.e. Alejandro) performance, but it seems likely to
cause connectivity problems for others.
The fact that reverting 7e098c1 helps you suggests that rt2500usb
isn't using the basic_rates map properly. But after reviewing the
code and the data I have, I can't see what would be causing that.
It is at least possible that your AP is sending bad rate information.
Have you tried this device with other APs?
John
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply
* Re: [PATCH 1/2] ath5k: move reset to mac80211 workqueue
From: Luis R. Rodriguez @ 2010-07-13 17:39 UTC (permalink / raw)
To: Bob Copeland
Cc: linville@tuxdriver.com, br1@einfach.org,
linux-wireless@vger.kernel.org, ath5k-devel@lists.ath5k.org,
jirislaby@gmail.com, mickflemm@gmail.com, Luis Rodriguez
In-Reply-To: <1279035161-10802-1-git-send-email-me@bobcopeland.com>
On Tue, Jul 13, 2010 at 08:32:40AM -0700, Bob Copeland wrote:
> We currently trigger a reset via a tasklet when certain error
> conditions are detected so that the card will (eventually)
> restart. Unfortunately this makes locking complicated since
> reset can also be called in process context (e.g. for channel
> change). Currently nothing protects against concurrent resets,
> which can be the source of corruption bugs.
>
> Reset takes too long to spinlock the whole thing, so this
> patch moves deferred resets into the mac80211 workqueue to
> enable use of sc->lock mutex.
>
> Signed-off-by: Bob Copeland <me@bobcopeland.com>
Neat! Good idea.
Luis
^ permalink raw reply
* Re: rt2x00: slow wifi with correct basic rate bitmap (was Re: stable? quality assurance?)
From: Alejandro Riveira Fernández @ 2010-07-13 18:06 UTC (permalink / raw)
To: Stefan Richter
Cc: Martin Steigerwald, linux-kernel, Johannes Berg, John W. Linville,
linux-wireless
In-Reply-To: <4C3C6106.3000909@s5r6.in-berlin.de>
El Tue, 13 Jul 2010 14:50:14 +0200
Stefan Richter <stefanr@s5r6.in-berlin.de> escribió:
> Alejandro Riveira Fernández wrote:
> > I for one stopped booting into -rc kernels.
> > The fact that still have to patch my kernels with a *one* liner
> > since 2.6.29 kernel [1] does not give me confidence on the "test
> > report/bisect and it will be fixed" promise some have made in this
> > threath
> >
> > [1] https://bugzilla.kernel.org/show_bug.cgi?id=13362
>
> There were promises made in this thread? Then I must have read a
> different mailinglist or so.
Ok no promises.
Maybe I read to much in to Mr Tso previous mail. My apologies
[quote]
> So I tend to use -rc3, -rc4, and -rc5 kernels on my laptops, and when
> I find bugs, I report them and I help fix them. If more people did
> that, then the 2.6.X.0 releases would be more stable. But kernel
> development is a volunteer effort, so it's up to the volunteers to
> test and fix bugs during the rc4, -rc5 and -rc6 time frame.
[...]
> [...] Linux may be a very good bargain (look
> at how much Oracle has increased its support contracts for Solaris!),
> but it's still not a free lunch. At the end of the day, you get what
> you put into it.
I tested the kernels i reported the bugs and helped (to the best of my
knowledge; I'm not a programmer)
I got no result.
^ permalink raw reply
* Re: rt2x00: slow wifi with correct basic rate bitmap (was Re: stable? quality assurance?)
From: Alejandro Riveira Fernández @ 2010-07-13 18:19 UTC (permalink / raw)
To: John W. Linville
Cc: Stefan Richter, Martin Steigerwald, linux-kernel, Johannes Berg,
linux-wireless
In-Reply-To: <20100713153530.GC3835@tuxdriver.com>
El Tue, 13 Jul 2010 11:35:31 -0400
"John W. Linville" <linville@tuxdriver.com> escribió:
>
> The patch (7e0986c1) corrects an obvious error. Reverting it might
> improve your (i.e. Alejandro) performance, but it seems likely to
> cause connectivity problems for others.
>
> The fact that reverting 7e098c1 helps you suggests that rt2500usb
my card is pci so it would be rt2500pci
> isn't using the basic_rates map properly. But after reviewing the
> code and the data I have, I can't see what would be causing that.
> It is at least possible that your AP is sending bad rate information.
> Have you tried this device with other APs?
No; this is a desktop pc that connects to my home router/AP. A new wifi
card is cheaper than a new AP ...
>
> John
^ permalink raw reply
* Re: rt2x00: slow wifi with correct basic rate bitmap (was Re: stable? quality assurance?)
From: John W. Linville @ 2010-07-13 18:38 UTC (permalink / raw)
To: Alejandro Riveira Fernández
Cc: Stefan Richter, Martin Steigerwald, linux-kernel, Johannes Berg,
linux-wireless
In-Reply-To: <20100713201927.78674c4a@varda>
On Tue, Jul 13, 2010 at 08:19:27PM +0200, Alejandro Riveira Fernández wrote:
> El Tue, 13 Jul 2010 11:35:31 -0400
> "John W. Linville" <linville@tuxdriver.com> escribió:
>
>
> >
> > The patch (7e0986c1) corrects an obvious error. Reverting it might
> > improve your (i.e. Alejandro) performance, but it seems likely to
> > cause connectivity problems for others.
> >
> > The fact that reverting 7e098c1 helps you suggests that rt2500usb
>
> my card is pci so it would be rt2500pci
Sorry, typo...
> > isn't using the basic_rates map properly. But after reviewing the
> > code and the data I have, I can't see what would be causing that.
> > It is at least possible that your AP is sending bad rate information.
> > Have you tried this device with other APs?
>
> No; this is a desktop pc that connects to my home router/AP. A new wifi
> card is cheaper than a new AP ...
Perhaps you could capture some beacons from that AP?
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply
* Compat-wireless release for 2010-07-13 is baked
From: Compat-wireless cronjob account @ 2010-07-13 19:03 UTC (permalink / raw)
To: linux-wireless
>From git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next
5819544..122c2ee history -> origin/history
+ dfab7fb...7e28ebb master -> origin/master (forced update)
589643b..1c5474a stable -> origin/stable
* [new tag] next-20100713 -> next-20100713
* [new tag] v2.6.35-rc5 -> v2.6.35-rc5
compat-wireless code metrics
495975 - Total upstream lines of code being pulled
1419 - backport code changes
1186 - backport code additions
233 - backport code deletions
5766 - backport from compat module
7185 - total backport code
1.4487 - % of code consists of backport work
1218 - Crap changes not yet posted
1179 - Crap additions not yet posted
39 - Crap deletions not yet posted
0.2456 - % of crap code
Base tree: linux-next.git
Base tree version: next-20100713
compat-wireless release: compat-wireless-2010-07-12
^ permalink raw reply
* Re: rt2x00: slow wifi with correct basic rate bitmap (was Re: stable? quality assurance?)
From: Alejandro Riveira Fernández @ 2010-07-13 19:07 UTC (permalink / raw)
To: John W. Linville
Cc: Stefan Richter, Martin Steigerwald, linux-kernel, Johannes Berg,
linux-wireless
In-Reply-To: <20100713183851.GD3835@tuxdriver.com>
El Tue, 13 Jul 2010 14:38:52 -0400
"John W. Linville" <linville@tuxdriver.com> escribió:
>
> > > isn't using the basic_rates map properly. But after reviewing the
> > > code and the data I have, I can't see what would be causing that.
> > > It is at least possible that your AP is sending bad rate information.
> > > Have you tried this device with other APs?
I do no know; i captured some debug data for Ivo back in the day and from
what he said all the info passed to the card was correct...
See http://lkml.org/lkml/2009/5/25/163 ( link is in bugzilla) in case
you missed it
> >
> > No; this is a desktop pc that connects to my home router/AP. A new wifi
> > card is cheaper than a new AP ...
>
> Perhaps you could capture some beacons from that AP?
f you explain how; I can try.
>
^ permalink raw reply
* Re: Rate control & USB
From: Helmut Schaa @ 2010-07-13 19:15 UTC (permalink / raw)
To: Ivo Van Doorn; +Cc: linux-wireless, Johannes Berg, Felix Fietkau
In-Reply-To: <AANLkTil9g4VT2tROcjSYu1hGNQ04M5psSzxLfpOGE9DS@mail.gmail.com>
Am Dienstag 13 Juli 2010 schrieb Ivo Van Doorn:
> On Mon, Jul 12, 2010 at 9:14 PM, Helmut Schaa
> <helmut.schaa@googlemail.com> wrote:
> > Am Montag 12 Juli 2010 schrieb Ivo Van Doorn:
> >> I am currently looking into the old problem of the mac80211 rate
> >> control algorithms
> >> and USB devices. The Ralink USB devices (and as far as I know, the
> >> other USB devices
> >> as well), do not work well with the PID and Minstrel algorithms. This
> >> is caused by the
> >> fact that USB devices do not report the TX status to mac80211.
> >
> > Ivo, do you know by any chance if the USB devices also have a TX_STA_FIFO
> > register like the PCI variants? Does it contain useful data or just crap?
>
> Well I guess he has the registers (we don't have rt2870 specific specsheets,
> but the register definitions from the original Ralink driver to
> suggest the register
> is there). However, even if it contains valid data, how do you want to match
> the contents of that register with the sent frames in the queue?
We could stuff a unique packet ID into the TXWI and the TX_STA_FIFO should
contain the same ID alongside the TX status after the frame was processed
by the hw.
> And another downside, is that the above only applies to rt2800usb, and not
> for rt73usb and rt2500usb, which neither have the TX status register, and were
> replaced with statistics registers (which I want to read for the batch
> TX status).
Ok, that's a valid argument ...
Helmut
^ permalink raw reply
* Re: rt2x00: slow wifi with correct basic rate bitmap (was Re: stable? quality assurance?)
From: Stefan Richter @ 2010-07-13 19:18 UTC (permalink / raw)
To: Alejandro Riveira Fernández
Cc: Martin Steigerwald, linux-kernel, Johannes Berg, John W. Linville,
linux-wireless
In-Reply-To: <20100713200643.24ce019e@varda>
Alejandro Riveira Fernández wrote:
> El Tue, 13 Jul 2010 14:50:14 +0200
> Stefan Richter <stefanr@s5r6.in-berlin.de> escribió:
>> There were promises made in this thread? Then I must have read a
>> different mailinglist or so.
>
> Ok no promises.
> Maybe I read to much in to Mr Tso previous mail. My apologies
> [quote]
> > So I tend to use -rc3, -rc4, and -rc5 kernels on my laptops, and when
> > I find bugs, I report them and I help fix them. If more people did
> > that, then the 2.6.X.0 releases would be more stable. But kernel
> > development is a volunteer effort, so it's up to the volunteers to
> > test and fix bugs during the rc4, -rc5 and -rc6 time frame.
>
> [...]
> > [...] Linux may be a very good bargain (look
> > at how much Oracle has increased its support contracts for Solaris!),
> > but it's still not a free lunch. At the end of the day, you get what
> > you put into it.
>
> I tested the kernels i reported the bugs and helped (to the best of my
> knowledge; I'm not a programmer)
> I got no result.
"You get what you put into it" probably did not mean "report a bug, get
it fixed, every time". Often enough, kernel bugs or hardware quirks are
very hard to fix without direct access to affected hardware.
Here is how my involvement with Linux started: I reported a bug but
nobody reacted. I collected some more information, reported the bug
again, and it was immediately fixed by the driver authors. From then on
I kept following driver development as a tester and answered user
questions. A few years later, the driver authors all had left for other
projects but there were still bugs to tackle. So I started to write and
submit bug fixes myself. (I'm not a programmer either but by then I
already knew a lot about the subsystem.)
--
Stefan Richter
-=====-==-=- -=== -==-=
http://arcgraph.de/sr/
^ permalink raw reply
* Re: Rate control & USB
From: Ivo Van Doorn @ 2010-07-13 19:51 UTC (permalink / raw)
To: Helmut Schaa; +Cc: linux-wireless, Johannes Berg, Felix Fietkau
In-Reply-To: <201007132115.16101.helmut.schaa@googlemail.com>
On Tue, Jul 13, 2010 at 9:15 PM, Helmut Schaa
<helmut.schaa@googlemail.com> wrote:
> Am Dienstag 13 Juli 2010 schrieb Ivo Van Doorn:
>> On Mon, Jul 12, 2010 at 9:14 PM, Helmut Schaa
>> <helmut.schaa@googlemail.com> wrote:
>> > Am Montag 12 Juli 2010 schrieb Ivo Van Doorn:
>> >> I am currently looking into the old problem of the mac80211 rate
>> >> control algorithms
>> >> and USB devices. The Ralink USB devices (and as far as I know, the
>> >> other USB devices
>> >> as well), do not work well with the PID and Minstrel algorithms. This
>> >> is caused by the
>> >> fact that USB devices do not report the TX status to mac80211.
>> >
>> > Ivo, do you know by any chance if the USB devices also have a TX_STA_FIFO
>> > register like the PCI variants? Does it contain useful data or just crap?
>>
>> Well I guess he has the registers (we don't have rt2870 specific specsheets,
>> but the register definitions from the original Ralink driver to
>> suggest the register
>> is there). However, even if it contains valid data, how do you want to match
>> the contents of that register with the sent frames in the queue?
>
> We could stuff a unique packet ID into the TXWI and the TX_STA_FIFO should
> contain the same ID alongside the TX status after the frame was processed
> by the hw.
True, but we would have the same problem in rt2800pci, that the number
of bits is too limited to completely identify a queue + queue index correctly.
>> And another downside, is that the above only applies to rt2800usb, and not
>> for rt73usb and rt2500usb, which neither have the TX status register, and were
>> replaced with statistics registers (which I want to read for the batch
>> TX status).
>
> Ok, that's a valid argument ...
:)
Ivo
^ permalink raw reply
* pull request: wireless-next-2.6 2010-07-13
From: John W. Linville @ 2010-07-13 20:36 UTC (permalink / raw)
To: davem; +Cc: linux-wireless, netdev
Dave,
Here is the latest batch of wireless LAN goodies intended for 2.6.36.
It is more-or-less the usual batch of driver updates, including ath9k,
iwlwifi, rt2x00, and wl1271. The usual flurry of mac80211 updates is
missing, due mostly to Johannes attending to a personal obligation of a
happy nature. :-)
Please let me know if there are problems!
Thanks,
John
---
The following changes since commit 242647bcf8464860f173f3d4d4ab3490d3558518:
hso: remove driver version (2010-07-12 21:21:27 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6.git for-davem
Ameya Palande (1):
wl12xx: Use MODULE_ALIAS macro at correct postion for SPI bus
Amitkumar Karwar (1):
libertas: Added support for host sleep feature
Christian Lamparter (1):
p54: update MAINTAINERS
Dan Carpenter (2):
prism54: call BUG_ON() earlier
hostap: fixup strlen() math
Emmanuel Grumbach (1):
iwlagn: fix the bit mask of a FH register in stop Tx DMA flow
Felix Fietkau (16):
ath9k_hw: fix a few inconsistencies in initval array names
ath9k_hw: reformat the ar5008, ar9001 and ar9002 initvals to match ar9003
ath9k_hw: sync initvals for ar9001 and ar9002 with Atheros
ath9k_hw: sanitize noise floor values properly on all chips
ath9k_hw: clean up the noise floor calibration code to reduce code duplication
ath9k: fix false positives in the baseband hang check
ath9k: fix crash with WEP in ad-hoc mode
ath9k: fix a potential buffer leak in the STA teardown path
ath9k: fix a buffer leak in A-MPDU completion
ath9k_hw: fix antenna diversity on AR9285
ath9k_hw: fix a sign error in the IQ calibration code
ath9k_hw: fix an off-by-one error in the PDADC boundaries calculation
ath9k_hw: prevent a fast channel change after a rx DMA stuck issue
ath9k_hw: report the TID in the tx status on AR5008-AR9002
ath9k: validate the TID in the tx status information
ath9k: merge noisefloor load implementations
Helmut Schaa (9):
rt2x00: Limit txpower by eeprom values
rt2x00: Convert rt2x00 to use threaded interrupts
rt2x00: Allow beacon update without scheduling a work
rt2x00: Implement broad- and multicast buffering
rt2x00: Use pretbtt irq for fetching beacons on rt2800pci
rt2x00: Use separate mac80211_ops for rt2800pci and rt2800usb
rt2x00: Remove set_tim callback from PCI drivers
rt2x00: Don't initialize beacon interval to 0 on rt2800 devices
rt2x00: Add missing TSF sync mode for AP operation
Ivo van Doorn (8):
rt2x00: Convert AGC value from descriptor to RSSI (dBm)
rt2x00: Rename CONFIG_DISABLE_LINK_TUNING
rt2x00: Disable link tuning while scanning
rt2x00: Fix vgc_level_reg handling
rt2x00: Implement watchdog monitoring
rt2x00: Make rt2800_write_beacon only export to GPL
rt2x00: Move common firmware loading into rt2800lib
rt2x00: Move driver callback functions into the ops structure
Jay Sternberg (1):
iwlwifi: correct descriptions of advanced ucode errors
Jiri Slaby (1):
NET: nl80211, fix lock imbalance and netdev referencing
Johannes Berg (1):
cfg80211: ignore spurious deauth
John W. Linville (5):
Merge branch 'wireless-next-2.6' of git://git.kernel.org/.../iwlwifi/iwlwifi-2.6
mac80211: remove wep dependency
MAINTAINERS: mark adm8211 as an orphan
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-2.6
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next-2.6 into for-davem
Juuso Oikarinen (9):
wl1271: Remove calibration from join command
wl1271: Add TSF handling
wl1271: Use the ARP configuration function from mac80211
wl1271: Use all basic rates for ps-poll, instead of just the slowest
wl1271: Work around AP's with broken ps-poll functionality
wl1271: Update hardware ARP filtering configuration handling
wl1271: Disable dynamic PS based on BT co-ext sense events
wl1271: Fix warning when disconnecting and ad-hoc network
wl1271: Update interface to temporarily disable dynamic PS
Kulikov Vasiliy (1):
adm8211: fix memory leak
Luciano Coelho (5):
wl1271: read fem manufacturer value from nvs
wl1271: moved scan operations to a separate file
wl1271: rewritten scanning code
wl1271: use per-channel max tx power passed by mac80211 when scanning
wl1271: use __packed annotation
Ming Lei (2):
minstrel_ht: fix updating rate with best probability
minstrel_ht: fix check for downgrading of top2 rate
Rajkumar Manoharan (1):
ath9k_htc: fix memory leak in ath9k_hif_usb_alloc_urbs
Reinette Chatre (1):
iwlwifi: remove key information during device restart
Shanyu Zhao (1):
iwlwifi: enable 6050 series Gen2 devices
Wey-Yi Guy (9):
iwlwifi: fix fw_restart module parameter
iwlwifi: add debug print for parsing firmware TLV
iwlwifi: tx fifo queue flush command
iwlwifi: add mac80211 flush callback support
iwlwifi: add support for device tx flush request
iwlwifi: debugfs file for txfifo command testing
iwlwifi: generic parameter define for _agn device
iwlwifi: adding enhance sensitivity table entries
iwlagn: more generic description for iwlagn devices
MAINTAINERS | 9 +-
drivers/net/wireless/adm8211.c | 5 +-
drivers/net/wireless/ath/ath9k/ar5008_initvals.h | 1319 ++--
drivers/net/wireless/ath/ath9k/ar5008_phy.c | 129 +-
drivers/net/wireless/ath/ath9k/ar9001_initvals.h | 2479 +++---
drivers/net/wireless/ath/ath9k/ar9002_calib.c | 2 +-
drivers/net/wireless/ath/ath9k/ar9002_hw.c | 12 +-
drivers/net/wireless/ath/ath9k/ar9002_initvals.h |10152 +++++++++++-----------
drivers/net/wireless/ath/ath9k/ar9002_mac.c | 1 +
drivers/net/wireless/ath/ath9k/ar9002_phy.c | 69 +-
drivers/net/wireless/ath/ath9k/ar9002_phy.h | 26 +
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 2 +-
drivers/net/wireless/ath/ath9k/ar9003_mac.h | 3 -
drivers/net/wireless/ath/ath9k/ar9003_phy.c | 213 +-
drivers/net/wireless/ath/ath9k/ath9k.h | 2 +
drivers/net/wireless/ath/ath9k/calib.c | 153 +-
drivers/net/wireless/ath/ath9k/calib.h | 7 +-
drivers/net/wireless/ath/ath9k/common.c | 4 +
drivers/net/wireless/ath/ath9k/eeprom.h | 2 +-
drivers/net/wireless/ath/ath9k/eeprom_4k.c | 4 +-
drivers/net/wireless/ath/ath9k/eeprom_9287.c | 4 +-
drivers/net/wireless/ath/ath9k/eeprom_def.c | 6 +-
drivers/net/wireless/ath/ath9k/hif_usb.c | 8 +-
drivers/net/wireless/ath/ath9k/hw-ops.h | 6 -
drivers/net/wireless/ath/ath9k/hw.c | 7 +-
drivers/net/wireless/ath/ath9k/hw.h | 23 +-
drivers/net/wireless/ath/ath9k/init.c | 1 +
drivers/net/wireless/ath/ath9k/mac.h | 3 +
drivers/net/wireless/ath/ath9k/main.c | 27 +-
drivers/net/wireless/ath/ath9k/xmit.c | 65 +-
drivers/net/wireless/hostap/hostap_main.c | 2 +-
drivers/net/wireless/iwlwifi/Kconfig | 9 +-
drivers/net/wireless/iwlwifi/iwl-1000.c | 6 +-
drivers/net/wireless/iwlwifi/iwl-5000.c | 12 +-
drivers/net/wireless/iwlwifi/iwl-6000.c | 44 +-
drivers/net/wireless/iwlwifi/iwl-agn-calib.c | 133 +-
drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 82 +-
drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 7 +-
drivers/net/wireless/iwlwifi/iwl-agn.c | 209 +-
drivers/net/wireless/iwlwifi/iwl-agn.h | 4 +
drivers/net/wireless/iwlwifi/iwl-commands.h | 85 +-
drivers/net/wireless/iwlwifi/iwl-core.c | 31 +-
drivers/net/wireless/iwlwifi/iwl-core.h | 5 +-
drivers/net/wireless/iwlwifi/iwl-csr.h | 1 +
drivers/net/wireless/iwlwifi/iwl-debugfs.c | 29 +-
drivers/net/wireless/iwlwifi/iwl-dev.h | 4 +
drivers/net/wireless/iwlwifi/iwl-eeprom.h | 4 +
drivers/net/wireless/iwlwifi/iwl-fh.h | 7 +-
drivers/net/wireless/iwlwifi/iwl-hcmd.c | 1 +
drivers/net/wireless/iwlwifi/iwl-rx.c | 4 +-
drivers/net/wireless/iwlwifi/iwl-sta.h | 11 +
drivers/net/wireless/libertas/README | 12 +
drivers/net/wireless/libertas/cmd.c | 61 +-
drivers/net/wireless/libertas/cmd.h | 2 +
drivers/net/wireless/libertas/debugfs.c | 66 +
drivers/net/wireless/libertas/main.c | 34 +-
drivers/net/wireless/prism54/isl_ioctl.c | 2 +-
drivers/net/wireless/rt2x00/rt2400pci.c | 69 +-
drivers/net/wireless/rt2x00/rt2500pci.c | 71 +-
drivers/net/wireless/rt2x00/rt2500usb.c | 14 +-
drivers/net/wireless/rt2x00/rt2800.h | 30 +-
drivers/net/wireless/rt2x00/rt2800lib.c | 434 +-
drivers/net/wireless/rt2x00/rt2800lib.h | 43 +-
drivers/net/wireless/rt2x00/rt2800pci.c | 229 +-
drivers/net/wireless/rt2x00/rt2800usb.c | 178 +-
drivers/net/wireless/rt2x00/rt2x00.h | 25 +-
drivers/net/wireless/rt2x00/rt2x00config.c | 4 +-
drivers/net/wireless/rt2x00/rt2x00dev.c | 96 +-
drivers/net/wireless/rt2x00/rt2x00lib.h | 26 +-
drivers/net/wireless/rt2x00/rt2x00link.c | 65 +-
drivers/net/wireless/rt2x00/rt2x00mac.c | 50 +-
drivers/net/wireless/rt2x00/rt2x00pci.c | 6 +-
drivers/net/wireless/rt2x00/rt2x00queue.c | 4 +
drivers/net/wireless/rt2x00/rt2x00queue.h | 11 +
drivers/net/wireless/rt2x00/rt2x00reg.h | 5 +-
drivers/net/wireless/rt2x00/rt2x00usb.c | 50 +
drivers/net/wireless/rt2x00/rt2x00usb.h | 10 +
drivers/net/wireless/rt2x00/rt61pci.c | 68 +-
drivers/net/wireless/rt2x00/rt73usb.c | 7 +
drivers/net/wireless/wl12xx/Makefile | 2 +-
drivers/net/wireless/wl12xx/wl1251_main.c | 1 -
drivers/net/wireless/wl12xx/wl1251_spi.c | 1 +
drivers/net/wireless/wl12xx/wl1271.h | 24 +-
drivers/net/wireless/wl12xx/wl1271_acx.c | 41 +-
drivers/net/wireless/wl12xx/wl1271_acx.h | 15 +-
drivers/net/wireless/wl12xx/wl1271_boot.c | 4 +-
drivers/net/wireless/wl12xx/wl1271_cmd.c | 248 +-
drivers/net/wireless/wl12xx/wl1271_cmd.h | 68 -
drivers/net/wireless/wl12xx/wl1271_conf.h | 16 +-
drivers/net/wireless/wl12xx/wl1271_event.c | 99 +-
drivers/net/wireless/wl12xx/wl1271_event.h | 1 +
drivers/net/wireless/wl12xx/wl1271_main.c | 174 +-
drivers/net/wireless/wl12xx/wl1271_rx.c | 6 -
drivers/net/wireless/wl12xx/wl1271_scan.c | 257 +
drivers/net/wireless/wl12xx/wl1271_scan.h | 109 +
drivers/net/wireless/wl12xx/wl1271_spi.c | 1 +
net/mac80211/cfg.c | 5 +
net/mac80211/main.c | 5 +-
net/mac80211/rc80211_minstrel_ht.c | 6 +-
net/mac80211/tkip.c | 8 +-
net/mac80211/tkip.h | 2 +-
net/mac80211/wep.c | 24 +-
net/mac80211/wep.h | 2 +-
net/mac80211/wpa.c | 5 +-
net/wireless/mlme.c | 8 +-
net/wireless/nl80211.c | 2 +-
106 files changed, 9722 insertions(+), 8517 deletions(-)
create mode 100644 drivers/net/wireless/wl12xx/wl1271_scan.c
create mode 100644 drivers/net/wireless/wl12xx/wl1271_scan.h
Omnibus patch is available here:
http://www.kernel.org/pub/linux/kernel/people/linville/wireless-next-2.6-2010-07-13.patch.bz2
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply
* Re: pull request: wireless-next-2.6 2010-07-13
From: David Miller @ 2010-07-13 21:36 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, netdev
In-Reply-To: <20100713203639.GE3835@tuxdriver.com>
From: "John W. Linville" <linville@tuxdriver.com>
Date: Tue, 13 Jul 2010 16:36:40 -0400
> Here is the latest batch of wireless LAN goodies intended for 2.6.36.
> It is more-or-less the usual batch of driver updates, including ath9k,
> iwlwifi, rt2x00, and wl1271. The usual flurry of mac80211 updates is
> missing, due mostly to Johannes attending to a personal obligation of a
> happy nature. :-)
>
> Please let me know if there are problems!
Pulled, but please be on the lookout for things that add uses
of "attribute ((packed))" instead of "__packed".
Eric Dumazet converted all of drivers/net and I've been endlessly
seeing partial reverts and new additions of the explicit attribute in
wireless commits.
For example, see the things that got added to iwlwifi this time around.
Please fix them up, all of them, for the next pull request I see from
you.
Thanks!
^ permalink raw reply
* Re: [PATCH] compat-wireless: fix build of ath5k for CONFIG_PM_SLEEP=n
From: Luis R. Rodriguez @ 2010-07-13 21:54 UTC (permalink / raw)
To: Philip A. Prindeville; +Cc: Hauke Mehrtens, linux-wireless, mcgrof
In-Reply-To: <4C3B6AAE.4070204@redfish-solutions.com>
On Mon, Jul 12, 2010 at 12:19 PM, Philip A. Prindeville
<philipp_subx@redfish-solutions.com> wrote:
> On 07/12/2010 09:30 AM, Luis R. Rodriguez wrote:
>> On Sun, Jul 11, 2010 at 1:23 PM, Hauke Mehrtens <hauke@hauke-m.de> wrote:
>>> suspend and resume are activated in ath5k if CONFIG_PM_SLEEP is set and
>>> not if just CONFIG_PM is set.
>>>
>>> This should fix the problems reported by Philip Prindeville.
>>>
>>> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
>>
>> Thanks! Applied and pushed out, at noon we'll have a new tarball with this.
>>
>> Luis
>
> And...
>
>
> CC [M] /home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth/l2cap.o
> /home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth/l2cap.c: In function 'l2cap_data_channel':
> /home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth/l2cap.c:4352: error: void value not ignored as it ought to be
> make[4]: *** [/home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth/l2cap.o] Error 1
> make[3]: *** [/home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth] Error 2
> make[2]: *** [_module_/home/philipp/kernel/build_i586/compat-wireless-2010-07-12] Error 2
> make[2]: Leaving directory `/home/philipp/kernel/build_i586/linux-2.6.27.48-astlinux'
> make[1]: *** [modules] Error 2
> make[1]: Leaving directory `/home/philipp/kernel/build_i586/compat-wireless-2010-07-12'
> make: *** [/home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/wireless/lib80211.ko] Error 2
Thanks for reporting this, I am working on it now.
Luis
^ permalink raw reply
* Re: [PATCH] compat-wireless: fix build of ath5k for CONFIG_PM_SLEEP=n
From: Luis R. Rodriguez @ 2010-07-13 22:44 UTC (permalink / raw)
To: Philip A. Prindeville; +Cc: Hauke Mehrtens, linux-wireless, mcgrof
In-Reply-To: <AANLkTilfUKMido8N4vRF4Em7ewtoUAlkrsp1uaKTx6H9@mail.gmail.com>
On Tue, Jul 13, 2010 at 2:54 PM, Luis R. Rodriguez
<lrodriguez@atheros.com> wrote:
> On Mon, Jul 12, 2010 at 12:19 PM, Philip A. Prindeville
> <philipp_subx@redfish-solutions.com> wrote:
>> On 07/12/2010 09:30 AM, Luis R. Rodriguez wrote:
>>> On Sun, Jul 11, 2010 at 1:23 PM, Hauke Mehrtens <hauke@hauke-m.de> wrote:
>>>> suspend and resume are activated in ath5k if CONFIG_PM_SLEEP is set and
>>>> not if just CONFIG_PM is set.
>>>>
>>>> This should fix the problems reported by Philip Prindeville.
>>>>
>>>> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
>>>
>>> Thanks! Applied and pushed out, at noon we'll have a new tarball with this.
>>>
>>> Luis
>>
>> And...
>>
>>
>> CC [M] /home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth/l2cap.o
>> /home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth/l2cap.c: In function 'l2cap_data_channel':
>> /home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth/l2cap.c:4352: error: void value not ignored as it ought to be
>> make[4]: *** [/home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth/l2cap.o] Error 1
>> make[3]: *** [/home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/bluetooth] Error 2
>> make[2]: *** [_module_/home/philipp/kernel/build_i586/compat-wireless-2010-07-12] Error 2
>> make[2]: Leaving directory `/home/philipp/kernel/build_i586/linux-2.6.27.48-astlinux'
>> make[1]: *** [modules] Error 2
>> make[1]: Leaving directory `/home/philipp/kernel/build_i586/compat-wireless-2010-07-12'
>> make: *** [/home/philipp/kernel/build_i586/compat-wireless-2010-07-12/net/wireless/lib80211.ko] Error 2
>
> Thanks for reporting this, I am working on it now.
This is now fixed, I'll push out a new tarball shortly.
Luis
^ permalink raw reply
* [PATCH 1/3] ath9k: implement mac80211 flush op
From: Luis R. Rodriguez @ 2010-07-14 1:27 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Luis R. Rodriguez
In-Reply-To: <1279070845-29442-1-git-send-email-lrodriguez@atheros.com>
This implements the mac80211 flush callback to let mac80211
flush the hardware queues when it deems appropriate.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
drivers/net/wireless/ath/ath9k/main.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 4c0831f..46a6543 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -2031,6 +2031,24 @@ static void ath9k_set_coverage_class(struct ieee80211_hw *hw, u8 coverage_class)
mutex_unlock(&sc->mutex);
}
+static void ath9k_flush(struct ieee80211_hw *hw, bool drop)
+{
+ struct ath_wiphy *aphy = hw->priv;
+ struct ath_softc *sc = aphy->sc;
+
+ mutex_lock(&sc->mutex);
+
+ if ((sc->sc_flags & SC_OP_INVALID))
+ goto out;
+
+ ath9k_ps_wakeup(sc);
+ ath_drain_all_txq(sc, !drop);
+ ath9k_ps_restore(sc);
+
+out:
+ mutex_unlock(&sc->mutex);
+}
+
struct ieee80211_ops ath9k_ops = {
.tx = ath9k_tx,
.start = ath9k_start,
@@ -2053,4 +2071,5 @@ struct ieee80211_ops ath9k_ops = {
.sw_scan_complete = ath9k_sw_scan_complete,
.rfkill_poll = ath9k_rfkill_poll_state,
.set_coverage_class = ath9k_set_coverage_class,
+ .flush = ath9k_flush,
};
--
1.7.0.4
^ permalink raw reply related
* [PATCH 3/3] ath9k_htc: make ath9k_htc_tx_aggr_oper() static
From: Luis R. Rodriguez @ 2010-07-14 1:27 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Luis R. Rodriguez
In-Reply-To: <1279070845-29442-1-git-send-email-lrodriguez@atheros.com>
This fixes this sparse complaint:
CHECK drivers/net/wireless/ath/ath9k/htc_drv_main.c
drivers/net/wireless/ath/ath9k/htc_drv_main.c:441:5:
warning: symbol 'ath9k_htc_tx_aggr_oper'
was not declared. Should it be static?
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
drivers/net/wireless/ath/ath9k/htc_drv_main.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index fc234a7..fe4c185 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -438,10 +438,11 @@ static void ath9k_htc_update_rate(struct ath9k_htc_priv *priv,
bss_conf->bssid, be32_to_cpu(trate.capflags));
}
-int ath9k_htc_tx_aggr_oper(struct ath9k_htc_priv *priv,
- struct ieee80211_vif *vif,
- struct ieee80211_sta *sta,
- enum ieee80211_ampdu_mlme_action action, u16 tid)
+static int ath9k_htc_tx_aggr_oper(struct ath9k_htc_priv *priv,
+ struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta,
+ enum ieee80211_ampdu_mlme_action action,
+ u16 tid)
{
struct ath_common *common = ath9k_hw_common(priv->ah);
struct ath9k_htc_target_aggr aggr;
--
1.7.0.4
^ permalink raw reply related
* [PATCH 2/3] ath9k_htc: implement mac80211 flush op
From: Luis R. Rodriguez @ 2010-07-14 1:27 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Luis R. Rodriguez
In-Reply-To: <1279070845-29442-1-git-send-email-lrodriguez@atheros.com>
This implements the mac80211 flush callback to let mac80211
flush the hardware queues when it deems appropriate.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
drivers/net/wireless/ath/ath9k/htc_drv_main.c | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index e38ca66..fc234a7 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -1803,6 +1803,29 @@ static void ath9k_htc_set_coverage_class(struct ieee80211_hw *hw,
mutex_unlock(&priv->mutex);
}
+static void ath9k_htc_flush(struct ieee80211_hw *hw, bool drop)
+{
+ struct ath9k_htc_priv *priv = hw->priv;
+ u8 cmd_rsp;
+ int ret;
+
+ mutex_lock(&priv->mutex);
+
+ if (priv->op_flags & OP_INVALID)
+ goto err;
+
+ ath9k_htc_ps_wakeup(priv);
+
+ WMI_CMD(WMI_DRAIN_TXQ_ALL_CMDID);
+ if (drop)
+ skb_queue_purge(&priv->tx_queue);
+
+ ath9k_htc_ps_restore(priv);
+
+err:
+ mutex_unlock(&priv->mutex);
+}
+
struct ieee80211_ops ath9k_htc_ops = {
.tx = ath9k_htc_tx,
.start = ath9k_htc_start,
@@ -1825,4 +1848,5 @@ struct ieee80211_ops ath9k_htc_ops = {
.set_rts_threshold = ath9k_htc_set_rts_threshold,
.rfkill_poll = ath9k_htc_rfkill_poll_state,
.set_coverage_class = ath9k_htc_set_coverage_class,
+ .flush = ath9k_htc_flush,
};
--
1.7.0.4
^ permalink raw reply related
* [PATCH 0/3] ath9k: flush patches
From: Luis R. Rodriguez @ 2010-07-14 1:27 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, Luis R. Rodriguez
These patchs add the mac8021 flush op to both ath9k and ath9k_htc.
Tested with AR9003 and AR9271.
Luis R. Rodriguez (3):
ath9k: implement mac80211 flush op
ath9k_htc: implement mac80211 flush op
ath9k_htc: make ath9k_htc_tx_aggr_oper() static
drivers/net/wireless/ath/ath9k/htc_drv_main.c | 33 ++++++++++++++++++++++---
drivers/net/wireless/ath/ath9k/main.c | 19 ++++++++++++++
2 files changed, 48 insertions(+), 4 deletions(-)
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox