xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_ht_caps.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
5*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
6*5113495bSYour Name  * above copyright notice and this permission notice appear in all
7*5113495bSYour Name  * copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
17*5113495bSYour Name  */
18*5113495bSYour Name 
19*5113495bSYour Name /**
20*5113495bSYour Name  * DOC: This file contains centralized definitions of converged configuration.
21*5113495bSYour Name  */
22*5113495bSYour Name 
23*5113495bSYour Name #ifndef __CFG_MLME_HT_CAPS_H
24*5113495bSYour Name #define __CFG_MLME_HT_CAPS_H
25*5113495bSYour Name 
26*5113495bSYour Name /*
27*5113495bSYour Name  * <ini>
28*5113495bSYour Name  * gTxLdpcEnable - Config Param to enable Tx LDPC capability
29*5113495bSYour Name  * @Min: 0
30*5113495bSYour Name  * @Max: 3
31*5113495bSYour Name  * @Default: 3
32*5113495bSYour Name  *
33*5113495bSYour Name  * This ini is used to enable/disable Tx LDPC capability
34*5113495bSYour Name  * 0 - disable
35*5113495bSYour Name  * 1 - HT LDPC enable
36*5113495bSYour Name  * 2 - VHT LDPC enable
37*5113495bSYour Name  * 3 - HT & VHT LDPC enable
38*5113495bSYour Name  *
39*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
40*5113495bSYour Name  *
41*5113495bSYour Name  * Supported Feature: Concurrency/Standalone
42*5113495bSYour Name  *
43*5113495bSYour Name  * Usage: External
44*5113495bSYour Name  *
45*5113495bSYour Name  * </ini>
46*5113495bSYour Name  */
47*5113495bSYour Name #define CFG_TX_LDPC_ENABLE CFG_INI_UINT( \
48*5113495bSYour Name 		"gTxLdpcEnable", \
49*5113495bSYour Name 		0, \
50*5113495bSYour Name 		3, \
51*5113495bSYour Name 		3, \
52*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
53*5113495bSYour Name 		"Tx LDPC capability")
54*5113495bSYour Name 
55*5113495bSYour Name /*
56*5113495bSYour Name  * <ini>
57*5113495bSYour Name  * gEnableRXLDPC - Config Param to enable Rx LDPC capability
58*5113495bSYour Name  * @Min: 0
59*5113495bSYour Name  * @Max: 1
60*5113495bSYour Name  * @Default: 1
61*5113495bSYour Name  *
62*5113495bSYour Name  * This ini is used to enable/disable Rx LDPC capability
63*5113495bSYour Name  * 0 - disable Rx LDPC
64*5113495bSYour Name  * 1 - enable Rx LDPC
65*5113495bSYour Name  *
66*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
67*5113495bSYour Name  *
68*5113495bSYour Name  * Supported Feature: Concurrency/Standalone
69*5113495bSYour Name  *
70*5113495bSYour Name  * Usage: External
71*5113495bSYour Name  *
72*5113495bSYour Name  * </ini>
73*5113495bSYour Name  */
74*5113495bSYour Name #define CFG_RX_LDPC_ENABLE CFG_INI_BOOL( \
75*5113495bSYour Name 		"gEnableRXLDPC", \
76*5113495bSYour Name 		1, \
77*5113495bSYour Name 		"Rx LDPC capability")
78*5113495bSYour Name 
79*5113495bSYour Name /*
80*5113495bSYour Name  * <ini>
81*5113495bSYour Name  * gEnableTXSTBC - Enables/disables Tx STBC capability in STA mode
82*5113495bSYour Name  * @Min: 0
83*5113495bSYour Name  * @Max: 1
84*5113495bSYour Name  * @Default: 1
85*5113495bSYour Name  *
86*5113495bSYour Name  * This ini is used to set default Tx STBC capability
87*5113495bSYour Name  *
88*5113495bSYour Name  * Related: None
89*5113495bSYour Name  *
90*5113495bSYour Name  * Supported Feature: STA
91*5113495bSYour Name  *
92*5113495bSYour Name  * Usage: External
93*5113495bSYour Name  *
94*5113495bSYour Name  * </ini>
95*5113495bSYour Name  */
96*5113495bSYour Name #define CFG_TX_STBC_ENABLE CFG_INI_BOOL( \
97*5113495bSYour Name 		"gEnableTXSTBC", \
98*5113495bSYour Name 		1, \
99*5113495bSYour Name 		"Tx STBC capability")
100*5113495bSYour Name 
101*5113495bSYour Name /*
102*5113495bSYour Name  * <ini>
103*5113495bSYour Name  * gEnableRXSTBC - Enables/disables Rx STBC capability in STA mode
104*5113495bSYour Name  * @Min: 0
105*5113495bSYour Name  * @Max: 1
106*5113495bSYour Name  * @Default: 1
107*5113495bSYour Name  *
108*5113495bSYour Name  * This ini is used to set default Rx STBC capability
109*5113495bSYour Name  *
110*5113495bSYour Name  * Related: None
111*5113495bSYour Name  *
112*5113495bSYour Name  * Supported Feature: STA
113*5113495bSYour Name  *
114*5113495bSYour Name  * Usage: External
115*5113495bSYour Name  *
116*5113495bSYour Name  * </ini>
117*5113495bSYour Name  */
118*5113495bSYour Name #define CFG_RX_STBC_ENABLE CFG_INI_BOOL( \
119*5113495bSYour Name 		"gEnableRXSTBC", \
120*5113495bSYour Name 		1, \
121*5113495bSYour Name 		"Rx STBC capability")
122*5113495bSYour Name 
123*5113495bSYour Name /*
124*5113495bSYour Name  * <ini>
125*5113495bSYour Name  * gShortGI20Mhz - Short Guard Interval for HT20
126*5113495bSYour Name  * @Min: 0
127*5113495bSYour Name  * @Max: 1
128*5113495bSYour Name  * @Default: 1
129*5113495bSYour Name  *
130*5113495bSYour Name  * This ini is used to set default short interval for HT20
131*5113495bSYour Name  *
132*5113495bSYour Name  * Related: None
133*5113495bSYour Name  *
134*5113495bSYour Name  * Supported Feature: STA
135*5113495bSYour Name  *
136*5113495bSYour Name  * Usage: External
137*5113495bSYour Name  *
138*5113495bSYour Name  * </ini>
139*5113495bSYour Name  */
140*5113495bSYour Name #define CFG_SHORT_GI_20MHZ CFG_INI_BOOL( \
141*5113495bSYour Name 		"gShortGI20Mhz", \
142*5113495bSYour Name 		1, \
143*5113495bSYour Name 		"Short Guard Interval for HT20")
144*5113495bSYour Name 
145*5113495bSYour Name /*
146*5113495bSYour Name  * <ini>
147*5113495bSYour Name  * gShortGI40Mhz - It will check gShortGI20Mhz and
148*5113495bSYour Name  * gShortGI40Mhz from session entry
149*5113495bSYour Name  * @Min: 0
150*5113495bSYour Name  * @Max: 1
151*5113495bSYour Name  * @Default: 1
152*5113495bSYour Name  *
153*5113495bSYour Name  * This ini is used to set default gShortGI40Mhz
154*5113495bSYour Name  *
155*5113495bSYour Name  * Related: None
156*5113495bSYour Name  *
157*5113495bSYour Name  * Supported Feature: STA
158*5113495bSYour Name  *
159*5113495bSYour Name  * Usage: External
160*5113495bSYour Name  *
161*5113495bSYour Name  * </ini>
162*5113495bSYour Name  */
163*5113495bSYour Name #define CFG_SHORT_GI_40MHZ CFG_INI_BOOL( \
164*5113495bSYour Name 		"gShortGI40Mhz", \
165*5113495bSYour Name 		1, \
166*5113495bSYour Name 		"Short Guard Interval for HT40")
167*5113495bSYour Name 
168*5113495bSYour Name #define CFG_HT_CAP_INFO CFG_UINT( \
169*5113495bSYour Name 		"ht_cap_info", \
170*5113495bSYour Name 		0, \
171*5113495bSYour Name 		65535, \
172*5113495bSYour Name 		364, \
173*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
174*5113495bSYour Name 		"HT cap info")
175*5113495bSYour Name 
176*5113495bSYour Name /*
177*5113495bSYour Name  * <ini>
178*5113495bSYour Name  * gShortPreamble - Set Short Preamble
179*5113495bSYour Name  * @Min: 0
180*5113495bSYour Name  * @Max: 1
181*5113495bSYour Name  * @Default: 1
182*5113495bSYour Name  *
183*5113495bSYour Name  * This ini is used to set default short Preamble
184*5113495bSYour Name  *
185*5113495bSYour Name  * Related: None
186*5113495bSYour Name  *
187*5113495bSYour Name  * Supported Feature: STA
188*5113495bSYour Name  *
189*5113495bSYour Name  * Usage: External
190*5113495bSYour Name  *
191*5113495bSYour Name  * </ini>
192*5113495bSYour Name  */
193*5113495bSYour Name #define CFG_SHORT_PREAMBLE CFG_INI_BOOL( \
194*5113495bSYour Name 		"gShortPreamble", \
195*5113495bSYour Name 		1, \
196*5113495bSYour Name 		"Short Preamble")
197*5113495bSYour Name 
198*5113495bSYour Name #define CFG_HT_AMPDU_PARAMS CFG_UINT( \
199*5113495bSYour Name 		"ht_ampdu_params", \
200*5113495bSYour Name 		0, \
201*5113495bSYour Name 		255, \
202*5113495bSYour Name 		0, \
203*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
204*5113495bSYour Name 		"HT AMPDU Params")
205*5113495bSYour Name 
206*5113495bSYour Name #define CFG_EXT_HT_CAP_INFO CFG_UINT( \
207*5113495bSYour Name 		"ext_ht_cap_info", \
208*5113495bSYour Name 		0, \
209*5113495bSYour Name 		65535, \
210*5113495bSYour Name 		1024, \
211*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
212*5113495bSYour Name 		"HT Ext Cap Info")
213*5113495bSYour Name 
214*5113495bSYour Name #define CFG_HT_INFO_FIELD_1 CFG_UINT( \
215*5113495bSYour Name 		"ht_info_field_1", \
216*5113495bSYour Name 		0, \
217*5113495bSYour Name 		255, \
218*5113495bSYour Name 		15, \
219*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
220*5113495bSYour Name 		"HT Info Field 1")
221*5113495bSYour Name 
222*5113495bSYour Name #define CFG_HT_INFO_FIELD_2 CFG_UINT( \
223*5113495bSYour Name 		"ht_info_field_2", \
224*5113495bSYour Name 		0, \
225*5113495bSYour Name 		65535, \
226*5113495bSYour Name 		0, \
227*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
228*5113495bSYour Name 		"HT Info Field 2")
229*5113495bSYour Name 
230*5113495bSYour Name #define CFG_HT_INFO_FIELD_3 CFG_UINT( \
231*5113495bSYour Name 		"ht_info_field_3", \
232*5113495bSYour Name 		0, \
233*5113495bSYour Name 		65535, \
234*5113495bSYour Name 		0, \
235*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
236*5113495bSYour Name 		"HT Info Field 3")
237*5113495bSYour Name 
238*5113495bSYour Name /*
239*5113495bSYour Name  * <ini>
240*5113495bSYour Name  * gEnableHtSMPS - Enable the SM Power Save
241*5113495bSYour Name  * @Min: 0
242*5113495bSYour Name  * @Max: 1
243*5113495bSYour Name  * @Default: 0
244*5113495bSYour Name  *
245*5113495bSYour Name  * This ini is used to enable SM Power Save
246*5113495bSYour Name  *
247*5113495bSYour Name  * Related: None
248*5113495bSYour Name  *
249*5113495bSYour Name  * Supported Feature: STA
250*5113495bSYour Name  *
251*5113495bSYour Name  * Usage: External
252*5113495bSYour Name  *
253*5113495bSYour Name  * </ini>
254*5113495bSYour Name  */
255*5113495bSYour Name #define CFG_ENABLE_HT_SMPS CFG_INI_BOOL( \
256*5113495bSYour Name 	"gEnableHtSMPS", \
257*5113495bSYour Name 	0, \
258*5113495bSYour Name 	"Enable HT SM PowerSave")
259*5113495bSYour Name 
260*5113495bSYour Name /*
261*5113495bSYour Name  * <ini>
262*5113495bSYour Name  * gHtSMPS - SMPS Mode
263*5113495bSYour Name  * @Min: 0
264*5113495bSYour Name  * @Max: 3
265*5113495bSYour Name  * @Default: 3
266*5113495bSYour Name  *
267*5113495bSYour Name  * This ini is used to set default SM Power Save Antenna mode
268*5113495bSYour Name  * 0 - Static
269*5113495bSYour Name  * 1 - Dynamic
270*5113495bSYour Name  * 2 - Reserved/Invalid
271*5113495bSYour Name  * 3 - Disabled
272*5113495bSYour Name  *
273*5113495bSYour Name  * Related: None
274*5113495bSYour Name  *
275*5113495bSYour Name  * Supported Feature: STA
276*5113495bSYour Name  *
277*5113495bSYour Name  * Usage: External
278*5113495bSYour Name  *
279*5113495bSYour Name  * </ini>
280*5113495bSYour Name  */
281*5113495bSYour Name #define CFG_HT_SMPS_MODE CFG_INI_UINT( \
282*5113495bSYour Name 	"gHtSMPS", \
283*5113495bSYour Name 	0, \
284*5113495bSYour Name 	3, \
285*5113495bSYour Name 	3, \
286*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
287*5113495bSYour Name 	"HT SM Power Save Config")
288*5113495bSYour Name 
289*5113495bSYour Name /*
290*5113495bSYour Name  * <ini>
291*5113495bSYour Name  * gMaxAmsduNum - Max number of MSDU's in aggregate
292*5113495bSYour Name  * @Min: 0
293*5113495bSYour Name  * @Max: 15
294*5113495bSYour Name  * @Default: 0
295*5113495bSYour Name  *
296*5113495bSYour Name  * gMaxAmsduNum is the number of MSDU's transmitted in the aggregated
297*5113495bSYour Name  * frame. Setting it to a value larger than 1 enables transmit aggregation.
298*5113495bSYour Name  * Set the value to 0 to enable FW automode selection where it decides
299*5113495bSYour Name  * the maximum number of MSDUs in AMSDU based on connection mode.
300*5113495bSYour Name  *
301*5113495bSYour Name  * It is a PHY parameter that applies to all vdev's in firmware.
302*5113495bSYour Name  *
303*5113495bSYour Name  * Supported Feature: 11n aggregation
304*5113495bSYour Name  *
305*5113495bSYour Name  * Usage: Internal
306*5113495bSYour Name  *
307*5113495bSYour Name  * </ini>
308*5113495bSYour Name  */
309*5113495bSYour Name #define CFG_MAX_AMSDU_NUM CFG_INI_UINT( \
310*5113495bSYour Name 	"gMaxAmsduNum", \
311*5113495bSYour Name 	0, \
312*5113495bSYour Name 	15, \
313*5113495bSYour Name 	0, \
314*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
315*5113495bSYour Name 	"Max AMSDU Number")
316*5113495bSYour Name 
317*5113495bSYour Name /*
318*5113495bSYour Name  * <ini>
319*5113495bSYour Name  * gMaxRxAmpduFactor - Provide the maximum ampdu factor.
320*5113495bSYour Name  * @Min: 0
321*5113495bSYour Name  * @Max: 3
322*5113495bSYour Name  * @Default: 3
323*5113495bSYour Name  *
324*5113495bSYour Name  * This ini is used to set default maxampdu factor
325*5113495bSYour Name  *
326*5113495bSYour Name  * Related: None
327*5113495bSYour Name  *
328*5113495bSYour Name  * Supported Feature: STA
329*5113495bSYour Name  *
330*5113495bSYour Name  * Usage: External
331*5113495bSYour Name  *
332*5113495bSYour Name  * </ini>
333*5113495bSYour Name  */
334*5113495bSYour Name #define CFG_MAX_RX_AMPDU_FACTOR CFG_INI_UINT( \
335*5113495bSYour Name 	"gMaxRxAmpduFactor", \
336*5113495bSYour Name 	0, \
337*5113495bSYour Name 	3, \
338*5113495bSYour Name 	3, \
339*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
340*5113495bSYour Name 	"Max Rx AMPDU Factor")
341*5113495bSYour Name 
342*5113495bSYour Name /*
343*5113495bSYour Name  * <ini>
344*5113495bSYour Name  * ght_mpdu_density - Configuration option for HT MPDU density
345*5113495bSYour Name  * @Min: 0
346*5113495bSYour Name  * @Max: 7
347*5113495bSYour Name  * @Default: 4
348*5113495bSYour Name  *
349*5113495bSYour Name  * This ini is used to set default MPDU Density
350*5113495bSYour Name  *
351*5113495bSYour Name  * Related: None
352*5113495bSYour Name  *
353*5113495bSYour Name  * Supported Feature: STA
354*5113495bSYour Name  *
355*5113495bSYour Name  * Usage: External
356*5113495bSYour Name  *
357*5113495bSYour Name  * As per (Table 8-125 802.11-2012)
358*5113495bSYour Name  * 0 for no restriction
359*5113495bSYour Name  * 1 for 1/4 micro sec
360*5113495bSYour Name  * 2 for 1/2 micro sec
361*5113495bSYour Name  * 3 for 1 micro sec
362*5113495bSYour Name  * 4 for 2 micro sec
363*5113495bSYour Name  * 5 for 4 micro sec
364*5113495bSYour Name  * 6 for 8 micro sec
365*5113495bSYour Name  * 7 for 16 micro sec
366*5113495bSYour Name  *
367*5113495bSYour Name  * </ini>
368*5113495bSYour Name  */
369*5113495bSYour Name #define CFG_MPDU_DENSITY CFG_INI_UINT( \
370*5113495bSYour Name 	"ght_mpdu_density", \
371*5113495bSYour Name 	0, \
372*5113495bSYour Name 	7, \
373*5113495bSYour Name 	4, \
374*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
375*5113495bSYour Name 	"MPDU Density")
376*5113495bSYour Name 
377*5113495bSYour Name /*
378*5113495bSYour Name  * <ini>
379*5113495bSYour Name  * gShortSlotTimeEnabled - It will set slot timing slot.
380*5113495bSYour Name  * @Min: 0
381*5113495bSYour Name  * @Max: 1
382*5113495bSYour Name  * @Default: 1
383*5113495bSYour Name  *
384*5113495bSYour Name  * This ini is used to set default timing slot.
385*5113495bSYour Name  *
386*5113495bSYour Name  * Related: None
387*5113495bSYour Name  *
388*5113495bSYour Name  * Supported Feature: STA
389*5113495bSYour Name  *
390*5113495bSYour Name  * Usage: External
391*5113495bSYour Name  *
392*5113495bSYour Name  * </ini>
393*5113495bSYour Name  */
394*5113495bSYour Name #define CFG_SHORT_SLOT_TIME_ENABLED CFG_INI_BOOL( \
395*5113495bSYour Name 	"gShortSlotTimeEnabled", \
396*5113495bSYour Name 	1, \
397*5113495bSYour Name 	"Short Slot Time Enabled")
398*5113495bSYour Name 
399*5113495bSYour Name #define CFG_HT_CAPS_ALL \
400*5113495bSYour Name 	CFG(CFG_HT_CAP_INFO) \
401*5113495bSYour Name 	CFG(CFG_TX_LDPC_ENABLE) \
402*5113495bSYour Name 	CFG(CFG_RX_LDPC_ENABLE) \
403*5113495bSYour Name 	CFG(CFG_TX_STBC_ENABLE) \
404*5113495bSYour Name 	CFG(CFG_RX_STBC_ENABLE) \
405*5113495bSYour Name 	CFG(CFG_SHORT_GI_20MHZ) \
406*5113495bSYour Name 	CFG(CFG_SHORT_GI_40MHZ) \
407*5113495bSYour Name 	CFG(CFG_SHORT_PREAMBLE) \
408*5113495bSYour Name 	CFG(CFG_HT_AMPDU_PARAMS) \
409*5113495bSYour Name 	CFG(CFG_EXT_HT_CAP_INFO) \
410*5113495bSYour Name 	CFG(CFG_HT_INFO_FIELD_1) \
411*5113495bSYour Name 	CFG(CFG_HT_INFO_FIELD_2) \
412*5113495bSYour Name 	CFG(CFG_HT_INFO_FIELD_3) \
413*5113495bSYour Name 	CFG(CFG_ENABLE_HT_SMPS) \
414*5113495bSYour Name 	CFG(CFG_HT_SMPS_MODE) \
415*5113495bSYour Name 	CFG(CFG_MAX_AMSDU_NUM) \
416*5113495bSYour Name 	CFG(CFG_MAX_RX_AMPDU_FACTOR) \
417*5113495bSYour Name 	CFG(CFG_MPDU_DENSITY) \
418*5113495bSYour Name 	CFG(CFG_SHORT_SLOT_TIME_ENABLED)
419*5113495bSYour Name 
420*5113495bSYour Name #endif /* __CFG_MLME_HT_CAPS_H */
421