* [PATCH 0/2] ath9k initval updates
@ 2013-11-27 10:23 Sujith Manoharan
2013-11-27 10:23 ` [PATCH 1/2] ath9k: Update initvals for AR9300 v2.2 Sujith Manoharan
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Sujith Manoharan @ 2013-11-27 10:23 UTC (permalink / raw)
To: John Linville; +Cc: linux-wireless
From: Sujith Manoharan <c_manoha@qca.qualcomm.com>
These two patches update the initvals for
AR9300 2.2 and AR9580 1.0
After these patches, there are still a few differences between the
INI files from the internal driver and ath9k. From verify_checksum:
ar9003-2p2 96a13663004d71b5ffa4fe9efc6b41dcfaf5a327 fail
+c8dc777b012068116cd5282aade8eb460f397d20 ar9300_2p2_mac_postamble
+5542c7d650feeb530de2775003931a00f992c09a ar9300Modes_high_power_tx_gain_table_2p2
ar9580-1p0 40e08925d7d8daa4c9841ee807fa25b0fd3f725b fail
+c8dc777b012068116cd5282aade8eb460f397d20 ar9580_1p0_mac_postamble
+07f9922af110bf9d72a7534a30eefcf9bacd0d7e ar9580_1p0_baseband_core
+8e30343d20745791d5c2e7de968f0e81403761d5 ar9580_1p0_baseband_postamble
Differences:
* In both chips, "mac_postamble" needs an update - the "ALWAYS_PERFORM_KEY_SEARCH"
bit has to enabled. This is required to address key cache corruption, which
needs a bigger change in the driver.
* The ar9300Modes_high_power_tx_gain_table_2p2 array has been left as such
since it is required for certain Buffalo devices.
* ar9580_1p0_baseband_core and ar9580_1p0_baseband_postamble require updates
to handle DFS issues. This will be done in a separate commit.
All initval tool changes have been pushed to:
https://github.com/sujith/qca-swiss-army-knife/commits/master
Sujith
Sujith Manoharan (2):
ath9k: Update initvals for AR9300 v2.2
ath9k: Update initvals for AR9580 v1.0
.../net/wireless/ath/ath9k/ar9003_2p2_initvals.h | 24 +-
.../net/wireless/ath/ath9k/ar9580_1p0_initvals.h | 559 ++++++++++++++-------
2 files changed, 398 insertions(+), 185 deletions(-)
--
1.8.4.2
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH 1/2] ath9k: Update initvals for AR9300 v2.2 2013-11-27 10:23 [PATCH 0/2] ath9k initval updates Sujith Manoharan @ 2013-11-27 10:23 ` Sujith Manoharan 2013-11-27 10:23 ` [PATCH 2/2] ath9k: Update initvals for AR9580 v1.0 Sujith Manoharan 2013-11-27 10:32 ` ath9k pending patches Sujith Manoharan 2 siblings, 0 replies; 14+ messages in thread From: Sujith Manoharan @ 2013-11-27 10:23 UTC (permalink / raw) To: John Linville; +Cc: linux-wireless From: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> --- .../net/wireless/ath/ath9k/ar9003_2p2_initvals.h | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h index 7546b9a..1553395 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h +++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h @@ -352,7 +352,7 @@ static const u32 ar9300_2p2_baseband_postamble[][5] = { {0x0000a288, 0x00000110, 0x00000110, 0x00000110, 0x00000110}, {0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222}, {0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18}, - {0x0000a2d0, 0x00041981, 0x00041981, 0x00041981, 0x00041982}, + {0x0000a2d0, 0x00041983, 0x00041983, 0x00041981, 0x00041982}, {0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b}, {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, {0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, @@ -378,9 +378,9 @@ static const u32 ar9300_2p2_baseband_core[][2] = { {0x00009814, 0x9280c00a}, {0x00009818, 0x00000000}, {0x0000981c, 0x00020028}, - {0x00009834, 0x6400a290}, + {0x00009834, 0x6400a190}, {0x00009838, 0x0108ecff}, - {0x0000983c, 0x0d000600}, + {0x0000983c, 0x14000600}, {0x00009880, 0x201fff00}, {0x00009884, 0x00001042}, {0x000098a4, 0x00200400}, @@ -401,7 +401,7 @@ static const u32 ar9300_2p2_baseband_core[][2] = { {0x00009d04, 0x40206c10}, {0x00009d08, 0x009c4060}, {0x00009d0c, 0x9883800a}, - {0x00009d10, 0x01834061}, + {0x00009d10, 0x01884061}, {0x00009d14, 0x00c0040b}, {0x00009d18, 0x00000000}, {0x00009e08, 0x0038230c}, @@ -459,7 +459,7 @@ static const u32 ar9300_2p2_baseband_core[][2] = { {0x0000a3e8, 0x20202020}, {0x0000a3ec, 0x20202020}, {0x0000a3f0, 0x00000000}, - {0x0000a3f4, 0x00000246}, + {0x0000a3f4, 0x00000000}, {0x0000a3f8, 0x0c9bd380}, {0x0000a3fc, 0x000f0f01}, {0x0000a400, 0x8fa91f01}, @@ -644,7 +644,7 @@ static const u32 ar9300Modes_high_ob_db_tx_gain_table_2p2[][5] = { {0x0000a2e0, 0x0000f000, 0x0000f000, 0x03ccc584, 0x03ccc584}, {0x0000a2e4, 0x01ff0000, 0x01ff0000, 0x03f0f800, 0x03f0f800}, {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, - {0x0000a410, 0x000050d8, 0x000050d8, 0x000050d9, 0x000050d9}, + {0x0000a410, 0x000050d4, 0x000050d4, 0x000050d9, 0x000050d9}, {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000}, {0x0000a504, 0x04002222, 0x04002222, 0x04000002, 0x04000002}, {0x0000a508, 0x09002421, 0x09002421, 0x08000004, 0x08000004}, @@ -1086,8 +1086,8 @@ static const u32 ar9300Common_rx_gain_table_2p2[][2] = { {0x0000b074, 0x00000000}, {0x0000b078, 0x00000000}, {0x0000b07c, 0x00000000}, - {0x0000b080, 0x2a2d2f32}, - {0x0000b084, 0x21232328}, + {0x0000b080, 0x23232323}, + {0x0000b084, 0x21232323}, {0x0000b088, 0x19191c1e}, {0x0000b08c, 0x12141417}, {0x0000b090, 0x07070e0e}, @@ -1385,9 +1385,9 @@ static const u32 ar9300_2p2_mac_core[][2] = { {0x000081f8, 0x00000000}, {0x000081fc, 0x00000000}, {0x00008240, 0x00100000}, - {0x00008244, 0x0010f424}, + {0x00008244, 0x0010f400}, {0x00008248, 0x00000800}, - {0x0000824c, 0x0001e848}, + {0x0000824c, 0x0001e800}, {0x00008250, 0x00000000}, {0x00008254, 0x00000000}, {0x00008258, 0x00000000}, @@ -1726,14 +1726,14 @@ static const u32 ar9300PciePhy_pll_on_clkreq_disable_L1_2p2[][2] = { static const u32 ar9300PciePhy_clkreq_enable_L1_2p2[][2] = { /* Addr allmodes */ - {0x00004040, 0x08253e5e}, + {0x00004040, 0x0825365e}, {0x00004040, 0x0008003b}, {0x00004044, 0x00000000}, }; static const u32 ar9300PciePhy_clkreq_disable_L1_2p2[][2] = { /* Addr allmodes */ - {0x00004040, 0x08213e5e}, + {0x00004040, 0x0821365e}, {0x00004040, 0x0008003b}, {0x00004044, 0x00000000}, }; -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/2] ath9k: Update initvals for AR9580 v1.0 2013-11-27 10:23 [PATCH 0/2] ath9k initval updates Sujith Manoharan 2013-11-27 10:23 ` [PATCH 1/2] ath9k: Update initvals for AR9300 v2.2 Sujith Manoharan @ 2013-11-27 10:23 ` Sujith Manoharan 2013-11-27 10:32 ` ath9k pending patches Sujith Manoharan 2 siblings, 0 replies; 14+ messages in thread From: Sujith Manoharan @ 2013-11-27 10:23 UTC (permalink / raw) To: John Linville; +Cc: linux-wireless From: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> --- .../net/wireless/ath/ath9k/ar9580_1p0_initvals.h | 559 ++++++++++++++------- 1 file changed, 386 insertions(+), 173 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h b/drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h index d17b7ca..2ae380b 100644 --- a/drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h +++ b/drivers/net/wireless/ath/ath9k/ar9580_1p0_initvals.h @@ -20,18 +20,34 @@ /* AR9580 1.0 */ +#define ar9580_1p0_soc_preamble ar9300_2p2_soc_preamble + +#define ar9580_1p0_soc_postamble ar9300_2p2_soc_postamble + +#define ar9580_1p0_radio_core ar9300_2p2_radio_core + +#define ar9580_1p0_mac_postamble ar9300_2p2_mac_postamble + +#define ar9580_1p0_wo_xlna_rx_gain_table ar9300Common_wo_xlna_rx_gain_table_2p2 + +#define ar9580_1p0_type5_tx_gain_table ar9300Modes_type5_tx_gain_table_2p2 + +#define ar9580_1p0_high_ob_db_tx_gain_table ar9300Modes_high_ob_db_tx_gain_table_2p2 + #define ar9580_1p0_modes_fast_clock ar9300Modes_fast_clock_2p2 +#define ar9580_1p0_baseband_core_txfir_coeff_japan_2484 ar9462_2p0_baseband_core_txfir_coeff_japan_2484 + static const u32 ar9580_1p0_radio_postamble[][5] = { /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ {0x0001609c, 0x0dd08f29, 0x0dd08f29, 0x0b283f31, 0x0b283f31}, {0x000160ac, 0xa4653c00, 0xa4653c00, 0x24652800, 0x24652800}, {0x000160b0, 0x03284f3e, 0x03284f3e, 0x05d08f20, 0x05d08f20}, - {0x0001610c, 0x08000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0001610c, 0xc8000000, 0xc0000000, 0xc0000000, 0xc0000000}, {0x00016140, 0x10804008, 0x10804008, 0x50804008, 0x50804008}, - {0x0001650c, 0x08000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0001650c, 0xc8000000, 0xc0000000, 0xc0000000, 0xc0000000}, {0x00016540, 0x10804008, 0x10804008, 0x50804008, 0x50804008}, - {0x0001690c, 0x08000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0001690c, 0xc8000000, 0xc0000000, 0xc0000000, 0xc0000000}, {0x00016940, 0x10804008, 0x10804008, 0x50804008, 0x50804008}, }; @@ -44,9 +60,9 @@ static const u32 ar9580_1p0_baseband_core[][2] = { {0x00009814, 0x3280c00a}, {0x00009818, 0x00000000}, {0x0000981c, 0x00020028}, - {0x00009834, 0x6400a290}, + {0x00009834, 0x6400a190}, {0x00009838, 0x0108ecff}, - {0x0000983c, 0x0d000600}, + {0x0000983c, 0x14000600}, {0x00009880, 0x201fff00}, {0x00009884, 0x00001042}, {0x000098a4, 0x00200400}, @@ -67,7 +83,7 @@ static const u32 ar9580_1p0_baseband_core[][2] = { {0x00009d04, 0x40206c10}, {0x00009d08, 0x009c4060}, {0x00009d0c, 0x9883800a}, - {0x00009d10, 0x01834061}, + {0x00009d10, 0x01884061}, {0x00009d14, 0x00c0040b}, {0x00009d18, 0x00000000}, {0x00009e08, 0x0038230c}, @@ -198,8 +214,6 @@ static const u32 ar9580_1p0_baseband_core[][2] = { {0x0000c420, 0x00000000}, }; -#define ar9580_1p0_mac_postamble ar9300_2p2_mac_postamble - static const u32 ar9580_1p0_low_ob_db_tx_gain_table[][5] = { /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ {0x0000a2dc, 0x0380c7fc, 0x0380c7fc, 0x03aaa352, 0x03aaa352}, @@ -306,7 +320,112 @@ static const u32 ar9580_1p0_low_ob_db_tx_gain_table[][5] = { {0x00016868, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, }; -#define ar9580_1p0_high_power_tx_gain_table ar9580_1p0_low_ob_db_tx_gain_table +static const u32 ar9580_1p0_high_power_tx_gain_table[][5] = { + /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ + {0x0000a2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, + {0x0000a2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, + {0x0000a2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, + {0x0000a2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, + {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, + {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002}, + {0x0000a508, 0x0a000020, 0x0a000020, 0x08000004, 0x08000004}, + {0x0000a50c, 0x10000023, 0x10000023, 0x0b000200, 0x0b000200}, + {0x0000a510, 0x15000028, 0x15000028, 0x0f000202, 0x0f000202}, + {0x0000a514, 0x1b00002b, 0x1b00002b, 0x12000400, 0x12000400}, + {0x0000a518, 0x1f020028, 0x1f020028, 0x16000402, 0x16000402}, + {0x0000a51c, 0x2502002b, 0x2502002b, 0x19000404, 0x19000404}, + {0x0000a520, 0x2a04002a, 0x2a04002a, 0x1c000603, 0x1c000603}, + {0x0000a524, 0x2e06002a, 0x2e06002a, 0x21000a02, 0x21000a02}, + {0x0000a528, 0x3302202d, 0x3302202d, 0x25000a04, 0x25000a04}, + {0x0000a52c, 0x3804202c, 0x3804202c, 0x28000a20, 0x28000a20}, + {0x0000a530, 0x3c06202c, 0x3c06202c, 0x2c000e20, 0x2c000e20}, + {0x0000a534, 0x4108202d, 0x4108202d, 0x30000e22, 0x30000e22}, + {0x0000a538, 0x4506402d, 0x4506402d, 0x34000e24, 0x34000e24}, + {0x0000a53c, 0x4906222d, 0x4906222d, 0x38001640, 0x38001640}, + {0x0000a540, 0x4d062231, 0x4d062231, 0x3c001660, 0x3c001660}, + {0x0000a544, 0x50082231, 0x50082231, 0x3f001861, 0x3f001861}, + {0x0000a548, 0x5608422e, 0x5608422e, 0x43001a81, 0x43001a81}, + {0x0000a54c, 0x5e08442e, 0x5e08442e, 0x47001a83, 0x47001a83}, + {0x0000a550, 0x620a4431, 0x620a4431, 0x4a001c84, 0x4a001c84}, + {0x0000a554, 0x640a4432, 0x640a4432, 0x4e001ce3, 0x4e001ce3}, + {0x0000a558, 0x680a4434, 0x680a4434, 0x52001ce5, 0x52001ce5}, + {0x0000a55c, 0x6c0a6434, 0x6c0a6434, 0x56001ce9, 0x56001ce9}, + {0x0000a560, 0x6f0a6633, 0x6f0a6633, 0x5a001ceb, 0x5a001ceb}, + {0x0000a564, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, + {0x0000a568, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, + {0x0000a56c, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, + {0x0000a570, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, + {0x0000a574, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, + {0x0000a578, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, + {0x0000a57c, 0x730c6634, 0x730c6634, 0x5d001eec, 0x5d001eec}, + {0x0000a580, 0x00800000, 0x00800000, 0x00800000, 0x00800000}, + {0x0000a584, 0x06800003, 0x06800003, 0x04800002, 0x04800002}, + {0x0000a588, 0x0a800020, 0x0a800020, 0x08800004, 0x08800004}, + {0x0000a58c, 0x10800023, 0x10800023, 0x0b800200, 0x0b800200}, + {0x0000a590, 0x15800028, 0x15800028, 0x0f800202, 0x0f800202}, + {0x0000a594, 0x1b80002b, 0x1b80002b, 0x12800400, 0x12800400}, + {0x0000a598, 0x1f820028, 0x1f820028, 0x16800402, 0x16800402}, + {0x0000a59c, 0x2582002b, 0x2582002b, 0x19800404, 0x19800404}, + {0x0000a5a0, 0x2a84002a, 0x2a84002a, 0x1c800603, 0x1c800603}, + {0x0000a5a4, 0x2e86002a, 0x2e86002a, 0x21800a02, 0x21800a02}, + {0x0000a5a8, 0x3382202d, 0x3382202d, 0x25800a04, 0x25800a04}, + {0x0000a5ac, 0x3884202c, 0x3884202c, 0x28800a20, 0x28800a20}, + {0x0000a5b0, 0x3c86202c, 0x3c86202c, 0x2c800e20, 0x2c800e20}, + {0x0000a5b4, 0x4188202d, 0x4188202d, 0x30800e22, 0x30800e22}, + {0x0000a5b8, 0x4586402d, 0x4586402d, 0x34800e24, 0x34800e24}, + {0x0000a5bc, 0x4986222d, 0x4986222d, 0x38801640, 0x38801640}, + {0x0000a5c0, 0x4d862231, 0x4d862231, 0x3c801660, 0x3c801660}, + {0x0000a5c4, 0x50882231, 0x50882231, 0x3f801861, 0x3f801861}, + {0x0000a5c8, 0x5688422e, 0x5688422e, 0x43801a81, 0x43801a81}, + {0x0000a5cc, 0x5a88442e, 0x5a88442e, 0x47801a83, 0x47801a83}, + {0x0000a5d0, 0x5e8a4431, 0x5e8a4431, 0x4a801c84, 0x4a801c84}, + {0x0000a5d4, 0x648a4432, 0x648a4432, 0x4e801ce3, 0x4e801ce3}, + {0x0000a5d8, 0x688a4434, 0x688a4434, 0x52801ce5, 0x52801ce5}, + {0x0000a5dc, 0x6c8a6434, 0x6c8a6434, 0x56801ce9, 0x56801ce9}, + {0x0000a5e0, 0x6f8a6633, 0x6f8a6633, 0x5a801ceb, 0x5a801ceb}, + {0x0000a5e4, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, + {0x0000a5e8, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, + {0x0000a5ec, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, + {0x0000a5f0, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, + {0x0000a5f4, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, + {0x0000a5f8, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, + {0x0000a5fc, 0x738c6634, 0x738c6634, 0x5d801eec, 0x5d801eec}, + {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, + {0x0000a608, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, + {0x0000a60c, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, + {0x0000a610, 0x01804601, 0x01804601, 0x00000000, 0x00000000}, + {0x0000a614, 0x01804601, 0x01804601, 0x01404000, 0x01404000}, + {0x0000a618, 0x01804601, 0x01804601, 0x01404501, 0x01404501}, + {0x0000a61c, 0x01804601, 0x01804601, 0x02008501, 0x02008501}, + {0x0000a620, 0x03408d02, 0x03408d02, 0x0280ca03, 0x0280ca03}, + {0x0000a624, 0x0300cc03, 0x0300cc03, 0x03010c04, 0x03010c04}, + {0x0000a628, 0x03410d04, 0x03410d04, 0x04014c04, 0x04014c04}, + {0x0000a62c, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, + {0x0000a630, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, + {0x0000a634, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, + {0x0000a638, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, + {0x0000a63c, 0x03410d04, 0x03410d04, 0x04015005, 0x04015005}, + {0x0000b2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, + {0x0000b2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, + {0x0000b2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, + {0x0000b2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, + {0x0000c2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, + {0x0000c2e0, 0x000f0000, 0x000f0000, 0x03ccc584, 0x03ccc584}, + {0x0000c2e4, 0x03f00000, 0x03f00000, 0x03f0f800, 0x03f0f800}, + {0x0000c2e8, 0x00000000, 0x00000000, 0x03ff0000, 0x03ff0000}, + {0x00016044, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, + {0x00016048, 0x65240001, 0x65240001, 0x66480001, 0x66480001}, + {0x00016068, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, + {0x00016288, 0x05a2040a, 0x05a2040a, 0x05a20408, 0x05a20408}, + {0x00016444, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, + {0x00016448, 0x65240001, 0x65240001, 0x66480001, 0x66480001}, + {0x00016468, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, + {0x00016844, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, + {0x00016848, 0x65240001, 0x65240001, 0x66480001, 0x66480001}, + {0x00016868, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, +}; static const u32 ar9580_1p0_lowest_ob_db_tx_gain_table[][5] = { /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ @@ -414,8 +533,6 @@ static const u32 ar9580_1p0_lowest_ob_db_tx_gain_table[][5] = { {0x00016868, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, }; -#define ar9580_1p0_baseband_core_txfir_coeff_japan_2484 ar9462_2p0_baseband_core_txfir_coeff_japan_2484 - static const u32 ar9580_1p0_mac_core[][2] = { /* Addr allmodes */ {0x00000008, 0x00000000}, @@ -679,14 +796,6 @@ static const u32 ar9580_1p0_mixed_ob_db_tx_gain_table[][5] = { {0x00016868, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, }; -#define ar9580_1p0_wo_xlna_rx_gain_table ar9300Common_wo_xlna_rx_gain_table_2p2 - -#define ar9580_1p0_soc_postamble ar9300_2p2_soc_postamble - -#define ar9580_1p0_high_ob_db_tx_gain_table ar9300Modes_high_ob_db_tx_gain_table_2p2 - -#define ar9580_1p0_type5_tx_gain_table ar9300Modes_type5_tx_gain_table_2p2 - static const u32 ar9580_1p0_type6_tx_gain_table[][5] = { /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ {0x0000a2dc, 0x000cfff0, 0x000cfff0, 0x03aaa352, 0x03aaa352}, @@ -761,160 +870,264 @@ static const u32 ar9580_1p0_type6_tx_gain_table[][5] = { {0x00016868, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, }; -static const u32 ar9580_1p0_soc_preamble[][2] = { - /* Addr allmodes */ - {0x000040a4, 0x00a0c1c9}, - {0x00007008, 0x00000000}, - {0x00007020, 0x00000000}, - {0x00007034, 0x00000002}, - {0x00007038, 0x000004c2}, - {0x00007048, 0x00000008}, -}; - -#define ar9580_1p0_rx_gain_table ar9462_2p0_common_rx_gain - -static const u32 ar9580_1p0_radio_core[][2] = { +static const u32 ar9580_1p0_rx_gain_table[][2] = { /* Addr allmodes */ - {0x00016000, 0x36db6db6}, - {0x00016004, 0x6db6db40}, - {0x00016008, 0x73f00000}, - {0x0001600c, 0x00000000}, - {0x00016040, 0x7f80fff8}, - {0x0001604c, 0x76d005b5}, - {0x00016050, 0x556cf031}, - {0x00016054, 0x13449440}, - {0x00016058, 0x0c51c92c}, - {0x0001605c, 0x3db7fffc}, - {0x00016060, 0xfffffffc}, - {0x00016064, 0x000f0278}, - {0x0001606c, 0x6db60000}, - {0x00016080, 0x00000000}, - {0x00016084, 0x0e48048c}, - {0x00016088, 0x54214514}, - {0x0001608c, 0x119f481e}, - {0x00016090, 0x24926490}, - {0x00016098, 0xd2888888}, - {0x000160a0, 0x0a108ffe}, - {0x000160a4, 0x812fc370}, - {0x000160a8, 0x423c8000}, - {0x000160b4, 0x92480080}, - {0x000160c0, 0x00adb6d0}, - {0x000160c4, 0x6db6db60}, - {0x000160c8, 0x6db6db6c}, - {0x000160cc, 0x01e6c000}, - {0x00016100, 0x3fffbe01}, - {0x00016104, 0xfff80000}, - {0x00016108, 0x00080010}, - {0x00016144, 0x02084080}, - {0x00016148, 0x00000000}, - {0x00016280, 0x058a0001}, - {0x00016284, 0x3d840208}, - {0x00016288, 0x05a20408}, - {0x0001628c, 0x00038c07}, - {0x00016290, 0x00000004}, - {0x00016294, 0x458aa14f}, - {0x00016380, 0x00000000}, - {0x00016384, 0x00000000}, - {0x00016388, 0x00800700}, - {0x0001638c, 0x00800700}, - {0x00016390, 0x00800700}, - {0x00016394, 0x00000000}, - {0x00016398, 0x00000000}, - {0x0001639c, 0x00000000}, - {0x000163a0, 0x00000001}, - {0x000163a4, 0x00000001}, - {0x000163a8, 0x00000000}, - {0x000163ac, 0x00000000}, - {0x000163b0, 0x00000000}, - {0x000163b4, 0x00000000}, - {0x000163b8, 0x00000000}, - {0x000163bc, 0x00000000}, - {0x000163c0, 0x000000a0}, - {0x000163c4, 0x000c0000}, - {0x000163c8, 0x14021402}, - {0x000163cc, 0x00001402}, - {0x000163d0, 0x00000000}, - {0x000163d4, 0x00000000}, - {0x00016400, 0x36db6db6}, - {0x00016404, 0x6db6db40}, - {0x00016408, 0x73f00000}, - {0x0001640c, 0x00000000}, - {0x00016440, 0x7f80fff8}, - {0x0001644c, 0x76d005b5}, - {0x00016450, 0x556cf031}, - {0x00016454, 0x13449440}, - {0x00016458, 0x0c51c92c}, - {0x0001645c, 0x3db7fffc}, - {0x00016460, 0xfffffffc}, - {0x00016464, 0x000f0278}, - {0x0001646c, 0x6db60000}, - {0x00016500, 0x3fffbe01}, - {0x00016504, 0xfff80000}, - {0x00016508, 0x00080010}, - {0x00016544, 0x02084080}, - {0x00016548, 0x00000000}, - {0x00016780, 0x00000000}, - {0x00016784, 0x00000000}, - {0x00016788, 0x00800700}, - {0x0001678c, 0x00800700}, - {0x00016790, 0x00800700}, - {0x00016794, 0x00000000}, - {0x00016798, 0x00000000}, - {0x0001679c, 0x00000000}, - {0x000167a0, 0x00000001}, - {0x000167a4, 0x00000001}, - {0x000167a8, 0x00000000}, - {0x000167ac, 0x00000000}, - {0x000167b0, 0x00000000}, - {0x000167b4, 0x00000000}, - {0x000167b8, 0x00000000}, - {0x000167bc, 0x00000000}, - {0x000167c0, 0x000000a0}, - {0x000167c4, 0x000c0000}, - {0x000167c8, 0x14021402}, - {0x000167cc, 0x00001402}, - {0x000167d0, 0x00000000}, - {0x000167d4, 0x00000000}, - {0x00016800, 0x36db6db6}, - {0x00016804, 0x6db6db40}, - {0x00016808, 0x73f00000}, - {0x0001680c, 0x00000000}, - {0x00016840, 0x7f80fff8}, - {0x0001684c, 0x76d005b5}, - {0x00016850, 0x556cf031}, - {0x00016854, 0x13449440}, - {0x00016858, 0x0c51c92c}, - {0x0001685c, 0x3db7fffc}, - {0x00016860, 0xfffffffc}, - {0x00016864, 0x000f0278}, - {0x0001686c, 0x6db60000}, - {0x00016900, 0x3fffbe01}, - {0x00016904, 0xfff80000}, - {0x00016908, 0x00080010}, - {0x00016944, 0x02084080}, - {0x00016948, 0x00000000}, - {0x00016b80, 0x00000000}, - {0x00016b84, 0x00000000}, - {0x00016b88, 0x00800700}, - {0x00016b8c, 0x00800700}, - {0x00016b90, 0x00800700}, - {0x00016b94, 0x00000000}, - {0x00016b98, 0x00000000}, - {0x00016b9c, 0x00000000}, - {0x00016ba0, 0x00000001}, - {0x00016ba4, 0x00000001}, - {0x00016ba8, 0x00000000}, - {0x00016bac, 0x00000000}, - {0x00016bb0, 0x00000000}, - {0x00016bb4, 0x00000000}, - {0x00016bb8, 0x00000000}, - {0x00016bbc, 0x00000000}, - {0x00016bc0, 0x000000a0}, - {0x00016bc4, 0x000c0000}, - {0x00016bc8, 0x14021402}, - {0x00016bcc, 0x00001402}, - {0x00016bd0, 0x00000000}, - {0x00016bd4, 0x00000000}, + {0x0000a000, 0x00010000}, + {0x0000a004, 0x00030002}, + {0x0000a008, 0x00050004}, + {0x0000a00c, 0x00810080}, + {0x0000a010, 0x00830082}, + {0x0000a014, 0x01810180}, + {0x0000a018, 0x01830182}, + {0x0000a01c, 0x01850184}, + {0x0000a020, 0x01890188}, + {0x0000a024, 0x018b018a}, + {0x0000a028, 0x018d018c}, + {0x0000a02c, 0x01910190}, + {0x0000a030, 0x01930192}, + {0x0000a034, 0x01950194}, + {0x0000a038, 0x038a0196}, + {0x0000a03c, 0x038c038b}, + {0x0000a040, 0x0390038d}, + {0x0000a044, 0x03920391}, + {0x0000a048, 0x03940393}, + {0x0000a04c, 0x03960395}, + {0x0000a050, 0x00000000}, + {0x0000a054, 0x00000000}, + {0x0000a058, 0x00000000}, + {0x0000a05c, 0x00000000}, + {0x0000a060, 0x00000000}, + {0x0000a064, 0x00000000}, + {0x0000a068, 0x00000000}, + {0x0000a06c, 0x00000000}, + {0x0000a070, 0x00000000}, + {0x0000a074, 0x00000000}, + {0x0000a078, 0x00000000}, + {0x0000a07c, 0x00000000}, + {0x0000a080, 0x22222229}, + {0x0000a084, 0x1d1d1d1d}, + {0x0000a088, 0x1d1d1d1d}, + {0x0000a08c, 0x1d1d1d1d}, + {0x0000a090, 0x171d1d1d}, + {0x0000a094, 0x11111717}, + {0x0000a098, 0x00030311}, + {0x0000a09c, 0x00000000}, + {0x0000a0a0, 0x00000000}, + {0x0000a0a4, 0x00000000}, + {0x0000a0a8, 0x00000000}, + {0x0000a0ac, 0x00000000}, + {0x0000a0b0, 0x00000000}, + {0x0000a0b4, 0x00000000}, + {0x0000a0b8, 0x00000000}, + {0x0000a0bc, 0x00000000}, + {0x0000a0c0, 0x001f0000}, + {0x0000a0c4, 0x01000101}, + {0x0000a0c8, 0x011e011f}, + {0x0000a0cc, 0x011c011d}, + {0x0000a0d0, 0x02030204}, + {0x0000a0d4, 0x02010202}, + {0x0000a0d8, 0x021f0200}, + {0x0000a0dc, 0x0302021e}, + {0x0000a0e0, 0x03000301}, + {0x0000a0e4, 0x031e031f}, + {0x0000a0e8, 0x0402031d}, + {0x0000a0ec, 0x04000401}, + {0x0000a0f0, 0x041e041f}, + {0x0000a0f4, 0x0502041d}, + {0x0000a0f8, 0x05000501}, + {0x0000a0fc, 0x051e051f}, + {0x0000a100, 0x06010602}, + {0x0000a104, 0x061f0600}, + {0x0000a108, 0x061d061e}, + {0x0000a10c, 0x07020703}, + {0x0000a110, 0x07000701}, + {0x0000a114, 0x00000000}, + {0x0000a118, 0x00000000}, + {0x0000a11c, 0x00000000}, + {0x0000a120, 0x00000000}, + {0x0000a124, 0x00000000}, + {0x0000a128, 0x00000000}, + {0x0000a12c, 0x00000000}, + {0x0000a130, 0x00000000}, + {0x0000a134, 0x00000000}, + {0x0000a138, 0x00000000}, + {0x0000a13c, 0x00000000}, + {0x0000a140, 0x001f0000}, + {0x0000a144, 0x01000101}, + {0x0000a148, 0x011e011f}, + {0x0000a14c, 0x011c011d}, + {0x0000a150, 0x02030204}, + {0x0000a154, 0x02010202}, + {0x0000a158, 0x021f0200}, + {0x0000a15c, 0x0302021e}, + {0x0000a160, 0x03000301}, + {0x0000a164, 0x031e031f}, + {0x0000a168, 0x0402031d}, + {0x0000a16c, 0x04000401}, + {0x0000a170, 0x041e041f}, + {0x0000a174, 0x0502041d}, + {0x0000a178, 0x05000501}, + {0x0000a17c, 0x051e051f}, + {0x0000a180, 0x06010602}, + {0x0000a184, 0x061f0600}, + {0x0000a188, 0x061d061e}, + {0x0000a18c, 0x07020703}, + {0x0000a190, 0x07000701}, + {0x0000a194, 0x00000000}, + {0x0000a198, 0x00000000}, + {0x0000a19c, 0x00000000}, + {0x0000a1a0, 0x00000000}, + {0x0000a1a4, 0x00000000}, + {0x0000a1a8, 0x00000000}, + {0x0000a1ac, 0x00000000}, + {0x0000a1b0, 0x00000000}, + {0x0000a1b4, 0x00000000}, + {0x0000a1b8, 0x00000000}, + {0x0000a1bc, 0x00000000}, + {0x0000a1c0, 0x00000000}, + {0x0000a1c4, 0x00000000}, + {0x0000a1c8, 0x00000000}, + {0x0000a1cc, 0x00000000}, + {0x0000a1d0, 0x00000000}, + {0x0000a1d4, 0x00000000}, + {0x0000a1d8, 0x00000000}, + {0x0000a1dc, 0x00000000}, + {0x0000a1e0, 0x00000000}, + {0x0000a1e4, 0x00000000}, + {0x0000a1e8, 0x00000000}, + {0x0000a1ec, 0x00000000}, + {0x0000a1f0, 0x00000396}, + {0x0000a1f4, 0x00000396}, + {0x0000a1f8, 0x00000396}, + {0x0000a1fc, 0x00000196}, + {0x0000b000, 0x00010000}, + {0x0000b004, 0x00030002}, + {0x0000b008, 0x00050004}, + {0x0000b00c, 0x00810080}, + {0x0000b010, 0x00830082}, + {0x0000b014, 0x01810180}, + {0x0000b018, 0x01830182}, + {0x0000b01c, 0x01850184}, + {0x0000b020, 0x02810280}, + {0x0000b024, 0x02830282}, + {0x0000b028, 0x02850284}, + {0x0000b02c, 0x02890288}, + {0x0000b030, 0x028b028a}, + {0x0000b034, 0x0388028c}, + {0x0000b038, 0x038a0389}, + {0x0000b03c, 0x038c038b}, + {0x0000b040, 0x0390038d}, + {0x0000b044, 0x03920391}, + {0x0000b048, 0x03940393}, + {0x0000b04c, 0x03960395}, + {0x0000b050, 0x00000000}, + {0x0000b054, 0x00000000}, + {0x0000b058, 0x00000000}, + {0x0000b05c, 0x00000000}, + {0x0000b060, 0x00000000}, + {0x0000b064, 0x00000000}, + {0x0000b068, 0x00000000}, + {0x0000b06c, 0x00000000}, + {0x0000b070, 0x00000000}, + {0x0000b074, 0x00000000}, + {0x0000b078, 0x00000000}, + {0x0000b07c, 0x00000000}, + {0x0000b080, 0x23232323}, + {0x0000b084, 0x21232323}, + {0x0000b088, 0x19191c1e}, + {0x0000b08c, 0x12141417}, + {0x0000b090, 0x07070e0e}, + {0x0000b094, 0x03030305}, + {0x0000b098, 0x00000003}, + {0x0000b09c, 0x00000000}, + {0x0000b0a0, 0x00000000}, + {0x0000b0a4, 0x00000000}, + {0x0000b0a8, 0x00000000}, + {0x0000b0ac, 0x00000000}, + {0x0000b0b0, 0x00000000}, + {0x0000b0b4, 0x00000000}, + {0x0000b0b8, 0x00000000}, + {0x0000b0bc, 0x00000000}, + {0x0000b0c0, 0x003f0020}, + {0x0000b0c4, 0x00400041}, + {0x0000b0c8, 0x0140005f}, + {0x0000b0cc, 0x0160015f}, + {0x0000b0d0, 0x017e017f}, + {0x0000b0d4, 0x02410242}, + {0x0000b0d8, 0x025f0240}, + {0x0000b0dc, 0x027f0260}, + {0x0000b0e0, 0x0341027e}, + {0x0000b0e4, 0x035f0340}, + {0x0000b0e8, 0x037f0360}, + {0x0000b0ec, 0x04400441}, + {0x0000b0f0, 0x0460045f}, + {0x0000b0f4, 0x0541047f}, + {0x0000b0f8, 0x055f0540}, + {0x0000b0fc, 0x057f0560}, + {0x0000b100, 0x06400641}, + {0x0000b104, 0x0660065f}, + {0x0000b108, 0x067e067f}, + {0x0000b10c, 0x07410742}, + {0x0000b110, 0x075f0740}, + {0x0000b114, 0x077f0760}, + {0x0000b118, 0x07800781}, + {0x0000b11c, 0x07a0079f}, + {0x0000b120, 0x07c107bf}, + {0x0000b124, 0x000007c0}, + {0x0000b128, 0x00000000}, + {0x0000b12c, 0x00000000}, + {0x0000b130, 0x00000000}, + {0x0000b134, 0x00000000}, + {0x0000b138, 0x00000000}, + {0x0000b13c, 0x00000000}, + {0x0000b140, 0x003f0020}, + {0x0000b144, 0x00400041}, + {0x0000b148, 0x0140005f}, + {0x0000b14c, 0x0160015f}, + {0x0000b150, 0x017e017f}, + {0x0000b154, 0x02410242}, + {0x0000b158, 0x025f0240}, + {0x0000b15c, 0x027f0260}, + {0x0000b160, 0x0341027e}, + {0x0000b164, 0x035f0340}, + {0x0000b168, 0x037f0360}, + {0x0000b16c, 0x04400441}, + {0x0000b170, 0x0460045f}, + {0x0000b174, 0x0541047f}, + {0x0000b178, 0x055f0540}, + {0x0000b17c, 0x057f0560}, + {0x0000b180, 0x06400641}, + {0x0000b184, 0x0660065f}, + {0x0000b188, 0x067e067f}, + {0x0000b18c, 0x07410742}, + {0x0000b190, 0x075f0740}, + {0x0000b194, 0x077f0760}, + {0x0000b198, 0x07800781}, + {0x0000b19c, 0x07a0079f}, + {0x0000b1a0, 0x07c107bf}, + {0x0000b1a4, 0x000007c0}, + {0x0000b1a8, 0x00000000}, + {0x0000b1ac, 0x00000000}, + {0x0000b1b0, 0x00000000}, + {0x0000b1b4, 0x00000000}, + {0x0000b1b8, 0x00000000}, + {0x0000b1bc, 0x00000000}, + {0x0000b1c0, 0x00000000}, + {0x0000b1c4, 0x00000000}, + {0x0000b1c8, 0x00000000}, + {0x0000b1cc, 0x00000000}, + {0x0000b1d0, 0x00000000}, + {0x0000b1d4, 0x00000000}, + {0x0000b1d8, 0x00000000}, + {0x0000b1dc, 0x00000000}, + {0x0000b1e0, 0x00000000}, + {0x0000b1e4, 0x00000000}, + {0x0000b1e8, 0x00000000}, + {0x0000b1ec, 0x00000000}, + {0x0000b1f0, 0x00000396}, + {0x0000b1f4, 0x00000396}, + {0x0000b1f8, 0x00000396}, + {0x0000b1fc, 0x00000196}, }; static const u32 ar9580_1p0_baseband_postamble[][5] = { @@ -956,7 +1169,7 @@ static const u32 ar9580_1p0_baseband_postamble[][5] = { {0x0000a288, 0x00000110, 0x00000110, 0x00000110, 0x00000110}, {0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222}, {0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18}, - {0x0000a2d0, 0x00041981, 0x00041981, 0x00041981, 0x00041982}, + {0x0000a2d0, 0x00041983, 0x00041983, 0x00041981, 0x00041982}, {0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b}, {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, {0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, -- 1.8.4.2 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* ath9k pending patches 2013-11-27 10:23 [PATCH 0/2] ath9k initval updates Sujith Manoharan 2013-11-27 10:23 ` [PATCH 1/2] ath9k: Update initvals for AR9300 v2.2 Sujith Manoharan 2013-11-27 10:23 ` [PATCH 2/2] ath9k: Update initvals for AR9580 v1.0 Sujith Manoharan @ 2013-11-27 10:32 ` Sujith Manoharan 2013-11-27 12:31 ` Antonio Quartulli 2013-11-27 12:52 ` Antonio Quartulli 2 siblings, 2 replies; 14+ messages in thread From: Sujith Manoharan @ 2013-11-27 10:32 UTC (permalink / raw) To: John Linville; +Cc: linux-wireless Hi, There are lots of pending patches for ath9k and all of them are here, rebased over -wl master: http://msujith.org/dir/patches/wl/Nov-27-2013/ Sujith Sujith Manoharan wrote: > From: Sujith Manoharan <c_manoha@qca.qualcomm.com> > > These two patches update the initvals for > AR9300 2.2 and AR9580 1.0 > > After these patches, there are still a few differences between the > INI files from the internal driver and ath9k. From verify_checksum: > > ar9003-2p2 96a13663004d71b5ffa4fe9efc6b41dcfaf5a327 fail > +c8dc777b012068116cd5282aade8eb460f397d20 ar9300_2p2_mac_postamble > +5542c7d650feeb530de2775003931a00f992c09a ar9300Modes_high_power_tx_gain_table_2p2 > > ar9580-1p0 40e08925d7d8daa4c9841ee807fa25b0fd3f725b fail > +c8dc777b012068116cd5282aade8eb460f397d20 ar9580_1p0_mac_postamble > +07f9922af110bf9d72a7534a30eefcf9bacd0d7e ar9580_1p0_baseband_core > +8e30343d20745791d5c2e7de968f0e81403761d5 ar9580_1p0_baseband_postamble > > Differences: > > * In both chips, "mac_postamble" needs an update - the "ALWAYS_PERFORM_KEY_SEARCH" > bit has to enabled. This is required to address key cache corruption, which > needs a bigger change in the driver. > > * The ar9300Modes_high_power_tx_gain_table_2p2 array has been left as such > since it is required for certain Buffalo devices. > > * ar9580_1p0_baseband_core and ar9580_1p0_baseband_postamble require updates > to handle DFS issues. This will be done in a separate commit. > > All initval tool changes have been pushed to: > https://github.com/sujith/qca-swiss-army-knife/commits/master > > Sujith > > Sujith Manoharan (2): > ath9k: Update initvals for AR9300 v2.2 > ath9k: Update initvals for AR9580 v1.0 > > .../net/wireless/ath/ath9k/ar9003_2p2_initvals.h | 24 +- > .../net/wireless/ath/ath9k/ar9580_1p0_initvals.h | 559 ++++++++++++++------- > 2 files changed, 398 insertions(+), 185 deletions(-) > > -- > 1.8.4.2 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 10:32 ` ath9k pending patches Sujith Manoharan @ 2013-11-27 12:31 ` Antonio Quartulli 2013-11-27 15:20 ` Sujith Manoharan 2013-11-27 12:52 ` Antonio Quartulli 1 sibling, 1 reply; 14+ messages in thread From: Antonio Quartulli @ 2013-11-27 12:31 UTC (permalink / raw) To: Sujith Manoharan; +Cc: linux-wireless -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi Sujith, On 27/11/13 11:32, Sujith Manoharan wrote: What patch is addressing this change? And can could please explain a bit more about what is needed to address the key cache corruption problem? Right now I am working on a "reactive behavior" which tries to detect a cache corruption event and subsequently re-install all the keys one by one to ensure they are back to a proper state. What does this ALWAYS_PERFORM_KEY_SEARCH bit do? Is it set within the initvalues? Sorry for shooting all these questions at once, but I am really trying to understand how to properly address this issue. Cheers, - -- Antonio Quartulli -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBCAAGBQJSleYNAAoJEADl0hg6qKeO7p4P/RBa9tGDY1xYTTlHNATh4WfX kIIPdM7x8/+S/wQPKndZ4TPJpBjsnXVnSMhcjMDjbepFRmx40FcElj/ObvKhB3Mc lMawsFyCEQHjUdNbSS01c3DYmbxw1YM1DUPl2N2XQKaiXbd8Zz7Rr71k8npDt07C 3LScQeiWvj6TOwP89hXnfz2sBRPkhA4z1rTP7omr3CV9N8Ik6E23LsUnijgG8bgI w5XZ4NGZaVn75TdTsdk8wFm853R2/on5rb0CACHV9Z7T/oT8QM3fKMhEV6pR97wI P1Titinssw65ycOHlMcGmUi0DoFZHQUuI6LX2V4o5Vr1nsYN8WkQiRu7iy8MiESO nLdxK+5VKXL0Tf3roN3CxBzINwE9GsL2EmkvjtUZy4SdAGB7H5+QCs+/XBhB3aTH eeJo2nVdFGNNhrTOfdUdNfpwYvwwAzMHBYxARwifPG3g718a/xSlSsjDDTuSY7+x 656CD7Nbuq3JzVlfM//QEOb07N9xuEcXiSDdghY7GsJzBN+T2eS6vG57S/V4/ecj 1n7opm+f0+2vjZs/SGiykKyphWFuKY89TAXA67bP91qmYLmrdZccJtrqv/zEhfqO Z1lXYvM1X5SAb5Kbmj/8YPz/ZdmGxGSDRVQa8f4ujXCZ8gR4gA6eNkGprPljos6N LSZyNHlxM8Adgx20NC/+ =ONks -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 12:31 ` Antonio Quartulli @ 2013-11-27 15:20 ` Sujith Manoharan 2013-11-27 15:42 ` Antonio Quartulli 0 siblings, 1 reply; 14+ messages in thread From: Sujith Manoharan @ 2013-11-27 15:20 UTC (permalink / raw) To: Antonio Quartulli; +Cc: linux-wireless Antonio Quartulli wrote: > What patch is addressing this change? And can could please explain a > bit more about what is needed to address the key cache corruption problem? > > Right now I am working on a "reactive behavior" which tries to detect > a cache corruption event and subsequently re-install all the keys one > by one to ensure they are back to a proper state. > > What does this ALWAYS_PERFORM_KEY_SEARCH bit do? Is it set within the > initvalues? Normally, key search for decryption is done by the HW only for the first frame in an aggregate. Enabling ALWAYS_PERFORM_KEY_SEARCH makes the HW do a key lookup for each sub-frame in aggregate. This is one step in addressing the key cache corruption problem, but it comes at a cost. The HW MAC is stressed more when this bit is enabled, especially when the number of associated clients is high. This issue was first seen in AR9300 and I don't think it has been fixed in any later chip since the workaround of enabling ALWAYS_PERFORM_KEY_SEARCH works fine in actual usage. But, in some high-interference environments, the key cache gets corrupted and large number of decrypt errors are seen. The root cause is not known and the workaround is to set all the keys in the HW again, when this happens. Still, this is not sufficient and sometimes decrypt errors are not received at all from the HW, since the flags in the RX descriptor are mangled, so just monitoring the RX path in the driver is not enough and a periodic timer comparing the HW keys with the driver is needed. If any mismatch is seen, the keys are programmed again in the HW. So, if ALWAYS_PERFORM_KEY_SEARCH is enabled, we need to see how the driver/HW performs with 16 associated clients or more. Internally, it was enabled on a per-project basis, but it has been enabled by default recently. But, I think this should be tested properly. As for the RX-path/timer workaround, it's just a nasty hack. :-) Sujith ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 15:20 ` Sujith Manoharan @ 2013-11-27 15:42 ` Antonio Quartulli 0 siblings, 0 replies; 14+ messages in thread From: Antonio Quartulli @ 2013-11-27 15:42 UTC (permalink / raw) To: Sujith Manoharan; +Cc: linux-wireless -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 27/11/13 16:20, Sujith Manoharan wrote: > Antonio Quartulli wrote: >> What patch is addressing this change? And can could please >> explain a bit more about what is needed to address the key cache >> corruption problem? >> >> Right now I am working on a "reactive behavior" which tries to >> detect a cache corruption event and subsequently re-install all >> the keys one by one to ensure they are back to a proper state. >> >> What does this ALWAYS_PERFORM_KEY_SEARCH bit do? Is it set within >> the initvalues? > > Normally, key search for decryption is done by the HW only for the > first frame in an aggregate. Enabling ALWAYS_PERFORM_KEY_SEARCH > makes the HW do a key lookup for each sub-frame in aggregate. > > This is one step in addressing the key cache corruption problem, > but it comes at a cost. The HW MAC is stressed more when this bit > is enabled, especially when the number of associated clients is > high. > > This issue was first seen in AR9300 and I don't think it has been > fixed in any later chip since the workaround of enabling > ALWAYS_PERFORM_KEY_SEARCH works fine in actual usage. > I understand, thanks for the explanation. > But, in some high-interference environments, the key cache gets > corrupted and large number of decrypt errors are seen. The root > cause is not known and the workaround is to set all the keys in the > HW again, when this happens. > > Still, this is not sufficient and sometimes decrypt errors are not > received at all from the HW, since the flags in the RX descriptor > are mangled, so just monitoring the RX path in the driver is not > enough and a periodic timer comparing the HW keys with the driver > is needed. If any mismatch is seen, the keys are programmed again > in the HW. > If we are lucky enough the cache may also end up with a correct RX key and a broken TX one (talking about TKIP). In this case I see no way to fix it other than a periodic worker. > So, if ALWAYS_PERFORM_KEY_SEARCH is enabled, we need to see how the > driver/HW performs with 16 associated clients or more. Internally, > it was enabled on a per-project basis, but it has been enabled by > default recently. But, I think this should be tested properly. > > As for the RX-path/timer workaround, it's just a nasty hack. :-) > Eheh, I'll send a patch as soon as I come up with a clean version of this "hack". Thanks a lot for all the information!! Cheers, - -- Antonio Quartulli -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBCAAGBQJSlhLoAAoJEADl0hg6qKeOQJEP/RBXP1Yji1TdwU+LjXc7Vihq fEA/VvRazgAjNwNOxOUF7WcgH+iRsyLwKt83ztwnpcdzI/1aXFUXcSSP1CkyOWGb K9d6KZfMO+LFyO277a/PZfZ4SniEHJeHyJ+5HFbqmm3jvZi8FRvNNMnwCt/inMam rE3uGR6XC/UIKQNKhFH69fGVJIdYE6aTxdm3QNYf0WGdaSuL/9Q6qBoGQ6SAP4FT sh7pZcWFjZzD2/CV24zvSiu6ZDjw6yUkyKYPAQNJpx3mGg9NLXY3CLmsedjJuyU2 QvtBZNKZLIub9+9EbaXTwH2qH6ccSpucPb1EzED+mpybBPeF0CBcCZK78D2LtuEt 49xmqmw+V9KzttFIEUyO5D3/6/9e67pEFO2Ucn7Hh1w7aYooyhtKD7yltUP5hrIY sDnziTvm4o4JoM5CVdJg5lNbLAFRM8xA7ppII8gD3r+Z8KDELv8ZTK2QyVt8zNyX LO6/X1s8CMCFvmm83v3xl+QylyKTYAV1FG5aO+OhKWdNEUuD3ol1MGtG2mjJGSl0 pLsKoE3c709k4hksKTkvQiZ19CZOee3IQWwMUTEKzcU12JhpeHOH876QwaonjDli Rh5RlukEVXXDOkluoS1uTkNW6dwoH6HeyBHHVQK2tLvTakXth1j6LY3st5IdQVI6 gyfWbi/yeiUg3gF8YfNC =I+Oe -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 10:32 ` ath9k pending patches Sujith Manoharan 2013-11-27 12:31 ` Antonio Quartulli @ 2013-11-27 12:52 ` Antonio Quartulli 2013-11-27 15:33 ` Sujith Manoharan 1 sibling, 1 reply; 14+ messages in thread From: Antonio Quartulli @ 2013-11-27 12:52 UTC (permalink / raw) To: Sujith Manoharan; +Cc: linux-wireless -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi Sujith, On 27/11/13 11:32, Sujith Manoharan wrote: >> * In both chips, "mac_postamble" needs an update - the >> "ALWAYS_PERFORM_KEY_SEARCH" bit has to enabled. This is required >> to address key cache corruption, which needs a bigger change in >> the driver. What patch is addressing this change? And can could please explain a bit more about what is needed to address the key cache corruption problem? Right now I am working on a "reactive behavior" which tries to detect a cache corruption event and subsequently re-install all the keys one by one to ensure they are back to a proper state. What does this ALWAYS_PERFORM_KEY_SEARCH bit do? Is it set within the initvalues? Sorry for shooting all these questions at once, but I am really trying to understand how to properly address this issue. Cheers, - -- Antonio Quartulli -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBCAAGBQJSlesdAAoJEADl0hg6qKeOwmYQALqHy2dYH77rgEUU6aXw9ulA CKug0IeFESSoThkBeBtjKyH3xaLmH/d9AiInQWhawpSUblWu3d5+p37f1pdcuS/t 6M8rPbbW+1E/ig/tiYCWneyqJA7p/F5IQ/h0v/ScLwQaE+h2Dszdt+erIF8MgM19 TQuIJOR9HoMnw3d2I7Z6gCXxDY7lmuKjOH+5RJUq8xpJellgbRjvYk7hy0Y5TGYr F0t3v3iA41VyFozVIGIXPM4O0+LAnK9iz6kEJ/PDdSOFxqxRPnhFtTPkyBKYCj6I druE5L9NbzofKjEQEbU15Pr/8uHfCXo+INUbWVdvFtpjjRRGsrDzCnYTtIWd2XOL AaV0hYIoSbs8Pbp03iOM4BKFj+dJXw6bfKWQZ5aB6jiEJqI7YCEzQKUgShz+bHR3 HYv9mP9y6BSku/kJUk3SZGx/3NtzqsYYwkMHaf8Z7Z9HVwLbc6WYVMcvgVuxs4Ke L1gsnWadrctkyFQXeneVXbWyGVAsG/KbcMaR90mrac27Dw11JtdG+BdUjz56G7H4 WByXuCmzd4X57Mq5uKmiVXoZ+UpSDQ3psO5ZwdF2urJL0rODsp4CG41Oeziqmpu3 EViJkb9LG0seBKUsv9JLKwugl3WBT/E9dxNFwMSlJ+n3fBShbMQeZV8Ba1JwtFo9 W10ywtInm4RYf5UK8VUW =4CbN -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 12:52 ` Antonio Quartulli @ 2013-11-27 15:33 ` Sujith Manoharan 2013-11-27 15:43 ` Antonio Quartulli 2013-11-27 16:00 ` Felix Fietkau 0 siblings, 2 replies; 14+ messages in thread From: Sujith Manoharan @ 2013-11-27 15:33 UTC (permalink / raw) To: Antonio Quartulli; +Cc: linux-wireless Antonio Quartulli wrote: > What does this ALWAYS_PERFORM_KEY_SEARCH bit do? Is it set within the > initvalues? Here is a patch to set ALWAYS_PERFORM_KEY_SEARCH for AR9300 2.2. Since AR9331, AR9340 and AR9580 use the same array, it applies for them too. diff --git a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h index 1553395..819ecf3 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h +++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h @@ -303,7 +303,7 @@ static const u32 ar9300_2p2_mac_postamble[][5] = { {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38}, {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00}, {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b}, - {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810}, + {0x00008120, 0x18f04800, 0x18f04800, 0x18f04810, 0x18f04810}, {0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a}, {0x00008318, 0x00003e80, 0x00007d00, 0x00006880, 0x00003440}, }; Sujith ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 15:33 ` Sujith Manoharan @ 2013-11-27 15:43 ` Antonio Quartulli 2013-11-27 15:58 ` Antonio Quartulli 2013-11-27 16:00 ` Felix Fietkau 1 sibling, 1 reply; 14+ messages in thread From: Antonio Quartulli @ 2013-11-27 15:43 UTC (permalink / raw) To: Sujith Manoharan; +Cc: linux-wireless -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 27/11/13 16:33, Sujith Manoharan wrote: > Antonio Quartulli wrote: >> What does this ALWAYS_PERFORM_KEY_SEARCH bit do? Is it set within >> the initvalues? > > Here is a patch to set ALWAYS_PERFORM_KEY_SEARCH for AR9300 2.2. > Since AR9331, AR9340 and AR9580 use the same array, it applies for > them too. Thanks a lot! - -- Antonio Quartulli -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBCAAGBQJSlhMbAAoJEADl0hg6qKeO0+AQAJhKbyNAwXQNbNyO82zaePRG WRD2QtPKwNW6O89WZyCP9e63ZqmFDjKaqvLgthclznO2BN+kcOOFIBC0nJ/OKkOl nzSZnRp6VVrxKHUMj2VbdjTr90ls9v9qf/C1qJTxBTRKxFt8NX2rErGLe3pTZwXp R9geDAQo2NV2Ho735f7LW9D6f9UyHgYGTVKGm3XDPHdIEz0U/mv0lqbkx3HTsCPx WVCYgEzqy8cs7Vf+yFHv8iQNhmDtf8UECTKJ9Cvu45np/wDmgFP/AtpY+TN5B1VC hzBj7OL3BD0hepjUhh8r4SiqR6LyDL+MfHvyL2Y616ZFr+rbHYUYX+V7Fov7w2Om lovKlcGu4AU4e2kgowGWlfAd5YGif2SNKQ3RiMdTpNsXVlIZMu286urrT5Y8H6pR eUgThc/5CKpum3a0jCw2FbZr7naC3mJEWVsrB2z8rMvuUnM4ZekwhCHsOMBnQHMf 6sw9Iw7AxujZjTqoF5HgTnaDJb0Op63EUDa3HW+rq3qpRy/RK/qZ+AM0R2pipiO3 wHmlBHOYfct8sHl8Hx3VuEmS9Yd//yJqNcDf7iOriU6rqRrdxrn8VWhSUSEXOg7M +uohr2ibPLmVQgjFik/Yzi+0lIZ6Lu1E1vE0zGZkgQVxLpqNTugyjW/VZansnG85 3+ddAqwHoioyFFkBcIQE =XNZ4 -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 15:43 ` Antonio Quartulli @ 2013-11-27 15:58 ` Antonio Quartulli 0 siblings, 0 replies; 14+ messages in thread From: Antonio Quartulli @ 2013-11-27 15:58 UTC (permalink / raw) To: Sujith Manoharan; +Cc: linux-wireless -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 27/11/13 16:43, Antonio Quartulli wrote: > On 27/11/13 16:33, Sujith Manoharan wrote: >> Antonio Quartulli wrote: >>> What does this ALWAYS_PERFORM_KEY_SEARCH bit do? Is it set >>> within the initvalues? > >> Here is a patch to set ALWAYS_PERFORM_KEY_SEARCH for AR9300 2.2. >> Since AR9331, AR9340 and AR9580 use the same array, it applies >> for them too. > > Sujith, What about AR9285 ? I can't find any reference to this chip. Does it use the same array too ? Cheers, - -- Antonio Quartulli -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAEBCAAGBQJSlhaKAAoJEADl0hg6qKeObVEP/jDCMW7DrNhL4WOWnXBed7TD 0XKppoj2v1xlEX8LSTmzOBj28aZfqPpR6evbX+4B6oWPwQyChsJQnvHSCX5EvXvg F8uspw1/Kpij5RgTn6GXWnUoBiJTjOHwBRKDwp2HgoKk4plNwwGl1NQ/toEGhYe9 B41Pt5xGFhYFEdu+r4vxss0motF4s/05JPkycbaJe3WP2G47QpuMDHumOshN3CdD Kd9yP8FZKJVtnsFVUM460VNIwRD69b9TeYbBrEvgkvWZ97Y/S/TFSq2P1UDRr4wG FLiywN8lDvJ1YrZoaQwqu7R9cXJjLKaOKjt8sVKrARfsCf0SWT6oIqPgpAnYgG7J YLwM000umrUDZbPjA7dm5LWck3gvnk1eKLRqxW8QZDBagi6pirkpx0lqnqfCRHLV 1B7aBerl27VE5MawNSi/mwMjxRcTHrqBeKY+0ua3cypCrWbjj/qvknJQuB66Ae3A EYQ6ehPZLCT8od10VJVBOrIF23Tehv4O2xV9KgvbtD+1pvAi9DcyJ5V3Y+r271eF qEIBMCGtengaWusseTVyglTQ8vbdlzrWhuUJE2Fex01Tf4kD1d2MsH+G1yS1Oo3y MnUHt4yVtQWCRFcimLEdF9kfF+WtbM+8CSW/xMcih2BqZaE4OVi9Dqzzkdxdx7+t Ca+g08UoDhC4hmVa0mxX =wMqg -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 15:33 ` Sujith Manoharan 2013-11-27 15:43 ` Antonio Quartulli @ 2013-11-27 16:00 ` Felix Fietkau 2013-11-27 16:34 ` Sujith Manoharan 1 sibling, 1 reply; 14+ messages in thread From: Felix Fietkau @ 2013-11-27 16:00 UTC (permalink / raw) To: Sujith Manoharan, Antonio Quartulli; +Cc: linux-wireless On 2013-11-27 16:33, Sujith Manoharan wrote: > Antonio Quartulli wrote: >> What does this ALWAYS_PERFORM_KEY_SEARCH bit do? Is it set within the >> initvalues? > > Here is a patch to set ALWAYS_PERFORM_KEY_SEARCH for AR9300 2.2. > Since AR9331, AR9340 and AR9580 use the same array, it applies for > them too. > > > diff --git a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h > index 1553395..819ecf3 100644 > --- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h > +++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h > @@ -303,7 +303,7 @@ static const u32 ar9300_2p2_mac_postamble[][5] = { > {0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38}, > {0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00}, > {0x0000801c, 0x128d8027, 0x128d804f, 0x12e00057, 0x12e0002b}, > - {0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810}, > + {0x00008120, 0x18f04800, 0x18f04800, 0x18f04810, 0x18f04810}, > {0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a}, > {0x00008318, 0x00003e80, 0x00007d00, 0x00006880, 0x00003440}, > }; There's no need to patch the initvals for this issue at all. ath9k has enabled AR_PCU_ALWAYS_PERFORM_KEYSEARCH via ah->misc_mode for a long time now. - Felix ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ath9k pending patches 2013-11-27 16:00 ` Felix Fietkau @ 2013-11-27 16:34 ` Sujith Manoharan 0 siblings, 0 replies; 14+ messages in thread From: Sujith Manoharan @ 2013-11-27 16:34 UTC (permalink / raw) To: Felix Fietkau; +Cc: Antonio Quartulli, linux-wireless Felix Fietkau wrote: > There's no need to patch the initvals for this issue at all. ath9k has > enabled AR_PCU_ALWAYS_PERFORM_KEYSEARCH via ah->misc_mode for a long > time now. Yes, you are right. So the timer workaround is needed, I guess. Sujith ^ permalink raw reply [flat|nested] 14+ messages in thread
* ath9k pending patches @ 2013-09-16 6:04 Sujith Manoharan 0 siblings, 0 replies; 14+ messages in thread From: Sujith Manoharan @ 2013-09-16 6:04 UTC (permalink / raw) To: linux-wireless; +Cc: John Linville Hi, Stable patches (includes Felix's TX fixes): http://msujith.org/patches/wl/Sep-16-2013/ath9k-pending-stable.patch Patches for -next: http://msujith.org/patches/wl/Sep-16-2013/ath9k-pending-next.patch Sujith ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2013-11-27 16:39 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-11-27 10:23 [PATCH 0/2] ath9k initval updates Sujith Manoharan 2013-11-27 10:23 ` [PATCH 1/2] ath9k: Update initvals for AR9300 v2.2 Sujith Manoharan 2013-11-27 10:23 ` [PATCH 2/2] ath9k: Update initvals for AR9580 v1.0 Sujith Manoharan 2013-11-27 10:32 ` ath9k pending patches Sujith Manoharan 2013-11-27 12:31 ` Antonio Quartulli 2013-11-27 15:20 ` Sujith Manoharan 2013-11-27 15:42 ` Antonio Quartulli 2013-11-27 12:52 ` Antonio Quartulli 2013-11-27 15:33 ` Sujith Manoharan 2013-11-27 15:43 ` Antonio Quartulli 2013-11-27 15:58 ` Antonio Quartulli 2013-11-27 16:00 ` Felix Fietkau 2013-11-27 16:34 ` Sujith Manoharan -- strict thread matches above, loose matches on Subject: below -- 2013-09-16 6:04 Sujith Manoharan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).