aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/rc.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-11-23 16:22:27 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-11-28 15:04:25 -0500
commit1fe8234a376e341c378a6e1c5de65db0fb49189a (patch)
tree4dc9a64e786894f89128d03fce4563f598010d72 /drivers/net/wireless/ath/ath9k/rc.c
parent545750d36fa78203e28acefb4bab61ebb7c4d197 (diff)
ath9k: clean up rc rate table
Remove some fields from struct ath_rate_table that are now unused. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/rc.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/rc.c326
1 files changed, 109 insertions, 217 deletions
diff --git a/drivers/net/wireless/ath/ath9k/rc.c b/drivers/net/wireless/ath/ath9k/rc.c
index 66d3004af2b..e697bd93490 100644
--- a/drivers/net/wireless/ath/ath9k/rc.c
+++ b/drivers/net/wireless/ath/ath9k/rc.c
@@ -22,131 +22,89 @@ static const struct ath_rate_table ar5416_11na_ratetable = {
22 8, /* MCS start */ 22 8, /* MCS start */
23 { 23 {
24 { VALID, VALID, WLAN_RC_PHY_OFDM, 6000, /* 6 Mb */ 24 { VALID, VALID, WLAN_RC_PHY_OFDM, 6000, /* 6 Mb */
25 5400, 0, 0x00, 12, 25 5400, 0, 12, 0, 0, 0, 0, 0 },
26 0, 0, 0, 0, 0, 0 },
27 { VALID, VALID, WLAN_RC_PHY_OFDM, 9000, /* 9 Mb */ 26 { VALID, VALID, WLAN_RC_PHY_OFDM, 9000, /* 9 Mb */
28 7800, 1, 0x00, 18, 27 7800, 1, 18, 0, 1, 1, 1, 1 },
29 0, 1, 1, 1, 1, 0 },
30 { VALID, VALID, WLAN_RC_PHY_OFDM, 12000, /* 12 Mb */ 28 { VALID, VALID, WLAN_RC_PHY_OFDM, 12000, /* 12 Mb */
31 10000, 2, 0x00, 24, 29 10000, 2, 24, 2, 2, 2, 2, 2 },
32 2, 2, 2, 2, 2, 0 },
33 { VALID, VALID, WLAN_RC_PHY_OFDM, 18000, /* 18 Mb */ 30 { VALID, VALID, WLAN_RC_PHY_OFDM, 18000, /* 18 Mb */
34 13900, 3, 0x00, 36, 31 13900, 3, 36, 2, 3, 3, 3, 3 },
35 2, 3, 3, 3, 3, 0 },
36 { VALID, VALID, WLAN_RC_PHY_OFDM, 24000, /* 24 Mb */ 32 { VALID, VALID, WLAN_RC_PHY_OFDM, 24000, /* 24 Mb */
37 17300, 4, 0x00, 48, 33 17300, 4, 48, 4, 4, 4, 4, 4 },
38 4, 4, 4, 4, 4, 0 },
39 { VALID, VALID, WLAN_RC_PHY_OFDM, 36000, /* 36 Mb */ 34 { VALID, VALID, WLAN_RC_PHY_OFDM, 36000, /* 36 Mb */
40 23000, 5, 0x00, 72, 35 23000, 5, 72, 4, 5, 5, 5, 5 },
41 4, 5, 5, 5, 5, 0 },
42 { VALID, VALID, WLAN_RC_PHY_OFDM, 48000, /* 48 Mb */ 36 { VALID, VALID, WLAN_RC_PHY_OFDM, 48000, /* 48 Mb */
43 27400, 6, 0x00, 96, 37 27400, 6, 96, 4, 6, 6, 6, 6 },
44 4, 6, 6, 6, 6, 0 },
45 { VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */ 38 { VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */
46 29300, 7, 0x00, 108, 39 29300, 7, 108, 4, 7, 7, 7, 7 },
47 4, 7, 7, 7, 7, 0 },
48 { VALID_2040, VALID_2040, WLAN_RC_PHY_HT_20_SS, 6500, /* 6.5 Mb */ 40 { VALID_2040, VALID_2040, WLAN_RC_PHY_HT_20_SS, 6500, /* 6.5 Mb */
49 6400, 0, 0x00, 0, 41 6400, 0, 0, 0, 8, 24, 8, 24 },
50 0, 8, 24, 8, 24, 3216 },
51 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 13000, /* 13 Mb */ 42 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 13000, /* 13 Mb */
52 12700, 1, 0x00, 1, 43 12700, 1, 1, 2, 9, 25, 9, 25 },
53 2, 9, 25, 9, 25, 6434 },
54 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 19500, /* 19.5 Mb */ 44 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 19500, /* 19.5 Mb */
55 18800, 2, 0x00, 2, 45 18800, 2, 2, 2, 10, 26, 10, 26 },
56 2, 10, 26, 10, 26, 9650 },
57 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 26000, /* 26 Mb */ 46 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 26000, /* 26 Mb */
58 25000, 3, 0x00, 3, 47 25000, 3, 3, 4, 11, 27, 11, 27 },
59 4, 11, 27, 11, 27, 12868 },
60 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 39000, /* 39 Mb */ 48 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 39000, /* 39 Mb */
61 36700, 4, 0x00, 4, 49 36700, 4, 4, 4, 12, 28, 12, 28 },
62 4, 12, 28, 12, 28, 19304 },
63 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 52000, /* 52 Mb */ 50 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 52000, /* 52 Mb */
64 48100, 5, 0x00, 5, 51 48100, 5, 5, 4, 13, 29, 13, 29 },
65 4, 13, 29, 13, 29, 25740 },
66 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 58500, /* 58.5 Mb */ 52 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 58500, /* 58.5 Mb */
67 53500, 6, 0x00, 6, 53 53500, 6, 6, 4, 14, 30, 14, 30 },
68 4, 14, 30, 14, 30, 28956 },
69 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 65000, /* 65 Mb */ 54 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 65000, /* 65 Mb */
70 59000, 7, 0x00, 7, 55 59000, 7, 7, 4, 15, 31, 15, 32 },
71 4, 15, 31, 15, 32, 32180 },
72 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 13000, /* 13 Mb */ 56 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 13000, /* 13 Mb */
73 12700, 8, 0x00, 57 12700, 8, 8, 3, 16, 33, 16, 33 },
74 8, 3, 16, 33, 16, 33, 6430 },
75 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 26000, /* 26 Mb */ 58 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 26000, /* 26 Mb */
76 24800, 9, 0x00, 9, 59 24800, 9, 9, 2, 17, 34, 17, 34 },
77 2, 17, 34, 17, 34, 12860 },
78 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 39000, /* 39 Mb */ 60 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 39000, /* 39 Mb */
79 36600, 10, 0x00, 10, 61 36600, 10, 10, 2, 18, 35, 18, 35 },
80 2, 18, 35, 18, 35, 19300 },
81 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 52000, /* 52 Mb */ 62 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 52000, /* 52 Mb */
82 48100, 11, 0x00, 11, 63 48100, 11, 11, 4, 19, 36, 19, 36 },
83 4, 19, 36, 19, 36, 25736 },
84 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 78000, /* 78 Mb */ 64 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 78000, /* 78 Mb */
85 69500, 12, 0x00, 12, 65 69500, 12, 12, 4, 20, 37, 20, 37 },
86 4, 20, 37, 20, 37, 38600 },
87 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 104000, /* 104 Mb */ 66 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 104000, /* 104 Mb */
88 89500, 13, 0x00, 13, 67 89500, 13, 13, 4, 21, 38, 21, 38 },
89 4, 21, 38, 21, 38, 51472 },
90 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 117000, /* 117 Mb */ 68 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 117000, /* 117 Mb */
91 98900, 14, 0x00, 14, 69 98900, 14, 14, 4, 22, 39, 22, 39 },
92 4, 22, 39, 22, 39, 57890 },
93 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 130000, /* 130 Mb */ 70 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 130000, /* 130 Mb */
94 108300, 15, 0x00, 15, 71 108300, 15, 15, 4, 23, 40, 23, 41 },
95 4, 23, 40, 23, 41, 64320 },
96 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 13500, /* 13.5 Mb */ 72 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 13500, /* 13.5 Mb */
97 13200, 0, 0x00, 0, 73 13200, 0, 0, 0, 8, 24, 24, 24 },
98 0, 8, 24, 24, 24, 6684 },
99 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 27500, /* 27.0 Mb */ 74 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 27500, /* 27.0 Mb */
100 25900, 1, 0x00, 1, 75 25900, 1, 1, 2, 9, 25, 25, 25 },
101 2, 9, 25, 25, 25, 13368 },
102 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 40500, /* 40.5 Mb */ 76 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 40500, /* 40.5 Mb */
103 38600, 2, 0x00, 2, 77 38600, 2, 2, 2, 10, 26, 26, 26 },
104 2, 10, 26, 26, 26, 20052 },
105 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 54000, /* 54 Mb */ 78 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 54000, /* 54 Mb */
106 49800, 3, 0x00, 3, 79 49800, 3, 3, 4, 11, 27, 27, 27 },
107 4, 11, 27, 27, 27, 26738 },
108 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 81500, /* 81 Mb */ 80 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 81500, /* 81 Mb */
109 72200, 4, 0x00, 4, 81 72200, 4, 4, 4, 12, 28, 28, 28 },
110 4, 12, 28, 28, 28, 40104 },
111 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 108000, /* 108 Mb */ 82 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 108000, /* 108 Mb */
112 92900, 5, 0x00, 5, 83 92900, 5, 5, 4, 13, 29, 29, 29 },
113 4, 13, 29, 29, 29, 53476 },
114 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 121500, /* 121.5 Mb */ 84 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 121500, /* 121.5 Mb */
115 102700, 6, 0x00, 6, 85 102700, 6, 6, 4, 14, 30, 30, 30 },
116 4, 14, 30, 30, 30, 60156 },
117 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 135000, /* 135 Mb */ 86 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 135000, /* 135 Mb */
118 112000, 7, 0x00, 7, 87 112000, 7, 7, 4, 15, 31, 32, 32 },
119 4, 15, 31, 32, 32, 66840 },
120 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS_HGI, 150000, /* 150 Mb */ 88 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS_HGI, 150000, /* 150 Mb */
121 122000, 7, 0x00, 7, 89 122000, 7, 7, 4, 15, 31, 32, 32 },
122 4, 15, 31, 32, 32, 74200 },
123 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 27000, /* 27 Mb */ 90 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 27000, /* 27 Mb */
124 25800, 8, 0x00, 8, 91 25800, 8, 8, 0, 16, 33, 33, 33 },
125 0, 16, 33, 33, 33, 13360 },
126 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 54000, /* 54 Mb */ 92 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 54000, /* 54 Mb */
127 49800, 9, 0x00, 9, 93 49800, 9, 9, 2, 17, 34, 34, 34 },
128 2, 17, 34, 34, 34, 26720 },
129 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 81000, /* 81 Mb */ 94 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 81000, /* 81 Mb */
130 71900, 10, 0x00, 10, 95 71900, 10, 10, 2, 18, 35, 35, 35 },
131 2, 18, 35, 35, 35, 40080 },
132 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 108000, /* 108 Mb */ 96 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 108000, /* 108 Mb */
133 92500, 11, 0x00, 11, 97 92500, 11, 11, 4, 19, 36, 36, 36 },
134 4, 19, 36, 36, 36, 53440 },
135 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 162000, /* 162 Mb */ 98 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 162000, /* 162 Mb */
136 130300, 12, 0x00, 12, 99 130300, 12, 12, 4, 20, 37, 37, 37 },
137 4, 20, 37, 37, 37, 80160 },
138 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 216000, /* 216 Mb */ 100 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 216000, /* 216 Mb */
139 162800, 13, 0x00, 13, 101 162800, 13, 13, 4, 21, 38, 38, 38 },
140 4, 21, 38, 38, 38, 106880 },
141 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 243000, /* 243 Mb */ 102 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 243000, /* 243 Mb */
142 178200, 14, 0x00, 14, 103 178200, 14, 14, 4, 22, 39, 39, 39 },
143 4, 22, 39, 39, 39, 120240 },
144 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 270000, /* 270 Mb */ 104 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 270000, /* 270 Mb */
145 192100, 15, 0x00, 15, 105 192100, 15, 15, 4, 23, 40, 41, 41 },
146 4, 23, 40, 41, 41, 133600 },
147 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS_HGI, 300000, /* 300 Mb */ 106 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS_HGI, 300000, /* 300 Mb */
148 207000, 15, 0x00, 15, 107 207000, 15, 15, 4, 23, 40, 41, 41 },
149 4, 23, 40, 41, 41, 148400 },
150 }, 108 },
151 50, /* probe interval */ 109 50, /* probe interval */
152 WLAN_RC_HT_FLAG, /* Phy rates allowed initially */ 110 WLAN_RC_HT_FLAG, /* Phy rates allowed initially */
@@ -160,144 +118,98 @@ static const struct ath_rate_table ar5416_11ng_ratetable = {
160 12, /* MCS start */ 118 12, /* MCS start */
161 { 119 {
162 { VALID_ALL, VALID_ALL, WLAN_RC_PHY_CCK, 1000, /* 1 Mb */ 120 { VALID_ALL, VALID_ALL, WLAN_RC_PHY_CCK, 1000, /* 1 Mb */
163 900, 0, 0x00, 2, 121 900, 0, 2, 0, 0, 0, 0, 0 },
164 0, 0, 0, 0, 0, 0 },
165 { VALID_ALL, VALID_ALL, WLAN_RC_PHY_CCK, 2000, /* 2 Mb */ 122 { VALID_ALL, VALID_ALL, WLAN_RC_PHY_CCK, 2000, /* 2 Mb */
166 1900, 1, 0x04, 4, 123 1900, 1, 4, 1, 1, 1, 1, 1 },
167 1, 1, 1, 1, 1, 0 },
168 { VALID_ALL, VALID_ALL, WLAN_RC_PHY_CCK, 5500, /* 5.5 Mb */ 124 { VALID_ALL, VALID_ALL, WLAN_RC_PHY_CCK, 5500, /* 5.5 Mb */
169 4900, 2, 0x04, 11, 125 4900, 2, 11, 2, 2, 2, 2, 2 },
170 2, 2, 2, 2, 2, 0 },
171 { VALID_ALL, VALID_ALL, WLAN_RC_PHY_CCK, 11000, /* 11 Mb */ 126 { VALID_ALL, VALID_ALL, WLAN_RC_PHY_CCK, 11000, /* 11 Mb */
172 8100, 3, 0x04, 22, 127 8100, 3, 22, 3, 3, 3, 3, 3 },
173 3, 3, 3, 3, 3, 0 },
174 { INVALID, INVALID, WLAN_RC_PHY_OFDM, 6000, /* 6 Mb */ 128 { INVALID, INVALID, WLAN_RC_PHY_OFDM, 6000, /* 6 Mb */
175 5400, 4, 0x00, 12, 129 5400, 4, 12, 4, 4, 4, 4, 4 },
176 4, 4, 4, 4, 4, 0 },
177 { INVALID, INVALID, WLAN_RC_PHY_OFDM, 9000, /* 9 Mb */ 130 { INVALID, INVALID, WLAN_RC_PHY_OFDM, 9000, /* 9 Mb */
178 7800, 5, 0x00, 18, 131 7800, 5, 18, 4, 5, 5, 5, 5 },
179 4, 5, 5, 5, 5, 0 },
180 { VALID, VALID, WLAN_RC_PHY_OFDM, 12000, /* 12 Mb */ 132 { VALID, VALID, WLAN_RC_PHY_OFDM, 12000, /* 12 Mb */
181 10100, 6, 0x00, 24, 133 10100, 6, 24, 6, 6, 6, 6, 6 },
182 6, 6, 6, 6, 6, 0 },
183 { VALID, VALID, WLAN_RC_PHY_OFDM, 18000, /* 18 Mb */ 134 { VALID, VALID, WLAN_RC_PHY_OFDM, 18000, /* 18 Mb */
184 14100, 7, 0x00, 36, 135 14100, 7, 36, 6, 7, 7, 7, 7 },
185 6, 7, 7, 7, 7, 0 },
186 { VALID, VALID, WLAN_RC_PHY_OFDM, 24000, /* 24 Mb */ 136 { VALID, VALID, WLAN_RC_PHY_OFDM, 24000, /* 24 Mb */
187 17700, 8, 0x00, 48, 137 17700, 8, 48, 8, 8, 8, 8, 8 },
188 8, 8, 8, 8, 8, 0 },
189 { VALID, VALID, WLAN_RC_PHY_OFDM, 36000, /* 36 Mb */ 138 { VALID, VALID, WLAN_RC_PHY_OFDM, 36000, /* 36 Mb */
190 23700, 9, 0x00, 72, 139 23700, 9, 72, 8, 9, 9, 9, 9 },
191 8, 9, 9, 9, 9, 0 },
192 { VALID, VALID, WLAN_RC_PHY_OFDM, 48000, /* 48 Mb */ 140 { VALID, VALID, WLAN_RC_PHY_OFDM, 48000, /* 48 Mb */
193 27400, 10, 0x00, 96, 141 27400, 10, 96, 8, 10, 10, 10, 10 },
194 8, 10, 10, 10, 10, 0 },
195 { VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */ 142 { VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */
196 30900, 11, 0x00, 108, 143 30900, 11, 108, 8, 11, 11, 11, 11 },
197 8, 11, 11, 11, 11, 0 },
198 { INVALID, INVALID, WLAN_RC_PHY_HT_20_SS, 6500, /* 6.5 Mb */ 144 { INVALID, INVALID, WLAN_RC_PHY_HT_20_SS, 6500, /* 6.5 Mb */
199 6400, 0, 0x00, 0, 145 6400, 0, 0, 4, 12, 28, 12, 28 },
200 4, 12, 28, 12, 28, 3216 },
201 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 13000, /* 13 Mb */ 146 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 13000, /* 13 Mb */
202 12700, 1, 0x00, 1, 147 12700, 1, 1, 6, 13, 29, 13, 29 },
203 6, 13, 29, 13, 29, 6434 },
204 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 19500, /* 19.5 Mb */ 148 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 19500, /* 19.5 Mb */
205 18800, 2, 0x00, 2, 149 18800, 2, 2, 6, 14, 30, 14, 30 },
206 6, 14, 30, 14, 30, 9650 },
207 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 26000, /* 26 Mb */ 150 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 26000, /* 26 Mb */
208 25000, 3, 0x00, 3, 151 25000, 3, 3, 8, 15, 31, 15, 31 },
209 8, 15, 31, 15, 31, 12868 },
210 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 39000, /* 39 Mb */ 152 { VALID_20, VALID_20, WLAN_RC_PHY_HT_20_SS, 39000, /* 39 Mb */
211 36700, 4, 0x00, 4, 153 36700, 4, 4, 8, 16, 32, 16, 32 },
212 8, 16, 32, 16, 32, 19304 },
213 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 52000, /* 52 Mb */ 154 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 52000, /* 52 Mb */
214 48100, 5, 0x00, 5, 155 48100, 5, 5, 8, 17, 33, 17, 33 },
215 8, 17, 33, 17, 33, 25740 },
216 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 58500, /* 58.5 Mb */ 156 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 58500, /* 58.5 Mb */
217 53500, 6, 0x00, 6, 157 53500, 6, 6, 8, 18, 34, 18, 34 },
218 8, 18, 34, 18, 34, 28956 },
219 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 65000, /* 65 Mb */ 158 { INVALID, VALID_20, WLAN_RC_PHY_HT_20_SS, 65000, /* 65 Mb */
220 59000, 7, 0x00, 7, 159 59000, 7, 7, 8, 19, 35, 19, 36 },
221 8, 19, 35, 19, 36, 32180 },
222 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 13000, /* 13 Mb */ 160 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 13000, /* 13 Mb */
223 12700, 8, 0x00, 8, 161 12700, 8, 8, 4, 20, 37, 20, 37 },
224 4, 20, 37, 20, 37, 6430 },
225 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 26000, /* 26 Mb */ 162 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 26000, /* 26 Mb */
226 24800, 9, 0x00, 9, 163 24800, 9, 9, 6, 21, 38, 21, 38 },
227 6, 21, 38, 21, 38, 12860 },
228 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 39000, /* 39 Mb */ 164 { INVALID, INVALID, WLAN_RC_PHY_HT_20_DS, 39000, /* 39 Mb */
229 36600, 10, 0x00, 10, 165 36600, 10, 10, 6, 22, 39, 22, 39 },
230 6, 22, 39, 22, 39, 19300 },
231 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 52000, /* 52 Mb */ 166 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 52000, /* 52 Mb */
232 48100, 11, 0x00, 11, 167 48100, 11, 11, 8, 23, 40, 23, 40 },
233 8, 23, 40, 23, 40, 25736 },
234 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 78000, /* 78 Mb */ 168 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 78000, /* 78 Mb */
235 69500, 12, 0x00, 12, 169 69500, 12, 12, 8, 24, 41, 24, 41 },
236 8, 24, 41, 24, 41, 38600 },
237 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 104000, /* 104 Mb */ 170 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 104000, /* 104 Mb */
238 89500, 13, 0x00, 13, 171 89500, 13, 13, 8, 25, 42, 25, 42 },
239 8, 25, 42, 25, 42, 51472 },
240 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 117000, /* 117 Mb */ 172 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 117000, /* 117 Mb */
241 98900, 14, 0x00, 14, 173 98900, 14, 14, 8, 26, 43, 26, 44 },
242 8, 26, 43, 26, 44, 57890 },
243 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 130000, /* 130 Mb */ 174 { VALID_20, INVALID, WLAN_RC_PHY_HT_20_DS, 130000, /* 130 Mb */
244 108300, 15, 0x00, 15, 175 108300, 15, 15, 8, 27, 44, 27, 45 },
245 8, 27, 44, 27, 45, 64320 },
246 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 13500, /* 13.5 Mb */ 176 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 13500, /* 13.5 Mb */
247 13200, 0, 0x00, 0, 177 13200, 0, 0, 8, 12, 28, 28, 28 },
248 8, 12, 28, 28, 28, 6684 },
249 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 27500, /* 27.0 Mb */ 178 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 27500, /* 27.0 Mb */
250 25900, 1, 0x00, 1, 179 25900, 1, 1, 8, 13, 29, 29, 29 },
251 8, 13, 29, 29, 29, 13368 },
252 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 40500, /* 40.5 Mb */ 180 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 40500, /* 40.5 Mb */
253 38600, 2, 0x00, 2, 181 38600, 2, 2, 8, 14, 30, 30, 30 },
254 8, 14, 30, 30, 30, 20052 },
255 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 54000, /* 54 Mb */ 182 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 54000, /* 54 Mb */
256 49800, 3, 0x00, 3, 183 49800, 3, 3, 8, 15, 31, 31, 31 },
257 8, 15, 31, 31, 31, 26738 },
258 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 81500, /* 81 Mb */ 184 { VALID_40, VALID_40, WLAN_RC_PHY_HT_40_SS, 81500, /* 81 Mb */
259 72200, 4, 0x00, 4, 185 72200, 4, 4, 8, 16, 32, 32, 32 },
260 8, 16, 32, 32, 32, 40104 },
261 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 108000, /* 108 Mb */ 186 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 108000, /* 108 Mb */
262 92900, 5, 0x00, 5, 187 92900, 5, 5, 8, 17, 33, 33, 33 },
263 8, 17, 33, 33, 33, 53476 },
264 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 121500, /* 121.5 Mb */ 188 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 121500, /* 121.5 Mb */
265 102700, 6, 0x00, 6, 189 102700, 6, 6, 8, 18, 34, 34, 34 },
266 8, 18, 34, 34, 34, 60156 },
267 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 135000, /* 135 Mb */ 190 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS, 135000, /* 135 Mb */
268 112000, 7, 0x00, 7, 191 112000, 7, 7, 8, 19, 35, 36, 36 },
269 8, 19, 35, 36, 36, 66840 },
270 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS_HGI, 150000, /* 150 Mb */ 192 { INVALID, VALID_40, WLAN_RC_PHY_HT_40_SS_HGI, 150000, /* 150 Mb */
271 122000, 7, 0x00, 7, 193 122000, 7, 7, 8, 19, 35, 36, 36 },
272 8, 19, 35, 36, 36, 74200 },
273 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 27000, /* 27 Mb */ 194 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 27000, /* 27 Mb */
274 25800, 8, 0x00, 8, 195 25800, 8, 8, 8, 20, 37, 37, 37 },
275 8, 20, 37, 37, 37, 13360 },
276 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 54000, /* 54 Mb */ 196 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 54000, /* 54 Mb */
277 49800, 9, 0x00, 9, 197 49800, 9, 9, 8, 21, 38, 38, 38 },
278 8, 21, 38, 38, 38, 26720 },
279 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 81000, /* 81 Mb */ 198 { INVALID, INVALID, WLAN_RC_PHY_HT_40_DS, 81000, /* 81 Mb */
280 71900, 10, 0x00, 10, 199 71900, 10, 10, 8, 22, 39, 39, 39 },
281 8, 22, 39, 39, 39, 40080 },
282 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 108000, /* 108 Mb */ 200 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 108000, /* 108 Mb */
283 92500, 11, 0x00, 11, 201 92500, 11, 11, 8, 23, 40, 40, 40 },
284 8, 23, 40, 40, 40, 53440 },
285 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 162000, /* 162 Mb */ 202 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 162000, /* 162 Mb */
286 130300, 12, 0x00, 12, 203 130300, 12, 12, 8, 24, 41, 41, 41 },
287 8, 24, 41, 41, 41, 80160 },
288 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 216000, /* 216 Mb */ 204 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 216000, /* 216 Mb */
289 162800, 13, 0x00, 13, 205 162800, 13, 13, 8, 25, 42, 42, 42 },
290 8, 25, 42, 42, 42, 106880 },
291 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 243000, /* 243 Mb */ 206 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 243000, /* 243 Mb */
292 178200, 14, 0x00, 14, 207 178200, 14, 14, 8, 26, 43, 43, 43 },
293 8, 26, 43, 43, 43, 120240 },
294 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 270000, /* 270 Mb */ 208 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS, 270000, /* 270 Mb */
295 192100, 15, 0x00, 15, 209 192100, 15, 15, 8, 27, 44, 45, 45 },
296 8, 27, 44, 45, 45, 133600 },
297 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS_HGI, 300000, /* 300 Mb */ 210 { VALID_40, INVALID, WLAN_RC_PHY_HT_40_DS_HGI, 300000, /* 300 Mb */
298 207000, 15, 0x00, 15, 211 207000, 15, 15, 8, 27, 44, 45, 45 },
299 8, 27, 44, 45, 45, 148400 }, 212 },
300 },
301 50, /* probe interval */ 213 50, /* probe interval */
302 WLAN_RC_HT_FLAG, /* Phy rates allowed initially */ 214 WLAN_RC_HT_FLAG, /* Phy rates allowed initially */
303}; 215};
@@ -307,29 +219,21 @@ static const struct ath_rate_table ar5416_11a_ratetable = {
307 0, 219 0,
308 { 220 {
309 { VALID, VALID, WLAN_RC_PHY_OFDM, 6000, /* 6 Mb */ 221 { VALID, VALID, WLAN_RC_PHY_OFDM, 6000, /* 6 Mb */
310 5400, 0, 0x00, 12, 222 5400, 0, 12, 0, 0, 0 },
311 0, 0, 0 },
312 { VALID, VALID, WLAN_RC_PHY_OFDM, 9000, /* 9 Mb */ 223 { VALID, VALID, WLAN_RC_PHY_OFDM, 9000, /* 9 Mb */
313 7800, 1, 0x00, 18, 224 7800, 1, 18, 0, 1, 0 },
314 0, 1, 0 },
315 { VALID, VALID, WLAN_RC_PHY_OFDM, 12000, /* 12 Mb */ 225 { VALID, VALID, WLAN_RC_PHY_OFDM, 12000, /* 12 Mb */
316 10000, 2, 0x00, 24, 226 10000, 2, 24, 2, 2, 0 },
317 2, 2, 0 },
318 { VALID, VALID, WLAN_RC_PHY_OFDM, 18000, /* 18 Mb */ 227 { VALID, VALID, WLAN_RC_PHY_OFDM, 18000, /* 18 Mb */
319 13900, 3, 0x00, 36, 228 13900, 3, 36, 2, 3, 0 },
320 2, 3, 0 },
321 { VALID, VALID, WLAN_RC_PHY_OFDM, 24000, /* 24 Mb */ 229 { VALID, VALID, WLAN_RC_PHY_OFDM, 24000, /* 24 Mb */
322 17300, 4, 0x00, 48, 230 17300, 4, 48, 4, 4, 0 },
323 4, 4, 0 },
324 { VALID, VALID, WLAN_RC_PHY_OFDM, 36000, /* 36 Mb */ 231 { VALID, VALID, WLAN_RC_PHY_OFDM, 36000, /* 36 Mb */
325 23000, 5, 0x00, 72, 232 23000, 5, 72, 4, 5, 0 },
326 4, 5, 0 },
327 { VALID, VALID, WLAN_RC_PHY_OFDM, 48000, /* 48 Mb */ 233 { VALID, VALID, WLAN_RC_PHY_OFDM, 48000, /* 48 Mb */
328 27400, 6, 0x00, 96, 234 27400, 6, 96, 4, 6, 0 },
329 4, 6, 0 },
330 { VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */ 235 { VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */
331 29300, 7, 0x00, 108, 236 29300, 7, 108, 4, 7, 0 },
332 4, 7, 0 },
333 }, 237 },
334 50, /* probe interval */ 238 50, /* probe interval */
335 0, /* Phy rates allowed initially */ 239 0, /* Phy rates allowed initially */
@@ -340,41 +244,29 @@ static const struct ath_rate_table ar5416_11g_ratetable = {
340 0, 244 0,
341 { 245 {
342 { VALID, VALID, WLAN_RC_PHY_CCK, 1000, /* 1 Mb */ 246 { VALID, VALID, WLAN_RC_PHY_CCK, 1000, /* 1 Mb */
343 900, 0, 0x00, 2, 247 900, 0, 2, 0, 0, 0 },
344 0, 0, 0 },
345 { VALID, VALID, WLAN_RC_PHY_CCK, 2000, /* 2 Mb */ 248 { VALID, VALID, WLAN_RC_PHY_CCK, 2000, /* 2 Mb */
346 1900, 1, 0x04, 4, 249 1900, 1, 4, 1, 1, 0 },
347 1, 1, 0 },
348 { VALID, VALID, WLAN_RC_PHY_CCK, 5500, /* 5.5 Mb */ 250 { VALID, VALID, WLAN_RC_PHY_CCK, 5500, /* 5.5 Mb */
349 4900, 2, 0x04, 11, 251 4900, 2, 11, 2, 2, 0 },
350 2, 2, 0 },
351 { VALID, VALID, WLAN_RC_PHY_CCK, 11000, /* 11 Mb */ 252 { VALID, VALID, WLAN_RC_PHY_CCK, 11000, /* 11 Mb */
352 8100, 3, 0x04, 22, 253 8100, 3, 22, 3, 3, 0 },
353 3, 3, 0 },
354 { INVALID, INVALID, WLAN_RC_PHY_OFDM, 6000, /* 6 Mb */ 254 { INVALID, INVALID, WLAN_RC_PHY_OFDM, 6000, /* 6 Mb */
355 5400, 4, 0x00, 12, 255 5400, 4, 12, 4, 4, 0 },
356 4, 4, 0 },
357 { INVALID, INVALID, WLAN_RC_PHY_OFDM, 9000, /* 9 Mb */ 256 { INVALID, INVALID, WLAN_RC_PHY_OFDM, 9000, /* 9 Mb */
358 7800, 5, 0x00, 18, 257 7800, 5, 18, 4, 5, 0 },
359 4, 5, 0 },
360 { VALID, VALID, WLAN_RC_PHY_OFDM, 12000, /* 12 Mb */ 258 { VALID, VALID, WLAN_RC_PHY_OFDM, 12000, /* 12 Mb */
361 10000, 6, 0x00, 24, 259 10000, 6, 24, 6, 6, 0 },
362 6, 6, 0 },
363 { VALID, VALID, WLAN_RC_PHY_OFDM, 18000, /* 18 Mb */ 260 { VALID, VALID, WLAN_RC_PHY_OFDM, 18000, /* 18 Mb */
364 13900, 7, 0x00, 36, 261 13900, 7, 36, 6, 7, 0 },
365 6, 7, 0 },
366 { VALID, VALID, WLAN_RC_PHY_OFDM, 24000, /* 24 Mb */ 262 { VALID, VALID, WLAN_RC_PHY_OFDM, 24000, /* 24 Mb */
367 17300, 8, 0x00, 48, 263 17300, 8, 48, 8, 8, 0 },
368 8, 8, 0 },
369 { VALID, VALID, WLAN_RC_PHY_OFDM, 36000, /* 36 Mb */ 264 { VALID, VALID, WLAN_RC_PHY_OFDM, 36000, /* 36 Mb */
370 23000, 9, 0x00, 72, 265 23000, 9, 72, 8, 9, 0 },
371 8, 9, 0 },
372 { VALID, VALID, WLAN_RC_PHY_OFDM, 48000, /* 48 Mb */ 266 { VALID, VALID, WLAN_RC_PHY_OFDM, 48000, /* 48 Mb */
373 27400, 10, 0x00, 96, 267 27400, 10, 96, 8, 10, 0 },
374 8, 10, 0 },
375 { VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */ 268 { VALID, VALID, WLAN_RC_PHY_OFDM, 54000, /* 54 Mb */
376 29300, 11, 0x00, 108, 269 29300, 11, 108, 8, 11, 0 },
377 8, 11, 0 },
378 }, 270 },
379 50, /* probe interval */ 271 50, /* probe interval */
380 0, /* Phy rates allowed initially */ 272 0, /* Phy rates allowed initially */