xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_qos.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name 
20*5113495bSYour Name /**
21*5113495bSYour Name  * DOC: This file contains centralized definitions of QOS related
22*5113495bSYour Name  * converged configurations.
23*5113495bSYour Name  */
24*5113495bSYour Name 
25*5113495bSYour Name #ifndef __CFG_MLME_QOS_H
26*5113495bSYour Name #define __CFG_MLME_QOS_H
27*5113495bSYour Name 
28*5113495bSYour Name #define ADDBA_TXAGGR_SIZE 256
29*5113495bSYour Name 
30*5113495bSYour Name /*
31*5113495bSYour Name  * <ini>
32*5113495bSYour Name  * gTxAggregationSize - Gives an option to configure Tx aggregation size
33*5113495bSYour Name  * in no of MPDUs
34*5113495bSYour Name  * @Min: 0
35*5113495bSYour Name  * @Max: ADDBA_TXAGGR_SIZE
36*5113495bSYour Name  * @Default: ADDBA_TXAGGR_SIZE
37*5113495bSYour Name  *
38*5113495bSYour Name  * gTxAggregationSize gives an option to configure Tx aggregation size
39*5113495bSYour Name  * in no of MPDUs.This can be useful in debugging throughput issues
40*5113495bSYour Name  *
41*5113495bSYour Name  * Related: None
42*5113495bSYour Name  *
43*5113495bSYour Name  * Supported Feature: STA
44*5113495bSYour Name  *
45*5113495bSYour Name  * Usage: External
46*5113495bSYour Name  *
47*5113495bSYour Name  * </ini>
48*5113495bSYour Name  */
49*5113495bSYour Name #define CFG_TX_AGGREGATION_SIZE CFG_INI_UINT( \
50*5113495bSYour Name 			"gTxAggregationSize", \
51*5113495bSYour Name 			0, \
52*5113495bSYour Name 			ADDBA_TXAGGR_SIZE, \
53*5113495bSYour Name 			ADDBA_TXAGGR_SIZE, \
54*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
55*5113495bSYour Name 			"Tx Aggregation size value")
56*5113495bSYour Name 
57*5113495bSYour Name /*
58*5113495bSYour Name  * <ini>
59*5113495bSYour Name  * gTxAggregationSizeBE - To configure Tx aggregation size for BE queue
60*5113495bSYour Name  * in no of MPDUs
61*5113495bSYour Name  * @Min: 0
62*5113495bSYour Name  * @Max: ADDBA_TXAGGR_SIZE
63*5113495bSYour Name  * @Default: 0
64*5113495bSYour Name  *
65*5113495bSYour Name  * gTxAggregationSizeBE gives an option to configure Tx aggregation size
66*5113495bSYour Name  * for BE queue in no of MPDUs.This can be useful in debugging
67*5113495bSYour Name  * throughput issues
68*5113495bSYour Name  *
69*5113495bSYour Name  * Related: None
70*5113495bSYour Name  *
71*5113495bSYour Name  * Supported Feature: STA
72*5113495bSYour Name  *
73*5113495bSYour Name  * Usage: Internal
74*5113495bSYour Name  *
75*5113495bSYour Name  * </ini>
76*5113495bSYour Name  */
77*5113495bSYour Name #define CFG_TX_AGGREGATION_SIZEBE CFG_INI_UINT( \
78*5113495bSYour Name 			"gTxAggregationSizeBE", \
79*5113495bSYour Name 			0, \
80*5113495bSYour Name 			ADDBA_TXAGGR_SIZE, \
81*5113495bSYour Name 			0, \
82*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
83*5113495bSYour Name 			"Tx Aggregation size value BE")
84*5113495bSYour Name 
85*5113495bSYour Name /*
86*5113495bSYour Name  * <ini>
87*5113495bSYour Name  * gTxAggregationSizeBK - To configure Tx aggregation size for BK queue
88*5113495bSYour Name  * in no of MPDUs
89*5113495bSYour Name  * @Min: 0
90*5113495bSYour Name  * @Max: ADDBA_TXAGGR_SIZE
91*5113495bSYour Name  * @Default: 0
92*5113495bSYour Name  *
93*5113495bSYour Name  * gTxAggregationSizeBK gives an option to configure Tx aggregation size
94*5113495bSYour Name  * for BK queue in no of MPDUs.This can be useful in debugging
95*5113495bSYour Name  * throughput issues
96*5113495bSYour Name  *
97*5113495bSYour Name  * Related: None
98*5113495bSYour Name  *
99*5113495bSYour Name  * Supported Feature: STA
100*5113495bSYour Name  *
101*5113495bSYour Name  * Usage: Internal
102*5113495bSYour Name  *
103*5113495bSYour Name  * </ini>
104*5113495bSYour Name  */
105*5113495bSYour Name #define CFG_TX_AGGREGATION_SIZEBK CFG_INI_UINT( \
106*5113495bSYour Name 			"gTxAggregationSizeBK", \
107*5113495bSYour Name 			0, \
108*5113495bSYour Name 			ADDBA_TXAGGR_SIZE, \
109*5113495bSYour Name 			0, \
110*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
111*5113495bSYour Name 			"Tx Aggregation size value BK")
112*5113495bSYour Name 
113*5113495bSYour Name /*
114*5113495bSYour Name  * <ini>
115*5113495bSYour Name  * gTxAggregationSizeVI - To configure Tx aggregation size for VI queue
116*5113495bSYour Name  * in no of MPDUs
117*5113495bSYour Name  * @Min: 0
118*5113495bSYour Name  * @Max: ADDBA_TXAGGR_SIZE
119*5113495bSYour Name  * @Default: 0
120*5113495bSYour Name  *
121*5113495bSYour Name  * gTxAggregationSizeVI gives an option to configure Tx aggregation size
122*5113495bSYour Name  * for VI queue in no of MPDUs.This can be useful in debugging
123*5113495bSYour Name  * throughput issues
124*5113495bSYour Name  *
125*5113495bSYour Name  * Related: None
126*5113495bSYour Name  *
127*5113495bSYour Name  * Supported Feature: STA
128*5113495bSYour Name  *
129*5113495bSYour Name  * Usage: Internal
130*5113495bSYour Name  *
131*5113495bSYour Name  * </ini>
132*5113495bSYour Name  */
133*5113495bSYour Name #define CFG_TX_AGGREGATION_SIZEVI CFG_INI_UINT( \
134*5113495bSYour Name 			"gTxAggregationSizeVI", \
135*5113495bSYour Name 			0, \
136*5113495bSYour Name 			ADDBA_TXAGGR_SIZE, \
137*5113495bSYour Name 			0, \
138*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
139*5113495bSYour Name 			"Tx Aggregation size value for VI")
140*5113495bSYour Name 
141*5113495bSYour Name /*
142*5113495bSYour Name  * <ini>
143*5113495bSYour Name  * gTxAggregationSizeVO - To configure Tx aggregation size for VO queue
144*5113495bSYour Name  * in no of MPDUs
145*5113495bSYour Name  * @Min: 0
146*5113495bSYour Name  * @Max: ADDBA_TXAGGR_SIZE
147*5113495bSYour Name  * @Default: 0
148*5113495bSYour Name  *
149*5113495bSYour Name  * gTxAggregationSizeVO gives an option to configure Tx aggregation size
150*5113495bSYour Name  * for BE queue in no of MPDUs.This can be useful in debugging
151*5113495bSYour Name  * throughput issues
152*5113495bSYour Name  *
153*5113495bSYour Name  * Related: None
154*5113495bSYour Name  *
155*5113495bSYour Name  * Supported Feature: STA
156*5113495bSYour Name  *
157*5113495bSYour Name  * Usage: Internal
158*5113495bSYour Name  *
159*5113495bSYour Name  * </ini>
160*5113495bSYour Name  */
161*5113495bSYour Name #define CFG_TX_AGGREGATION_SIZEVO CFG_INI_UINT( \
162*5113495bSYour Name 			"gTxAggregationSizeVO", \
163*5113495bSYour Name 			0, \
164*5113495bSYour Name 			ADDBA_TXAGGR_SIZE, \
165*5113495bSYour Name 			0, \
166*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
167*5113495bSYour Name 			"Tx Aggregation size value for VO")
168*5113495bSYour Name 
169*5113495bSYour Name /*
170*5113495bSYour Name  * <ini>
171*5113495bSYour Name  * gRxAggregationSize - Gives an option to configure Rx aggregation size
172*5113495bSYour Name  * in no of MPDUs
173*5113495bSYour Name  * @Min: 1
174*5113495bSYour Name  * @Max: 1024
175*5113495bSYour Name  * @Default: 256
176*5113495bSYour Name  *
177*5113495bSYour Name  * gRxAggregationSize gives an option to configure Rx aggregation size
178*5113495bSYour Name  * in no of MPDUs. This can be useful in debugging throughput issues
179*5113495bSYour Name  *
180*5113495bSYour Name  * Related: None
181*5113495bSYour Name  *
182*5113495bSYour Name  * Supported Feature: STA
183*5113495bSYour Name  *
184*5113495bSYour Name  * Usage: External
185*5113495bSYour Name  *
186*5113495bSYour Name  * </ini>
187*5113495bSYour Name  */
188*5113495bSYour Name #define CFG_RX_AGGREGATION_SIZE CFG_INI_UINT( \
189*5113495bSYour Name 			"gRxAggregationSize", \
190*5113495bSYour Name 			1, \
191*5113495bSYour Name 			1024, \
192*5113495bSYour Name 			256, \
193*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
194*5113495bSYour Name 			"Rx Aggregation size value")
195*5113495bSYour Name 
196*5113495bSYour Name /*
197*5113495bSYour Name  * <ini>
198*5113495bSYour Name  * gTxAggSwRetryBE - Configure Tx aggregation sw retry for BE
199*5113495bSYour Name  * @Min: 0
200*5113495bSYour Name  * @Max: 64
201*5113495bSYour Name  * @Default: 0
202*5113495bSYour Name  *
203*5113495bSYour Name  * gTxAggSwRetryBE gives an option to configure Tx aggregation sw
204*5113495bSYour Name  * retry for BE. This can be useful in debugging throughput issues.
205*5113495bSYour Name  *
206*5113495bSYour Name  * Related: None
207*5113495bSYour Name  *
208*5113495bSYour Name  * Supported Feature: STA
209*5113495bSYour Name  *
210*5113495bSYour Name  * Usage: Internal
211*5113495bSYour Name  *
212*5113495bSYour Name  * </ini>
213*5113495bSYour Name  */
214*5113495bSYour Name #define CFG_TX_AGGR_SW_RETRY_BE CFG_INI_UINT( \
215*5113495bSYour Name 			"gTxAggSwRetryBE", \
216*5113495bSYour Name 			0, \
217*5113495bSYour Name 			64, \
218*5113495bSYour Name 			0, \
219*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
220*5113495bSYour Name 			"Tx aggregation retry value for BE")
221*5113495bSYour Name 
222*5113495bSYour Name /*
223*5113495bSYour Name  * <ini>
224*5113495bSYour Name  * gTxAggSwRetryBK - Configure Tx aggregation sw retry for BK
225*5113495bSYour Name  * @Min: 0
226*5113495bSYour Name  * @Max: 64
227*5113495bSYour Name  * @Default: 0
228*5113495bSYour Name  *
229*5113495bSYour Name  * gTxAggSwRetryBK gives an option to configure Tx aggregation sw
230*5113495bSYour Name  * retry for BK. This can be useful in debugging throughput issues.
231*5113495bSYour Name  *
232*5113495bSYour Name  * Related: None
233*5113495bSYour Name  *
234*5113495bSYour Name  * Supported Feature: STA
235*5113495bSYour Name  *
236*5113495bSYour Name  * Usage: Internal
237*5113495bSYour Name  *
238*5113495bSYour Name  * </ini>
239*5113495bSYour Name  */
240*5113495bSYour Name #define CFG_TX_AGGR_SW_RETRY_BK CFG_INI_UINT( \
241*5113495bSYour Name 			"gTxAggSwRetryBK", \
242*5113495bSYour Name 			0, \
243*5113495bSYour Name 			64, \
244*5113495bSYour Name 			0, \
245*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
246*5113495bSYour Name 			"Tx aggregation retry value for BK")
247*5113495bSYour Name 
248*5113495bSYour Name /*
249*5113495bSYour Name  * <ini>
250*5113495bSYour Name  * gTxAggSwRetryVI - Configure Tx aggregation sw retry for VI
251*5113495bSYour Name  * @Min: 0
252*5113495bSYour Name  * @Max: 64
253*5113495bSYour Name  * @Default: 0
254*5113495bSYour Name  *
255*5113495bSYour Name  * gTxAggSwRetryVI gives an option to configure Tx aggregation sw
256*5113495bSYour Name  * retry for VI. This can be useful in debugging throughput issues.
257*5113495bSYour Name  *
258*5113495bSYour Name  * Related: None
259*5113495bSYour Name  *
260*5113495bSYour Name  * Supported Feature: STA
261*5113495bSYour Name  *
262*5113495bSYour Name  * Usage: Internal
263*5113495bSYour Name  *
264*5113495bSYour Name  * </ini>
265*5113495bSYour Name  */
266*5113495bSYour Name #define CFG_TX_AGGR_SW_RETRY_VI CFG_INI_UINT( \
267*5113495bSYour Name 			"gTxAggSwRetryVI", \
268*5113495bSYour Name 			0, \
269*5113495bSYour Name 			64, \
270*5113495bSYour Name 			0, \
271*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
272*5113495bSYour Name 			"Tx aggregation retry value for VI")
273*5113495bSYour Name 
274*5113495bSYour Name /*
275*5113495bSYour Name  * <ini>
276*5113495bSYour Name  * gTxAggSwRetryVO - Configure Tx aggregation sw retry for VO
277*5113495bSYour Name  * @Min: 0
278*5113495bSYour Name  * @Max: 64
279*5113495bSYour Name  * @Default: 0
280*5113495bSYour Name  *
281*5113495bSYour Name  * gTxAggSwRetryVO gives an option to configure Tx aggregation sw
282*5113495bSYour Name  * retry for VO. This can be useful in debugging throughput issues.
283*5113495bSYour Name  *
284*5113495bSYour Name  * Related: None
285*5113495bSYour Name  *
286*5113495bSYour Name  * Supported Feature: STA
287*5113495bSYour Name  *
288*5113495bSYour Name  * Usage: Internal
289*5113495bSYour Name  *
290*5113495bSYour Name  * </ini>
291*5113495bSYour Name  */
292*5113495bSYour Name #define CFG_TX_AGGR_SW_RETRY_VO CFG_INI_UINT( \
293*5113495bSYour Name 			"gTxAggSwRetryVO", \
294*5113495bSYour Name 			0, \
295*5113495bSYour Name 			64, \
296*5113495bSYour Name 			0, \
297*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
298*5113495bSYour Name 			"Tx aggregation retry value for VO")
299*5113495bSYour Name 
300*5113495bSYour Name /*
301*5113495bSYour Name  * <ini>
302*5113495bSYour Name  * gTxNonAggSwRetryBE - Configure Tx non aggregation sw retry for BE
303*5113495bSYour Name  * @Min: 0
304*5113495bSYour Name  * @Max: 64
305*5113495bSYour Name  * @Default: 0
306*5113495bSYour Name  *
307*5113495bSYour Name  * gTxNonAggSwRetryBE gives an option to configure Tx non aggregation sw
308*5113495bSYour Name  * retry for BE. This can be useful in debugging throughput issues.
309*5113495bSYour Name  *
310*5113495bSYour Name  * Related: None
311*5113495bSYour Name  *
312*5113495bSYour Name  * Supported Feature: STA
313*5113495bSYour Name  *
314*5113495bSYour Name  * Usage: Internal
315*5113495bSYour Name  *
316*5113495bSYour Name  * </ini>
317*5113495bSYour Name  */
318*5113495bSYour Name #define CFG_TX_NON_AGGR_SW_RETRY_BE CFG_INI_UINT( \
319*5113495bSYour Name 			"gTxNonAggSwRetryBE", \
320*5113495bSYour Name 			0, \
321*5113495bSYour Name 			64, \
322*5113495bSYour Name 			0, \
323*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
324*5113495bSYour Name 			"Tx non aggregation retry value for BE")
325*5113495bSYour Name 
326*5113495bSYour Name /*
327*5113495bSYour Name  * <ini>
328*5113495bSYour Name  * gTxNonAggSwRetryBK - Configure Tx non aggregation sw retry for BK
329*5113495bSYour Name  * @Min: 0
330*5113495bSYour Name  * @Max: 64
331*5113495bSYour Name  * @Default: 0
332*5113495bSYour Name  *
333*5113495bSYour Name  * gTxNonAggSwRetryBK gives an option to configure Tx non aggregation sw
334*5113495bSYour Name  * retry for BK. This can be useful in debugging throughput issues.
335*5113495bSYour Name  *
336*5113495bSYour Name  * Related: None
337*5113495bSYour Name  *
338*5113495bSYour Name  * Supported Feature: STA
339*5113495bSYour Name  *
340*5113495bSYour Name  * Usage: Internal
341*5113495bSYour Name  *
342*5113495bSYour Name  * </ini>
343*5113495bSYour Name  */
344*5113495bSYour Name #define CFG_TX_NON_AGGR_SW_RETRY_BK CFG_INI_UINT( \
345*5113495bSYour Name 			"gTxNonAggSwRetryBK", \
346*5113495bSYour Name 			0, \
347*5113495bSYour Name 			64, \
348*5113495bSYour Name 			0, \
349*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
350*5113495bSYour Name 			"Tx non aggregation retry value for BK")
351*5113495bSYour Name 
352*5113495bSYour Name /*
353*5113495bSYour Name  * <ini>
354*5113495bSYour Name  * gTxNonAggSwRetryVI - Configure Tx non aggregation sw retry for VI
355*5113495bSYour Name  * @Min: 0
356*5113495bSYour Name  * @Max: 64
357*5113495bSYour Name  * @Default: 0
358*5113495bSYour Name  *
359*5113495bSYour Name  * gTxNonAggSwRetryVI gives an option to configure Tx non aggregation sw
360*5113495bSYour Name  * retry for VI. This can be useful in debugging throughput issues.
361*5113495bSYour Name  *
362*5113495bSYour Name  * Related: None
363*5113495bSYour Name  *
364*5113495bSYour Name  * Supported Feature: STA
365*5113495bSYour Name  *
366*5113495bSYour Name  * Usage: Internal
367*5113495bSYour Name  *
368*5113495bSYour Name  * </ini>
369*5113495bSYour Name  */
370*5113495bSYour Name #define CFG_TX_NON_AGGR_SW_RETRY_VI CFG_INI_UINT( \
371*5113495bSYour Name 			"gTxNonAggSwRetryVI", \
372*5113495bSYour Name 			0, \
373*5113495bSYour Name 			64, \
374*5113495bSYour Name 			0, \
375*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
376*5113495bSYour Name 			"Tx non aggregation retry value for VI")
377*5113495bSYour Name 
378*5113495bSYour Name /*
379*5113495bSYour Name  * <ini>
380*5113495bSYour Name  * gTxNonAggSwRetryVO - Configure Tx non aggregation sw retry for VO
381*5113495bSYour Name  * @Min: 0
382*5113495bSYour Name  * @Max: 64
383*5113495bSYour Name  * @Default: 0
384*5113495bSYour Name  *
385*5113495bSYour Name  * gTxNonAggSwRetryVO gives an option to configure Tx non aggregation sw
386*5113495bSYour Name  * retry for VO. This can be useful in debugging throughput issues.
387*5113495bSYour Name  *
388*5113495bSYour Name  * Related: None
389*5113495bSYour Name  *
390*5113495bSYour Name  * Supported Feature: STA
391*5113495bSYour Name  *
392*5113495bSYour Name  * Usage: Internal
393*5113495bSYour Name  *
394*5113495bSYour Name  * </ini>
395*5113495bSYour Name  */
396*5113495bSYour Name #define CFG_TX_NON_AGGR_SW_RETRY_VO CFG_INI_UINT( \
397*5113495bSYour Name 			"gTxNonAggSwRetryVO", \
398*5113495bSYour Name 			0, \
399*5113495bSYour Name 			64, \
400*5113495bSYour Name 			0, \
401*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
402*5113495bSYour Name 			"Tx non aggregation retry value for VO")
403*5113495bSYour Name /*
404*5113495bSYour Name  * <ini>
405*5113495bSYour Name  * gTxAggSwRetry - Configure Tx aggregation sw retry
406*5113495bSYour Name  * @Min: 0
407*5113495bSYour Name  * @Max: 64
408*5113495bSYour Name  * @Default: 16
409*5113495bSYour Name  *
410*5113495bSYour Name  * gTxAggSwRetry gives an option to configure Tx aggregation sw
411*5113495bSYour Name  * retry. This can be useful in debugging throughput issues.
412*5113495bSYour Name  *
413*5113495bSYour Name  * Related: None
414*5113495bSYour Name  *
415*5113495bSYour Name  * Supported Feature: STA
416*5113495bSYour Name  *
417*5113495bSYour Name  * Usage: External
418*5113495bSYour Name  *
419*5113495bSYour Name  * </ini>
420*5113495bSYour Name  */
421*5113495bSYour Name #define CFG_TX_AGGR_SW_RETRY CFG_INI_UINT( \
422*5113495bSYour Name 			"gTxAggSwRetry", \
423*5113495bSYour Name 			0, \
424*5113495bSYour Name 			64, \
425*5113495bSYour Name 			16, \
426*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
427*5113495bSYour Name 			"Tx aggregation retry value")
428*5113495bSYour Name /*
429*5113495bSYour Name  * <ini>
430*5113495bSYour Name  * gTxNonAggSwRetry - Configure Tx non aggregation sw retry
431*5113495bSYour Name  * @Min: 0
432*5113495bSYour Name  * @Max: 64
433*5113495bSYour Name  * @Default: 16
434*5113495bSYour Name  *
435*5113495bSYour Name  * gTxNonAggSwRetry gives an option to configure Tx non aggregation sw
436*5113495bSYour Name  * retry. This can be useful in debugging throughput issues.
437*5113495bSYour Name  *
438*5113495bSYour Name  * Related: None
439*5113495bSYour Name  *
440*5113495bSYour Name  * Supported Feature: STA
441*5113495bSYour Name  *
442*5113495bSYour Name  * Usage: External
443*5113495bSYour Name  *
444*5113495bSYour Name  * </ini>
445*5113495bSYour Name  */
446*5113495bSYour Name #define CFG_TX_NON_AGGR_SW_RETRY CFG_INI_UINT( \
447*5113495bSYour Name 			"gTxNonAggSwRetry", \
448*5113495bSYour Name 			0, \
449*5113495bSYour Name 			64, \
450*5113495bSYour Name 			16, \
451*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
452*5113495bSYour Name 			"Tx non aggregation retry value")
453*5113495bSYour Name /*
454*5113495bSYour Name  * <ini>
455*5113495bSYour Name  * gSapMaxInactivityOverride - Configure
456*5113495bSYour Name  * @Min: 0
457*5113495bSYour Name  * @Max: 1
458*5113495bSYour Name  * @Default: 0
459*5113495bSYour Name  *
460*5113495bSYour Name  * This parameter will avoid updating ap_sta_inactivity from hostapd.conf
461*5113495bSYour Name  * file. If a station does not send anything in ap_max_inactivity seconds, an
462*5113495bSYour Name  * empty data frame is sent to it in order to verify whether it is
463*5113495bSYour Name  * still in range. If this frame is not ACKed, the station will be
464*5113495bSYour Name  * disassociated and then deauthenticated. This feature is used to
465*5113495bSYour Name  * clear station table of old entries when the STAs move out of the
466*5113495bSYour Name  * range.
467*5113495bSYour Name  *
468*5113495bSYour Name  * Related: None
469*5113495bSYour Name  *
470*5113495bSYour Name  * Supported Feature: SAP
471*5113495bSYour Name  *
472*5113495bSYour Name  * Usage: External
473*5113495bSYour Name  * </ini>
474*5113495bSYour Name  */
475*5113495bSYour Name #define CFG_SAP_MAX_INACTIVITY_OVERRIDE CFG_INI_BOOL( \
476*5113495bSYour Name 			"gSapMaxInactivityOverride", \
477*5113495bSYour Name 			0, \
478*5113495bSYour Name 			"SAP maximum inactivity override flag")
479*5113495bSYour Name 
480*5113495bSYour Name /*
481*5113495bSYour Name  * <ini>
482*5113495bSYour Name  * gEnableApUapsd - Enable/disable UAPSD for SoftAP
483*5113495bSYour Name  * @Min: 0
484*5113495bSYour Name  * @Max: 1
485*5113495bSYour Name  * @Default: 1
486*5113495bSYour Name  *
487*5113495bSYour Name  * This ini is used to setup setup U-APSD for Acs at association
488*5113495bSYour Name  *
489*5113495bSYour Name  * Related: None.
490*5113495bSYour Name  *
491*5113495bSYour Name  * Supported Feature: SAP
492*5113495bSYour Name  *
493*5113495bSYour Name  * Usage: External
494*5113495bSYour Name  *
495*5113495bSYour Name  * </ini>
496*5113495bSYour Name  */
497*5113495bSYour Name #define CFG_SAP_QOS_UAPSD CFG_INI_BOOL( \
498*5113495bSYour Name 			"gEnableApUapsd", \
499*5113495bSYour Name 			1, \
500*5113495bSYour Name 			"Enable UAPSD for SAP")
501*5113495bSYour Name 
502*5113495bSYour Name #define IOT_AGGR_INFO_MAX_LEN 500
503*5113495bSYour Name #define IOT_AGGR_INFO_MAX_NUM 32
504*5113495bSYour Name #define IOT_AGGR_MSDU_MAX_NUM 6
505*5113495bSYour Name #define IOT_AGGR_MPDU_MAX_NUM 512
506*5113495bSYour Name /*
507*5113495bSYour Name  * <ini>
508*5113495bSYour Name  * cfg_tx_iot_aggr - OUI based tx aggr size for msdu/mpdu
509*5113495bSYour Name  *
510*5113495bSYour Name  * This ini gives an option to configure Tx aggregation size
511*5113495bSYour Name  * in no. of MPDUs/MSDUs for specified OUI.
512*5113495bSYour Name  * This can be useful for IOT issues.
513*5113495bSYour Name  *
514*5113495bSYour Name  * Format of the configuration:
515*5113495bSYour Name  * cfg_tx_iot_aggr=<OUI-1>,<MSDU-1>,<MPDU-1>,<OUI-2>,<MSDU-2>,<MPDU-2>...
516*5113495bSYour Name  * MSDU: 0..IOT_AGGR_MSDU_MAX_NUM, the max tx aggregation size in no. of MSDUs,
517*5113495bSYour Name  *       0 means not specified.
518*5113495bSYour Name  * MPDU: 0..IOT_AGGR_MPDU_MAX_NUM, the max tx aggregation size in no. of MPDUs,
519*5113495bSYour Name  *       0 means not specified.
520*5113495bSYour Name  * Note: MSDU-x/MPDU-x are the max values, FW will take decision for actual
521*5113495bSYour Name  *   AMSDU/AMPDU size on different platforms.
522*5113495bSYour Name  *
523*5113495bSYour Name  * For example:
524*5113495bSYour Name  *   cfg_tx_iot_aggr=112233,2,0,445566,3,32,778899,0,64
525*5113495bSYour Name  *   If vendor OUI-1("\x11\x22\x33") is found in assoc resp,
526*5113495bSYour Name  *   set tx amsdu size to 2;
527*5113495bSYour Name  *   If vendor OUI-2("\x44\x55\x66") is found in assoc resp,
528*5113495bSYour Name  *   set tx amsdu size to 3, set tx ampdu size to 32;
529*5113495bSYour Name  *   If vendor OUI-3("\x77\x88\x99") is found in assoc resp,
530*5113495bSYour Name  *   set tx ampdu size to 64.
531*5113495bSYour Name  *
532*5113495bSYour Name  * Related: IOT
533*5113495bSYour Name  *
534*5113495bSYour Name  * Supported Feature: IOT
535*5113495bSYour Name  *
536*5113495bSYour Name  * Usage: External
537*5113495bSYour Name  *
538*5113495bSYour Name  * </ini>
539*5113495bSYour Name  */
540*5113495bSYour Name #define CFG_TX_IOT_AGGR CFG_INI_STRING( \
541*5113495bSYour Name 		"cfg_tx_iot_aggr", \
542*5113495bSYour Name 		0, \
543*5113495bSYour Name 		IOT_AGGR_INFO_MAX_LEN, \
544*5113495bSYour Name 		"", \
545*5113495bSYour Name 		"Used to configure OUI based tx aggr size for msdu/mpdu")
546*5113495bSYour Name 
547*5113495bSYour Name #define CFG_QOS_ALL \
548*5113495bSYour Name 	CFG(CFG_SAP_MAX_INACTIVITY_OVERRIDE) \
549*5113495bSYour Name 	CFG(CFG_TX_AGGREGATION_SIZE) \
550*5113495bSYour Name 	CFG(CFG_TX_AGGREGATION_SIZEBE) \
551*5113495bSYour Name 	CFG(CFG_TX_AGGREGATION_SIZEBK) \
552*5113495bSYour Name 	CFG(CFG_TX_AGGREGATION_SIZEVI) \
553*5113495bSYour Name 	CFG(CFG_TX_AGGREGATION_SIZEVO) \
554*5113495bSYour Name 	CFG(CFG_RX_AGGREGATION_SIZE) \
555*5113495bSYour Name 	CFG(CFG_TX_AGGR_SW_RETRY_BE) \
556*5113495bSYour Name 	CFG(CFG_TX_AGGR_SW_RETRY_BK) \
557*5113495bSYour Name 	CFG(CFG_TX_AGGR_SW_RETRY_VI) \
558*5113495bSYour Name 	CFG(CFG_TX_AGGR_SW_RETRY_VO) \
559*5113495bSYour Name 	CFG(CFG_TX_AGGR_SW_RETRY) \
560*5113495bSYour Name 	CFG(CFG_TX_NON_AGGR_SW_RETRY_BE) \
561*5113495bSYour Name 	CFG(CFG_TX_NON_AGGR_SW_RETRY_BK) \
562*5113495bSYour Name 	CFG(CFG_TX_NON_AGGR_SW_RETRY_VI) \
563*5113495bSYour Name 	CFG(CFG_TX_NON_AGGR_SW_RETRY_VO) \
564*5113495bSYour Name 	CFG(CFG_TX_NON_AGGR_SW_RETRY) \
565*5113495bSYour Name 	CFG(CFG_SAP_QOS_UAPSD) \
566*5113495bSYour Name 	CFG(CFG_TX_IOT_AGGR)
567*5113495bSYour Name 
568*5113495bSYour Name #endif /* __CFG_MLME_QOS_H */
569