1 /*
2  * Copyright (c) 2012-2021 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 /**
20  * DOC: This file contains centralized definitions of converged configuration.
21  */
22 
23 #ifndef __CFG_MLME_FE_WMM_H
24 #define __CFG_MLME_FE_WMM_H
25 
26 #define CFG_QOS_ENABLED CFG_BOOL( \
27 		"qos_enabled", \
28 		0, \
29 		"QOS Enabled")
30 
31 #define CFG_WME_ENABLED CFG_BOOL( \
32 		"wme_enabled", \
33 		1, \
34 		"WME Enabled")
35 
36 #define CFG_MAX_SP_LENGTH CFG_UINT( \
37 		"max_sp_length", \
38 		0, \
39 		3, \
40 		0, \
41 		CFG_VALUE_OR_DEFAULT, \
42 		"MAX sp length")
43 
44 #define CFG_WSM_ENABLED CFG_BOOL( \
45 		"wsm_enabled", \
46 		0, \
47 		"WSM Enabled")
48 
49 #define CFG_EDCA_PROFILE CFG_UINT( \
50 		"edca_profile", \
51 		0, \
52 		4, \
53 		1, \
54 		CFG_VALUE_OR_DEFAULT, \
55 		"Edca Profile")
56 
57 /* default TSPEC parameters for AC_VO */
58 /*
59  * <ini>
60  * InfraDirAcVo - Set TSPEC direction for VO
61  * @Min: 0
62  * @Max: 3
63  * @Default: 3
64  *
65  * This ini is used to set TSPEC direction for VO
66  *
67  * 0 - uplink
68  * 1 - direct link
69  * 2 - down link
70  * 3 - bidirectional link
71  *
72  * Related: None.
73  *
74  * Supported Feature: WMM
75  *
76  * Usage: External
77  *
78  * </ini>
79  */
80 #define CFG_QOS_WMM_DIR_AC_VO CFG_INI_UINT( \
81 		"InfraDirAcVo", \
82 		0, \
83 		3, \
84 		3, \
85 		CFG_VALUE_OR_DEFAULT, \
86 		"direction for vo")
87 
88 /*
89  * <ini>
90  * InfraNomMsduSizeAcVo - Set normal MSDU size for VO
91  * @Min: 0x0
92  * @Max: 0xFFFF
93  * @Default: 0x80D0
94  *
95  * This ini is used to set normal MSDU size for VO
96  *
97  * Related: None.
98  *
99  * Supported Feature: WMM
100  *
101  * Usage: External
102  *
103  * </ini>
104  */
105 #define CFG_QOS_WMM_NOM_MSDU_SIZE_AC_VO CFG_INI_UINT( \
106 		"InfraNomMsduSizeAcVo", \
107 		0x0, \
108 		0xFFFF, \
109 		0x80D0, \
110 		CFG_VALUE_OR_DEFAULT, \
111 		"MSDU size for VO")
112 
113 /*
114  * <ini>
115  * InfraMeanDataRateAcVo - Set mean data rate for VO
116  * @Min: 0x0
117  * @Max: 0xFFFFFFFF
118  * @Default: 0x14500
119  *
120  * This ini is used to set mean data rate for VO
121  *
122  * Related: None.
123  *
124  * Supported Feature: WMM
125  *
126  * Usage: External
127  *
128  * </ini>
129  */
130 #define CFG_QOS_WMM_MEAN_DATA_RATE_AC_VO CFG_INI_UINT( \
131 		"InfraMeanDataRateAcVo", \
132 		0x0, \
133 		0xFFFFFFFF, \
134 		0x14500, \
135 		CFG_VALUE_OR_DEFAULT, \
136 		"mean data rate for VO")
137 
138 /*
139  * <ini>
140  * InfraMinPhyRateAcVo - Set min PHY rate for VO
141  * @Min: 0x0
142  * @Max: 0xFFFFFFFF
143  * @Default: 0x5B8D80
144  *
145  * This ini is used to set min PHY rate for VO
146  *
147  * Related: None.
148  *
149  * Supported Feature: WMM
150  *
151  * Usage: External
152  *
153  * </ini>
154  */
155 #define CFG_QOS_WMM_MIN_PHY_RATE_AC_VO CFG_INI_UINT( \
156 		"InfraMinPhyRateAcVo", \
157 		0x0, \
158 		0xFFFFFFFF, \
159 		0x5B8D80, \
160 		CFG_VALUE_OR_DEFAULT, \
161 		"min PHY rate for VO")
162 
163 /*
164  * <ini>
165  * InfraSbaAcVo - Set surplus bandwidth allowance for VO
166  * @Min: 0x2001
167  * @Max: 0xFFFF
168  * @Default: 0x2001
169  *
170  * This ini is used to set surplus bandwidth allowance for VO
171  *
172  * Related: None.
173  *
174  * Supported Feature: WMM
175 *
176  * Usage: External
177  *
178  * </ini>
179  */
180 #define CFG_QOS_WMM_SBA_AC_VO CFG_INI_UINT( \
181 		"InfraSbaAcVo", \
182 		0x2001, \
183 		0xFFFF, \
184 		0x2001, \
185 		CFG_VALUE_OR_DEFAULT, \
186 		"surplus bandwidth allowance for VO")
187 /*
188  * <ini>
189  * InfraDirAcVi - Set TSPEC direction for VI
190  * @Min: 0
191  * @Max: 3
192  * @Default: 3
193  *
194  * This ini is used to set TSPEC direction for VI
195  *
196  * Related: None.
197  *
198  * Supported Feature: WMM
199  *
200  * Usage: External
201  *
202  * </ini>
203  */
204 #define CFG_QOS_WMM_DIR_AC_VI CFG_INI_UINT( \
205 		"InfraDirAcVi", \
206 		0, \
207 		3, \
208 		3, \
209 		CFG_VALUE_OR_DEFAULT, \
210 		"TSPEC direction for VI")
211 
212 /*
213  * <ini>
214  * InfraNomMsduSizeAcVi - Set normal MSDU size for VI
215  * @Min: 0x0
216  * @Max: 0xFFFF
217  * @Default: 0x85DC
218  *
219  * This ini is used to set normal MSDU size for VI
220  *
221  * Related: None.
222  *
223  * Supported Feature: WMM
224  *
225  * Usage: External
226  *
227  * </ini>
228  */
229 #define CFG_QOS_WMM_NOM_MSDU_SIZE_AC_VI CFG_INI_UINT( \
230 		"InfraNomMsduSizeAcVi", \
231 		0x0, \
232 		0xFFFF, \
233 		0x85DC, \
234 		CFG_VALUE_OR_DEFAULT, \
235 		"MSDU size for VI")
236 
237 /*
238  * <ini>
239  * InfraMeanDataRateAcVi - Set mean data rate for VI
240  * @Min: 0x0
241  * @Max: 0xFFFFFFFF
242  * @Default: 0x57E40
243  *
244  * This ini is used to set mean data rate for VI
245  *
246  * Related: None.
247  *
248  * Supported Feature: WMM
249  *
250  * Usage: External
251  *
252  * </ini>
253  */
254 #define CFG_QOS_WMM_MEAN_DATA_RATE_AC_VI CFG_INI_UINT( \
255 		"InfraMeanDataRateAcVi", \
256 		0x0, \
257 		0xFFFFFFFF, \
258 		0x57E40, \
259 		CFG_VALUE_OR_DEFAULT, \
260 		"data rate for VI")
261 
262 /*
263  * <ini>
264  * InfraMinPhyRateAcVi - Set min PHY rate for VI
265  * @Min: 0x0
266  * @Max: 0xFFFFFFFF
267  * @Default: 0x5B8D80
268  *
269  * This ini is used to set min PHY rate for VI
270  *
271  * Related: None.
272  *
273  * Supported Feature: WMM
274  *
275  * Usage: External
276  *
277  * </ini>
278  */
279 #define CFG_QOS_WMM_MIN_PHY_RATE_AC_VI CFG_INI_UINT( \
280 		"InfraMinPhyRateAcVi", \
281 		0x0, \
282 		0xFFFFFFFF, \
283 		0x5B8D80, \
284 		CFG_VALUE_OR_DEFAULT, \
285 		"min PHY rate for VI")
286 
287 /*
288  * <ini>
289  * InfraSbaAcVi - Set surplus bandwidth allowance for VI
290  * @Min: 0x2001
291  * @Max: 0xFFFF
292  * @Default: 0x2001
293  *
294  * This ini is used to set surplus bandwidth allowance for VI
295  *
296  * Related: None.
297  *
298  * Supported Feature: WMM
299  *
300  * Usage: External
301  *
302  * </ini>
303  */
304 
305 #define CFG_QOS_WMM_SBA_AC_VI CFG_INI_UINT( \
306 		"InfraSbaAcVi", \
307 		0x2001, \
308 		0xFFFF, \
309 		0x2001, \
310 		CFG_VALUE_OR_DEFAULT, \
311 		"surplus bandwidth allowance for VI")
312 
313 /*
314  * <ini>
315  * InfraUapsdVoSrvIntv - Set Uapsd service interval for voice
316  * @Min: 0
317  * @Max: 4294967295UL
318  * @Default: 0
319  *
320  * This ini is used to set Uapsd service interval(in ms) for voice.
321  *
322  * Related: None.
323  *
324  * Supported Feature: WMM
325  *
326  * Usage: External
327  *
328  * </ini>
329  */
330 #define CFG_QOS_WMM_UAPSD_VO_SRV_INTV CFG_INI_UINT( \
331 		"InfraUapsdVoSrvIntv", \
332 		0, \
333 		4294967295UL, \
334 		0, \
335 		CFG_VALUE_OR_DEFAULT, \
336 		"Infra uapsd vo srv intv")
337 
338 /*
339  * <ini>
340  * InfraUapsdVoSuspIntv - Set Uapsd suspension interval for voice
341  * @Min: 0
342  * @Max: 4294967295UL
343  * @Default: 2000
344  *
345  * This ini is used to set Uapsd suspension interval(in ms) for voice.
346  *
347  * Related: None.
348  *
349  * Supported Feature: WMM
350  *
351  * Usage: External
352  *
353  * </ini>
354  */
355 #define CFG_QOS_WMM_UAPSD_VO_SUS_INTV CFG_INI_UINT( \
356 		"InfraUapsdVoSuspIntv", \
357 		0, \
358 		4294967295UL, \
359 		2000, \
360 		CFG_VALUE_OR_DEFAULT, \
361 		"Infra uapsd vo sus intv")
362 
363 /*
364  * <ini>
365  * InfraUapsdViSrvIntv - Set Uapsd service interval for video
366  * @Min: 0
367  * @Max: 4294967295UL
368  * @Default: 0
369  *
370  * This ini is used to set Uapsd service interval(in ms) for video.
371  *
372  * Related: None.
373  *
374  * Supported Feature: WMM
375  *
376  * Usage: External
377  *
378  * </ini>
379  */
380 
381 #define CFG_QOS_WMM_UAPSD_VI_SRV_INTV CFG_INI_UINT( \
382 		"InfraUapsdViSrvIntv", \
383 		0, \
384 		4294967295UL, \
385 		0, \
386 		CFG_VALUE_OR_DEFAULT, \
387 		"Infra uapsd vi srv intv")
388 
389 /*
390  * <ini>
391  * InfraUapsdViSuspIntv - Set Uapsd suspension interval for video
392  * @Min: 0
393  * @Max: 4294967295UL
394  * @Default: 2000
395  *
396  * This ini is used to set Uapsd suspension interval(in ms) for video
397  *
398  * Related: None.
399  *
400  * Supported Feature: WMM
401  *
402  * Usage: External
403  *
404  * </ini>
405  */
406 #define CFG_QOS_WMM_UAPSD_VI_SUS_INTV CFG_INI_UINT( \
407 		"InfraUapsdViSuspIntv", \
408 		0, \
409 		4294967295UL, \
410 		2000, \
411 		CFG_VALUE_OR_DEFAULT, \
412 		"Infra uapsd vi sus intv")
413 
414 /*
415  * <ini>
416  * InfraDirAcBe - Set TSPEC direction for BE
417  * @Min: 0
418  * @Max: 3
419  * @Default: 3
420  *
421  * This ini is used to set TSPEC direction for BE
422  *
423  * 0 - uplink
424  * 1 - direct link
425  * 2 - down link
426  * 3 - bidirectional link
427  *
428  * Related: None.
429  *
430  * Supported Feature: WMM
431  *
432  * Usage: External
433  *
434  * </ini>
435  */
436 #define CFG_QOS_WMM_DIR_AC_BE CFG_INI_UINT( \
437 		"InfraDirAcBe", \
438 		0, \
439 		3, \
440 		3, \
441 		CFG_VALUE_OR_DEFAULT, \
442 		"TSPEC direction for BE")
443 
444 /*
445  * <ini>
446  * InfraNomMsduSizeAcBe - Set normal MSDU size for BE
447  * @Min: 0x0
448  * @Max: 0xFFFF
449  * @Default: 0x85DC
450  *
451  * This ini is used to set normal MSDU size for BE
452  *
453  * Related: None.
454  *
455  * Supported Feature: WMM
456  *
457  * Usage: External
458  *
459  * </ini>
460  */
461 #define CFG_QOS_WMM_NOM_MSDU_SIZE_AC_BE CFG_INI_UINT( \
462 		"InfraNomMsduSizeAcBe", \
463 		0x0, \
464 		0xFFFF, \
465 		0x85DC, \
466 		CFG_VALUE_OR_DEFAULT, \
467 		"MSDU size for BE")
468 
469 /*
470  * <ini>
471  * InfraMeanDataRateAcBe - Set mean data rate for BE
472  * @Min: 0x0
473  * @Max: 0xFFFFFFFF
474  * @Default: 0x493E0
475  *
476  * This ini is used to set mean data rate for BE
477  *
478  * Related: None.
479  *
480  * Supported Feature: WMM
481  *
482  * Usage: External
483  *
484  * </ini>
485  */
486 #define CFG_QOS_WMM_MEAN_DATA_RATE_AC_BE CFG_INI_UINT( \
487 		"InfraMeanDataRateAcBe", \
488 		0x0, \
489 		0xFFFFFFFF, \
490 		0x493E0, \
491 		CFG_VALUE_OR_DEFAULT, \
492 		"data rate for BE")
493 
494 /*
495  * <ini>
496  * InfraMinPhyRateAcBe - Set min PHY rate for BE
497  * @Min: 0x0
498  * @Max: 0xFFFFFFFF
499  * @Default: 0x5B8D80
500  *
501  * This ini is used to set min PHY rate for BE
502  *
503  * Related: None.
504  *
505  * Supported Feature: WMM
506  *
507  * Usage: External
508  *
509  * </ini>
510  */
511 #define CFG_QOS_WMM_MIN_PHY_RATE_AC_BE CFG_INI_UINT( \
512 		"InfraMinPhyRateAcBe", \
513 		0x0, \
514 		0xFFFFFFFF, \
515 		0x5B8D80, \
516 		CFG_VALUE_OR_DEFAULT, \
517 		"min PHY rate for BE")
518 
519 /*
520  * <ini>
521  * InfraSbaAcBe - Set surplus bandwidth allowance for BE
522  * @Min: 0x2001
523  * @Max: 0xFFFF
524  * @Default: 0x2001
525  *
526  * This ini is used to set surplus bandwidth allowance for BE
527  *
528  * Related: None.
529  *
530  * Supported Feature: WMM
531  *
532  * Usage: External
533  *
534  * </ini>
535  */
536 #define CFG_QOS_WMM_SBA_AC_BE CFG_INI_UINT( \
537 		"InfraSbaAcBe", \
538 		0x2001, \
539 		0xFFFF, \
540 		0x2001, \
541 		CFG_VALUE_OR_DEFAULT, \
542 		"surplus bandwidth allowance for BE")
543 
544 /*
545  * <ini>
546  * InfraUapsdBeSrvIntv - Set Uapsd service interval for BE
547  * @Min: 0
548  * @Max: 4294967295UL
549  * @Default: 0
550  *
551  * This ini is used to set Uapsd service interval(in ms) for BE
552  *
553  * Related: None.
554  *
555  * Supported Feature: WMM
556  *
557  * Usage: External
558  *
559  * </ini>
560  */
561 #define CFG_QOS_WMM_UAPSD_BE_SRV_INTV CFG_INI_UINT( \
562 		"InfraUapsdBeSrvIntv", \
563 		0, \
564 		4294967295UL, \
565 		0, \
566 		CFG_VALUE_OR_DEFAULT, \
567 		"Infra uapsd be srv intv")
568 
569 /*
570  * <ini>
571  * InfraUapsdBeSuspIntv - Set Uapsd suspension interval for BE
572  * @Min: 0
573  * @Max: 4294967295UL
574  * @Default: 2000
575  *
576  * This ini is used to set Uapsd suspension interval(in ms) for BE
577  *
578  * Related: None.
579  *
580  * Supported Feature: WMM
581  *
582  * Usage: External
583  *
584  * </ini>
585  */
586 #define CFG_QOS_WMM_UAPSD_BE_SUS_INTV CFG_INI_UINT( \
587 		"InfraUapsdBeSuspIntv", \
588 		0, \
589 		4294967295UL, \
590 		2000, \
591 		CFG_VALUE_OR_DEFAULT, \
592 		"Infra uapsd vi sus intv")
593 
594 /*
595  * <ini>
596  * InfraDirAcBk - Set TSPEC direction for BK
597  * @Min: 0
598  * @Max: 3
599  * @Default: 3
600  *
601  * This ini is used to set TSPEC direction for BK
602  *
603  * 0 - uplink
604  * 1 - direct link
605  * 2 - down link
606  * 3 - bidirectional link
607  *
608  * Related: None.
609  *
610  * Supported Feature: WMM
611  *
612  * Usage: External
613  *
614  * </ini>
615  */
616 #define CFG_QOS_WMM_DIR_AC_BK CFG_INI_UINT( \
617 		"InfraDirAcBk", \
618 		0, \
619 		3, \
620 		3, \
621 		CFG_VALUE_OR_DEFAULT, \
622 		"TSPEC direction for BK")
623 
624 /*
625  * <ini>
626  * InfraNomMsduSizeAcBk - Set normal MSDU size for BK
627  * @Min: 0x0
628  * @Max: 0xFFFF
629  * @Default: 0x85DC
630  *
631  * This ini is used to set normal MSDU size for BK
632  *
633  * Related: None.
634  *
635  * Supported Feature: WMM
636  *
637  * Usage: External
638  *
639  * </ini>
640  */
641 #define CFG_QOS_WMM_NOM_MSDU_SIZE_AC_BK CFG_INI_UINT( \
642 		"InfraNomMsduSizeAcBk", \
643 		0x0, \
644 		0xFFFF, \
645 		0x85DC, \
646 		CFG_VALUE_OR_DEFAULT, \
647 		"MSDU size for BK")
648 
649 /*
650  * <ini>
651  * InfraMeanDataRateAcBk - Set mean data rate for BK
652  * @Min: 0x0
653  * @Max: 0xFFFFFFFF
654  * @Default: 0x493E0
655  *
656  * This ini is used to set mean data rate for BK
657  *
658  * Related: None.
659  *
660  * Supported Feature: WMM
661  *
662  * Usage: External
663  *
664  * </ini>
665  */
666 #define CFG_QOS_WMM_MEAN_DATA_RATE_AC_BK CFG_INI_UINT( \
667 		"InfraMeanDataRateAcBk", \
668 		0x0, \
669 		0xFFFFFFFF, \
670 		0x493E0, \
671 		CFG_VALUE_OR_DEFAULT, \
672 		"data rate for BK")
673 
674 /*
675  * <ini>
676  * InfraMinPhyRateAcBk - Set min PHY rate for BK
677  * @Min: 0x0
678  * @Max: 0xFFFFFFFF
679  * @Default: 0x5B8D80
680  *
681  * This ini is used to set min PHY rate for BK
682  *
683  * Related: None.
684  *
685  * Supported Feature: WMM
686  *
687  * Usage: External
688  *
689  * </ini>
690  */
691 #define CFG_QOS_WMM_MIN_PHY_RATE_AC_BK CFG_INI_UINT( \
692 		"InfraMinPhyRateAcBk", \
693 		0x0, \
694 		0xFFFFFFFF, \
695 		0x5B8D80, \
696 		CFG_VALUE_OR_DEFAULT, \
697 		"min PHY rate for BK")
698 
699 /*
700  * <ini>
701  * InfraSbaAcBk - Set surplus bandwidth allowance for BK
702  * @Min: 0x2001
703  * @Max: 0xFFFF
704  * @Default: 0x2001
705  *
706  * This ini is used to set surplus bandwidth allowance for BK
707  *
708  * The 13 least significant bits (LSBs) indicate the decimal part while the
709  * three MSBs indicate the integer part of the number.
710  *
711  * A value of 1 indicates that no additional allocation of time is requested.
712  *
713  * Related: None.
714  *
715  * Supported Feature: WMM
716  *
717  * Usage: External
718  *
719  * </ini>
720  */
721 #define CFG_QOS_WMM_SBA_AC_BK CFG_INI_UINT( \
722 		"InfraSbaAcBk", \
723 		0x2001, \
724 		0xFFFF, \
725 		0x2001, \
726 		CFG_VALUE_OR_DEFAULT, \
727 		"surplus bandwidth allowance for BK")
728 
729 /*
730  * <ini>
731  * InfraUapsdBkSrvIntv - Set Uapsd service interval for BK
732  * @Min: 0
733  * @Max: 4294967295UL
734  * @Default: 0
735  *
736  * This ini is used to set Uapsd service interval(in ms) for BK
737  *
738  * Related: None.
739  *
740  * Supported Feature: WMM
741  *
742  * Usage: External
743  *
744  * </ini>
745  */
746 #define CFG_QOS_WMM_UAPSD_BK_SRV_INTV CFG_INI_UINT( \
747 		"InfraUapsdBkSrvIntv", \
748 		0, \
749 		4294967295UL, \
750 		0, \
751 		CFG_VALUE_OR_DEFAULT, \
752 		"Infra uapsd bk srv intv")
753 
754 /*
755  * <ini>
756  * InfraUapsdBkSuspIntv - Set Uapsd suspension interval for BK
757  * @Min: 0
758  * @Max: 4294967295UL
759  * @Default: 2000
760  *
761  * This ini is used to set Uapsd suspension interval(in ms) for BK
762  *
763  * Related: None.
764  *
765  * Supported Feature: WMM
766  *
767  * Usage: External
768  *
769  * </ini>
770  */
771 #define CFG_QOS_WMM_UAPSD_BK_SUS_INTV CFG_INI_UINT( \
772 		"InfraUapsdBkSuspIntv", \
773 		0, \
774 		4294967295UL, \
775 		2000, \
776 		CFG_VALUE_OR_DEFAULT, \
777 		"Infra uapsd bk sus intv")
778 
779 /* WMM configuration */
780 /*
781  * <ini>
782  * WmmIsEnabled - Enable WMM feature
783  * @Min: 0
784  * @Max: 2
785  * @Default: 0
786  *
787  * This ini is used to enable/disable WMM.
788  *
789  * Related: None.
790  *
791  * Supported Feature: WMM
792  *
793  * Usage: External
794  *
795  * </ini>
796  */
797 #define CFG_QOS_WMM_MODE CFG_INI_UINT( \
798 		"WmmIsEnabled", \
799 		0, \
800 		2, \
801 		0, \
802 		CFG_VALUE_OR_DEFAULT, \
803 		"Enable WMM feature")
804 
805 /*
806  * <ini>
807  * 80211eIsEnabled - Enable 802.11e feature
808  * @Min: 0
809  * @Max: 1
810  * @Default: 0
811  *
812  * This ini is used to enable/disable 802.11e.
813  *
814  * Related: None.
815  *
816  * Supported Feature: 802.11e
817  *
818  * Usage: External
819  *
820  * </ini>
821  */
822 #define CFG_QOS_WMM_80211E_ENABLED CFG_INI_BOOL( \
823 		"80211eIsEnabled", \
824 		0, \
825 		"Enable 802.11e feature")
826 
827 /*
828  * <ini>
829  * UapsdMask - To setup U-APSD mask for ACs
830  * @Min: 0x00
831  * @Max: 0xFF
832  * @Default: 0x00
833  *
834  * This ini is used to setup U-APSD mask for ACs.
835  *
836  * Bit 0 set, Voice both deliver/trigger enabled
837  * Bit 1 set, Video both deliver/trigger enabled
838  * Bit 2 set, Background both deliver/trigger enabled
839  * Bit 3 set, Best Effort both deliver/trigger enabled
840  * others, reserved
841  *
842  * Related: None.
843  *
844  * Supported Feature: WMM
845  *
846  * Usage: External
847  *
848  * </ini>
849  */
850 #define CFG_QOS_WMM_UAPSD_MASK CFG_INI_UINT( \
851 		"UapsdMask", \
852 		0x00, \
853 		0xFF, \
854 		0x00, \
855 		CFG_VALUE_OR_DEFAULT, \
856 		"setup U-APSD mask for ACs")
857 
858 #ifdef FEATURE_WLAN_ESE
859 /*
860  * <ini>
861  * InfraInactivityInterval - To setup Infra Inactivity Interval for ACs
862  * @Min: 0
863  * @Max: 4294967295UL
864  * @Default: 0
865  *
866  * This ini is used to setup Infra Inactivity Interval for
867  * ACs.
868  *
869  * Related: None.
870  *
871  * Supported Feature: WMM
872  *
873  * Usage: External
874  *
875  * </ini>
876  */
877 #define CFG_QOS_WMM_INACTIVITY_INTERVAL CFG_INI_UINT( \
878 		"InfraInactivityInterval", \
879 		0, \
880 		4294967295UL, \
881 		0, \
882 		CFG_VALUE_OR_DEFAULT, \
883 		"Infra Inactivity Interval")
884 
885 #define QOS_CFG CFG(CFG_QOS_WMM_INACTIVITY_INTERVAL)
886 #else
887 
888 #define QOS_CFG
889 
890 #endif /* FEATURE_WLAN_ESE */
891 
892 /*
893  * <ini>
894  * burstSizeDefinition - Set TS burst size
895  * @Min: 0
896  * @Max: 1
897  * @Default: 0
898  *
899  * This ini is used to set TS burst size
900  *
901  * 0 - burst is disabled
902  * 1 - burst is enabled
903  *
904  * Related: None.
905  *
906  * Supported Feature: WMM
907  *
908  * Usage: External
909  *
910  * </ini>
911  */
912 #define CFG_QOS_WMM_BURST_SIZE_DEFN CFG_INI_BOOL( \
913 		"burstSizeDefinition", \
914 		0, \
915 		"burst size definition")
916 
917 /*
918  * <ini>
919  * tsInfoAckPolicy - Set TS ack policy
920  * @Min: 0x00
921  * @Max: 0x01
922  * @Default: 0x00
923  *
924  * This ini is used to set TS ack policy
925  *
926  * TS Info Ack Policy can be either of the following values:
927  *
928  * 0 - normal ack
929  * 1 - HT immediate block ack
930  *
931  * Related: None.
932  *
933  * Supported Feature: WMM
934  *
935  * Usage: External
936  *
937  * </ini>
938  */
939 #define CFG_QOS_WMM_TS_INFO_ACK_POLICY CFG_INI_UINT( \
940 		"tsInfoAckPolicy", \
941 		0, \
942 		1, \
943 		0, \
944 		CFG_VALUE_OR_DEFAULT, \
945 		"ts info ack policy")
946 
947 /*
948  * <ini>
949  * gAddTSWhenACMIsOff - Set ACM value for AC
950  * @Min: 0
951  * @Max: 1
952  * @Default: 1
953  *
954  * This ini is used to set ACM value for AC
955  *
956  * Related: None.
957  *
958  * Supported Feature: WMM
959  *
960  * Usage: External
961  *
962  * </ini>
963  */
964 #define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF CFG_INI_BOOL( \
965 		"gAddTSWhenACMIsOff", \
966 		1, \
967 		"ACM value for AC")
968 
969 /*
970  * <ini>
971  * DelayedTriggerFrmInt - UAPSD delay interval
972  * @Min: 1
973  * @Max: 4294967295
974  * @Default: 3000
975  *
976  * This parameter controls the delay interval(in ms) of UAPSD auto trigger.
977  *
978  * Supported Feature: WMM
979  *
980  * Usage: External
981  *
982  * </ini>
983  */
984 #define CFG_TL_DELAYED_TRGR_FRM_INTERVAL CFG_INI_UINT( \
985 		"DelayedTriggerFrmInt", \
986 		1, \
987 		4294967295UL, \
988 		3000, \
989 		CFG_VALUE_OR_DEFAULT, \
990 		"UAPSD auto trigger Interval")
991 
992 #define CFG_WMM_PARAMS_ALL \
993 	CFG(CFG_QOS_ENABLED) \
994 	CFG(CFG_WME_ENABLED) \
995 	CFG(CFG_MAX_SP_LENGTH) \
996 	CFG(CFG_WSM_ENABLED) \
997 	CFG(CFG_EDCA_PROFILE) \
998 	CFG(CFG_QOS_WMM_DIR_AC_VO) \
999 	CFG(CFG_QOS_WMM_NOM_MSDU_SIZE_AC_VO) \
1000 	CFG(CFG_QOS_WMM_MEAN_DATA_RATE_AC_VO) \
1001 	CFG(CFG_QOS_WMM_MIN_PHY_RATE_AC_VO) \
1002 	CFG(CFG_QOS_WMM_SBA_AC_VO) \
1003 	CFG(CFG_QOS_WMM_UAPSD_VO_SRV_INTV) \
1004 	CFG(CFG_QOS_WMM_UAPSD_VO_SUS_INTV) \
1005 	CFG(CFG_QOS_WMM_DIR_AC_VI) \
1006 	CFG(CFG_QOS_WMM_NOM_MSDU_SIZE_AC_VI) \
1007 	CFG(CFG_QOS_WMM_MEAN_DATA_RATE_AC_VI) \
1008 	CFG(CFG_QOS_WMM_MIN_PHY_RATE_AC_VI) \
1009 	CFG(CFG_QOS_WMM_SBA_AC_VI) \
1010 	CFG(CFG_QOS_WMM_UAPSD_VI_SRV_INTV) \
1011 	CFG(CFG_QOS_WMM_UAPSD_VI_SUS_INTV) \
1012 	CFG(CFG_QOS_WMM_DIR_AC_BE) \
1013 	CFG(CFG_QOS_WMM_NOM_MSDU_SIZE_AC_BE) \
1014 	CFG(CFG_QOS_WMM_MEAN_DATA_RATE_AC_BE) \
1015 	CFG(CFG_QOS_WMM_MIN_PHY_RATE_AC_BE) \
1016 	CFG(CFG_QOS_WMM_SBA_AC_BE) \
1017 	CFG(CFG_QOS_WMM_UAPSD_BE_SRV_INTV) \
1018 	CFG(CFG_QOS_WMM_UAPSD_BE_SUS_INTV) \
1019 	CFG(CFG_QOS_WMM_DIR_AC_BK) \
1020 	CFG(CFG_QOS_WMM_NOM_MSDU_SIZE_AC_BK) \
1021 	CFG(CFG_QOS_WMM_MEAN_DATA_RATE_AC_BK) \
1022 	CFG(CFG_QOS_WMM_MIN_PHY_RATE_AC_BK) \
1023 	CFG(CFG_QOS_WMM_SBA_AC_BK) \
1024 	CFG(CFG_QOS_WMM_UAPSD_BK_SRV_INTV) \
1025 	CFG(CFG_QOS_WMM_UAPSD_BK_SUS_INTV) \
1026 	CFG(CFG_QOS_WMM_MODE) \
1027 	CFG(CFG_QOS_WMM_80211E_ENABLED) \
1028 	CFG(CFG_QOS_WMM_UAPSD_MASK) \
1029 	QOS_CFG \
1030 	CFG(CFG_QOS_WMM_BURST_SIZE_DEFN) \
1031 	CFG(CFG_QOS_WMM_TS_INFO_ACK_POLICY) \
1032 	CFG(CFG_QOS_ADDTS_WHEN_ACM_IS_OFF) \
1033 	CFG(CFG_TL_DELAYED_TRGR_FRM_INTERVAL)
1034 
1035 #endif /* __CFG_MLME_FE_WMM_H */
1036