diff options
Diffstat (limited to 'package/mac80211/patches/407-ath9k-fix-AR_SREV_9100_OR_LATER-macro.patch')
-rw-r--r-- | package/mac80211/patches/407-ath9k-fix-AR_SREV_9100_OR_LATER-macro.patch | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/package/mac80211/patches/407-ath9k-fix-AR_SREV_9100_OR_LATER-macro.patch b/package/mac80211/patches/407-ath9k-fix-AR_SREV_9100_OR_LATER-macro.patch new file mode 100644 index 000000000..f2e508688 --- /dev/null +++ b/package/mac80211/patches/407-ath9k-fix-AR_SREV_9100_OR_LATER-macro.patch @@ -0,0 +1,201 @@ +From e379668f86409b5027f58a14614f6c876484404c Mon Sep 17 00:00:00 2001 +From: Gabor Juhos <juhosg@openwrt.org> +Date: Thu, 5 Mar 2009 08:32:55 +0100 +Subject: [PATCH v2 3/3] ath9k: fix AR_SREV_9100_OR_LATER macro + +The current macro is wrong, because detects some AR5416 devices as an +AR9100 device. The AR5416 devices would have performance issues after +this change, because the contents of the ar5416 specific and of the +ar9100 specificinitval arrays are swapped. Fortunately we can correct +this with the rename of the arrays simply. + +Changes-licesed-under: ISC + +Signed-off-by: Gabor Juhos <juhosg@openwrt.org> +Signed-off-by: Imre Kaloz <kaloz@openwrt.org> +--- + drivers/net/wireless/ath9k/initvals.h | 44 ++++++++++++++++---------------- + drivers/net/wireless/ath9k/reg.h | 2 +- + 2 files changed, 23 insertions(+), 23 deletions(-) + +--- a/drivers/net/wireless/ath9k/initvals.h ++++ b/drivers/net/wireless/ath9k/initvals.h +@@ -14,7 +14,7 @@ + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +-static const u32 ar5416Modes_9100[][6] = { ++static const u32 ar5416Modes[][6] = { + { 0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160, 0x000001e0 }, + { 0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c, 0x000001e0 }, + { 0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38, 0x00001180 }, +@@ -78,7 +78,7 @@ static const u32 ar5416Modes_9100[][6] = + { 0x0000a334, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, + }; + +-static const u32 ar5416Common_9100[][2] = { ++static const u32 ar5416Common[][2] = { + { 0x0000000c, 0x00000000 }, + { 0x00000030, 0x00020015 }, + { 0x00000034, 0x00000005 }, +@@ -456,12 +456,12 @@ static const u32 ar5416Common_9100[][2] + { 0x0000a3e0, 0x000001ce }, + }; + +-static const u32 ar5416Bank0_9100[][2] = { ++static const u32 ar5416Bank0[][2] = { + { 0x000098b0, 0x1e5795e5 }, + { 0x000098e0, 0x02008020 }, + }; + +-static const u32 ar5416BB_RfGain_9100[][3] = { ++static const u32 ar5416BB_RfGain[][3] = { + { 0x00009a00, 0x00000000, 0x00000000 }, + { 0x00009a04, 0x00000040, 0x00000040 }, + { 0x00009a08, 0x00000080, 0x00000080 }, +@@ -528,21 +528,21 @@ static const u32 ar5416BB_RfGain_9100[][ + { 0x00009afc, 0x000000f9, 0x000000f9 }, + }; + +-static const u32 ar5416Bank1_9100[][2] = { ++static const u32 ar5416Bank1[][2] = { + { 0x000098b0, 0x02108421 }, + { 0x000098ec, 0x00000008 }, + }; + +-static const u32 ar5416Bank2_9100[][2] = { ++static const u32 ar5416Bank2[][2] = { + { 0x000098b0, 0x0e73ff17 }, + { 0x000098e0, 0x00000420 }, + }; + +-static const u32 ar5416Bank3_9100[][3] = { ++static const u32 ar5416Bank3[][3] = { + { 0x000098f0, 0x01400018, 0x01c00018 }, + }; + +-static const u32 ar5416Bank6_9100[][3] = { ++static const u32 ar5416Bank6[][3] = { + + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, +@@ -579,7 +579,7 @@ static const u32 ar5416Bank6_9100[][3] = + { 0x000098d0, 0x0000000f, 0x0010000f }, + }; + +-static const u32 ar5416Bank6TPC_9100[][3] = { ++static const u32 ar5416Bank6TPC[][3] = { + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, +@@ -615,13 +615,13 @@ static const u32 ar5416Bank6TPC_9100[][3 + { 0x000098d0, 0x0000000f, 0x0010000f }, + }; + +-static const u32 ar5416Bank7_9100[][2] = { ++static const u32 ar5416Bank7[][2] = { + { 0x0000989c, 0x00000500 }, + { 0x0000989c, 0x00000800 }, + { 0x000098cc, 0x0000000e }, + }; + +-static const u32 ar5416Addac_9100[][2] = { ++static const u32 ar5416Addac[][2] = { + {0x0000989c, 0x00000000 }, + {0x0000989c, 0x00000003 }, + {0x0000989c, 0x00000000 }, +@@ -661,7 +661,7 @@ static const u32 ar5416Addac_9100[][2] = + {0x000098cc, 0x00000000 }, + }; + +-static const u32 ar5416Modes[][6] = { ++static const u32 ar5416Modes_9100[][6] = { + { 0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160, 0x000001e0 }, + { 0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c, 0x000001e0 }, + { 0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38, 0x00001180 }, +@@ -735,7 +735,7 @@ static const u32 ar5416Modes[][6] = { + { 0x0000a334, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, + }; + +-static const u32 ar5416Common[][2] = { ++static const u32 ar5416Common_9100[][2] = { + { 0x0000000c, 0x00000000 }, + { 0x00000030, 0x00020015 }, + { 0x00000034, 0x00000005 }, +@@ -1109,12 +1109,12 @@ static const u32 ar5416Common[][2] = { + { 0x0000a3e0, 0x000001ce }, + }; + +-static const u32 ar5416Bank0[][2] = { ++static const u32 ar5416Bank0_9100[][2] = { + { 0x000098b0, 0x1e5795e5 }, + { 0x000098e0, 0x02008020 }, + }; + +-static const u32 ar5416BB_RfGain[][3] = { ++static const u32 ar5416BB_RfGain_9100[][3] = { + { 0x00009a00, 0x00000000, 0x00000000 }, + { 0x00009a04, 0x00000040, 0x00000040 }, + { 0x00009a08, 0x00000080, 0x00000080 }, +@@ -1181,21 +1181,21 @@ static const u32 ar5416BB_RfGain[][3] = + { 0x00009afc, 0x000000f9, 0x000000f9 }, + }; + +-static const u32 ar5416Bank1[][2] = { ++static const u32 ar5416Bank1_9100[][2] = { + { 0x000098b0, 0x02108421}, + { 0x000098ec, 0x00000008}, + }; + +-static const u32 ar5416Bank2[][2] = { ++static const u32 ar5416Bank2_9100[][2] = { + { 0x000098b0, 0x0e73ff17}, + { 0x000098e0, 0x00000420}, + }; + +-static const u32 ar5416Bank3[][3] = { ++static const u32 ar5416Bank3_9100[][3] = { + { 0x000098f0, 0x01400018, 0x01c00018 }, + }; + +-static const u32 ar5416Bank6[][3] = { ++static const u32 ar5416Bank6_9100[][3] = { + + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, +@@ -1233,7 +1233,7 @@ static const u32 ar5416Bank6[][3] = { + }; + + +-static const u32 ar5416Bank6TPC[][3] = { ++static const u32 ar5416Bank6TPC_9100[][3] = { + + { 0x0000989c, 0x00000000, 0x00000000 }, + { 0x0000989c, 0x00000000, 0x00000000 }, +@@ -1270,13 +1270,13 @@ static const u32 ar5416Bank6TPC[][3] = { + { 0x000098d0, 0x0000000f, 0x0010000f }, + }; + +-static const u32 ar5416Bank7[][2] = { ++static const u32 ar5416Bank7_9100[][2] = { + { 0x0000989c, 0x00000500 }, + { 0x0000989c, 0x00000800 }, + { 0x000098cc, 0x0000000e }, + }; + +-static const u32 ar5416Addac[][2] = { ++static const u32 ar5416Addac_9100[][2] = { + {0x0000989c, 0x00000000 }, + {0x0000989c, 0x00000000 }, + {0x0000989c, 0x00000000 }, +--- a/drivers/net/wireless/ath9k/reg.h ++++ b/drivers/net/wireless/ath9k/reg.h +@@ -754,7 +754,7 @@ + #define AR_SREV_9100(ah) \ + ((ah->hw_version.macVersion) == AR_SREV_VERSION_9100) + #define AR_SREV_9100_OR_LATER(_ah) \ +- (((_ah)->hw_version.macVersion >= AR_SREV_VERSION_5416_PCIE)) ++ (((_ah)->hw_version.macVersion >= AR_SREV_VERSION_9100)) + + #define AR_SREV_9160(_ah) \ + (((_ah)->hw_version.macVersion == AR_SREV_VERSION_9160)) |