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