xref: /wlan-dirver/qca-wifi-host-cmn/dp/cmn_dp_api/dp_ratetable.c (revision 1b9674e21e24478fba4530f5ae7396b9555e9c6a)
1 /*
2  * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #include "dp_ratetable.h"
20 #include "qdf_module.h"
21 
22 enum {
23 	MODE_11A        = 0,   /* 11a Mode */
24 	MODE_11G        = 1,   /* 11b/g Mode */
25 	MODE_11B        = 2,   /* 11b Mode */
26 	MODE_11GONLY    = 3,   /* 11g only Mode */
27 	MODE_11NA_HT20   = 4,  /* 11a HT20 mode */
28 	MODE_11NG_HT20   = 5,  /* 11g HT20 mode */
29 	MODE_11NA_HT40   = 6,  /* 11a HT40 mode */
30 	MODE_11NG_HT40   = 7,  /* 11g HT40 mode */
31 	MODE_11AC_VHT20 = 8,
32 	MODE_11AC_VHT40 = 9,
33 	MODE_11AC_VHT80 = 10,
34 	MODE_11AC_VHT20_2G = 11,
35 	MODE_11AC_VHT40_2G = 12,
36 	MODE_11AC_VHT80_2G = 13,
37 	MODE_11AC_VHT80_80 = 14,
38 	MODE_11AC_VHT160   = 15,
39 	MODE_11AX_HE20 = 16,
40 	MODE_11AX_HE40 = 17,
41 	MODE_11AX_HE80 = 18,
42 	MODE_11AX_HE80_80 = 19,
43 	MODE_11AX_HE160 = 20,
44 	MODE_11AX_HE20_2G = 21,
45 	MODE_11AX_HE40_2G = 22,
46 	MODE_11AX_HE80_2G = 23,
47 	/* MODE_UNKNOWN should not be used within the host / target interface.
48 	 * Thus, it is permissible for ODE_UNKNOWN to be conditionally-defined,
49 	 * taking different values when compiling for different targets.
50 	 */
51 	MODE_UNKNOWN,
52 	MODE_UNKNOWN_NO_160MHZ_SUPPORT = 14, /* not needed? */
53 	MODE_UNKNOWN_160MHZ_SUPPORT = MODE_UNKNOWN, /* not needed? */
54 } DP_PHY_MODE;
55 
56 /* The following would span more than one octet
57  * when 160MHz BW defined for VHT
58  * Also it's important to maintain the ordering of this enum
59  * else it would break other rate adapation functions
60  */
61 
62 enum DP_CMN_RATECODE_PREAM_TYPE {
63 	DP_CMN_RATECODE_PREAM_OFDM,
64 	DP_CMN_RATECODE_PREAM_CCK,
65 	DP_CMN_RATECODE_PREAM_HT,
66 	DP_CMN_RATECODE_PREAM_VHT,
67 	DP_CMN_RATECODE_PREAM_HE,
68 	DP_CMN_RATECODE_PREAM_COUNT,
69 };
70 
71 /*
72  * @validmodemask : bit mask where 1 indicates the rate is valid for that mode
73  * @DP_CMN_MODULATION : modulation CCK/OFDM/MCS
74  * @propmask : bit mask of rate property. NSS/STBC/TXBF/LDPC
75  * @ratekbps : Rate in Kbits per second
76  * @ratebpdsgi : Rate in kbits per second if HT SGI is enabled
77  * @ratekbpsdgi : Rate in kbits per second if 1.6us GI is enabled
78  * @ratekbpsqgi : Rate in kbits per second if 3.2us GI is enabled
79  * @ratekbpsdcm : Rate in kbits per second if DCM is applied
80  * @userratekabps : User rate in KBits per second
81  * @dot11rate : Value that goes into supported rates info element of MLME
82  * @ratecode : rate that goes into hw descriptors
83  */
84 const struct DP_CMN_RATE_TABLE {
85 	struct {
86 		uint32_t validmodemask;
87 		enum DP_CMN_MODULATION_TYPE phy;
88 		uint32_t ratekbps;
89 		uint32_t ratekbpssgi;
90 		uint32_t ratekbpsdgi;
91 		uint32_t ratekbpsqgi;
92 		uint32_t ratekbpsdcm;
93 		uint32_t userratekbps;
94 		uint16_t ratecode;
95 	} info[DP_RATE_TABLE_SIZE];
96 } DP_CMN_RATE_TABLE;
97 
98 /*Use the highest bit to indicate the invalid bcc rates accorss
99  *different PHYMODE
100  */
101 #define INVALID_BCC_RATE BIT(MODE_UNKNOWN)
102 
103 #define CCK_MODE_VALID_MASK ((1 << MODE_11G) | (1 << MODE_11B) | \
104 		(1 << MODE_11NG_HT20) | (1 << MODE_11NG_HT40) | \
105 		(1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) |\
106 		(1 << MODE_11AC_VHT80_2G))
107 
108 #define OFDM_MODE_VALID_MASK ((1 << MODE_11A) | (1 << MODE_11G) | \
109 		(1 << MODE_11GONLY) | (1 << MODE_11NA_HT20) | \
110 		(1 << MODE_11NG_HT20) \
111 		| (1 << MODE_11NA_HT40) | (1 << MODE_11NG_HT40) \
112 		| (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT20) | \
113 		(1 << MODE_11AC_VHT80) \
114 		| (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \
115 		(1 << MODE_11AC_VHT80_2G) \
116 		| (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
117 
118 #define HT20_MODE_VALID_MASK ((1 << MODE_11NA_HT20) | \
119 		(1 << MODE_11NG_HT20) \
120 		| (1 << MODE_11NA_HT40) | (1 << MODE_11NG_HT40) \
121 		| (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT20) | \
122 		(1 << MODE_11AC_VHT80) \
123 		| (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \
124 		(1 << MODE_11AC_VHT80_2G) \
125 		| (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
126 
127 #define HT40_MODE_VALID_MASK ((1 << MODE_11NA_HT40) | \
128 		(1 << MODE_11NG_HT40) \
129 		| (1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT80) \
130 		| (1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT80_2G) \
131 		| (1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
132 
133 #define VHT20_MODE_VALID_MASK ((1 << MODE_11AC_VHT20) | \
134 		(1 << MODE_11AC_VHT40) | (1 << MODE_11AC_VHT80) | \
135 		(1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT20_2G) | \
136 		(1 << MODE_11AC_VHT80_2G) | \
137 		(1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
138 
139 #define VHT40_MODE_VALID_MASK ((1 << MODE_11AC_VHT40) | \
140 		(1 << MODE_11AC_VHT80) | \
141 		(1 << MODE_11AC_VHT40_2G) | (1 << MODE_11AC_VHT80_2G) | \
142 		(1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
143 
144 #define VHT80_MODE_VALID_MASK ((1 << MODE_11AC_VHT80) | \
145 		(1 << MODE_11AC_VHT80_2G) | \
146 		(1 << MODE_11AC_VHT160) | (1 << MODE_11AC_VHT80_80))
147 
148 #define VHT160_MODE_VALID_MASK ((1 << MODE_11AC_VHT160) | \
149 		(1 << MODE_11AC_VHT80_80))
150 
151 #define VHT20_LDPC_ONLY_MASKS (VHT20_MODE_VALID_MASK | INVALID_BCC_RATE)
152 #define VHT40_LDPC_ONLY_MASKS (VHT40_MODE_VALID_MASK | INVALID_BCC_RATE)
153 #define VHT80_LDPC_ONLY_MASKS (VHT80_MODE_VALID_MASK | INVALID_BCC_RATE)
154 #define VHT160_LDPC_ONLY_MASKS (VHT160_MODE_VALID_MASK | INVALID_BCC_RATE)
155 
156 #define VHT_INVALID_MCS (0xFF)
157 #define VHT_INVALID_RATES_MASK 0
158 
159 #define HE20_MODE_VALID_MASK ((1 << MODE_11AX_HE20) |\
160 		(1 << MODE_11AX_HE40) | \
161 		(1 << MODE_11AX_HE80) | (1 << MODE_11AX_HE20_2G) | \
162 		(1 << MODE_11AX_HE40_2G) | \
163 		(1 << MODE_11AX_HE80_2G) | (1 << MODE_11AX_HE80_80) | \
164 		(1 << MODE_11AX_HE160))
165 
166 #define HE40_MODE_VALID_MASK ((1 << MODE_11AX_HE40) | \
167 		(1 << MODE_11AX_HE80) | (1 << MODE_11AX_HE40_2G) | \
168 		(1 << MODE_11AX_HE80_2G) | (1 << MODE_11AX_HE80_80) | \
169 		(1 << MODE_11AX_HE160))
170 
171 #define HE80_MODE_VALID_MASK ((1 << MODE_11AX_HE80) | \
172 		(1 << MODE_11AX_HE80_2G) | \
173 		(1 << MODE_11AX_HE80_80) | (1 << MODE_11AX_HE160))
174 
175 #define HE160_MODE_VALID_MASK ((1 << MODE_11AX_HE80_80) | \
176 		(1 << MODE_11AX_HE160))
177 
178 #define HE20_LDPC_ONLY_MASKS (HE20_MODE_VALID_MASK | INVALID_BCC_RATE)
179 #define HE40_LDPC_ONLY_MASKS (HE40_MODE_VALID_MASK | INVALID_BCC_RATE)
180 #define HE80_LDPC_ONLY_MASKS (HE80_MODE_VALID_MASK | INVALID_BCC_RATE)
181 #define HE160_LDPC_ONLY_MASKS (HE160_MODE_VALID_MASK | INVALID_BCC_RATE)
182 
183 #define HE_INVALID_RATES_MASK 0
184 
185 static const struct DP_CMN_RATE_TABLE dp_11abgnratetable = {
186 	{
187 	  /* When number of spatial strams > 4 or 11AX support is enabled */
188 
189 	  /*     0  11 Mb  */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK,
190 		  11000,    11000,        0,        0,        0,    11000,
191 		  0x100  },
192 	  /*     1 5.5 Mb  */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK,
193 		  5500,     5500,        0,        0,        0,     5500,  0x101
194 	  },
195 	  /*     2   2 Mb  */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK,
196 		  2000,     2000,        0,        0,        0,     2000,  0x102
197 	  },
198 	  /*     3   1 Mb  */ { CCK_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_CCK,
199 		  1000,     1000,        0,        0,        0,     1000,  0x103
200 	  },
201 	  /*   4  48 Mb  */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
202 		  48000,     48000,         0,         0,         0,     48000,
203 		  0x000  },
204 	  /*   5  24 Mb  */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
205 		  24000,     24000,         0,         0,         0,     24000,
206 		  0x001  },
207 	  /*   6  12 Mb  */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
208 		  12000,     12000,         0,         0,         0,     12000,
209 		  0x002  },
210 	  /*   7   6 Mb  */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
211 		  6000,      6000,         0,         0,         0,      6000,
212 		  0x003 },
213 	  /*   8  54 Mb  */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
214 		  54000,     54000,         0,         0,         0,     54000,
215 		  0x004  },
216 	  /*   9  36 Mb  */ { OFDM_MODE_VALID_MASK, DP_CMN_MOD_IEEE80211_T_OFDM,
217 		  36000,     36000,         0,         0,         0,     36000,
218 		  0x005  },
219 	  /*     10  18 Mb  */ { OFDM_MODE_VALID_MASK,
220 		  DP_CMN_MOD_IEEE80211_T_OFDM,
221 		  18000,     18000,         0,         0,         0,     18000,
222 		  0x006  },
223 	  /*     11   9 Mb  */ { OFDM_MODE_VALID_MASK,
224 		  DP_CMN_MOD_IEEE80211_T_OFDM,
225 		  9000,      9000,         0,         0,         0,      9000,
226 		  0x007},
227 
228 	  /*      12 MCS-00 */ { HT20_MODE_VALID_MASK,
229 		  DP_CMN_MOD_IEEE80211_T_HT_20,                            6500,
230 		  7200,        0,        0,        0,     6500,  0x200   },
231 	  /*      13 MCS-01 */ { HT20_MODE_VALID_MASK,
232 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           13000,
233 		  14400,        0,        0,        0,    13000,  0x201   },
234 	  /*      14 MCS-02 */ { HT20_MODE_VALID_MASK,
235 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           19500,
236 		  21700,        0,        0,        0,    19500,  0x202   },
237 	  /*      15 MCS-03 */ { HT20_MODE_VALID_MASK,
238 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           26000,
239 		  28900,        0,        0,        0,    26000,  0x203   },
240 	  /*      16 MCS-04 */ { HT20_MODE_VALID_MASK,
241 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           39000,
242 		  43300,        0,        0,        0,    39000,  0x204   },
243 	  /*      17 MCS-05 */ { HT20_MODE_VALID_MASK,
244 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           52000,
245 		  57800,        0,        0,        0,    52000,  0x205   },
246 	  /*      18 MCS-06 */ { HT20_MODE_VALID_MASK,
247 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           58500,
248 		  65000,        0,        0,        0,    58500,  0x206   },
249 	  /*      19 MCS-07 */ { HT20_MODE_VALID_MASK,
250 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           65000,
251 		  72200,        0,        0,        0,    65000,  0x207   },
252 	  /* When number of spatial streams > 1 */
253 	  /*      20 MCS-00 */ { HT20_MODE_VALID_MASK,
254 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           13000,
255 		  14400,        0,        0,        0,    13000,  0x220   },
256 	  /*      21 MCS-01 */ { HT20_MODE_VALID_MASK,
257 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           26000,
258 		  28900,        0,        0,        0,    26000,  0x221   },
259 	  /*      22 MCS-02 */ { HT20_MODE_VALID_MASK,
260 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           39000,
261 		  43300,        0,        0,        0,    39000,  0x222   },
262 	  /*      23 MCS-03 */ { HT20_MODE_VALID_MASK,
263 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           52000,
264 		  57800,        0,        0,        0,    52000,  0x223   },
265 	  /*      24 MCS-04 */ { HT20_MODE_VALID_MASK,
266 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           78000,
267 		  86700,        0,        0,        0,    78000,  0x224   },
268 	  /*      25 MCS-05 */ { HT20_MODE_VALID_MASK,
269 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          104000,
270 		  115600,        0,        0,        0,   104000,  0x225   },
271 	  /*      26 MCS-06 */ { HT20_MODE_VALID_MASK,
272 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          117000,
273 		  130000,        0,        0,        0,   117000,  0x226   },
274 	  /*      27 MCS-07 */ { HT20_MODE_VALID_MASK,
275 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          130000,
276 		  144000,        0,        0,        0,   130000,  0x227   },
277 	  /* When number of spatial streams > 2 */
278 	  /*      28 MCS-00 */ { HT20_MODE_VALID_MASK,
279 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           19500,
280 		  21700,        0,        0,        0,    19500,  0x240   },
281 	  /*      29 MCS-01 */ { HT20_MODE_VALID_MASK,
282 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           39000,
283 		  43300,        0,        0,        0,    39000,  0x241   },
284 	  /*      30 MCS-02 */ { HT20_MODE_VALID_MASK,
285 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           58500,
286 		  65000,        0,        0,        0,    58500,  0x242   },
287 	  /*      31 MCS-03 */ { HT20_MODE_VALID_MASK,
288 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           78000,
289 		  86700,        0,        0,        0,    78000,  0x243   },
290 	  /*      32 MCS-04 */ { HT20_MODE_VALID_MASK,
291 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          117000,
292 		  130000,        0,        0,        0,   117000,  0x244   },
293 	  /*      33 MCS-05 */ { HT20_MODE_VALID_MASK,
294 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          156000,
295 		  173300,        0,        0,        0,   156000,  0x245   },
296 	  /*      34 MCS-06 */ { HT20_MODE_VALID_MASK,
297 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          175500,
298 		  195000,        0,        0,        0,   175500,  0x246   },
299 	  /*      35 MCS-07 */ { HT20_MODE_VALID_MASK,
300 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          195000,
301 		  216700,        0,        0,        0,   195000,  0x247   },
302 	  /* When number of spatial streams > 3 */
303 	  /*      36 MCS-00 */ { HT20_MODE_VALID_MASK,
304 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           26000,
305 		  28900,        0,        0,        0,    26000,  0x260   },
306 	  /*      37 MCS-01 */ { HT20_MODE_VALID_MASK,
307 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           52000,
308 		  57800,        0,        0,        0,    52000,  0x261   },
309 	  /*      38 MCS-02 */ { HT20_MODE_VALID_MASK,
310 		  DP_CMN_MOD_IEEE80211_T_HT_20,                           78000,
311 		  86700,        0,        0,        0,    78000,  0x262   },
312 	  /*      39 MCS-03 */ { HT20_MODE_VALID_MASK,
313 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          104000,
314 		  115600,        0,        0,        0,   104000,  0x263   },
315 	  /*      40 MCS-04 */ { HT20_MODE_VALID_MASK,
316 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          156000,
317 		  173300,        0,        0,        0,   156000,  0x264   },
318 	  /*      41 MCS-05 */ { HT20_MODE_VALID_MASK,
319 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          208000,
320 		  231100,        0,        0,        0,   208000,  0x265   },
321 	  /*      42 MCS-06 */ { HT20_MODE_VALID_MASK,
322 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          234000,
323 		  260000,        0,        0,        0,   234000,  0x266   },
324 	  /*      43 MCS-07 */ { HT20_MODE_VALID_MASK,
325 		  DP_CMN_MOD_IEEE80211_T_HT_20,                          260000,
326 		  288900,        0,        0,        0,   260000,  0x267   },
327 
328 	  /* 11n HT40 rates                                                   */
329 	  /*      44 MCS-00 */ { HT40_MODE_VALID_MASK,
330 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           13500,
331 		  15000,        0,        0,        0,    13500,  0x200  },
332 	  /*      45 MCS-01 */ { HT40_MODE_VALID_MASK,
333 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           27000,
334 		  30000,        0,        0,        0,    27000,  0x201  },
335 	  /*      46 MCS-02 */ { HT40_MODE_VALID_MASK,
336 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           40500,
337 		  45000,        0,        0,        0,    40500,  0x202  },
338 	  /*      47 MCS-03 */ { HT40_MODE_VALID_MASK,
339 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           54000,
340 		  60000,        0,        0,        0,    54000,  0x203  },
341 	  /*      48 MCS-04 */ { HT40_MODE_VALID_MASK,
342 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           81500,
343 		  90000,        0,        0,        0,    81500,  0x204  },
344 	  /*      49 MCS-05 */ { HT40_MODE_VALID_MASK,
345 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          108000,
346 		  120000,        0,        0,        0,   108000,  0x205  },
347 	  /*      50 MCS-06 */ { HT40_MODE_VALID_MASK,
348 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          121500,
349 		  135000,        0,        0,        0,   121500,  0x206  },
350 	  /*      51 MCS-07 */ { HT40_MODE_VALID_MASK,
351 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          135000,
352 		  150000,        0,        0,        0,   135000,  0x207  },
353 	  /* When number of spatial streams > 1 */
354 	  /*      52 MCS-00 */ { HT40_MODE_VALID_MASK,
355 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           27000,
356 		  30000,        0,        0,        0,    27000,  0x220  },
357 	  /*      53 MCS-01 */ { HT40_MODE_VALID_MASK,
358 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           54000,
359 		  60000,        0,        0,        0,    54000,  0x221  },
360 	  /*      54 MCS-02 */ { HT40_MODE_VALID_MASK,
361 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           81000,
362 		  90000,        0,        0,        0,    81000,  0x222  },
363 	  /*      55 MCS-03 */ { HT40_MODE_VALID_MASK,
364 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          108000,
365 		  120000,        0,        0,        0,   108000,  0x223  },
366 	  /*      56 MCS-04 */ { HT40_MODE_VALID_MASK,
367 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          162000,
368 		  180000,        0,        0,        0,   162000,  0x224  },
369 	  /*      57 MCS-05 */ { HT40_MODE_VALID_MASK,
370 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          216000,
371 		  240000,        0,        0,        0,   216000,  0x225  },
372 	  /*      58 MCS-06 */ { HT40_MODE_VALID_MASK,
373 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          243000,
374 		  270000,        0,        0,        0,   243000,  0x226  },
375 	  /*      59 MCS-07 */ { HT40_MODE_VALID_MASK,
376 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          270000,
377 		  300000,        0,        0,        0,   270000,  0x227  },
378 	  /* When number of spatial streams > 2 */
379 	  /*      60 MCS-00 */ { HT40_MODE_VALID_MASK,
380 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           40500,
381 		  45000,        0,        0,        0,    40500,  0x240  },
382 	  /*      61 MCS-01 */ { HT40_MODE_VALID_MASK,
383 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           81000,
384 		  90000,        0,        0,        0,    81000,  0x241  },
385 	  /*      62 MCS-02 */ { HT40_MODE_VALID_MASK,
386 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          121500,
387 		  135000,        0,        0,        0,   121500,  0x242  },
388 	  /*      63 MCS-03 */ { HT40_MODE_VALID_MASK,
389 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          162000,
390 		  180000,        0,        0,        0,   162000,  0x243  },
391 	  /*      64 MCS-04 */ { HT40_MODE_VALID_MASK,
392 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          243000,
393 		  270000,        0,        0,        0,   243000,  0x244  },
394 	  /*      65 MCS-05 */ { HT40_MODE_VALID_MASK,
395 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          324000,
396 		  360000,        0,        0,        0,   324000,  0x245  },
397 	  /*      66 MCS-06 */ { HT40_MODE_VALID_MASK,
398 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          364500,
399 		  405000,        0,        0,        0,   364500,  0x246  },
400 	  /*      67 MCS-07 */ { HT40_MODE_VALID_MASK,
401 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          405000,
402 		  450000,        0,        0,        0,   405000,  0x247  },
403 	  /* When number of spatial streams > 3 */
404 	  /*      68 MCS-00 */ { HT40_MODE_VALID_MASK,
405 		  DP_CMN_MOD_IEEE80211_T_HT_40,                           54000,
406 		  60000,        0,        0,        0,    54000,  0x260  },
407 	  /*      69 MCS-01 */ { HT40_MODE_VALID_MASK,
408 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          108000,
409 		  120000,        0,        0,        0,   108000,  0x261  },
410 	  /*      70 MCS-02 */ { HT40_MODE_VALID_MASK,
411 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          162000,
412 		  180000,        0,        0,        0,   162000,  0x262  },
413 	  /*      71 MCS-03 */ { HT40_MODE_VALID_MASK,
414 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          216000,
415 		  240000,        0,        0,        0,   216000,  0x263  },
416 	  /*      72 MCS-04 */ { HT40_MODE_VALID_MASK,
417 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          324000,
418 		  360000,        0,        0,        0,   324000,  0x264  },
419 	  /*      73 MCS-05 */ { HT40_MODE_VALID_MASK,
420 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          432000,
421 		  480000,        0,        0,        0,   432000,  0x265  },
422 	  /*      74 MCS-06 */ { HT40_MODE_VALID_MASK,
423 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          486000,
424 		  540000,        0,        0,        0,   486000,  0x266  },
425 	  /*      75 MCS-07 */ { HT40_MODE_VALID_MASK,
426 		  DP_CMN_MOD_IEEE80211_T_HT_40,                          540000,
427 		  600000,        0,        0,        0,   540000,  0x267  },
428 
429 	  /* 11ac VHT20 rates                                                 */
430 	  /*      76 MCS-00 */ { VHT20_MODE_VALID_MASK,
431 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                           6500,
432 		  7200,        0,        0,        0,     6500,  0x300  },
433 	  /*      77 MCS-01 */ { VHT20_MODE_VALID_MASK,
434 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          13000,
435 		  14400,        0,        0,        0,    13000,  0x301  },
436 	  /*      78 MCS-02 */ { VHT20_MODE_VALID_MASK,
437 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          19500,
438 		  21700,        0,        0,        0,    19500,  0x302  },
439 	  /*      79 MCS-03 */ { VHT20_MODE_VALID_MASK,
440 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          26000,
441 		  28900,        0,        0,        0,    26000,  0x303  },
442 	  /*      80 MCS-04 */ { VHT20_MODE_VALID_MASK,
443 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          39000,
444 		  43300,        0,        0,        0,    39000,  0x304  },
445 	  /*      81 MCS-05 */ { VHT20_MODE_VALID_MASK,
446 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          52000,
447 		  57800,        0,        0,        0,    52000,  0x305  },
448 	  /*      82 MCS-06 */ { VHT20_MODE_VALID_MASK,
449 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          58500,
450 		  65000,        0,        0,        0,    58500,  0x306  },
451 	  /*      83 MCS-07 */ { VHT20_MODE_VALID_MASK,
452 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          65000,
453 		  72200,        0,        0,        0,    65000,  0x307  },
454 	  /*      84 MCS-08 */ { VHT20_MODE_VALID_MASK,
455 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          78000,
456 		  86700,        0,        0,        0,    78000,  0x308  },
457 	  /*      85 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
458 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          86500,
459 		  96000,        0,        0,        0,    86500,  0x309 },
460 	  /* When we support very hight throughput MCS */
461 	  /* 86 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
462 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
463 		  97500,   108300,	    0,        0,	 0,
464 		  97500,  0x30a},
465 	  /*	     87 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
466 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
467 		  108300,  120400,	    0,        0,	 0,
468 		  108300,  0x30b},
469 
470 	  /* When number of spatial streams > 1 */
471 	  /*      88 MCS-00 */ { VHT20_MODE_VALID_MASK,
472 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          13000,
473 		  14400,        0,        0,        0,    13000,  0x320 },
474 	  /*      89 MCS-01 */ { VHT20_MODE_VALID_MASK,
475 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          26000,
476 		  28900,        0,        0,        0,    26000,  0x321 },
477 	  /*      90 MCS-02 */ { VHT20_MODE_VALID_MASK,
478 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          39000,
479 		  43300,        0,        0,        0,    39000,  0x322 },
480 	  /*      91 MCS-03 */ { VHT20_MODE_VALID_MASK,
481 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          52000,
482 		  57800,        0,        0,        0,    52000,  0x323 },
483 	  /*      92 MCS-04 */ { VHT20_MODE_VALID_MASK,
484 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          78000,
485 		  86700,        0,        0,        0,    78000,  0x324 },
486 	  /*      93 MCS-05 */ { VHT20_MODE_VALID_MASK,
487 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         104000,
488 		  115600,        0,        0,        0,   104000,  0x325 },
489 	  /*      94 MCS-06 */ { VHT20_MODE_VALID_MASK,
490 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         117000,
491 		  130000,        0,        0,        0,   117000,  0x326 },
492 	  /*      95 MCS-07 */ { VHT20_MODE_VALID_MASK,
493 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         130000,
494 		  144400,        0,        0,        0,   130000,  0x327 },
495 	  /*      96 MCS-08 */ { VHT20_MODE_VALID_MASK,
496 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         156000,
497 		  173300,        0,        0,        0,   156000,  0x328 },
498 	  /*      97 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
499 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         173000,
500 		  192000,        0,        0,        0,   173000,  0x329 },
501 	  /*	 98 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
502 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
503 		  195000,	 216700,	    0,		 0,	   0,
504 		  195000,  0x32a },
505 	  /*	 99 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
506 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
507 		  216700,	 240700,	    0,		 0,	   0,
508 		  216700,  0x32b    },
509 
510 	  /* when number of spatial streams > 2 */
511 	  /*     100 MCS-00 */ { VHT20_MODE_VALID_MASK,
512 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          19500,
513 		  21700,        0,        0,        0,    19500,  0x340 },
514 	  /*     101 MCS-01 */ { VHT20_MODE_VALID_MASK,
515 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          39000,
516 		  43300,        0,        0,        0,    39000,  0x341 },
517 	  /*     102 MCS-02 */ { VHT20_MODE_VALID_MASK,
518 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          58500,
519 		  65000,        0,        0,        0,    58500,  0x342 },
520 	  /*     103 MCS-03 */ { VHT20_MODE_VALID_MASK,
521 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          78000,
522 		  86700,        0,        0,        0,    78000,  0x343 },
523 	  /*     104 MCS-04 */ { VHT20_MODE_VALID_MASK,
524 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         117000,
525 		  130000,        0,        0,        0,   117000,  0x344 },
526 	  /*     105 MCS-05 */ { VHT20_MODE_VALID_MASK,
527 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         156000,
528 		  173300,        0,        0,        0,   156000,  0x345 },
529 	  /*     106 MCS-06 */ { VHT20_MODE_VALID_MASK,
530 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         175500,
531 		  195000,        0,        0,        0,   175500,  0x346 },
532 	  /*     107 MCS-07 */ { VHT20_MODE_VALID_MASK,
533 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         195000,
534 		  216700,        0,        0,        0,   195000,  0x347 },
535 	  /*     108 MCS-08 */ { VHT20_MODE_VALID_MASK,
536 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         234000,
537 		  260000,        0,        0,        0,   234000,  0x348 },
538 	  /*     109 MCS-09 */ { VHT20_MODE_VALID_MASK,
539 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         260000,
540 		  288900,        0,        0,        0,   260000,  0x349 },
541 	  /*	    110 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
542 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
543 		  292500,	 325000,	    0,		  0,	    0,
544 		  292500,  0x34a},
545 	  /*	    111 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
546 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
547 		  325000,	 361100,	    0,		  0,	    0,
548 		  325000,  0x34b},
549 
550 	  /* when number of spatial streams > 3 */
551 	  /*     112 MCS-00 */ { VHT20_MODE_VALID_MASK,
552 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          26000,
553 		  28900,        0,        0,        0,    26000,  0x360 },
554 	  /*     113 MCS-01 */ { VHT20_MODE_VALID_MASK,
555 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          52000,
556 		  57800,        0,        0,        0,    52000,  0x361 },
557 	  /*     114 MCS-02 */ { VHT20_MODE_VALID_MASK,
558 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          78000,
559 		  86700,        0,        0,        0,    78000,  0x362 },
560 	  /*     115 MCS-03 */ { VHT20_MODE_VALID_MASK,
561 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         104000,
562 		  115600,        0,        0,        0,   104000,  0x363 },
563 	  /*     116 MCS-04 */ { VHT20_MODE_VALID_MASK,
564 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         156000,
565 		  173300,        0,        0,        0,   156000,  0x364 },
566 	  /*     117 MCS-05 */ { VHT20_MODE_VALID_MASK,
567 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         208000,
568 		  231100,        0,        0,        0,   208000,  0x365 },
569 	  /*     118 MCS-06 */ { VHT20_MODE_VALID_MASK,
570 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         234000,
571 		  260000,        0,        0,        0,   234000,  0x366 },
572 	  /*     119 MCS-07 */ { VHT20_MODE_VALID_MASK,
573 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         260000,
574 		  288900,        0,        0,        0,   260000,  0x367 },
575 	  /*     120 MCS-08 */ { VHT20_MODE_VALID_MASK,
576 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         312000,
577 		  346700,        0,        0,        0,   312000,  0x368 },
578 	  /*     121 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
579 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         344000,
580 		  378400,        0,        0,        0,   344000,  0x369 },
581 	  /*    122 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
582 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
583 		  390000,   433300,        0,     0, 0,    390000,
584 		  0x36a},
585 	  /*     123 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
586 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                       433300,
587 		  481500,        0,	      0,	0,    433300,  0x36b},
588 
589 	  /* when number of spatial streams > 4 */
590 	  /*     124 MCS-00 */ { VHT20_LDPC_ONLY_MASKS,
591 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          32500,
592 		  36100,        0,        0,        0,    32500,  0x380 },
593 	  /*     125 MCS-01 */ { VHT20_LDPC_ONLY_MASKS,
594 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          65000,
595 		  72200,        0,        0,        0,    65000,  0x381 },
596 	  /*     126 MCS-02 */ { VHT20_LDPC_ONLY_MASKS,
597 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          97500,
598 		  108300,        0,        0,        0,    97500,  0x382 },
599 	  /*     127 MCS-03 */ { VHT20_LDPC_ONLY_MASKS,
600 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         130000,
601 		  144400,        0,        0,        0,   130000,  0x383 },
602 	  /*     128 MCS-04 */ { VHT20_LDPC_ONLY_MASKS,
603 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         195000,
604 		  216700,        0,        0,        0,   195000,  0x384 },
605 	  /*     129 MCS-05 */ { VHT20_LDPC_ONLY_MASKS,
606 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         260000,
607 		  288900,        0,        0,        0,   260000,  0x385 },
608 	  /*     130 MCS-06 */ { VHT20_LDPC_ONLY_MASKS,
609 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         292500,
610 		  325000,        0,        0,        0,   292500,  0x386 },
611 	  /*     131 MCS-07 */ { VHT20_LDPC_ONLY_MASKS,
612 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         325000,
613 		  361100,        0,        0,        0,   325000,  0x387 },
614 	  /*     132 MCS-08 */ { VHT20_LDPC_ONLY_MASKS,
615 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         390000,
616 		  433300,        0,        0,        0,   390000,  0x388 },
617 	  /*     133 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
618 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         433300,
619 		  481500,        0,        0,        0,   433300,  0x389 },
620 	  /*     134 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
621 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         487500,
622 		  541700,        0,        0,        0,   487500,  0x38a },
623 	  /*     135 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
624 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         541700,
625 		  601900,        0,        0,        0,   541700,  0x38b },
626 
627 	  /* When number of spatial streams > 5 */
628 	  /*     136 MCS-00 */ { VHT20_LDPC_ONLY_MASKS,
629 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          39000,
630 		  43300,        0,        0,        0,    39000,  0x3a0 },
631 	  /*     137 MCS-01 */ { VHT20_LDPC_ONLY_MASKS,
632 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          78000,
633 		  86700,        0,        0,        0,    78000,  0x3a1 },
634 	  /*     138 MCS-02 */ { VHT20_LDPC_ONLY_MASKS,
635 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         117000,
636 		  130000,        0,        0,        0,   117000,  0x3a2 },
637 	  /*     139 MCS-03 */ { VHT20_LDPC_ONLY_MASKS,
638 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         156000,
639 		  173300,        0,        0,        0,   156000,  0x3a3 },
640 	  /*     140 MCS-04 */ { VHT20_LDPC_ONLY_MASKS,
641 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         234000,
642 		  260000,        0,        0,        0,   234000,  0x3a4 },
643 	  /*     141 MCS-05 */ { VHT20_LDPC_ONLY_MASKS,
644 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         312000,
645 		  346700,        0,        0,        0,   312000,  0x3a5 },
646 	  /*     142 MCS-06 */ { VHT20_LDPC_ONLY_MASKS,
647 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         351000,
648 		  390000,        0,        0,        0,   351000,  0x3a6 },
649 	  /*     143 MCS-07 */ { VHT20_LDPC_ONLY_MASKS,
650 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         390000,
651 		  433300,        0,        0,        0,   390000,  0x3a7 },
652 	  /*     144 MCS-08 */ { VHT20_LDPC_ONLY_MASKS,
653 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         468000,
654 		  520000,        0,        0,        0,   468000,  0x3a8 },
655 	  /*     145 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
656 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         520000,
657 		  577800,        0,        0,        0,   520000,  0x3a9 },
658 	  /*    146 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
659 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
660 		  585000, 650000,   0, 0,   0,
661 		  585000,  0x3aa },
662 	  /*     147 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
663 		  DP_CMN_MOD_IEEE80211_T_VHT_20,
664 		  650000, 722200,	       0,		 0,
665 		  0, 650000,  0x3ab },
666 
667 	  /* when number of spatial streams > 6 */
668 	  /*     148 MCS-00 */ { VHT20_LDPC_ONLY_MASKS,
669 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          45500,
670 		  50600,        0,        0,        0,    45500,  0x3c0 },
671 	  /*     149 MCS-01 */ { VHT20_LDPC_ONLY_MASKS,
672 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          91000,
673 		  101100,        0,        0,       0,    91000,  0x3c1 },
674 	  /*     150 MCS-02 */ { VHT20_LDPC_ONLY_MASKS,
675 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         136500,
676 		  151700,        0,        0,        0,   136500,  0x3c2 },
677 	  /*     151 MCS-03 */ { VHT20_LDPC_ONLY_MASKS,
678 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         182000,
679 		  202200,        0,        0,        0,   182000,  0x3c3 },
680 	  /*     152 MCS-04 */ { VHT20_LDPC_ONLY_MASKS,
681 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         273000,
682 		  303300,        0,        0,        0,   273000,  0x3c4 },
683 	  /*     153 MCS-05 */ { VHT20_LDPC_ONLY_MASKS,
684 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         364000,
685 		  404400,        0,        0,        0,   364000,  0x3c5 },
686 	  /*     154 MCS-06 */ { VHT20_LDPC_ONLY_MASKS,
687 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         409500,
688 		  455000,        0,        0,        0,   409500,  0x3c6 },
689 	  /*     155 MCS-07 */ { VHT20_LDPC_ONLY_MASKS,
690 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         455000,
691 		  505600,        0,        0,        0,   455000,  0x3c7 },
692 	  /*     156 MCS-08 */ { VHT20_LDPC_ONLY_MASKS,
693 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         546000,
694 		  606700,        0,        0,        0,   546000,  0x3c8 },
695 	  /*     157 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
696 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         606700,
697 		  674100,        0,        0,        0,   606700,  0x3c9 },
698 	  /*     158 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
699 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         682500,
700 		  758300,        0,        0,        0,   682500,  0x3ca },
701 	  /*     159 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
702 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         758300,
703 		  842600,        0,        0,        0,   758300,  0x3cb },
704 
705 	  /* when number of spatial streams > 7 */
706 	  /*     160 MCS-00 */ { VHT20_LDPC_ONLY_MASKS,
707 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                          52000,
708 		  57800,        0,        0,        0,    52000,  0x3e0 },
709 	  /*     161 MCS-01 */ { VHT20_LDPC_ONLY_MASKS,
710 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         104000,
711 		  115600,        0,        0,        0,   104000,  0x3e1 },
712 	  /*     162 MCS-02 */ { VHT20_LDPC_ONLY_MASKS,
713 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         156000,
714 		  173300,        0,        0,        0,   156000,  0x3e2 },
715 	  /*     163 MCS-03 */ { VHT20_LDPC_ONLY_MASKS,
716 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         208000,
717 		  231100,        0,        0,        0,   208000,  0x3e3 },
718 	  /*     164 MCS-04 */ { VHT20_LDPC_ONLY_MASKS,
719 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         312000,
720 		  346700,        0,        0,        0,   312000,  0x3e4 },
721 	  /*     165 MCS-05 */ { VHT20_LDPC_ONLY_MASKS,
722 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         416000,
723 		  462200,        0,        0,        0,   416000,  0x3e5 },
724 	  /*     166 MCS-06 */ { VHT20_LDPC_ONLY_MASKS,
725 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         468000,
726 		  520000,        0,        0,        0,   468000,  0x3e6 },
727 	  /*     167 MCS-07 */ { VHT20_LDPC_ONLY_MASKS,
728 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         520000,
729 		  577800,        0,        0,        0,   520000,  0x3e7 },
730 	  /*     168 MCS-08 */ { VHT20_LDPC_ONLY_MASKS,
731 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         624000,
732 		  693300,        0,        0,        0,   624000,  0x3e8 },
733 	  /*     169 MCS-09 */ { VHT20_LDPC_ONLY_MASKS,
734 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         693300,
735 		  770400,        0,        0,        0,   693300,  0x3e9 },
736 	  /*     170 MCS-10 */ { VHT20_LDPC_ONLY_MASKS,
737 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         780000,
738 		  866700,        0,        0,        0,   780000,  0x3ea },
739 	  /*     171 MCS-11 */ { VHT20_LDPC_ONLY_MASKS,
740 		  DP_CMN_MOD_IEEE80211_T_VHT_20,                         866700,
741 		  963000,        0,        0,        0,   866700,  0x3eb },
742 
743 	  /* 11ac VHT40 rates                                                 */
744 	  /*     172 MCS-00 */ { VHT40_MODE_VALID_MASK,
745 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          13500,
746 		  15000,        0,        0,        0,    13500,  0x300 },
747 	  /*     173 MCS-01 */ { VHT40_MODE_VALID_MASK,
748 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          27000,
749 		  30000,        0,        0,        0,    27000,  0x301 },
750 	  /*     174 MCS-02 */ { VHT40_MODE_VALID_MASK,
751 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          40500,
752 		  45000,        0,        0,        0,    40500,  0x302 },
753 	  /*     175 MCS-03 */ { VHT40_MODE_VALID_MASK,
754 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          54000,
755 		  60000,        0,        0,        0,    54000,  0x303 },
756 	  /*     176 MCS-04 */ { VHT40_MODE_VALID_MASK,
757 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          81000,
758 		  90000,        0,        0,        0,    81000,  0x304 },
759 	  /*     177 MCS-05 */ { VHT40_MODE_VALID_MASK,
760 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         108000,
761 		  120000,        0,        0,        0,   108000,  0x305 },
762 	  /*     178 MCS-06 */ { VHT40_MODE_VALID_MASK,
763 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         121500,
764 		  135000,        0,        0,        0,   121500,  0x306 },
765 	  /*     179 MCS-07 */ { VHT40_MODE_VALID_MASK,
766 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         135000,
767 		  150000,        0,        0,        0,   135000,  0x307 },
768 	  /*     180 MCS-08 */ { VHT40_MODE_VALID_MASK,
769 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         162000,
770 		  180000,        0,        0,        0,   162000,  0x308 },
771 	  /*     181 MCS-09 */ { VHT40_MODE_VALID_MASK,
772 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         180000,
773 		  200000,        0,        0,        0,   180000,  0x309 },
774 	  /*     182 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
775 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         202500,
776 		  225000,        0,        0,        0,   202500,  0x30a },
777 	  /*     183 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
778 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         225000,
779 		  250000,        0,        0,        0,   225000,  0x30b },
780 
781 	  /*  when number of spatial streams > 1 */
782 	  /*     184 MCS-00 */ { VHT40_MODE_VALID_MASK,
783 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          27000,
784 		  30000,        0,        0,        0,    27000,  0x320 },
785 	  /*     185 MCS-01 */ { VHT40_MODE_VALID_MASK,
786 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          54000,
787 		  60000,        0,        0,        0,    54000,  0x321 },
788 	  /*     186 MCS-02 */ { VHT40_MODE_VALID_MASK,
789 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          81000,
790 		  90000,        0,        0,        0,    81000,  0x322 },
791 	  /*     187 MCS-03 */ { VHT40_MODE_VALID_MASK,
792 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         108000,
793 		  120000,        0,        0,        0,   108000,  0x323 },
794 	  /*     188 MCS-04 */ { VHT40_MODE_VALID_MASK,
795 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         162000,
796 		  180000,        0,        0,        0,   162000,  0x324 },
797 	  /*     189 MCS-05 */ { VHT40_MODE_VALID_MASK,
798 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         216000,
799 		  240000,        0,        0,        0,   216000,  0x325 },
800 	  /*     190 MCS-06 */ { VHT40_MODE_VALID_MASK,
801 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         243000,
802 		  270000,        0,        0,        0,   243000,  0x326 },
803 	  /*     191 MCS-07 */ { VHT40_MODE_VALID_MASK,
804 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         270000,
805 		  300000,        0,        0,        0,   270000,  0x327 },
806 	  /*     192 MCS-08 */ { VHT40_MODE_VALID_MASK,
807 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         324000,
808 		  360000,        0,        0,        0,   324000,  0x328 },
809 	  /*     193 MCS-09 */ { VHT40_MODE_VALID_MASK,
810 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         360000,
811 		  400000,        0,        0,        0,   360000,  0x329 },
812 	  /*     194 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
813 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         405000,
814 		  450000,        0,        0,        0,   405000,  0x32a },
815 	  /*     195 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
816 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         450000,
817 		  500000,        0,        0,        0,   450000,  0x32b },
818 
819 	  /* When number of spatial streams > 2 use below rate*/
820 	  /*     196 MCS-00 */ { VHT40_MODE_VALID_MASK,
821 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          40500,
822 		  45000,        0,        0,        0,    40500,  0x340 },
823 	  /*     197 MCS-01 */ { VHT40_MODE_VALID_MASK,
824 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          81000,
825 		  90000,        0,        0,        0,    81000,  0x341 },
826 	  /*     198 MCS-02 */ { VHT40_MODE_VALID_MASK,
827 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         121500,
828 		  135000,        0,        0,        0,   121500,  0x342 },
829 	  /*     199 MCS-03 */ { VHT40_MODE_VALID_MASK,
830 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         162000,
831 		  180000,        0,        0,        0,   162000,  0x343 },
832 	  /*     200 MCS-04 */ { VHT40_MODE_VALID_MASK,
833 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         243000,
834 		  270000,        0,        0,        0,   243000,  0x344 },
835 	  /*     201 MCS-05 */ { VHT40_MODE_VALID_MASK,
836 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         324000,
837 		  360000,        0,        0,        0,   324000,  0x345 },
838 	  /*     202 MCS-06 */ { VHT40_MODE_VALID_MASK,
839 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         364500,
840 		  405000,        0,        0,        0,   364500,  0x346 },
841 	  /*     203 MCS-07 */ { VHT40_MODE_VALID_MASK,
842 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         405000,
843 		  450000,        0,        0,        0,   405000,  0x347 },
844 	  /*     204 MCS-08 */ { VHT40_MODE_VALID_MASK,
845 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         486000,
846 		  540000,        0,        0,        0,   486000,  0x348 },
847 	  /*     205 MCS-09 */ { VHT40_MODE_VALID_MASK,
848 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         540000,
849 		  600000,        0,        0,        0,   540000,  0x349 },
850 	  /*     206 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
851 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         607500,
852 		  675000,        0,        0,        0,   607500,  0x34a},
853 	  /*     207 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
854 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         675000,
855 		  750000,        0,        0,        0,   675000,  0x34b},
856 
857 	  /* When number of spatial streams > 3 use below rates */
858 	  /*     208 MCS-00 */ { VHT40_MODE_VALID_MASK,
859 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          54000,
860 		  60000,        0,        0,        0,    54000,  0x360},
861 	  /*     209 MCS-01 */ { VHT40_MODE_VALID_MASK,
862 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         108000,
863 		  120000,        0,        0,        0,   108000,  0x361},
864 	  /*     210 MCS-02 */ { VHT40_MODE_VALID_MASK,
865 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         162000,
866 		  180000,        0,        0,        0,   162000,  0x362},
867 	  /*     211 MCS-03 */ { VHT40_MODE_VALID_MASK,
868 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         216000,
869 		  240000,        0,        0,        0,   216000,  0x363},
870 	  /*     212 MCS-04 */ { VHT40_MODE_VALID_MASK,
871 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         324000,
872 		  260000,        0,        0,        0,   324000,  0x364},
873 	  /*     213 MCS-05 */ { VHT40_MODE_VALID_MASK,
874 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         432000,
875 		  480000,        0,        0,        0,   432000,  0x365},
876 	  /*     214 MCS-06 */ { VHT40_MODE_VALID_MASK,
877 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         486000,
878 		  540000,        0,        0,        0,   486000,  0x366},
879 	  /*     215 MCS-07 */ { VHT40_MODE_VALID_MASK,
880 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         540000,
881 		  600000,        0,        0,        0,   540000,  0x367},
882 	  /*     216 MCS-08 */ { VHT40_MODE_VALID_MASK,
883 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         648000,
884 		  720000,        0,        0,        0,   648000,  0x368},
885 	  /*     217 MCS-09 */ { VHT40_MODE_VALID_MASK,
886 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         720000,
887 		  800000,        0,        0,        0,   720000,  0x369},
888 	  /*     218 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
889 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         810000,
890 		  900000,        0,        0,        0,   810000,  0x36a },
891 	  /*     219 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
892 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         900000,
893 		  1000000,        0,        0,        0,   900000,  0x36b },
894 
895 	  /* when number of spatial streams > 4 use below rates */
896 	  /*     220 MCS-00 */ { VHT40_LDPC_ONLY_MASKS,
897 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                          67500,
898 		  75000,        0,        0,        0,    67500,  0x380 },
899 	  /*     221 MCS-01 */ { VHT40_LDPC_ONLY_MASKS,
900 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         135000,
901 		  150000,        0,        0,        0,   135000,  0x381 },
902 	  /*     222 MCS-02 */ { VHT40_LDPC_ONLY_MASKS,
903 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         202500,
904 		  225000,        0,        0,        0,   202500,  0x382 },
905 	  /*     223 MCS-03 */ { VHT40_LDPC_ONLY_MASKS,
906 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         270000,
907 		  300000,        0,        0,        0,   270000,  0x383 },
908 	  /*     224 MCS-04 */ { VHT40_LDPC_ONLY_MASKS,
909 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         405000,
910 		  450000,        0,        0,        0,   405000,  0x384 },
911 	  /*     225 MCS-05 */ { VHT40_LDPC_ONLY_MASKS,
912 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         540000,
913 		  600000,        0,        0,        0,   540000,  0x385 },
914 	  /*     226 MCS-06 */ { VHT40_LDPC_ONLY_MASKS,
915 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         607500,
916 		  675000,        0,        0,        0,   607500,  0x386 },
917 	  /*     227 MCS-07 */ { VHT40_LDPC_ONLY_MASKS,
918 		  DP_CMN_MOD_IEEE80211_T_VHT_40,                         675000,
919 		  750000,        0,        0,        0,   675000,  0x387 },
920 	  /*     228 MCS-08 */ { VHT40_LDPC_ONLY_MASKS,
921 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
922 		  810000, 900000,        0,        0,        0,   810000,
923 		  0x388 },
924 	  /*     229 MCS-09 */ { VHT40_LDPC_ONLY_MASKS,
925 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
926 		  900000, 1000000,        0,        0,        0,   900000,
927 		  0x389 },
928 	  /*     230 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
929 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
930 		  1012500, 1125000,        0,        0,        0,   1012500,
931 		  0x38a },
932 	  /*     231 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
933 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
934 		  1125000, 1250000,        0,        0,        0,   1125000,
935 		  0x38b },
936 
937 	  /* when number of spatial streams > 5 use below rates*/
938 	  /*     232 MCS-00 */ { VHT40_LDPC_ONLY_MASKS,
939 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
940 		  81000, 90000,        0,        0,        0,    81000,  0x3a0
941 	  },
942 	  /*     233 MCS-01 */ { VHT40_LDPC_ONLY_MASKS,
943 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
944 		  162000, 180000,        0,        0,        0,   162000,
945 		  0x3a1 },
946 	  /*     234 MCS-02 */ { VHT40_LDPC_ONLY_MASKS,
947 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
948 		  243000, 270000,        0,        0,        0,   243000,
949 		  0x3a2 },
950 	  /*     235 MCS-03 */ { VHT40_LDPC_ONLY_MASKS,
951 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
952 		  324000, 360000,        0,        0,        0,   324000,
953 		  0x3a3 },
954 	  /*     236 MCS-04 */ { VHT40_LDPC_ONLY_MASKS,
955 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
956 		  486000, 540000,        0,        0,        0,   486000,
957 		  0x3a4 },
958 	  /*     237 MCS-05 */ { VHT40_LDPC_ONLY_MASKS,
959 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
960 		  648000, 720000,        0,        0,        0,   648000,
961 		  0x3a5 },
962 	  /*     238 MCS-06 */ { VHT40_LDPC_ONLY_MASKS,
963 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
964 		  729000, 815000,        0,        0,        0,   729000,
965 		  0x3a6 },
966 	  /*     239 MCS-07 */ { VHT40_LDPC_ONLY_MASKS,
967 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
968 		  810000, 900000,        0,        0,        0,   810000,
969 		  0x3a7 },
970 	  /*     240 MCS-08 */ { VHT40_LDPC_ONLY_MASKS,
971 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
972 		  972000, 1080000,        0,        0,        0,   972000,
973 		  0x3a8 },
974 	  /*     241 MCS-09 */ { VHT40_LDPC_ONLY_MASKS,
975 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
976 		  1080000, 1200000,        0,        0,        0,  1080000,
977 		  0x3a9 },
978 	  /*     242 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
979 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
980 		  1215000, 1350000,        0,        0,        0,  1215000,
981 		  0x3aa },
982 	  /*     243 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
983 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
984 		  1350000, 1500000,        0,        0,        0,  1350000,
985 		  0x3ab },
986 
987 	  /* when number of spatial streams > 6 use below rates */
988 	  /*     244 MCS-00 */ { VHT40_LDPC_ONLY_MASKS,
989 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
990 		  94500, 105000,        0,        0,        0,    94500,  0x3c0
991 	  },
992 	  /*     245 MCS-01 */ { VHT40_LDPC_ONLY_MASKS,
993 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
994 		  189000, 210000,        0,        0,        0,   189000,
995 		  0x3c1 },
996 	  /*     246 MCS-02 */ { VHT40_LDPC_ONLY_MASKS,
997 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
998 		  283500, 315000,        0,        0,        0,   283500,
999 		  0x3c2 },
1000 	  /*     247 MCS-03 */ { VHT40_LDPC_ONLY_MASKS,
1001 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1002 		  378000, 420000,        0,        0,        0,   378000,
1003 		  0x3c3 },
1004 	  /*     248 MCS-04 */ { VHT40_LDPC_ONLY_MASKS,
1005 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1006 		  567000, 630000,        0,        0,        0,   567000,
1007 		  0x3c4 },
1008 	  /*     249 MCS-05 */ { VHT40_LDPC_ONLY_MASKS,
1009 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1010 		  756000, 840000,        0,        0,        0,   756000,
1011 		  0x3c5 },
1012 	  /*     250 MCS-06 */ { VHT40_LDPC_ONLY_MASKS,
1013 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1014 		  850500, 945000,        0,        0,        0,   850500,
1015 		  0x3c6 },
1016 	  /*     251 MCS-07 */ { VHT40_LDPC_ONLY_MASKS,
1017 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1018 		  945000, 1050000,        0,        0,        0,   945000,
1019 		  0x3c7 },
1020 	  /*     252 MCS-08 */ { VHT40_LDPC_ONLY_MASKS,
1021 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1022 		  1134000, 1260000,        0,        0,        0,  1134000,
1023 		  0x3c8 },
1024 	  /*     253 MCS-09 */ { VHT40_LDPC_ONLY_MASKS,
1025 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1026 		  1260000, 1400000,        0,        0,        0,  1260000,
1027 		  0x3c9 },
1028 	  /*     254 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
1029 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1030 		  1417500, 1575000,        0,        0,        0,  1417500,
1031 		  0x3ca },
1032 	  /*     255 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
1033 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1034 		  1575000, 1750000,        0,        0,        0,  1575000,
1035 		  0x3cb },
1036 
1037 	  /* when number of spatial streams > 7 use below rates */
1038 	  /*     256 MCS-00 */ { VHT40_LDPC_ONLY_MASKS,
1039 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1040 		  108000, 120000,        0,        0,        0,   108000,
1041 		  0x3e0 },
1042 	  /*     257 MCS-01 */ { VHT40_LDPC_ONLY_MASKS,
1043 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1044 		  216000, 240000,        0,        0,        0,   216000,
1045 		  0x3e1 },
1046 	  /*     258 MCS-02 */ { VHT40_LDPC_ONLY_MASKS,
1047 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1048 		  324000, 360000,        0,        0,        0,   324000,
1049 		  0x3e2 },
1050 	  /*     259 MCS-03 */ { VHT40_LDPC_ONLY_MASKS,
1051 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1052 		  432000, 480000,        0,        0,        0,   432000,
1053 		  0x3e3 },
1054 	  /*     260 MCS-04 */ { VHT40_LDPC_ONLY_MASKS,
1055 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1056 		  648000, 720000,        0,        0,        0,   648000,
1057 		  0x3e4 },
1058 	  /*     261 MCS-05 */ { VHT40_LDPC_ONLY_MASKS,
1059 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1060 		  864000, 960000,        0,        0,        0,   864000,
1061 		  0x3e5 },
1062 	  /*     262 MCS-06 */ { VHT40_LDPC_ONLY_MASKS,
1063 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1064 		  972000, 1080000,        0,        0,        0,   972000,
1065 		  0x3e6 },
1066 	  /*     263 MCS-07 */ { VHT40_LDPC_ONLY_MASKS,
1067 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1068 		  1080000, 1200000,        0,        0,        0,  1080000,
1069 		  0x3e7 },
1070 	  /*     264 MCS-08 */ { VHT40_LDPC_ONLY_MASKS,
1071 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1072 		  1296000, 1440000,        0,        0,        0,  1296000,
1073 		  0x3e8 },
1074 	  /*     265 MCS-09 */ { VHT40_LDPC_ONLY_MASKS,
1075 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1076 		  1440000, 1600000,        0,        0,        0,  1440000,
1077 		  0x3e9 },
1078 	  /*     266 MCS-10 */ { VHT40_LDPC_ONLY_MASKS,
1079 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1080 		  1620000, 1800000,        0,        0,        0,  1620000,
1081 		  0x3ea },
1082 	  /*     267 MCS-11 */ { VHT40_LDPC_ONLY_MASKS,
1083 		  DP_CMN_MOD_IEEE80211_T_VHT_40,
1084 		  1800000, 2000000,        0,        0,        0,  1800000,
1085 		  0x3eb },
1086 
1087 	  /* 11ac VHT80 rates
1088 	   */
1089 	  /*     268 MCS-00 */ { VHT80_MODE_VALID_MASK,
1090 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1091 		  29300, 32500,        0,        0,        0,    29300,
1092 		  0x300},
1093 	  /*     269 MCS-01 */ { VHT80_MODE_VALID_MASK,
1094 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1095 		  58500, 65000,        0,        0,        0,    58500,
1096 		  0x301},
1097 	  /*     270 MCS-02 */ { VHT80_MODE_VALID_MASK,
1098 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1099 		  87800, 97500,        0,        0,        0,    87800,
1100 		  0x302},
1101 	  /*     271 MCS-03 */ { VHT80_MODE_VALID_MASK,
1102 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1103 		  117000, 130000,        0,        0,        0,   117000,
1104 		  0x303},
1105 	  /*     272 MCS-04 */ { VHT80_MODE_VALID_MASK,
1106 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1107 		  175500, 195000,        0,        0,        0,   175500,
1108 		  0x304},
1109 	  /*     273 MCS-05 */ { VHT80_MODE_VALID_MASK,
1110 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1111 		  234000, 260000,        0,        0,        0,   234000,
1112 		  0x305},
1113 	  /*     274 MCS-06 */ { VHT80_MODE_VALID_MASK,
1114 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1115 		  263300, 292500,        0,        0,        0,   263300,
1116 		  0x306},
1117 	  /*     275 MCS-07 */ { VHT80_MODE_VALID_MASK,
1118 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1119 		  292500, 325000,        0,        0,        0,   292500,
1120 		  0x307},
1121 	  /*     276 MCS-08 */ { VHT80_MODE_VALID_MASK,
1122 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1123 		  351000, 390000,        0,        0,        0,   351000,
1124 		  0x308},
1125 	  /*     277 MCS-09 */ { VHT80_MODE_VALID_MASK,
1126 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1127 		  390000, 433300,        0,        0,        0,   390000,
1128 		  0x309},
1129 	  /*     278 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
1130 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1131 		  438800, 487500,        0,        0,        0,   438800,
1132 		  0x30a},
1133 	  /*     279 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
1134 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1135 		  487500, 541700,        0,        0,        0,   487500,
1136 		  0x30b},
1137 
1138 	  /* When number of spatial streams > 1 use below rates*/
1139 	  /*     280 MCS-00 */ { VHT80_MODE_VALID_MASK,
1140 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1141 		  58500, 65000,        0,        0,        0,    58500,
1142 		  0x320},
1143 	  /*     281 MCS-01 */ { VHT80_MODE_VALID_MASK,
1144 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1145 		  117000, 130000,        0,        0,        0,   117000,
1146 		  0x321},
1147 	  /*     282 MCS-02 */ { VHT80_MODE_VALID_MASK,
1148 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1149 		  175500, 195000,        0,        0,        0,   175500,
1150 		  0x322},
1151 	  /*     283 MCS-03 */ { VHT80_MODE_VALID_MASK,
1152 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1153 		  234000, 260000,        0,        0,        0,   234000,
1154 		  0x323},
1155 	  /*     284 MCS-04 */ { VHT80_MODE_VALID_MASK,
1156 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1157 		  351000, 390000,        0,        0,        0,   351000,
1158 		  0x324},
1159 	  /*     285 MCS-05 */ { VHT80_MODE_VALID_MASK,
1160 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1161 		  468000, 520000,        0,        0,        0,   468000,
1162 		  0x325},
1163 	  /*     286 MCS-06 */ { VHT80_MODE_VALID_MASK,
1164 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1165 		  526500, 585000,        0,        0,        0,   526500,
1166 		  0x326},
1167 	  /*     287 MCS-07 */ { VHT80_MODE_VALID_MASK,
1168 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1169 		  585000, 650000,        0,        0,        0,   585000,
1170 		  0x327},
1171 	  /*     288 MCS-08 */ { VHT80_MODE_VALID_MASK,
1172 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1173 		  702000, 780000,        0,        0,        0,   702000,
1174 		  0x328},
1175 	  /*     289 MCS-09 */ { VHT80_MODE_VALID_MASK,
1176 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1177 		  780000, 866700,        0,        0,        0,   780000,
1178 		  0x329},
1179 	  /*     290 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
1180 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1181 		  877500, 975000,        0,        0,        0,   877500,
1182 		  0x32a},
1183 	  /*     291 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
1184 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1185 		  975000, 1083300,        0,        0,        0,   975000,
1186 		  0x32b},
1187 
1188 	  /* When number of spatial streams > 2 use below rates */
1189 	  /*     292 MCS-00 */ { VHT80_MODE_VALID_MASK,
1190 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1191 		  87800, 97500,        0,        0,        0,    87800,  0x340
1192 	  },
1193 	  /*     293 MCS-01 */ { VHT80_MODE_VALID_MASK,
1194 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1195 		  175500, 195000,        0,        0,        0,   175500,
1196 		  0x341 },
1197 	  /*     294 MCS-02 */ { VHT80_MODE_VALID_MASK,
1198 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1199 		  263300, 292500,        0,        0,        0,   263300,
1200 		  0x342 },
1201 	  /*     295 MCS-03 */ { VHT80_MODE_VALID_MASK,
1202 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1203 		  351000, 390000,        0,        0,        0,   351000,
1204 		  0x343 },
1205 	  /*     296 MCS-04 */ { VHT80_MODE_VALID_MASK,
1206 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1207 		  526500, 585000,        0,        0,        0,   526500,
1208 		  0x344 },
1209 	  /*     297 MCS-05 */ { VHT80_MODE_VALID_MASK,
1210 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1211 		  702000, 780000,        0,        0,        0,   702000,
1212 		  0x345 },
1213 	  /*     298 MCS-06 */ { VHT_INVALID_RATES_MASK,
1214 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1215 		  789800, 877500,        0,        0,        0,   789800,
1216 		  0x346 },
1217 	  /*     299 MCS-07 */ { VHT80_MODE_VALID_MASK,
1218 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1219 		  877500, 975000,        0,        0,        0,   877500,
1220 		  0x347 },
1221 	  /*     300 MCS-08 */ { VHT80_MODE_VALID_MASK,
1222 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1223 		  1053000, 1170000,        0,        0,        0,  1053000,
1224 		  0x348 },
1225 	  /*     301 MCS-09 */ { VHT80_MODE_VALID_MASK,
1226 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1227 		  1170000, 1300000,        0,        0,        0,  1170000,
1228 		  0x349 },
1229 	  /*     302 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
1230 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1231 		  1316300, 1462500,        0,        0,        0,  1316300,
1232 		  0x34a },
1233 	  /*     303 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
1234 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1235 		  1462500, 1625000,        0,        0,        0,  1462500,
1236 		  0x34b },
1237 	  /* When number of spatial streams > 3 use below rates */
1238 	  /*     304 MCS-00 */ { VHT80_MODE_VALID_MASK,
1239 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1240 		  117000, 130000,        0,        0,        0,   117000,
1241 		  0x360 },
1242 	  /*     305 MCS-01 */ { VHT80_MODE_VALID_MASK,
1243 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1244 		  234000, 260000,        0,        0,        0,   234000,
1245 		  0x361 },
1246 	  /*     306 MCS-02 */ { VHT80_MODE_VALID_MASK,
1247 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1248 		  351000, 390000,        0,        0,        0,   351000,
1249 		  0x362 },
1250 	  /*     307 MCS-03 */ { VHT80_MODE_VALID_MASK,
1251 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1252 		  468000, 520000,        0,        0,        0,   468000,
1253 		  0x363 },
1254 	  /*     308 MCS-04 */ { VHT80_MODE_VALID_MASK,
1255 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1256 		  702000, 780000,        0,        0,        0,   702000,
1257 		  0x364 },
1258 	  /*     309 MCS-05 */ { VHT80_MODE_VALID_MASK,
1259 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1260 		  936000, 1040000,        0,        0,        0,   936000,
1261 		  0x365 },
1262 	  /*     310 MCS-06 */ { VHT80_MODE_VALID_MASK,
1263 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1264 		  1053000, 1170000,        0,        0,        0,  1053000,
1265 		  0x366 },
1266 	  /*     311 MCS-07 */ { VHT80_MODE_VALID_MASK,
1267 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1268 		  1170000, 1300000,        0,        0,        0,  1170000,
1269 		  0x367 },
1270 	  /*     312 MCS-08 */ { VHT80_MODE_VALID_MASK,
1271 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1272 		  1404000, 1560000,        0,        0,        0,  1404000,
1273 		  0x368 },
1274 	  /*     313 MCS-09 */ { VHT80_MODE_VALID_MASK,
1275 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1276 		  1560000, 1733000,        0,        0,        0,  1560000,
1277 		  0x369 },
1278 	  /*     314 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
1279 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1280 		  1755000, 1950000,        0,        0,        0,  1755000,
1281 		  0x36a },
1282 	  /*     315 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
1283 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1284 		  1950000, 2166700,        0,        0,        0,  1950000,
1285 		  0x36b },
1286 	  /* When number of spatial streams > 4 use below rates */
1287 	  /*     316 MCS-00 */ { VHT80_LDPC_ONLY_MASKS,
1288 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1289 		  146300, 162500,        0,        0,        0,   146300,
1290 		  0x380 },
1291 	  /*     317 MCS-01 */ { VHT80_LDPC_ONLY_MASKS,
1292 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1293 		  292500, 325000,        0,        0,        0,   292500,
1294 		  0x381 },
1295 	  /*     318 MCS-02 */ { VHT80_LDPC_ONLY_MASKS,
1296 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1297 		  438800, 487500,        0,        0,        0,   438800,
1298 		  0x382 },
1299 	  /*     319 MCS-03 */ { VHT80_LDPC_ONLY_MASKS,
1300 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1301 		  585000, 650000,        0,        0,        0,   585000,
1302 		  0x383 },
1303 	  /*     320 MCS-04 */ { VHT80_LDPC_ONLY_MASKS,
1304 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1305 		  877500, 975000,        0,        0,        0,   877500,
1306 		  0x384 },
1307 	  /*     321 MCS-05 */ { VHT80_LDPC_ONLY_MASKS,
1308 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1309 		  1170000, 1300000,        0,        0,        0,  1170000,
1310 		  0x385 },
1311 	  /*     322 MCS-06 */ { VHT80_LDPC_ONLY_MASKS,
1312 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1313 		  1316300, 1462500,        0,        0,        0,  1316300,
1314 		  0x386 },
1315 	  /*     323 MCS-07 */ { VHT80_LDPC_ONLY_MASKS,
1316 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1317 		  1462500, 1625000,        0,        0,        0,  1462500,
1318 		  0x387 },
1319 	  /*     324 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
1320 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1321 		  1755000, 1950000,        0,        0,        0,  1755000,
1322 		  0x388 },
1323 	  /*     325 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
1324 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1325 		  1950000, 2166700,        0,        0,        0,  1950000,
1326 		  0x389 },
1327 	  /*     326 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
1328 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1329 		  2193800, 2437500,        0,        0,        0,  2193800,
1330 		  0x38a },
1331 	  /*     327 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
1332 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1333 		  2437500, 2708300,        0,        0,        0,  2437500,
1334 		  0x38b },
1335 	  /* When number of spatial streams > 5 use below rates */
1336 	  /*     328 MCS-00 */ { VHT80_LDPC_ONLY_MASKS,
1337 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1338 		  175500, 195000,        0,        0,        0,   175500,
1339 		  0x3a0 },
1340 	  /*     329 MCS-01 */ { VHT80_LDPC_ONLY_MASKS,
1341 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1342 		  351000, 390000,        0,        0,        0,   351000,
1343 		  0x3a1 },
1344 	  /*     330 MCS-02 */ { VHT80_LDPC_ONLY_MASKS,
1345 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1346 		  526500, 585500,        0,        0,        0,   526500,
1347 		  0x3a2 },
1348 	  /*     331 MCS-03 */ { VHT80_LDPC_ONLY_MASKS,
1349 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1350 		  702000, 780000,        0,        0,        0,   702000,
1351 		  0x3a3 },
1352 	  /*     332 MCS-04 */ { VHT80_LDPC_ONLY_MASKS,
1353 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1354 		  1053000, 1170000,        0,        0,        0,  1053000,
1355 		  0x3a4 },
1356 	  /*     333 MCS-05 */ { VHT80_LDPC_ONLY_MASKS,
1357 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1358 		  1404000, 1560000,        0,        0,        0,  1404000,
1359 		  0x3a5 },
1360 	  /*     334 MCS-06 */ { VHT80_LDPC_ONLY_MASKS,
1361 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1362 		  1579500, 1755000,        0,        0,        0,  1579500,
1363 		  0x3a6 },
1364 	  /*     335 MCS-07 */ { VHT80_LDPC_ONLY_MASKS,
1365 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1366 		  1755000, 1950000,        0,        0,        0,  1755000,
1367 		  0x3a7 },
1368 	  /*     336 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
1369 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1370 		  2106000, 2340000,        0,        0,        0,  2106000,
1371 		  0x3a8 },
1372 	  /*     337 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
1373 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1374 		  2340000, 2600000,        0,        0,        0,  2340000,
1375 		  0x3a9 },
1376 	  /*     338 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
1377 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1378 		  2632500, 2925000,        0,        0,        0,  2632500,
1379 		  0x3aa },
1380 	  /*     339 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
1381 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1382 		  2925000, 3250000,        0,        0,        0,  2925000,
1383 		  0x3ab },
1384 	  /* When number of spatial streams > 6 use below rates*/
1385 	  /*     340 MCS-00 */ { VHT80_LDPC_ONLY_MASKS,
1386 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1387 		  204800, 227500,        0,        0,        0,   204800,
1388 		  0x3c0 },
1389 	  /*     341 MCS-01 */ { VHT80_LDPC_ONLY_MASKS,
1390 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1391 		  409500, 455000,        0,        0,        0,   409500,
1392 		  0x3c1 },
1393 	  /*     342 MCS-02 */ { VHT80_LDPC_ONLY_MASKS,
1394 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1395 		  614300, 682500,        0,        0,        0,   614300,
1396 		  0x3c2 },
1397 	  /*     343 MCS-03 */ { VHT80_LDPC_ONLY_MASKS,
1398 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1399 		  819000, 910000,        0,        0,        0,   819000,
1400 		  0x3c3 },
1401 	  /*     344 MCS-04 */ { VHT80_LDPC_ONLY_MASKS,
1402 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1403 		  1288500, 1365000,        0,        0,        0,  1288500,
1404 		  0x3c4 },
1405 	  /*     345 MCS-05 */ { VHT80_LDPC_ONLY_MASKS,
1406 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1407 		  1638000, 1820000,        0,        0,        0,  1638000,
1408 		  0x3c5 },
1409 	  /*     346 MCS-06 */ { VHT80_LDPC_ONLY_MASKS,
1410 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1411 		  1842800, 2047500,        0,        0,        0,  1842800,
1412 		  0x3c6 },
1413 	  /*     347 MCS-07 */ { VHT80_LDPC_ONLY_MASKS,
1414 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1415 		  2047500, 2275000,        0,        0,        0,  2047500,
1416 		  0x3c7 },
1417 	  /*     348 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
1418 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1419 		  2457000, 2730000,        0,        0,        0,  2457000,
1420 		  0x3c8 },
1421 	  /*     349 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
1422 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1423 		  2730000, 3033300,        0,        0,        0,  2730000,
1424 		  0x3c9 },
1425 	  /*     350 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
1426 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1427 		  3071300, 3412500,        0,        0,        0,  3071300,
1428 		  0x3ca },
1429 	  /*     351 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
1430 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1431 		  3412500, 3791700,        0,        0,        0,  3412500,
1432 		  0x3cb },
1433 	  /* When number of spatial streams > 7 use below rates*/
1434 	  /*     352 MCS-00 */ { VHT80_LDPC_ONLY_MASKS,
1435 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1436 		  234000, 260000,        0,        0,        0,   234000,
1437 		  0x3e0 },
1438 	  /*     353 MCS-01 */ { VHT80_LDPC_ONLY_MASKS,
1439 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1440 		  468000, 520000,        0,        0,        0,   468000,
1441 		  0x3e1},
1442 	  /*     354 MCS-02 */ { VHT80_LDPC_ONLY_MASKS,
1443 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1444 		  702000, 780000,        0,        0,        0,   702000,
1445 		  0x3e2},
1446 	  /*     355 MCS-03 */ { VHT80_LDPC_ONLY_MASKS,
1447 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1448 		  936000, 1040000,        0,        0,        0,   936000,
1449 		  0x3e3},
1450 	  /*     356 MCS-04 */ { VHT80_LDPC_ONLY_MASKS,
1451 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1452 		  1404000, 1560000,        0,        0,        0,  1404000,
1453 		  0x3e4},
1454 	  /*     357 MCS-05 */ { VHT80_LDPC_ONLY_MASKS,
1455 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1456 		  1872000, 2080000,        0,        0,        0,  1872000,
1457 		  0x3e5},
1458 	  /*     358 MCS-06 */ { VHT80_LDPC_ONLY_MASKS,
1459 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1460 		  2106000, 2340000,        0,        0,        0,  2106000,
1461 		  0x3e6},
1462 	  /*     359 MCS-07 */ { VHT80_LDPC_ONLY_MASKS,
1463 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1464 		  2340000, 2600000,        0,        0,        0,  2340000,
1465 		  0x3e7},
1466 	  /*     360 MCS-08 */ { VHT80_LDPC_ONLY_MASKS,
1467 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1468 		  2808000, 3120000,        0,        0,        0,  2808000,
1469 		  0x3e8},
1470 	  /*     361 MCS-09 */ { VHT80_LDPC_ONLY_MASKS,
1471 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1472 		  3120000, 3466700,        0,        0,        0,  3120000,
1473 		  0x3e9},
1474 	  /*     362 MCS-10 */ { VHT80_LDPC_ONLY_MASKS,
1475 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1476 		  3510000, 3900000,        0,        0,        0,  3510000,
1477 		  0x3ea},
1478 	  /*     363 MCS-11 */ { VHT80_LDPC_ONLY_MASKS,
1479 		  DP_CMN_MOD_IEEE80211_T_VHT_80,
1480 		  3900000, 4333300,        0,        0,        0,  3900000,
1481 		  0x3eb},
1482 
1483 	  /* 11ac VHT160 rates
1484 	   */
1485 	  /*     364 MCS-00 */ { VHT160_MODE_VALID_MASK,
1486 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1487 		  58500, 65000,        0,        0,        0,    58500,
1488 		  0x300},
1489 	  /*     365 MCS-01 */ { VHT160_MODE_VALID_MASK,
1490 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1491 		  117000, 130000,        0,        0,        0,   117000,
1492 		  0x301},
1493 	  /*     366 MCS-02 */ { VHT160_MODE_VALID_MASK,
1494 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1495 		  175500, 195000,        0,        0,        0,   175500,
1496 		  0x302},
1497 	  /*     367 MCS-03 */ { VHT160_MODE_VALID_MASK,
1498 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1499 		  234000, 260000,        0,        0,        0,   234000,
1500 		  0x303},
1501 	  /*     368 MCS-04 */ { VHT160_MODE_VALID_MASK,
1502 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1503 		  351000, 390000,        0,        0,        0,   351000,
1504 		  0x304},
1505 	  /*     369 MCS-05 */ { VHT160_MODE_VALID_MASK,
1506 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1507 		  468000, 520000,        0,        0,        0,   468000,
1508 		  0x305},
1509 	  /*     370 MCS-06 */ { VHT160_MODE_VALID_MASK,
1510 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1511 		  526500, 585000,        0,        0,        0,   526500,
1512 		  0x306},
1513 	  /*     371 MCS-07 */ { VHT160_MODE_VALID_MASK,
1514 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1515 		  585000, 650000,        0,        0,        0,   585000,
1516 		  0x307},
1517 	  /*     372 MCS-08 */ { VHT160_MODE_VALID_MASK,
1518 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1519 		  702000, 780000,        0,        0,        0,   702000,
1520 		  0x308},
1521 	  /*     373 MCS-09 */ { VHT160_MODE_VALID_MASK,
1522 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1523 		  780000, 866700,        0,        0,        0,   780000,
1524 		  0x309},
1525 	  /*     374 MCS-10 */ { VHT160_LDPC_ONLY_MASKS,
1526 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1527 		  877500, 975000,        0,        0,        0,   877500,
1528 		  0x30a },
1529 	  /*     375 MCS-11 */ { VHT160_LDPC_ONLY_MASKS,
1530 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1531 		  975000, 1083300,        0,        0,        0,   975000,
1532 		  0x30b },
1533 	  /* If maximum number of spatial streams supported
1534 	   * at 160MHZ > 1 use below rates
1535 	   */
1536 	  /*     376 MCS-00 */ { VHT160_MODE_VALID_MASK,
1537 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1538 		  117000, 130000,        0,        0,        0,   117000,
1539 		  0x320},
1540 	  /*     377 MCS-01 */ { VHT160_MODE_VALID_MASK,
1541 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1542 		  234000, 260000,        0,        0,        0,   234000,
1543 		  0x321},
1544 	  /*     378 MCS-02 */ { VHT160_MODE_VALID_MASK,
1545 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1546 		  351000, 390000,        0,        0,        0,   351000,
1547 		  0x322},
1548 	  /*     379 MCS-03 */ { VHT160_MODE_VALID_MASK,
1549 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1550 		  468000, 520000,        0,        0,        0,   468000,
1551 		  0x323},
1552 	  /*     380 MCS-04 */ { VHT160_MODE_VALID_MASK,
1553 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1554 		  702000, 780000,        0,        0,        0,   702000,
1555 		  0x324},
1556 	  /*     381 MCS-05 */ { VHT160_MODE_VALID_MASK,
1557 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1558 		  936000, 1040000,        0,        0,        0,   936000,
1559 		  0x325},
1560 	  /*     382 MCS-06 */ { VHT160_MODE_VALID_MASK,
1561 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1562 		  1053000, 1170000,        0,        0,        0,  1053000,
1563 		  0x326},
1564 	  /*     383 MCS-07 */ { VHT160_MODE_VALID_MASK,
1565 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1566 		  1170000, 1300000,        0,        0,        0,  1170000,
1567 		  0x327},
1568 	  /*     384 MCS-08 */ { VHT160_MODE_VALID_MASK,
1569 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1570 		  1404000, 1560000,        0,        0,        0,  1404000,
1571 		  0x328},
1572 	  /*     385 MCS-09 */ { VHT160_MODE_VALID_MASK,
1573 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1574 		  1560000, 1733300,        0,        0,        0,  1560000,
1575 		  0x329},
1576 	  /*     386 MCS-10 */ { VHT160_LDPC_ONLY_MASKS,
1577 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1578 		  1755000, 1950000,        0,        0,        0,  1755000,
1579 		  0x32a},
1580 	  /*     387 MCS-11 */ { VHT160_LDPC_ONLY_MASKS,
1581 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1582 		  1950000, 2166700,        0,        0,        0,  1950000,
1583 		  0x32b},
1584 	  /* If maximum number of spatial streams supported
1585 	   * at 160MHZ > 2 use below rates
1586 	   */
1587 	  /*     388 MCS-00 */ { VHT160_MODE_VALID_MASK,
1588 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1589 		  175500, 195000,        0,        0,        0,   175500,
1590 		  0x340 },
1591 	  /*     389 MCS-01 */ { VHT160_MODE_VALID_MASK,
1592 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1593 		  351000, 390000,        0,        0,        0,   351000,
1594 		  0x341 },
1595 	  /*     390 MCS-02 */ { VHT160_MODE_VALID_MASK,
1596 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1597 		  526500, 585000,        0,        0,        0,   526500,
1598 		  0x342 },
1599 	  /*     391 MCS-03 */ { VHT160_MODE_VALID_MASK,
1600 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1601 		  702000, 780000,        0,        0,        0,   702000,
1602 		  0x343 },
1603 	  /*     392 MCS-04 */ { VHT160_MODE_VALID_MASK,
1604 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1605 		  1053000, 1170000,        0,        0,        0,  1053000,
1606 		  0x344 },
1607 	  /*     393 MCS-05 */ { VHT160_MODE_VALID_MASK,
1608 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1609 		  1404000, 1560000,        0,        0,        0,  1404000,
1610 		  0x345 },
1611 	  /*     394 MCS-06 */ { VHT160_MODE_VALID_MASK,
1612 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1613 		  1579500, 1755000,        0,        0,        0,  1579500,
1614 		  0x346 },
1615 	  /*     395 MCS-07 */ { VHT160_MODE_VALID_MASK,
1616 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1617 		  1755000, 1755000,        0,        0,        0,  1755000,
1618 		  0x347 },
1619 	  /*     396 MCS-08 */ { VHT160_MODE_VALID_MASK,
1620 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1621 		  2106000, 2340000,        0,        0,        0,  2106000,
1622 		  0x348 },
1623 	  /*     397 MCS-09 */ { VHT160_MODE_VALID_MASK,
1624 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1625 		  2340000, 2600000,        0,        0,        0,  2340000,
1626 		  0x349 },
1627 	  /*     398 MCS-10 */ { VHT160_LDPC_ONLY_MASKS,
1628 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1629 		  2632500, 2925000,        0,        0,        0,  2632500,
1630 		  0x34a },
1631 	  /*     399 MCS-11 */ { VHT160_LDPC_ONLY_MASKS,
1632 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1633 		  2925000, 3250000,        0,        0,        0,  2925000,
1634 		  0x34b },
1635 	  /* If maximum number of spatial streams supported
1636 	   * at 160MHZ > 3 use below rates
1637 	   */
1638 	  /*     400 MCS-00 */ { VHT160_MODE_VALID_MASK,
1639 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1640 		  234000, 260000,        0,        0,        0,   234000,
1641 		  0x360 },
1642 	  /*     401 MCS-01 */ { VHT160_MODE_VALID_MASK,
1643 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1644 		  468000, 520000,        0,        0,        0,   468000,
1645 		  0x361 },
1646 	  /*     402 MCS-02 */ { VHT160_MODE_VALID_MASK,
1647 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1648 		  702000, 780000,        0,        0,        0,   702000,
1649 		  0x362 },
1650 	  /*     403 MCS-03 */ { VHT160_MODE_VALID_MASK,
1651 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1652 		  936000, 1040000,        0,        0,        0,   936000,
1653 		  0x363 },
1654 	  /*     404 MCS-04 */ { VHT160_MODE_VALID_MASK,
1655 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1656 		  1404000, 1560000,        0,        0,        0,  1404000,
1657 		  0x364 },
1658 	  /*     405 MCS-05 */ { VHT160_MODE_VALID_MASK,
1659 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1660 		  1872000, 2080000,        0,        0,        0,  1872000,
1661 		  0x365 },
1662 	  /*     406 MCS-06 */ { VHT160_MODE_VALID_MASK,
1663 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1664 		  2106000, 2340000,        0,        0,        0,  2106000,
1665 		  0x366 },
1666 	  /*     407 MCS-07 */ { VHT160_MODE_VALID_MASK,
1667 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1668 		  2340000, 2600000,        0,        0,        0,  2340000,
1669 		  0x367 },
1670 	  /*     408 MCS-08 */ { VHT160_MODE_VALID_MASK,
1671 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1672 		  2808000, 3120000,        0,        0,        0,  2808000,
1673 		  0x368 },
1674 	  /*     409 MCS-09 */ { VHT160_LDPC_ONLY_MASKS,
1675 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1676 		  3120000, 3466700,        0,        0,        0,  3120000,
1677 		  0x369 },
1678 	  /*     410 MCS-10 */ { VHT160_LDPC_ONLY_MASKS,
1679 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1680 		  3510000, 3900000,        0,        0,        0,  3510000,
1681 		  0x36a },
1682 	  /*     411 MCS-11 */ { VHT160_LDPC_ONLY_MASKS,
1683 		  DP_CMN_MOD_IEEE80211_T_VHT_160,
1684 		  3900000, 4333300,        0,        0,        0,  3900000,
1685 		  0x36b },
1686 
1687 	  /* 11ax RU242 rates
1688 	   */
1689 	  /*     412 MCS-00 */ { HE20_MODE_VALID_MASK,
1690 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1691 		  8600, 8900,     8100,     7300,     4300,     8600,  0x400},
1692 	  /*     413 MCS-01 */ { HE20_MODE_VALID_MASK,
1693 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1694 		  17200, 17700,    16300,    14600,     8600,    17200,
1695 		  0x401},
1696 	  /*     414 MCS-02 */ { HE20_MODE_VALID_MASK,
1697 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1698 		  25800, 26600,    24400,    21900,        0,    25800,
1699 		  0x402},
1700 	  /*     415 MCS-03 */ { HE20_MODE_VALID_MASK,
1701 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1702 		  34400, 35500,    32500,    29300,    17700,    34400,
1703 		  0x403},
1704 	  /*     416 MCS-04 */ { HE20_MODE_VALID_MASK,
1705 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1706 		  51600, 53200,    48800,    43900,    25800,    51600,
1707 		  0x404},
1708 	  /*     417 MCS-05 */ { HE20_MODE_VALID_MASK,
1709 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1710 		  68800, 70900,    65000,    58500,        0,    68800,
1711 		  0x405},
1712 	  /*     418 MCS-06 */ { HE20_MODE_VALID_MASK,
1713 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1714 		  77400, 79800,    73100,    65800,        0,    77400,
1715 		  0x406},
1716 	  /*     419 MCS-07 */ { HE20_MODE_VALID_MASK,
1717 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1718 		  86000, 88600,    81300,    73100,        0,    86000,
1719 		  0x407},
1720 	  /*     420 MCS-08 */ { HE20_MODE_VALID_MASK,
1721 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1722 		  103200, 106400,    97500,    87800,        0,   103200,
1723 		  0x408},
1724 	  /*     421 MCS-09 */ { HE20_MODE_VALID_MASK,
1725 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1726 		  114700, 118200,   108300,    97500,        0,   114700,
1727 		  0x409},
1728 	  /*     422 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
1729 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1730 		  129000, 133000,   121900,   109700,        0,   129000,
1731 		  0x40a},
1732 	  /*     423 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
1733 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1734 		  143400, 147700,   135400,   121900,        0,   143400,
1735 		  0x40b},
1736 	  /* When number spatial streams > 1 use below rates */
1737 	  /*     424 MCS-00 */ { HE20_MODE_VALID_MASK,
1738 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1739 		  17200, 17700,    16300,    14600,     8600,    17200,
1740 		  0x420},
1741 	  /*     425 MCS-01 */ { HE20_MODE_VALID_MASK,
1742 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1743 		  34400, 35500,    32500,    29300,    17700,    34400,
1744 		  0x421},
1745 	  /*     426 MCS-02 */ { HE20_MODE_VALID_MASK,
1746 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1747 		  51600, 53200,    48800,    43900,        0,    51600,
1748 		  0x422},
1749 	  /*     427 MCS-03 */ { HE20_MODE_VALID_MASK,
1750 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1751 		  68800, 70900,    65000,    58500,    34400,    68800,
1752 		  0x423},
1753 	  /*     428 MCS-04 */ { HE20_MODE_VALID_MASK,
1754 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1755 		  103200, 106400,    97500,    87800,    51600,   103200,
1756 		  0x424},
1757 	  /*     429 MCS-05 */ { HE20_MODE_VALID_MASK,
1758 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1759 		  137600, 141800,   130000,   117000,        0,   137600,
1760 		  0x425},
1761 	  /*     430 MCS-06 */ { HE20_MODE_VALID_MASK,
1762 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1763 		  154900, 159500,   146300,   131600,        0,   154900,
1764 		  0x426},
1765 	  /*     431 MCS-07 */ { HE20_MODE_VALID_MASK,
1766 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1767 		  172100, 177300,   162500,   146300,        0,   172100,
1768 		  0x427},
1769 	  /*     432 MCS-08 */ { HE20_MODE_VALID_MASK,
1770 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1771 		  206500, 212700,   195000,   175500,        0,   206500,
1772 		  0x428},
1773 	  /*     433 MCS-09 */ { HE20_MODE_VALID_MASK,
1774 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1775 		  229400, 236400,   216700,   195000,        0,   229400,
1776 		  0x429},
1777 	  /*     434 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
1778 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1779 		  258100, 265900,   243800,   219400,        0,   258100,
1780 		  0x42a},
1781 	  /*     435 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
1782 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1783 		  286800, 295500,   270800,   243800,        0,   286800,
1784 		  0x42b},
1785 
1786 	  /* When number of spatial streams > 2
1787 	   * use below rates
1788 	   */
1789 	  /*     436 MCS-00 */ { HE20_MODE_VALID_MASK,
1790 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1791 		  25800, 26600,    24400,    21900,    12900,    25800,
1792 		  0x440},
1793 	  /*     437 MCS-01 */ { HE20_MODE_VALID_MASK,
1794 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1795 		  51600, 53200,    48800,    43900,    25800,    51600,
1796 		  0x441},
1797 	  /*     438 MCS-02 */ { HE20_MODE_VALID_MASK,
1798 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1799 		  77400, 79800,    73100,    65800,        0,    77400,
1800 		  0x442},
1801 	  /*     439 MCS-03 */ { HE20_MODE_VALID_MASK,
1802 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1803 		  103200, 106400,    97500,    87800,    51600,   103200,
1804 		  0x443},
1805 	  /*     440 MCS-04 */ { HE20_MODE_VALID_MASK,
1806 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1807 		  154900, 159500,   146300,   131600,    77400,   154900,
1808 		  0x444},
1809 	  /*     441 MCS-05 */ { HE20_MODE_VALID_MASK,
1810 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1811 		  206500, 212700,   195000,   175500,        0,   206500,
1812 		  0x445},
1813 	  /*     442 MCS-06 */ { HE20_MODE_VALID_MASK,
1814 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1815 		  232300, 239300,   219400,   197400,        0,   232300,
1816 		  0x446},
1817 	  /*     443 MCS-07 */ { HE20_MODE_VALID_MASK,
1818 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1819 		  258100, 265900,   243800,   219400,        0,   258100,
1820 		  0x447},
1821 	  /*     444 MCS-08 */ { HE20_MODE_VALID_MASK,
1822 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1823 		  309700, 319100,   292500,   263300,        0,   309700,
1824 		  0x448},
1825 	  /*     445 MCS-09 */ { HE20_MODE_VALID_MASK,
1826 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1827 		  344100, 354500,   325000,   292500,        0,   344100,
1828 		  0x449},
1829 	  /*     446 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
1830 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1831 		  387100, 398900,   365600,   329100,        0,   387100,
1832 		  0x44a},
1833 	  /*     447 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
1834 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1835 		  430100, 443200,   406300,   365600,        0,   430100,
1836 		  0x44b},
1837 
1838 	  /* When number of spatial streams > 3
1839 	   * use below rates
1840 	   */
1841 	  /*     448 MCS-00 */ { HE20_MODE_VALID_MASK,
1842 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1843 		  34400, 35500,    32500,    29300,    17700,    34400,
1844 		  0x460},
1845 	  /*     449 MCS-01 */ { HE20_MODE_VALID_MASK,
1846 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1847 		  68800, 70900,    65000,    58500,    34400,    68800,
1848 		  0x461},
1849 	  /*     450 MCS-02 */ { HE20_MODE_VALID_MASK,
1850 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1851 		  103200, 106400,    97500,    87800,        0,   103200,
1852 		  0x462},
1853 	  /*     451 MCS-03 */ { HE20_MODE_VALID_MASK,
1854 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1855 		  137600, 141800,   130000,   117000,    68800,   137600,
1856 		  0x463},
1857 	  /*     452 MCS-04 */ { HE20_MODE_VALID_MASK,
1858 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1859 		  206500, 212700,   195000,   175500,   103200,   206500,
1860 		  0x464},
1861 	  /*     453 MCS-05 */ { HE20_MODE_VALID_MASK,
1862 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1863 		  275300, 283600,   260000,   234000,        0,   275300,
1864 		  0x465},
1865 	  /*     454 MCS-06 */ { HE20_MODE_VALID_MASK,
1866 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1867 		  309700, 319100,   292500,   263300,        0,   309700,
1868 		  0x466},
1869 	  /*     455 MCS-07 */ { HE20_MODE_VALID_MASK,
1870 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1871 		  344100, 354500,   325000,   292500,        0,   344100,
1872 		  0x467},
1873 	  /*     456 MCS-08 */ { HE20_MODE_VALID_MASK,
1874 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1875 		  412900, 425500,   390000,   351000,        0,   412900,
1876 		  0x468},
1877 	  /*     457 MCS-09 */ { HE20_MODE_VALID_MASK,
1878 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1879 		  455800, 472700,   433300,   390000,        0,   455800,
1880 		  0x469},
1881 	  /*     458 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
1882 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1883 		  516200, 531800,   487500,   438800,        0,   516200,
1884 		  0x46a},
1885 	  /*     459 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
1886 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1887 		  573500, 590900,   541700,   487500,        0,   573500,
1888 		  0x46b},
1889 
1890 	  /* When number of spatial streams > 4
1891 	   * use below rates
1892 	   */
1893 	  /*     460 MCS-00 */ { HE20_LDPC_ONLY_MASKS,
1894 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1895 		  43000, 43300,    40600,    36600,    21500,    43000,
1896 		  0x480},
1897 	  /*     461 MCS-01 */ { HE20_LDPC_ONLY_MASKS,
1898 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1899 		  86000, 88600,    81300,    73100,    43000,    86000,
1900 		  0x481},
1901 	  /*     462 MCS-02 */ { HE20_LDPC_ONLY_MASKS,
1902 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1903 		  129000, 133000,   121900,   109700,        0,   129000,
1904 		  0x482},
1905 	  /*     463 MCS-03 */ { HE20_LDPC_ONLY_MASKS,
1906 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1907 		  172100, 177300,   162500,   146300,    86000,   172100,
1908 		  0x483},
1909 	  /*     464 MCS-04 */ { HE20_LDPC_ONLY_MASKS,
1910 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1911 		  258100, 265900,   243800,   219400,   129000,   258100,
1912 		  0x484},
1913 	  /*     465 MCS-05 */ { HE20_LDPC_ONLY_MASKS,
1914 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1915 		  344100, 354500,   325000,   292500,        0,   344100,
1916 		  0x485},
1917 	  /*     466 MCS-06 */ { HE20_LDPC_ONLY_MASKS,
1918 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1919 		  387100, 398900,   365600,   329100,        0,   387100,
1920 		  0x486},
1921 	  /*     467 MCS-07 */ { HE20_LDPC_ONLY_MASKS,
1922 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1923 		  430100, 443200,   406300,   365600,        0,   430100,
1924 		  0x487},
1925 	  /*     468 MCS-08 */ { HE20_LDPC_ONLY_MASKS,
1926 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1927 		  516200, 531800,   487500,   438800,        0,   516200,
1928 		  0x488},
1929 	  /*     469 MCS-09 */ { HE20_LDPC_ONLY_MASKS,
1930 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1931 		  573500, 590900,   541700,   487500,        0,   573500,
1932 		  0x489},
1933 	  /*     470 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
1934 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1935 		  645200, 664800,   609400,   548400,        0,   645200,
1936 		  0x48a},
1937 	  /*     471 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
1938 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1939 		  716900, 738600,   677100,   609400,        0,   716900,
1940 		  0x48b},
1941 
1942 	  /* When number of spatial streams > 5
1943 	   * use below rates
1944 	   */
1945 	  /*     472 MCS-00 */ { HE20_LDPC_ONLY_MASKS,
1946 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1947 		  51600, 53200,    48800,    43900,    25800,    51600,
1948 		  0x4a0},
1949 	  /*     473 MCS-01 */ { HE20_LDPC_ONLY_MASKS,
1950 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1951 		  103200, 106400,    97500,    87800,    51600,   103200,
1952 		  0x4a1},
1953 	  /*     474 MCS-02 */ { HE20_LDPC_ONLY_MASKS,
1954 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1955 		  154900, 159500,   146300,   131600,        0,   154900,
1956 		  0x4a2},
1957 	  /*     475 MCS-03 */ { HE20_LDPC_ONLY_MASKS,
1958 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1959 		  206500, 212700,   195000,   175500,   103200,   206500,
1960 		  0x4a3},
1961 	  /*     476 MCS-04 */ { HE20_LDPC_ONLY_MASKS,
1962 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1963 		  309700, 319100,   292500,   263300,   154900,   309700,
1964 		  0x4a4},
1965 	  /*     477 MCS-05 */ { HE20_LDPC_ONLY_MASKS,
1966 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1967 		  412900, 425500,   390000,   351000,        0,   412900,
1968 		  0x4a5},
1969 	  /*     478 MCS-06 */ { HE20_LDPC_ONLY_MASKS,
1970 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1971 		  464600, 478600,   438000,   394900,        0,   464600,
1972 		  0x4a6},
1973 	  /*     479 MCS-07 */ { HE20_LDPC_ONLY_MASKS,
1974 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1975 		  516200, 531800,   487500,   438800,        0,   516200,
1976 		  0x4a7},
1977 	  /*     480 MCS-08 */ { HE20_LDPC_ONLY_MASKS,
1978 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1979 		  619400, 638200,   585000,   526500,        0,   619400,
1980 		  0x4a8},
1981 	  /*     481 MCS-09 */ { HE20_LDPC_ONLY_MASKS,
1982 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1983 		  688200, 709100,   650000,   585000,        0,   688200,
1984 		  0x4a9},
1985 	  /*     482 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
1986 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1987 		  774300, 797700,   731300,   658100,        0,   774300,
1988 		  0x4aa},
1989 	  /*     483 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
1990 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1991 		  860300, 886400,   812500,   731300,        0,   860300,
1992 		  0x4ab},
1993 
1994 	  /* When number of spatial streams > 6
1995 	   * use below rates
1996 	   */
1997 	  /*     484 MCS-00 */ { HE20_LDPC_ONLY_MASKS,
1998 		  DP_CMN_MOD_IEEE80211_T_HE_20,
1999 		  60200, 62000,    56900,    51200,    30100,    60200,
2000 		  0x4c0},
2001 	  /*     485 MCS-01 */ { HE20_LDPC_ONLY_MASKS,
2002 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2003 		  120400, 124100,   113800,   102400,    60200,   120400,
2004 		  0x4c1},
2005 	  /*     486 MCS-02 */ { HE20_LDPC_ONLY_MASKS,
2006 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2007 		  180700, 186100,   170600,   153600,        0,   180700,
2008 		  0x4c2},
2009 	  /*     487 MCS-03 */ { HE20_LDPC_ONLY_MASKS,
2010 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2011 		  240900, 248200,   227500,   204800,   120400,   240900,
2012 		  0x4c3},
2013 	  /*     488 MCS-04 */ { HE20_LDPC_ONLY_MASKS,
2014 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2015 		  361300, 372300,   341300,   307100,   180700,   361300,
2016 		  0x4c4},
2017 	  /*     489 MCS-05 */ { HE20_LDPC_ONLY_MASKS,
2018 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2019 		  481800, 496400,   455000,   409500,        0,   481800,
2020 		  0x4c5},
2021 	  /*     490 MCS-06 */ { HE20_LDPC_ONLY_MASKS,
2022 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2023 		  542000, 558400,   511900,   460700,        0,   542000,
2024 		  0x4c6},
2025 	  /*     491 MCS-07 */ { HE20_LDPC_ONLY_MASKS,
2026 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2027 		  602200, 620500,   568800,   511900,        0,   602200,
2028 		  0x4c7},
2029 	  /*     492 MCS-08 */ { HE20_LDPC_ONLY_MASKS,
2030 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2031 		  722600, 744500,   682500,   614300,        0,   722600,
2032 		  0x4c8},
2033 	  /*     493 MCS-09 */ { HE20_LDPC_ONLY_MASKS,
2034 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2035 		  802900, 827300,   758300,   682500,        0,   802900,
2036 		  0x4c9},
2037 	  /*     494 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
2038 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2039 		  903300, 930700,   853100,   767800,        0,   903300,
2040 		  0x4ca},
2041 	  /*     495 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
2042 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2043 		  1003700, 1034100,   947900,   853100,        0,  1003700,
2044 		  0x4cb},
2045 
2046 	  /* When number of spatial streams > 7
2047 	   * use below rates
2048 	   */
2049 	  /*     496 MCS-00 */ { HE20_LDPC_ONLY_MASKS,
2050 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2051 		  68800, 70900,    65000,    58500,    34400,    68800,
2052 		  0x4e0},
2053 	  /*     497 MCS-01 */ { HE20_LDPC_ONLY_MASKS,
2054 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2055 		  137600, 141800,   130000,   117000,    68800,   137600,
2056 		  0x4e1},
2057 	  /*     498 MCS-02 */ { HE20_LDPC_ONLY_MASKS,
2058 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2059 		  206500, 212700,   195000,   175500,        0,   206500,
2060 		  0x4e2},
2061 	  /*     499 MCS-03 */ { HE20_LDPC_ONLY_MASKS,
2062 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2063 		  275300, 283600,   260000,   234000,   137600,   275300,
2064 		  0x4e3},
2065 	  /*     500 MCS-04 */ { HE20_LDPC_ONLY_MASKS,
2066 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2067 		  412900, 425500,   390000,   351000,   206500,   412900,
2068 		  0x4e4},
2069 	  /*     501 MCS-05 */ { HE20_LDPC_ONLY_MASKS,
2070 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2071 		  550600, 567300,   520000,   468000,        0,   550600,
2072 		  0x4e5},
2073 	  /*     502 MCS-06 */ { HE20_LDPC_ONLY_MASKS,
2074 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2075 		  619400, 638200,   585000,   526500,        0,   619400,
2076 		  0x4e6},
2077 	  /*     503 MCS-07 */ { HE20_LDPC_ONLY_MASKS,
2078 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2079 		  688200, 709100,   650000,   585000,        0,   688200,
2080 		  0x4e7},
2081 	  /*     504 MCS-08 */ { HE20_LDPC_ONLY_MASKS,
2082 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2083 		  825900, 850900,   780000,   702000,        0,   825900,
2084 		  0x4e8},
2085 	  /*     505 MCS-09 */ { HE20_LDPC_ONLY_MASKS,
2086 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2087 		  917600, 945500,   866700,   780000,        0,   917600,
2088 		  0x4e9},
2089 	  /*     506 MCS-10 */ { HE20_LDPC_ONLY_MASKS,
2090 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2091 		  1032400, 1063600,   975000,   877500,        0,  1032400,
2092 		  0x4ea},
2093 	  /*     507 MCS-11 */ { HE20_LDPC_ONLY_MASKS,
2094 		  DP_CMN_MOD_IEEE80211_T_HE_20,
2095 		  1147100, 1181800,  1083300,   975000,        0,  1147100,
2096 		  0x4eb},
2097 
2098 	  /* 11ax RU484 rates
2099 	   */
2100 	  /*     508 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
2101 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2102 		  17200, 17700,    16300,    14600,     8600,    17200,  0x400
2103 	  },
2104 	  /*     509 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
2105 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2106 		  34400, 35500,    32500,    29300,    17700,    34400,  0x401
2107 	  },
2108 	  /*     510 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
2109 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2110 		  51600, 53200,    48800,    43900,    25800,    51600,  0x402
2111 	  },
2112 	  /*     511 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
2113 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2114 		  68800, 70900,    65000,    58500,        0,    68800,  0x403
2115 	  },
2116 	  /*     512 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
2117 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2118 		  103200, 106400,    97500,    87800,        0,   103200,
2119 		  0x404 },
2120 	  /*     513 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
2121 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2122 		  137600, 141800,   130000,   117000,        0,   137600,
2123 		  0x405 },
2124 	  /*     514 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
2125 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2126 		  154900, 159500,   146300,   131600,        0,   154900,
2127 		  0x406 },
2128 	  /*     515 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
2129 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2130 		  172100, 177300,   162500,   146300,        0,   172100,
2131 		  0x407 },
2132 	  /*     516 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
2133 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2134 		  206500, 212700,   195000,   175500,        0,   206500,
2135 		  0x408 },
2136 	  /*     517 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
2137 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2138 		  229400, 236400,   216700,   195000,        0,   229400,
2139 		  0x409 },
2140 	  /*     518 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
2141 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2142 		  258100, 265900,   243800,   219400,        0,   258100,
2143 		  0x40a },
2144 	  /*     519 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
2145 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2146 		  286800, 295500,   270800,   243800,        0,   286800,
2147 		  0x40b },
2148 	  /* When number of spatial streams > 1
2149 	   * use below rates
2150 	   */
2151 	  /*     520 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
2152 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2153 		  34400, 35500,    32500,    29300,    17700,    34400,  0x420
2154 	  },
2155 	  /*     521 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
2156 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2157 		  68800, 70900,    65000,    58500,    34400,    68800,  0x421
2158 	  },
2159 	  /*     522 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
2160 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2161 		  103200, 106400,    97500,    87800,        0,   103200,
2162 		  0x422 },
2163 	  /*     523 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
2164 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2165 		  137600, 141800,   130000,   117000,    68800,   137600,
2166 		  0x423 },
2167 	  /*     524 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
2168 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2169 		  206500, 212700,   195000,   175500,   103200,   206500,
2170 		  0x424 },
2171 	  /*     525 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
2172 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2173 		  275300, 283600,   260000,   234000,        0,   275300,
2174 		  0x425 },
2175 	  /*     526 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
2176 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2177 		  309700, 319100,   292500,   263300,        0,   309700,
2178 		  0x426 },
2179 	  /*     527 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
2180 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2181 		  344100, 354500,   325000,   292500,        0,   344100,
2182 		  0x427 },
2183 	  /*     528 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
2184 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2185 		  412900, 425500,   390000,   351000,        0,   412900,
2186 		  0x428 },
2187 	  /*     529 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
2188 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2189 		  455800, 472700,   433300,   390000,        0,   455800,
2190 		  0x429 },
2191 	  /*     530 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
2192 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2193 		  516200, 531800,   487500,   438800,        0,   516200,
2194 		  0x42a },
2195 	  /*     531 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
2196 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2197 		  573500, 590900,   541700,   487500,        0,   573500,
2198 		  0x42b },
2199 
2200 	  /* When number of spatial streams > 2
2201 	   * use below rates
2202 	   */
2203 	  /*     532 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
2204 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2205 		  51600, 53200,    48800,    43900,    25800,    51600,  0x440
2206 	  },
2207 	  /*     533 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
2208 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2209 		  103200, 106400,    97500,    87800,    51600,   103200,
2210 		  0x441 },
2211 	  /*     534 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
2212 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2213 		  154900, 159500,   146300,   131600,        0,   154900,
2214 		  0x442 },
2215 	  /*     535 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
2216 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2217 		  206500, 212700,   195000,   175500,   103200,   206500,
2218 		  0x443 },
2219 	  /*     536 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
2220 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2221 		  309700, 319100,   292500,   263300,   154900,   309700,
2222 		  0x444 },
2223 	  /*     537 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
2224 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2225 		  412900, 425500,   390000,   351000,        0,   412900,
2226 		  0x445 },
2227 	  /*     538 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
2228 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2229 		  464600, 478600,   438000,   394900,        0,   464600,
2230 		  0x446 },
2231 	  /*     539 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
2232 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2233 		  516200, 531800,   487500,   438800,        0,   516200,
2234 		  0x447 },
2235 	  /*     540 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
2236 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2237 		  619400, 638200,   585000,   526500,        0,   619400,
2238 		  0x448 },
2239 	  /*     541 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
2240 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2241 		  688200, 709100,   650000,   585000,        0,   688200,
2242 		  0x449 },
2243 	  /*     542 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
2244 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2245 		  774300, 797700,   731300,   658100,        0,   774300,
2246 		  0x44a },
2247 	  /*     543 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
2248 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2249 		  860300, 886400,   812500,   731300,        0,   860300,
2250 		  0x44b },
2251 
2252 	  /* When number of spatial streams > 3
2253 	   * use below rates
2254 	   */
2255 	  /*     544 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
2256 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2257 		  68800, 70900,    65000,    58500,    34400,    68800,  0x460
2258 	  },
2259 	  /*     545 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
2260 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2261 		  137600, 141800,   130000,   117000,    68800,   137600,
2262 		  0x461 },
2263 	  /*     546 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
2264 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2265 		  206500, 212700,   195000,   175500,        0,   206500,
2266 		  0x462 },
2267 	  /*     547 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
2268 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2269 		  275300, 283600,   260000,   234000,   137600,   275300,
2270 		  0x463 },
2271 	  /*     548 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
2272 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2273 		  412900, 425500,   390000,   351000,   206500,   412900,
2274 		  0x464 },
2275 	  /*     549 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
2276 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2277 		  550600, 567300,   520000,   468000,        0,   550600,
2278 		  0x465 },
2279 	  /*     550 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
2280 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2281 		  619400, 638200,   585000,   526500,        0,   619400,
2282 		  0x466 },
2283 	  /*     551 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
2284 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2285 		  688200, 709100,   650000,   585000,        0,   688200,
2286 		  0x467 },
2287 	  /*     552 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
2288 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2289 		  825900, 850900,   780000,   702000,        0,   825900,
2290 		  0x468 },
2291 	  /*     553 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
2292 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2293 		  917600, 945500,   866700,   780000,        0,   917600,
2294 		  0x469 },
2295 	  /*     554 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
2296 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2297 		  1032400, 1063600,   975000,   877500,        0,  1032400,
2298 		  0x46a },
2299 	  /*     555 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
2300 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2301 		  1147100, 1181800,  1083300,   975000,        0,  1147100,
2302 		  0x46b },
2303 
2304 	  /* When number of spatial streams > 4
2305 	   * use below rates
2306 	   */
2307 	  /*     556 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
2308 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2309 		  86000, 88600,    81300,    73100,    43000,    86000,  0x480
2310 	  },
2311 	  /*     557 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
2312 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2313 		  172100, 177300,   162500,   146300,    86000,   172100,
2314 		  0x481 },
2315 	  /*     558 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
2316 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2317 		  258100, 265900,   243800,   219400,        0,   258100,
2318 		  0x482 },
2319 	  /*     559 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
2320 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2321 		  344100, 354500,   325000,   292500,   172100,   344100,
2322 		  0x483 },
2323 	  /*     560 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
2324 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2325 		  516200, 531800,   487500,   438800,   258100,   516200,
2326 		  0x484 },
2327 	  /*     561 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
2328 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2329 		  688200, 709100,   650000,   585000,        0,   688200,
2330 		  0x485 },
2331 	  /*     562 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
2332 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2333 		  774300, 797700,   731300,   658100,        0,   774300,
2334 		  0x486 },
2335 	  /*     563 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
2336 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2337 		  860300, 886400,   812500,   731300,        0,   860300,
2338 		  0x487 },
2339 	  /*     564 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
2340 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2341 		  1032400, 1063600,   975000,   877500,        0,  1032400,
2342 		  0x488 },
2343 	  /*     565 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
2344 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2345 		  1147100, 1181800,  1083300,   975000,        0,  1147100,
2346 		  0x489 },
2347 	  /*     566 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
2348 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2349 		  1290400, 1329500,  1218800,  1096900,        0,  1290400,
2350 		  0x48a },
2351 	  /*     567 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
2352 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2353 		  1433800, 1477300,  1354200,  1218800,        0,  1433800,
2354 		  0x48b },
2355 
2356 	  /* When number of spatial streams > 5
2357 	   * use below rates
2358 	   */
2359 	  /*     568 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
2360 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2361 		  103200, 106400,    97500,    87800,    51600,   103200,
2362 		  0x4a0 },
2363 	  /*     569 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
2364 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2365 		  206500, 212700,   195000,   175500,   103200,   206500,
2366 		  0x4a1 },
2367 	  /*     570 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
2368 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2369 		  309700, 319100,   292500,   263300,        0,   309700,
2370 		  0x4a2 },
2371 	  /*     571 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
2372 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2373 		  412900, 425500,   390000,   351000,   206500,   412900,
2374 		  0x4a3 },
2375 	  /*     572 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
2376 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2377 		  619400, 638200,   585000,   526500,   309700,   619400,
2378 		  0x4a4 },
2379 	  /*     573 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
2380 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2381 		  825900, 850900,   780000,   702000,        0,   825900,
2382 		  0x4a5 },
2383 	  /*     574 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
2384 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2385 		  929100, 957300,   877500,   789800,        0,   929100,
2386 		  0x4a6 },
2387 	  /*     575 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
2388 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2389 		  1032400, 1063600,   975000,   877500,        0,  1032400,
2390 		  0x4a7 },
2391 	  /*     576 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
2392 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2393 		  1238800, 1276400,  1170000,  1053000,        0,  1238800,
2394 		  0x4a8 },
2395 	  /*     577 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
2396 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2397 		  1376500, 1418200,  1300000,  1170000,        0,  1376500,
2398 		  0x4a9 },
2399 	  /*     578 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
2400 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2401 		  1548500, 1595500,  1462500,  1316300,        0,  1548500,
2402 		  0x4aa },
2403 	  /*     579 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
2404 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2405 		  1720600, 1772700,  1625000,  1462500,        0,  1720600,
2406 		  0x4ab },
2407 	  /* When number spatial streams > 6
2408 	   * use below rates
2409 	   */
2410 	  /*     580 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
2411 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2412 		  120400, 124100,   113800,   102400,    60200,   120400,
2413 		  0x4c0 },
2414 	  /*     581 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
2415 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2416 		  240900, 248200,   227500,   204800,   120400,   240900,
2417 		  0x4c1 },
2418 	  /*     582 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
2419 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2420 		  361300, 372300,   341300,   307100,   180600,   361300,
2421 		  0x4c2 },
2422 	  /*     583 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
2423 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2424 		  481800, 496400,   455000,   409500,        0,   481800,
2425 		  0x4c3 },
2426 	  /*     584 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
2427 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2428 		  722600, 744500,   682500,   614300,        0,   722600,
2429 		  0x4c4 },
2430 	  /*     585 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
2431 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2432 		  963500, 992700,   910000,   819000,        0,   963500,
2433 		  0x4c5 },
2434 	  /*     586 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
2435 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2436 		  1084000, 1116800,  1023800,   921400,        0,  1084000,
2437 		  0x4c6 },
2438 	  /*     587 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
2439 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2440 		  1204400, 1240900,  1137500,  1023800,        0,  1204400,
2441 		  0x4c7 },
2442 	  /*     588 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
2443 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2444 		  1445300, 1489100,  1365000,  1228500,        0,  1445300,
2445 		  0x4c8 },
2446 	  /*     589 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
2447 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2448 		  1605900, 1654500,  1516700,  1365000,        0,  1605900,
2449 		  0x4c9 },
2450 	  /*     590 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
2451 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2452 		  1806600, 1861400,  1706300,  1535600,        0,  1806600,
2453 		  0x4ca },
2454 	  /*     591 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
2455 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2456 		  2007400, 2068200,  1895800,  1706300,        0,  2007400,
2457 		  0x4cb },
2458 
2459 	  /* When number of spatial streams > 7
2460 	   * use below rates
2461 	   */
2462 	  /*     592 MCS-00 */ { HE40_LDPC_ONLY_MASKS,
2463 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2464 		  137600, 141800,   130000,   117000,    68800,   137600,
2465 		  0x4e0 },
2466 	  /*     593 MCS-01 */ { HE40_LDPC_ONLY_MASKS,
2467 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2468 		  275300, 283600,   260000,   234000,   137600,   275300,
2469 		  0x4e1 },
2470 	  /*     594 MCS-02 */ { HE40_LDPC_ONLY_MASKS,
2471 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2472 		  412900, 425500,   390000,   351000,   206500,   412900,
2473 		  0x4e2 },
2474 	  /*     595 MCS-03 */ { HE40_LDPC_ONLY_MASKS,
2475 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2476 		  550600, 567300,   520000,   468000,        0,   550600,
2477 		  0x4e3 },
2478 	  /*     596 MCS-04 */ { HE40_LDPC_ONLY_MASKS,
2479 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2480 		  825900, 850900,   780000,   702000,        0,   825900,
2481 		  0x4e4 },
2482 	  /*     597 MCS-05 */ { HE40_LDPC_ONLY_MASKS,
2483 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2484 		  1101200, 1134500,  1040000,   936000,        0,  1101200,
2485 		  0x4e5 },
2486 	  /*     598 MCS-06 */ { HE40_LDPC_ONLY_MASKS,
2487 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2488 		  1238800, 1276400,  1170000,  1053000,        0,  1238800,
2489 		  0x4e6 },
2490 	  /*     599 MCS-07 */ { HE40_LDPC_ONLY_MASKS,
2491 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2492 		  1376500, 1418200,  1300000,  1170000,        0,  1376500,
2493 		  0x4e7 },
2494 	  /*     600 MCS-08 */ { HE40_LDPC_ONLY_MASKS,
2495 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2496 		  1651800, 1701800,  1560000,  1404000,        0,  1651800,
2497 		  0x4e8 },
2498 	  /*     601 MCS-09 */ { HE40_LDPC_ONLY_MASKS,
2499 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2500 		  1835300, 1890900,  1733300,  1560000,        0,  1835300,
2501 		  0x4e9 },
2502 	  /*     602 MCS-10 */ { HE40_LDPC_ONLY_MASKS,
2503 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2504 		  2064700, 2127300,  1950000,  1755000,        0,  2064700,
2505 		  0x4ea },
2506 	  /*     603 MCS-11 */ { HE40_LDPC_ONLY_MASKS,
2507 		  DP_CMN_MOD_IEEE80211_T_HE_40,
2508 		  2294100, 2363600,  2166700,  1950000,        0,  2294100,
2509 		  0x4eb },
2510 
2511 	  /* 11ax RU996 rates
2512 	   */
2513 	  /*     604 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
2514 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2515 		  36000, 37100,    34000,    30600,    18000,    36000,  0x400
2516 	  },
2517 	  /*     605 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
2518 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2519 		  72100, 74200,    68100,    61300,    36000,    72100,  0x401
2520 	  },
2521 	  /*     606 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
2522 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2523 		  108100, 111400,   102100,    91900,        0,   108100,
2524 		  0x402 },
2525 	  /*     607 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
2526 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2527 		  144100, 148500,   136100,   122500,    72100,   144100,
2528 		  0x403 },
2529 	  /*     608 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
2530 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2531 		  216200, 222700,   204200,   183800,   108100,   216200,
2532 		  0x404 },
2533 	  /*     609 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
2534 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2535 		  288200, 297000,   272200,   245000,        0,   288200,
2536 		  0x405 },
2537 	  /*     610 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
2538 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2539 		  324300, 334100,   306300,   275600,        0,   324300,
2540 		  0x406 },
2541 	  /*     611 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
2542 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2543 		  360300, 371200,   340300,   306300,        0,   360300,
2544 		  0x407 },
2545 	  /*     612 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
2546 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2547 		  432400, 445500,   408300,   367500,        0,   432400,
2548 		  0x408 },
2549 	  /*     613 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
2550 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2551 		  480400, 494900,   453700,   408300,        0,   480400,
2552 		  0x409 },
2553 	  /*     614 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
2554 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2555 		  540400, 556800,   510400,   459400,        0,   540400,
2556 		  0x40a },
2557 	  /*     615 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
2558 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2559 		  600500, 618700,   567100,   510400,        0,   600500,
2560 		  0x40b },
2561 	  /* When number spatial streams > 1
2562 	   * use below rates
2563 	   */
2564 	  /*     616 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
2565 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2566 		  72100, 74200,    68100,    61300,    36000,    72100,  0x420
2567 	  },
2568 	  /*     617 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
2569 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2570 		  144100, 148500,   136100,   122500,    72100,   144100,
2571 		  0x421 },
2572 	  /*     618 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
2573 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2574 		  216200, 222700,   204200,   183800,        0,   216200,
2575 		  0x422 },
2576 	  /*     619 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
2577 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2578 		  288200, 297000,   272200,   245000,   144100,   288200,
2579 		  0x423 },
2580 	  /*     620 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
2581 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2582 		  432400, 445500,   408300,   367500,   216200,   432400,
2583 		  0x424 },
2584 	  /*     621 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
2585 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2586 		  576500, 593900,   544400,   490000,        0,   576500,
2587 		  0x425 },
2588 	  /*     622 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
2589 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2590 		  648500, 668200,   612500,   551300,        0,   648500,
2591 		  0x426 },
2592 	  /*     623 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
2593 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2594 		  720600, 742400,   680600,   612500,        0,   720600,
2595 		  0x427 },
2596 	  /*     624 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
2597 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2598 		  864700, 890900,   816700,   735000,        0,   864700,
2599 		  0x428 },
2600 	  /*     625 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
2601 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2602 		  960800, 989900,   907400,   816700,        0,   960800,
2603 		  0x429 },
2604 	  /*     626 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
2605 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2606 		  1080900, 1113600,  1020800,   918800,        0,  1080900,
2607 		  0x42a },
2608 	  /*     627 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
2609 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2610 		  1201000, 1237400,  1134300,  1020800,        0,  1201000,
2611 		  0x42b },
2612 
2613 	  /* When number of spatial streams > 2
2614 	   * use below rates
2615 	   */
2616 	  /*     628 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
2617 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2618 		  108100, 111400,   102100,    91900,    54000,   108100,
2619 		  0x440 },
2620 	  /*     629 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
2621 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2622 		  216200, 222700,   204200,   183800,   108100,   216200,
2623 		  0x441 },
2624 	  /*     630 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
2625 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2626 		  324300, 334100,   306300,   275600,        0,   324300,
2627 		  0x442 },
2628 	  /*     631 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
2629 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2630 		  432400, 445500,   408300,   367500,        0,   432400,
2631 		  0x443 },
2632 	  /*     632 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
2633 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2634 		  648500, 668200,   612500,   551300,        0,   648500,
2635 		  0x444 },
2636 	  /*     633 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
2637 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2638 		  864700, 890900,   816700,   735000,        0,   864700,
2639 		  0x445 },
2640 	  /*     634 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
2641 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2642 		  972800, 1002300,   918800,   826900,        0,   972800,
2643 		  0x446 },
2644 	  /*     635 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
2645 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2646 		  1080900, 1113600,  1020800,   918800,        0,  1080900,
2647 		  0x447 },
2648 	  /*     636 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
2649 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2650 		  1297100, 1336400,  1225000,  1102500,        0,  1297100,
2651 		  0x448 },
2652 	  /*     637 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
2653 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2654 		  1441200, 1484800,  1361100,  1225000,        0,  1441200,
2655 		  0x449 },
2656 	  /*     638 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
2657 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2658 		  1621300, 1670500,  1531300,  1378100,        0,  1621300,
2659 		  0x44a },
2660 	  /*     639 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
2661 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2662 		  1801500, 1856100,  1701400,  1531300,        0,  1801500,
2663 		  0x44b },
2664 
2665 	  /* When number of spatial streams > 3
2666 	   * use below rates
2667 	   */
2668 	  /*     640 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
2669 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2670 		  144100, 148500,   136100,   122500,    72100,   144100,
2671 		  0x460 },
2672 	  /*     641 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
2673 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2674 		  288200, 297000,   272200,   245000,   144100,   288200,
2675 		  0x461 },
2676 	  /*     642 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
2677 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2678 		  432400, 445500,   408300,   367500,        0,   432400,
2679 		  0x462 },
2680 	  /*     643 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
2681 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2682 		  576500, 593900,   544400,   490000,   288200,   576500,
2683 		  0x463 },
2684 	  /*     644 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
2685 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2686 		  864700, 890900,   816700,   735000,   432400,   864700,
2687 		  0x464 },
2688 	  /*     645 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
2689 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2690 		  1152900, 1187900,  1088900,   980000,        0,  1152900,
2691 		  0x465 },
2692 	  /*     646 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
2693 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2694 		  1297100, 1336400,  1225000,  1102500,        0,  1297100,
2695 		  0x466 },
2696 	  /*     647 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
2697 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2698 		  1441200, 1484800,  1361100,  1225000,        0,  1441200,
2699 		  0x467 },
2700 	  /*     648 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
2701 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2702 		  1729400, 1781800,  1633300,  1470000,        0,  1729400,
2703 		  0x468 },
2704 	  /*     649 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
2705 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2706 		  1921600, 1979800,  1814800,  1633300,        0,  1921600,
2707 		  0x469 },
2708 	  /*     650 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
2709 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2710 		  2161800, 2227300,  2041700,  1837500,        0,  2161800,
2711 		  0x46a },
2712 	  /*     651 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
2713 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2714 		  2402000, 2474700,  2268500,  2041700,        0,  2402000,
2715 		  0x46b },
2716 
2717 	  /* When number spatial streams > 4
2718 	   * use below rates
2719 	   */
2720 	  /*     652 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
2721 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2722 		  180100, 185600,   170100,   153100,    90100,   180100,
2723 		  0x480 },
2724 	  /*     653 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
2725 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2726 		  360300, 371200,   340300,   306300,   180100,   360300,
2727 		  0x481 },
2728 	  /*     654 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
2729 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2730 		  540400, 556800,   510400,   459400,        0,   540400,
2731 		  0x482 },
2732 	  /*     655 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
2733 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2734 		  720600, 742400,   680600,   612500,        0,   720600,
2735 		  0x483 },
2736 	  /*     656 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
2737 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2738 		  1080900, 1113600,  1020800,   918800,        0,  1080900,
2739 		  0x484 },
2740 	  /*     657 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
2741 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2742 		  1441200, 1484800,  1361100,  1225000,        0,  1441200,
2743 		  0x485 },
2744 	  /*     658 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
2745 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2746 		  1621300, 1670500,  1531300,  1378100,        0,  1621300,
2747 		  0x486 },
2748 	  /*     659 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
2749 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2750 		  1801500, 1856100,  1701400,  1531300,        0,  1801500,
2751 		  0x487 },
2752 	  /*     660 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
2753 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2754 		  2161800, 2227300,  2041700,  1837500,        0,  2161800,
2755 		  0x488 },
2756 	  /*     661 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
2757 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2758 		  2402000, 2474700,  2268500,  2041700,        0,  2402000,
2759 		  0x489 },
2760 	  /*     662 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
2761 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2762 		  2702200, 2784100,  2552100,  2296900,        0,  2702200,
2763 		  0x48a },
2764 	  /*     663 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
2765 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2766 		  3002500, 3093400,  2835600,  2552100,        0,  3002500,
2767 		  0x48b },
2768 
2769 	  /* When number of spatial streams > 5
2770 	   * use below rates
2771 	   */
2772 	  /*     664 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
2773 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2774 		  216200, 222700,   204200,   183800,   108100,   216200,
2775 		  0x4a0 },
2776 	  /*     665 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
2777 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2778 		  432400, 445500,   408300,   367500,   216200,   432400,
2779 		  0x4a1 },
2780 	  /*     666 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
2781 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2782 		  648500, 668200,   612500,   551300,        0,   648500,
2783 		  0x4a2 },
2784 	  /*     667 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
2785 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2786 		  864700, 890900,   816700,   735000,   432400,   864700,
2787 		  0x4a3 },
2788 	  /*     668 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
2789 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2790 		  1297100, 1336400,  1225000,  1102500,   648500,  1297100,
2791 		  0x4a4 },
2792 	  /*     669 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
2793 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2794 		  1729400, 1781800,  1633300,  1470000,        0,  1729400,
2795 		  0x4a5 },
2796 	  /*     670 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
2797 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2798 		  1945600, 2004500,  1837500,  1653800,        0,  1945600,
2799 		  0x4a6 },
2800 	  /*     671 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
2801 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2802 		  2161800, 2227300,  2041700,  1837500,        0,  2161800,
2803 		  0x4a7 },
2804 	  /*     672 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
2805 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2806 		  2594100, 2672700,  2450000,  2205000,        0,  2594100,
2807 		  0x4a8 },
2808 	  /*     673 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
2809 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2810 		  2882400, 2969700,  2722200,  2450000,        0,  2882400,
2811 		  0x4a9 },
2812 	  /*     674 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
2813 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2814 		  3242600, 3340900,  3062500,  2756300,        0,  3242600,
2815 		  0x4aa },
2816 	  /*     675 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
2817 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2818 		  3602900, 3712100,  3402800,  3062500,        0,  3602900,
2819 		  0x4ab },
2820 
2821 	  /* When number of spatial streams > 6
2822 	   * use below rates
2823 	   */
2824 	  /*     676 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
2825 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2826 		  252200, 259800,   238200,   214400,   129900,   252200,
2827 		  0x4c0 },
2828 	  /*     677 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
2829 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2830 		  504400, 519700,   476400,   428800,   252200,   504400,
2831 		  0x4c1 },
2832 	  /*     678 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
2833 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2834 		  756600, 779500,   714600,   643100,        0,   756600,
2835 		  0x4c2 },
2836 	  /*     679 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
2837 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2838 		  1008800, 1039400,   952800,   857500,   504400,  1008800,
2839 		  0x4c3 },
2840 	  /*     680 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
2841 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2842 		  1513200, 1559100,  1429200,  1286300,   756600,  1513200,
2843 		  0x4c4 },
2844 	  /*     681 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
2845 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2846 		  2017600, 2078800,  1905600,  1715000,        0,  2017600,
2847 		  0x4c5 },
2848 	  /*     682 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
2849 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2850 		  2269900, 2338600,  2143800,  1929400,        0,  2269900,
2851 		  0x4c6 },
2852 	  /*     683 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
2853 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2854 		  2522100, 2598500,  2381900,  2143800,        0,  2522100,
2855 		  0x4c7 },
2856 	  /*     684 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
2857 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2858 		  3026500, 3118200,  2858300,  2572500,        0,  3026500,
2859 		  0x4c8 },
2860 	  /*     685 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
2861 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2862 		  3362700, 3464600,  3175900,  2858300,        0,  3362700,
2863 		  0x4c9 },
2864 	  /*     686 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
2865 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2866 		  3783100, 3897700,  3572900,  3215600,        0,  3783100,
2867 		  0x4ca },
2868 	  /*     687 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
2869 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2870 		  4203400, 4330800,  3969900,  3572900,        0,  4203400,
2871 		  0x4cb },
2872 
2873 	  /* When number of spatial streams > 7
2874 	   * use below rates
2875 	   */
2876 	  /*     688 MCS-00 */ { HE80_LDPC_ONLY_MASKS,
2877 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2878 		  288200, 297000,   272200,   245000,   144100,   288200,
2879 		  0x4e0 },
2880 	  /*     689 MCS-01 */ { HE80_LDPC_ONLY_MASKS,
2881 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2882 		  576500, 593900,   544400,   490000,   288200,   576500,
2883 		  0x4e1 },
2884 	  /*     690 MCS-02 */ { HE80_LDPC_ONLY_MASKS,
2885 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2886 		  864700, 890900,   816700,   735000,        0,   864700,
2887 		  0x4e2 },
2888 	  /*     691 MCS-03 */ { HE80_LDPC_ONLY_MASKS,
2889 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2890 		  1152900, 1187900,  1088900,   980000,   576500,  1152900,
2891 		  0x4e3 },
2892 	  /*     692 MCS-04 */ { HE80_LDPC_ONLY_MASKS,
2893 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2894 		  1729400, 1781800,  1633300,  1470000,   864700,  1729400,
2895 		  0x4e4 },
2896 	  /*     693 MCS-05 */ { HE80_LDPC_ONLY_MASKS,
2897 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2898 		  2305900, 2375800,  2177800,  1960000,        0,  2305900,
2899 		  0x4e5 },
2900 	  /*     694 MCS-06 */ { HE80_LDPC_ONLY_MASKS,
2901 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2902 		  2594100, 2672700,  2450000,  2205000,        0,  2594100,
2903 		  0x4e6 },
2904 	  /*     695 MCS-07 */ { HE80_LDPC_ONLY_MASKS,
2905 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2906 		  2882400, 2969700,  2722200,  2450000,        0,  2882400,
2907 		  0x4e7 },
2908 	  /*     696 MCS-08 */ { HE80_LDPC_ONLY_MASKS,
2909 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2910 		  3458800, 3563600,  3266700,  2940000,        0,  3458800,
2911 		  0x4e8 },
2912 	  /*     697 MCS-09 */ { HE80_LDPC_ONLY_MASKS,
2913 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2914 		  3843100, 3959600,  3629600,  3266700,        0,  3843100,
2915 		  0x4e9 },
2916 	  /*     698 MCS-10 */ { HE80_LDPC_ONLY_MASKS,
2917 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2918 		  4323500, 4454500,  4083300,  3675000,        0,  4323500,
2919 		  0x4ea },
2920 	  /*     699 MCS-11 */ { HE80_LDPC_ONLY_MASKS,
2921 		  DP_CMN_MOD_IEEE80211_T_HE_80,
2922 		  4803900, 4949500,  4537000,  4083300,        0,  4803900,
2923 		  0x4eb },
2924 
2925 	  /* 11ax RU996x2 rates
2926 	   */
2927 	  /*     700 MCS-00 */ { HE160_LDPC_ONLY_MASKS,
2928 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2929 		  72100, 74200,    68100,    61300,    36000,    72100,
2930 		  0x400},
2931 	  /*     701 MCS-01 */ { HE160_LDPC_ONLY_MASKS,
2932 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2933 		  144100, 148500,   136100,   122500,    72100,   144100,
2934 		  0x401},
2935 	  /*     702 MCS-02 */ { HE160_LDPC_ONLY_MASKS,
2936 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2937 		  216200, 222700,   204200,   183800,        0,   216200,
2938 		  0x402},
2939 	  /*     703 MCS-03 */ { HE160_LDPC_ONLY_MASKS,
2940 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2941 		  288200, 297000,   272200,   245000,   144100,   288200,
2942 		  0x403},
2943 	  /*     704 MCS-04 */ { HE160_LDPC_ONLY_MASKS,
2944 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2945 		  432400, 445500,   408300,   367500,   216200,   432400,
2946 		  0x404},
2947 	  /*     705 MCS-05 */ { HE160_LDPC_ONLY_MASKS,
2948 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2949 		  576500, 593900,   544400,   490000,        0,   576500,
2950 		  0x405},
2951 	  /*     706 MCS-06 */ { HE160_LDPC_ONLY_MASKS,
2952 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2953 		  648500, 668200,   612500,   551300,        0,   648500,
2954 		  0x406},
2955 	  /*     707 MCS-07 */ { HE160_LDPC_ONLY_MASKS,
2956 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2957 		  720600, 742400,   680600,   612500,        0,   720600,
2958 		  0x407},
2959 	  /*     708 MCS-08 */ { HE160_LDPC_ONLY_MASKS,
2960 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2961 		  864700, 890900,   816700,   735000,        0,   864700,
2962 		  0x408},
2963 	  /*     709 MCS-09 */ { HE160_LDPC_ONLY_MASKS,
2964 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2965 		  960800, 989900,   907400,   816700,        0,   960800,
2966 		  0x409},
2967 	  /*     710 MCS-10 */ { HE160_LDPC_ONLY_MASKS,
2968 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2969 		  1080900, 1113600,  1020800,   918800,        0,  1080900,
2970 		  0x40a},
2971 	  /*     711 MCS-11 */ { HE160_LDPC_ONLY_MASKS,
2972 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2973 		  1201000, 1237400,  1134300,  1020800,        0,  1201000,
2974 		  0x40b},
2975 	  /* When maximum spatial streams supported at 160MHZ > 1
2976 	   * use below rates
2977 	   */
2978 	  /*     712 MCS-00 */ { HE160_LDPC_ONLY_MASKS,
2979 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2980 		  144100, 148500,   136100,   122500,    72100,   144100,
2981 		  0x420},
2982 	  /*     713 MCS-01 */ { HE160_LDPC_ONLY_MASKS,
2983 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2984 		  288200, 297000,   272200,   245000,   144100,   288200,
2985 		  0x421},
2986 	  /*     714 MCS-02 */ { HE160_LDPC_ONLY_MASKS,
2987 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2988 		  432400, 445500,   408300,   367500,        0,   432400,
2989 		  0x422},
2990 	  /*     715 MCS-03 */ { HE160_LDPC_ONLY_MASKS,
2991 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2992 		  576500, 593900,   544400,   490000,   288200,   576500,
2993 		  0x423},
2994 	  /*     716 MCS-04 */ { HE160_LDPC_ONLY_MASKS,
2995 		  DP_CMN_MOD_IEEE80211_T_HE_160,
2996 		  864700, 890900,   816700,   735000,   432400,   864700,
2997 		  0x424},
2998 	  /*     717 MCS-05 */ { HE160_LDPC_ONLY_MASKS,
2999 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3000 		  1152900, 1187900,  1088900,   980000,        0,  1152900,
3001 		  0x425},
3002 	  /*     718 MCS-06 */ { HE160_LDPC_ONLY_MASKS,
3003 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3004 		  1297100, 1336400,  1225000,  1102500,        0,  1297100,
3005 		  0x426},
3006 	  /*     719 MCS-07 */ { HE160_LDPC_ONLY_MASKS,
3007 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3008 		  1441200, 1484800,  1361100,  1225000,        0,  1441200,
3009 		  0x427},
3010 	  /*     720 MCS-08 */ { HE160_LDPC_ONLY_MASKS,
3011 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3012 		  1729400, 1781800,  1633300,  1470000,        0,  1729400,
3013 		  0x428},
3014 	  /*     721 MCS-09 */ { HE160_LDPC_ONLY_MASKS,
3015 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3016 		  1921600, 1979800,  1814800,  1633300,        0,  1921600,
3017 		  0x429},
3018 	  /*     722 MCS-10 */ { HE160_LDPC_ONLY_MASKS,
3019 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3020 		  2161800, 2227300,  2041700,  1837500,        0,  2161800,
3021 		  0x42a},
3022 	  /*     723 MCS-11 */ { HE160_LDPC_ONLY_MASKS,
3023 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3024 		  2402000, 2474700,  2268500,  2041700,        0,  2402000,
3025 		  0x42b},
3026 
3027 	  /* When maximum spatial streams supported at 160MHZ > 2
3028 	   * use below rates
3029 	   */
3030 	  /*     724 MCS-00 */ { HE160_LDPC_ONLY_MASKS,
3031 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3032 		  216200, 222700,   204200,   183800,   108100,   216200,
3033 		  0x440},
3034 	  /*     725 MCS-01 */ { HE160_LDPC_ONLY_MASKS,
3035 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3036 		  432400, 445500,   408300,   367500,   216200,   432400,
3037 		  0x441},
3038 	  /*     726 MCS-02 */ { HE160_LDPC_ONLY_MASKS,
3039 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3040 		  648500, 668200,   612500,   551300,        0,   648500,
3041 		  0x442},
3042 	  /*     727 MCS-03 */ { HE160_LDPC_ONLY_MASKS,
3043 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3044 		  864700, 890900,   816700,   735000,   432400,   864700,
3045 		  0x443},
3046 	  /*     728 MCS-04 */ { HE160_LDPC_ONLY_MASKS,
3047 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3048 		  1297100, 1336400,  1225000,  1102500,   648500,  1297100,
3049 		  0x444},
3050 	  /*     729 MCS-05 */ { HE160_LDPC_ONLY_MASKS,
3051 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3052 		  1729400, 1781800,  1633300,  1470000,        0,  1729400,
3053 		  0x445},
3054 	  /*     730 MCS-06 */ { HE160_LDPC_ONLY_MASKS,
3055 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3056 		  1945600, 2004500,  1837500,  1653800,        0,  1945600,
3057 		  0x446},
3058 	  /*     731 MCS-07 */ { HE160_LDPC_ONLY_MASKS,
3059 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3060 		  2161800, 2227300,  2041700,  1837500,        0,  2161800,
3061 		  0x447},
3062 	  /*     732 MCS-08 */ { HE160_LDPC_ONLY_MASKS,
3063 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3064 		  2594100, 2672700,  2450000,  2205000,        0,  2594100,
3065 		  0x448},
3066 	  /*     733 MCS-09 */ { HE160_LDPC_ONLY_MASKS,
3067 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3068 		  2882400, 2969700,  2722200,  2450000,        0,  2882400,
3069 		  0x449},
3070 	  /*     734 MCS-10 */ { HE160_LDPC_ONLY_MASKS,
3071 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3072 		  3242600, 3340900,  3062500,  2756300,        0,  3242600,
3073 		  0x44a},
3074 	  /*     735 MCS-11 */ { HE160_LDPC_ONLY_MASKS,
3075 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3076 		  3602900, 3712100,  3402800,  3062500,        0,  3602900,
3077 		  0x44b},
3078 
3079 	  /* When maximum spatial streams supported at 160MHZ > 3
3080 	   * use below rates
3081 	   */
3082 	  /*     736 MCS-00 */ { HE160_LDPC_ONLY_MASKS,
3083 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3084 		  288200, 297000,   272200,   245000,   144100,   288200,
3085 		  0x460},
3086 	  /*     737 MCS-01 */ { HE160_LDPC_ONLY_MASKS,
3087 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3088 		  576500, 593900,   544400,   490000,   288200,   576500,
3089 		  0x461},
3090 	  /*     738 MCS-02 */ { HE160_LDPC_ONLY_MASKS,
3091 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3092 		  864700, 890900,   816700,   735000,        0,   864700,
3093 		  0x462},
3094 	  /*     739 MCS-03 */ { HE160_LDPC_ONLY_MASKS,
3095 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3096 		  1152900, 1187900,  1088900,   980000,   576500,  1152900,
3097 		  0x463},
3098 	  /*     740 MCS-04 */ { HE160_LDPC_ONLY_MASKS,
3099 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3100 		  1729400, 1781800,  1633300,  1470000,   864700,  1729400,
3101 		  0x464},
3102 	  /*     741 MCS-05 */ { HE160_LDPC_ONLY_MASKS,
3103 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3104 		  2305900, 2375800,  2177800,  1960000,        0,  2305900,
3105 		  0x465},
3106 	  /*     742 MCS-06 */ { HE160_LDPC_ONLY_MASKS,
3107 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3108 		  2594100, 2672700,  2450000,  2205000,        0,  2594100,
3109 		  0x466},
3110 	  /*     743 MCS-07 */ { HE160_LDPC_ONLY_MASKS,
3111 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3112 		  2882400, 2969700,  2722200,  2450000,        0,  2882400,
3113 		  0x467},
3114 	  /*     744 MCS-08 */ { HE160_LDPC_ONLY_MASKS,
3115 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3116 		  3458800, 3563600,  3266700,  2940000,        0,  3458800,
3117 		  0x468},
3118 	  /*     745 MCS-09 */ { HE160_LDPC_ONLY_MASKS,
3119 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3120 		  3843100, 3959600,  3629600,  3266700,        0,  3843100,
3121 		  0x469},
3122 	  /*     746 MCS-10 */ { HE160_LDPC_ONLY_MASKS,
3123 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3124 		  4323500, 4454500,  4083300,  3675000,        0,  4323500,
3125 		  0x46a},
3126 	  /*     747 MCS-11 */ { HE160_LDPC_ONLY_MASKS,
3127 		  DP_CMN_MOD_IEEE80211_T_HE_160,
3128 		  4803900, 4949500,  4537000,  4083300,        0,  4803900,
3129 		  0x46b}
3130 	},
3131 };
3132 
3133 static const uint16_t _rc_idx[DP_CMN_MOD_IEEE80211_T_MAX_PHY] = {
3134 	CCK_RATE_TABLE_INDEX,
3135 	OFDM_RATE_TABLE_INDEX,
3136 	HT_20_RATE_TABLE_INDEX,
3137 	HT_40_RATE_TABLE_INDEX,
3138 	VHT_20_RATE_TABLE_INDEX,
3139 	VHT_40_RATE_TABLE_INDEX,
3140 	VHT_80_RATE_TABLE_INDEX,
3141 	VHT_160_RATE_TABLE_INDEX,
3142 	HE_20_RATE_TABLE_INDEX,
3143 	HE_40_RATE_TABLE_INDEX,
3144 	HE_80_RATE_TABLE_INDEX,
3145 	HE_160_RATE_TABLE_INDEX,
3146 };
3147 
3148 /*
3149  * dp_getmodulation - return rate modulation given code spatial width
3150  * @pream_type - preamble type
3151  * @width - bandwidth
3152  *
3153  * return - modulation type
3154  */
3155 enum DP_CMN_MODULATION_TYPE dp_getmodulation(
3156 		uint16_t pream_type,
3157 		uint8_t width)
3158 {
3159 	static const enum DP_CMN_MODULATION_TYPE _vht_bw_mod[] = {
3160 		DP_CMN_MOD_IEEE80211_T_VHT_20,
3161 		DP_CMN_MOD_IEEE80211_T_VHT_40,
3162 		DP_CMN_MOD_IEEE80211_T_VHT_80,
3163 		DP_CMN_MOD_IEEE80211_T_VHT_160
3164 	};
3165 
3166 	static const enum DP_CMN_MODULATION_TYPE _he_bw_mod[] = {
3167 		DP_CMN_MOD_IEEE80211_T_HE_20,
3168 		DP_CMN_MOD_IEEE80211_T_HE_40,
3169 		DP_CMN_MOD_IEEE80211_T_HE_80,
3170 		DP_CMN_MOD_IEEE80211_T_HE_160
3171 	};
3172 
3173 	enum DP_CMN_MODULATION_TYPE modulation;
3174 
3175 	CMN_DP_ASSERT(width < CMN_BW_CNT);
3176 
3177 	switch (pream_type) {
3178 	case DP_CMN_RATECODE_PREAM_HT:
3179 		if (width)
3180 			modulation = DP_CMN_MOD_IEEE80211_T_HT_40;
3181 		else
3182 			modulation = DP_CMN_MOD_IEEE80211_T_HT_20;
3183 		break;
3184 
3185 	case DP_CMN_RATECODE_PREAM_CCK:
3186 		modulation = DP_CMN_MOD_IEEE80211_T_CCK;
3187 		break;
3188 
3189 	case DP_CMN_RATECODE_PREAM_VHT:
3190 		modulation = _vht_bw_mod[width];
3191 		break;
3192 
3193 	case DP_CMN_RATECODE_PREAM_HE:
3194 		modulation = _he_bw_mod[width];
3195 		break;
3196 
3197 	default:
3198 		modulation = DP_CMN_MOD_IEEE80211_T_OFDM;
3199 		break;
3200 	}
3201 
3202 	return modulation;
3203 }
3204 
3205 /* dp_getrateindex - calculate ratekbps
3206  * @mcs - MCS index
3207  * @nss - NSS 1...8
3208  * preamble - preamble
3209  * @bw - Transmission Bandwidth
3210  *
3211  * return - rate in kbps
3212  */
3213 uint32_t
3214 dp_getrateindex(uint16_t mcs, uint8_t nss, uint8_t preamble, uint8_t bw)
3215 {
3216 	uint32_t ratekbps = 0, res = RT_INVALID_INDEX; /* represents failure */
3217 	uint16_t rc;
3218 	enum DP_CMN_MODULATION_TYPE mod;
3219 
3220 	mod = dp_getmodulation(preamble, bw);
3221 	rc = mcs;
3222 
3223 	/* get the base of corresponding rate table  entry */
3224 	res = _rc_idx[mod];
3225 
3226 	switch (preamble) {
3227 	case DP_CMN_RATECODE_PREAM_HE:
3228 		res += rc + nss * NUM_HE_MCS;
3229 		break;
3230 
3231 	case DP_CMN_RATECODE_PREAM_VHT:
3232 		res += rc + nss * NUM_VHT_MCS;
3233 		break;
3234 
3235 	case DP_CMN_RATECODE_PREAM_HT:
3236 		res += rc + nss * NUM_HT_MCS;
3237 		break;
3238 
3239 	case DP_CMN_RATECODE_PREAM_CCK:
3240 		rc  &= ~HW_RATECODE_CCK_SHORT_PREAM_MASK;
3241 		res += rc;
3242 		break;
3243 
3244 	case DP_CMN_RATECODE_PREAM_OFDM:
3245 		res += rc;
3246 		break;
3247 
3248 	default:
3249 		break;
3250 	}
3251 	if (res >= DP_RATE_TABLE_SIZE)
3252 		return ratekbps;
3253 
3254 	ratekbps = dp_11abgnratetable.info[res].userratekbps;
3255 
3256 	return ratekbps;
3257 }
3258 
3259 qdf_export_symbol(dp_getrateindex);
3260 
3261 /* dp_rate_idx_to_kbps - get rate kbps from index
3262  * @rate_idx - rate index
3263  * @gintval - guard interval
3264  *
3265  * return - rate index in kbps with help of ratetable
3266  */
3267 int dp_rate_idx_to_kbps(uint8_t rate_idx, uint8_t gintval)
3268 {
3269 	if (rate_idx >= DP_RATE_TABLE_SIZE)
3270 		return 0;
3271 
3272 	if (!gintval)
3273 		return RT_GET_RAW_KBPS(&dp_11abgnratetable, rate_idx);
3274 	else
3275 		return RT_GET_SGI_KBPS(&dp_11abgnratetable, rate_idx);
3276 	return 0;
3277 }
3278 
3279 qdf_export_symbol(dp_rate_idx_to_kbps);
3280