1 /*
2  * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
3  * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for
6  * any purpose with or without fee is hereby granted, provided that the
7  * above copyright notice and this permission notice appear in all
8  * copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17  * PERFORMANCE OF THIS SOFTWARE.
18  */
19 
20 /**
21  * DOC: This file contains centralized definitions of converged configuration.
22  */
23 
24 #ifndef __CFG_MLME_EDCA__PARAM_H
25 #define __CFG_MLME_EDCA__PARAM_H
26 
27 #define STR_EDCA_ANI_ACBK_LOCAL "0x0, 0x7, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0"
28 #define STR_EDCA_ANI_ACBK_LOCAL_LEN (sizeof(STR_EDCA_ANI_ACBK_LOCAL) - 1)
29 
30 #define CFG_EDCA_ANI_ACBK_LOCAL CFG_INI_STRING( \
31 		"edca_ani_acbk_local", \
32 		0, \
33 		STR_EDCA_ANI_ACBK_LOCAL_LEN, \
34 		STR_EDCA_ANI_ACBK_LOCAL, \
35 		"EDCA ANI ACBK LOCAL")
36 
37 #define STR_EDCA_ANI_ACBE_LOCAL "0x0, 0x2, 0x0, 0xf, 0x3, 0xff, 0x64, 0x0, 0x1f, 0x3, 0xff, 0x64, 0x0, 0xf, 0x3, 0xff, 0x64"
38 #define STR_EDCA_ANI_ACBE_LOCAL_LEN (sizeof(STR_EDCA_ANI_ACBE_LOCAL) - 1)
39 
40 #define CFG_EDCA_ANI_ACBE_LOCAL CFG_INI_STRING( \
41 		"edca_ani_acbe_local", \
42 		0, \
43 		STR_EDCA_ANI_ACBE_LOCAL_LEN, \
44 		STR_EDCA_ANI_ACBE_LOCAL, \
45 		"EDCA ANI ACBE LOCAL")
46 
47 #define STR_EDCA_ANI_ACVI_LOCAL "0x0, 0x2, 0x0, 0x7, 0x0, 0xf, 0xc8, 0x0, 0xf, 0x0, 0x1f, 0xbc, 0x0, 0x7, 0x0, 0xf, 0xc8"
48 #define STR_EDCA_ANI_ACVI_LOCAL_LEN (sizeof(STR_EDCA_ANI_ACVI_LOCAL) - 1)
49 
50 #define CFG_EDCA_ANI_ACVI_LOCAL CFG_INI_STRING( \
51 		"edca_ani_acvi_local",\
52 		0, \
53 		STR_EDCA_ANI_ACVI_LOCAL_LEN, \
54 		STR_EDCA_ANI_ACVI_LOCAL, \
55 		"EDCA ANI ACVI LOCAL")
56 
57 #define STR_EDCA_ANI_ACVO_LOCAL "0x0, 0x2, 0x0, 0x3, 0x0, 0x7, 0x64, 0x0, 0x7, 0x0, 0xf, 0x66, 0x0, 0x3, 0x0, 0x7, 0x64"
58 #define STR_EDCA_ANI_ACVO_LOCAL_LEN (sizeof(STR_EDCA_ANI_ACVO_LOCAL) - 1)
59 
60 #define CFG_EDCA_ANI_ACVO_LOCAL CFG_INI_STRING( \
61 		"edca_ani_acvo_local", \
62 		0, \
63 		STR_EDCA_ANI_ACVO_LOCAL_LEN, \
64 		STR_EDCA_ANI_ACVO_LOCAL, \
65 		"EDCA ANI ACVO LOCAL")
66 
67 #define STR_EDCA_ANI_ACBK "0x0, 0x7, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0"
68 #define STR_EDCA_ANI_ACBK_LEN (sizeof(STR_EDCA_ANI_ACBK) - 1)
69 
70 #define CFG_EDCA_ANI_ACBK CFG_INI_STRING( \
71 		"edca_ani_acbk", \
72 		0, \
73 		STR_EDCA_ANI_ACBK_LEN, \
74 		STR_EDCA_ANI_ACBK, \
75 		"EDCA ANI ACBK BROADCAST")
76 
77 #define STR_EDCA_ANI_ACBE "0x0, 0x2, 0x0, 0xf, 0x3, 0xff, 0x64, 0x0, 0x1f, 0x3, 0xff, 0x64, 0x0, 0xf, 0x3, 0xff, 0x64"
78 #define STR_EDCA_ANI_ACBE_LEN (sizeof(STR_EDCA_ANI_ACBE) - 1)
79 
80 #define CFG_EDCA_ANI_ACBE CFG_INI_STRING( \
81 		"edca_ani_acbe", \
82 		0, \
83 		STR_EDCA_ANI_ACBE_LEN, \
84 		STR_EDCA_ANI_ACBE, \
85 		"EDCA ANI ACBE BROADCAST")
86 
87 #define STR_EDCA_ANI_ACVI "0x0, 0x2, 0x0, 0x7, 0x0, 0xf, 0xc8, 0x0, 0xf, 0x0, 0x1f, 0xbc, 0x0, 0x7, 0x0, 0xf, 0xc8"
88 #define STR_EDCA_ANI_ACVI_LEN (sizeof(STR_EDCA_ANI_ACVI) - 1)
89 
90 #define CFG_EDCA_ANI_ACVI CFG_INI_STRING( \
91 		"edca_ani_acvi", \
92 		0, \
93 		STR_EDCA_ANI_ACVI_LEN, \
94 		STR_EDCA_ANI_ACVI, \
95 		"EDCA ANI ACVI BROADCAST")
96 
97 #define STR_EDCA_ANI_ACVO "0x0, 0x2, 0x0, 0x3, 0x0, 0x7, 0x64, 0x0, 0x7, 0x0, 0xf, 0x66, 0x0, 0x3, 0x0, 0x7, 0x64"
98 #define STR_EDCA_ANI_ACVO_LEN (sizeof(STR_EDCA_ANI_ACVO) - 1)
99 
100 #define CFG_EDCA_ANI_ACVO CFG_INI_STRING( \
101 		"edca_ani_acvo", \
102 		0, \
103 		STR_EDCA_ANI_ACVO_LEN, \
104 		STR_EDCA_ANI_ACVO, \
105 		"EDCA ANI ACVO BROADCAST")
106 
107 #define STR_EDCA_WME_ACBK_LOCAL "0x0, 0x7, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0"
108 #define STR_EDCA_WME_ACBK_LOCAL_LEN (sizeof(STR_EDCA_WME_ACBK_LOCAL) - 1)
109 
110 /*
111  * <ini>
112  * edca_wme_acbk_local - Set EDCA parameters for WME local AC BK
113  * @Default: 0x0,0x7,0x0,0xf,0x3,0xff,0x0,0x0,0x1f,0x3,0xff,0x0,0x0,0xf,0x3,
114  *	     0xff,0x0
115  *
116  * This ini is used to set EDCA parameters for WME AC BK that are used locally
117  * on AP. The ini is with 17 bytes and comma is used as a separator for each
118  * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as
119  * CFG_EDCA_PROFILE_ACM_IDX.
120  *
121  * For cwmin and cwmax, they each occupy two bytes with the index defined
122  * above. The actual value are counted as number of bits with 1, e.g.
123  * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted
124  * to 2^value - 1.
125  *
126  * Related: None
127  *
128  * Supported Feature: AP
129  *
130  * Usage: External
131  *
132  * </ini>
133  */
134 #define CFG_EDCA_WME_ACBK_LOCAL CFG_INI_STRING( \
135 		"edca_wme_acbk_local", \
136 		0, \
137 		STR_EDCA_WME_ACBK_LOCAL_LEN, \
138 		STR_EDCA_WME_ACBK_LOCAL, \
139 		"EDCA WME ACBK LOCAL")
140 
141 #define STR_EDCA_WME_ACBE_LOCAL "0x0, 0x3, 0x0, 0xf, 0x0, 0x3f, 0x0, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x0, 0x3f, 0x0"
142 #define STR_EDCA_WME_ACBE_LOCAL_LEN (sizeof(STR_EDCA_WME_ACBE_LOCAL) - 1)
143 
144 /*
145  * <ini>
146  * edca_wme_acbe_local - Set EDCA parameters for WME local AC BE
147  * @Default: 0x0,0x3,0x0,0xf,0x0,0x3f,0x0,0x0,0x1f,0x3,0xff,0x0,0x0,0xf,0x0,
148  *	     0x3f,0x0
149  *
150  * This ini is used to set EDCA parameters for WME AC BE that are used locally
151  * on AP. The ini is with 17 bytes and comma is used as a separator for each
152  * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as
153  * CFG_EDCA_PROFILE_ACM_IDX.
154  *
155  * For cwmin and cwmax, they each occupy two bytes with the index defined
156  * above. The actual value are counted as number of bits with 1, e.g.
157  * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted
158  * to 2^value - 1.
159  *
160  * Related: None
161  *
162  * Supported Feature: AP
163  *
164  * Usage: External
165  *
166  * </ini>
167  */
168 #define CFG_EDCA_WME_ACBE_LOCAL CFG_INI_STRING( \
169 		"edca_wme_acbe_local", \
170 		0, \
171 		STR_EDCA_WME_ACBE_LOCAL_LEN, \
172 		STR_EDCA_WME_ACBE_LOCAL, \
173 		"EDCA WME ACBE LOCAL")
174 
175 #define STR_EDCA_WME_ACVI_LOCAL "0x0, 0x1, 0x0, 0x7, 0x0, 0xf, 0x5e, 0x0, 0x7, 0x0, 0xf, 0xbc, 0x0, 0x7, 0x0, 0xf, 0x5e"
176 #define STR_EDCA_WME_ACVI_LOCAL_LEN (sizeof(STR_EDCA_WME_ACVI_LOCAL) - 1)
177 
178 /*
179  * <ini>
180  * edca_wme_acvi_local - Set EDCA parameters for WME AC VI
181  * @Default: 0x0,0x1,0x0,0x7,0x0,0xf,0x5e,0x0,0x7,0x0,0xf,0xbc,0x0,0x7,0x0,0xf,
182  *	     0x5e
183  *
184  * This ini is used to set EDCA parameters for WME AC VI that are used locally
185  * on AP. The ini is with 17 bytes and comma is used as a separator for each
186  * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as
187  * CFG_EDCA_PROFILE_ACM_IDX.
188  *
189  * For cwmin and cwmax, they each occupy two bytes with the index defined
190  * above. The actual value are counted as number of bits with 1, e.g.
191  * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted
192  * to 2^value - 1.
193  *
194  * Related: None
195  *
196  * Supported Feature: AP
197  *
198  * Usage: External
199  *
200  * </ini>
201  */
202 #define CFG_EDCA_WME_ACVI_LOCAL CFG_INI_STRING( \
203 		"edca_wme_acvi_local", \
204 		0, \
205 		STR_EDCA_WME_ACVI_LOCAL_LEN, \
206 		STR_EDCA_WME_ACVI_LOCAL, \
207 		"EDCA WME ACVI LOCAL")
208 
209 #define STR_EDCA_WME_ACVO_LOCAL "0x0, 0x1, 0x0, 0x3, 0x0, 0x7, 0x2f, 0x0, 0x3, 0x0, 0x7, 0x66, 0x0, 0x3, 0x0, 0x7, 0x2f"
210 #define STR_EDCA_WME_ACVO_LOCAL_LEN (sizeof(STR_EDCA_WME_ACVO_LOCAL) - 1)
211 
212 /*
213  * <ini>
214  * edca_wme_acvo_local - Set EDCA parameters for WME AC VO
215  * @Default: 0x0,0x1,0x0,0x3,0x0,0x7,0x2f,0x0,0x3,0x0,0x7,0x66,0x0,0x3,0x0,0x7,
216  *	     0x2f
217  *
218  * This ini is used to set EDCA parameters for WME AC VO that are used locally
219  * on AP. The ini is with 17 bytes and comma is used as a separator for each
220  * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as
221  * CFG_EDCA_PROFILE_ACM_IDX.
222  *
223  * For cwmin and cwmax, they each occupy two bytes with the index defined
224  * above. The actual value are counted as number of bits with 1, e.g.
225  * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted
226  * to 2^value - 1.
227  *
228  * Related: None
229  *
230  * Supported Feature: AP
231  *
232  * Usage: External
233  *
234  * </ini>
235  */
236 #define CFG_EDCA_WME_ACVO_LOCAL CFG_INI_STRING( \
237 		"edca_wme_acvo_local", \
238 		0, \
239 		STR_EDCA_WME_ACVO_LOCAL_LEN, \
240 		STR_EDCA_WME_ACVO_LOCAL, \
241 		"EDCA WME ACVO LOCAL")
242 
243 #define STR_EDCA_WME_ACBK "0x0, 0x7, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0"
244 #define STR_EDCA_WME_ACBK_LEN (sizeof(STR_EDCA_WME_ACBK) - 1)
245 
246 #define CFG_EDCA_WME_ACBK CFG_INI_STRING( \
247 		"edca_wme_acbk", \
248 		0, \
249 		STR_EDCA_WME_ACBK_LEN, \
250 		STR_EDCA_WME_ACBK, \
251 		"EDCA WME ACBK BROADCAST")
252 
253 #define STR_EDCA_WME_ACBE "0x0, 0x3, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0"
254 #define STR_EDCA_WME_ACBE_LEN (sizeof(STR_EDCA_WME_ACBE) - 1)
255 
256 #define CFG_EDCA_WME_ACBE CFG_INI_STRING( \
257 		"edca_wme_acbe", \
258 		0, \
259 		STR_EDCA_WME_ACBE_LEN, \
260 		STR_EDCA_WME_ACBE, \
261 		"EDCA WME ACBE BROADCAST")
262 
263 #define STR_EDCA_WME_ACVI "0x0, 0x2, 0x0, 0x7, 0x0, 0xf, 0x5e, 0x0, 0x7, 0x0, 0xf, 0xbc, 0x0, 0x7, 0x0, 0xf, 0x5e"
264 #define STR_EDCA_WME_ACVI_LEN (sizeof(STR_EDCA_WME_ACVI) - 1)
265 
266 #define CFG_EDCA_WME_ACVI CFG_INI_STRING( \
267 		"edca_wme_acvi", \
268 		0, \
269 		STR_EDCA_WME_ACVI_LEN, \
270 		STR_EDCA_WME_ACVI, \
271 		"EDCA WME ACVI BROADCAST")
272 
273 #define STR_EDCA_WME_ACVO "0x0, 0x2, 0x0, 0x3, 0x0, 0x7, 0x2f, 0x0, 0x3, 0x0, 0x7, 0x66, 0x0, 0x3, 0x0, 0x7, 0x2f"
274 #define STR_EDCA_WME_ACVO_LEN (sizeof(STR_EDCA_WME_ACVO) - 1)
275 
276 #define CFG_EDCA_WME_ACVO CFG_INI_STRING( \
277 		"edca_wme_acvo", \
278 		0, \
279 		STR_EDCA_WME_ACVO_LEN, \
280 		STR_EDCA_WME_ACVO, \
281 		"EDCA WME ACVO BROADCAST")
282 
283 #define STR_EDCA_ETSI_ACBK_LOCAL "0x0, 0x7, 0x0, 0xf, 0x3, 0xff, 0xbb, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0"
284 #define STR_EDCA_ETSI_ACBK_LOCAL_LEN (sizeof(STR_EDCA_ETSI_ACBK_LOCAL) - 1)
285 
286 /*
287  * <ini>
288  * edca_etsi_acbk_local - Set EDCA parameters for ETSI local AC BK
289  * @Default: 0x0,0x7,0x0,0xf,0x3,0xff,0xbb,0x0,0x1f,0x3,0xff,0x0,0x0,0xf,0x3,
290  *	     0xff,0x0
291  *
292  * This ini is used to set EDCA parameters for ETSI AC BK that are used locally
293  * on AP. The ini is with 17 bytes and comma is used as a separator for each
294  * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as
295  * CFG_EDCA_PROFILE_ACM_IDX.
296  *
297  * For cwmin and cwmax, they each occupy two bytes with the index defined
298  * above. The actual value are counted as number of bits with 1, e.g.
299  * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted
300  * to 2^value - 1.
301  *
302  * Related: None
303  *
304  * Supported Feature: AP
305  *
306  * Usage: External
307  *
308  * </ini>
309  */
310 #define CFG_EDCA_ETSI_ACBK_LOCAL CFG_INI_STRING( \
311 		"edca_etsi_acbk_local", \
312 		0, \
313 		STR_EDCA_ETSI_ACBK_LOCAL_LEN, \
314 		STR_EDCA_ETSI_ACBK_LOCAL, \
315 		"EDCA ETSI ACBK LOCAL")
316 
317 #define STR_EDCA_ETSI_ACBE_LOCAL "0x0, 0x3, 0x0, 0xf, 0x0, 0x3f, 0xbb, 0x0, 0x1f, 0x3, 0xff, 0x0, 0x0, 0xf, 0x0, 0x3f, 0x0"
318 #define STR_EDCA_ETSI_ACBE_LOCAL_LEN (sizeof(STR_EDCA_ETSI_ACBE_LOCAL) - 1)
319 
320 /*
321  * <ini>
322  * edca_etsi_acbe_local - Set EDCA parameters for ETSI local AC BE
323  * @Default: 0x0,0x3,0x0,0xf,0x0,0x3f,0xbb,0x0,0x1f,0x3,0xff,0x0,0x0,0xf,0x0,
324  *	     0x3f,0x0
325  *
326  * This ini is used to set EDCA parameters for ETSI AC BE that are used locally
327  * on AP. The ini is with 17 bytes and comma is used as a separator for each
328  * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as
329  * CFG_EDCA_PROFILE_ACM_IDX.
330  *
331  * For cwmin and cwmax, they each occupy two bytes with the index defined
332  * above. The actual value are counted as number of bits with 1, e.g.
333  * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted
334  * to 2^value - 1.
335  *
336  * Related: None
337  *
338  * Supported Feature: AP
339  *
340  * Usage: External
341  *
342  * </ini>
343  */
344 #define CFG_EDCA_ETSI_ACBE_LOCAL CFG_INI_STRING( \
345 		"edca_etsi_acbe_local", \
346 		0, \
347 		STR_EDCA_ETSI_ACBE_LOCAL_LEN, \
348 		STR_EDCA_ETSI_ACBE_LOCAL, \
349 		"EDCA ETSI ACBE LOCAL")
350 
351 #define STR_EDCA_ETSI_ACVI_LOCAL "0x0, 0x1, 0x0, 0x7, 0x0, 0xf, 0x7d, 0x0, 0x7, 0x0, 0xf, 0xbc, 0x0, 0x7, 0x0, 0xf, 0x5e"
352 #define STR_EDCA_ETSI_ACVI_LOCAL_LEN (sizeof(STR_EDCA_ETSI_ACVI_LOCAL) - 1)
353 
354 /*
355  * <ini>
356  * edca_etsi_acvi_local - Set EDCA parameters for ETSI local AC VI
357  * @Default: 0x0,0x1,0x0,0x7,0x0,0xf,0x7d,0x0,0x7,0x0,0xf,0xbc,0x0,0x7,0x0,
358  *	     0xf,0x5e
359  *
360  * This ini is used to set EDCA parameters for ETSI AC VI that are used locally
361  * on AP. The ini is with 17 bytes and comma is used as a separator for each
362  * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as
363  * CFG_EDCA_PROFILE_ACM_IDX.
364  *
365  * For cwmin and cwmax, they each occupy two bytes with the index defined
366  * above. The actual value are counted as number of bits with 1, e.g.
367  * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted
368  * to 2^value - 1.
369  *
370  * Related: None
371  *
372  * Supported Feature: AP
373  *
374  * Usage: External
375  *
376  * </ini>
377  */
378 #define CFG_EDCA_ETSI_ACVI_LOCAL CFG_INI_STRING( \
379 		"edca_etsi_acvi_local", \
380 		0, \
381 		STR_EDCA_ETSI_ACVI_LOCAL_LEN, \
382 		STR_EDCA_ETSI_ACVI_LOCAL, \
383 		"EDCA ETSI ACVI LOCAL")
384 
385 #define STR_EDCA_ETSI_ACVO_LOCAL "0x0, 0x1, 0x0, 0x3, 0x0, 0x7, 0x3e, 0x0, 0x3, 0x0, 0x7, 0x66, 0x0, 0x3, 0x0, 0x7, 0x2f"
386 #define STR_EDCA_ETSI_ACVO_LOCAL_LEN (sizeof(STR_EDCA_ETSI_ACVO_LOCAL) - 1)
387 
388 /*
389  * <ini>
390  * edca_etsi_acvo_local - Set EDCA parameters for ETSI local AC VO
391  * @Default: 0x0,0x1,0x0,0x3,0x0,0x7,0x3e,0x0,0x3,0x0,0x7,0x66,0x0,0x3,0x0,
392  *	     0x7,0x2f
393  *
394  * This ini is used to set EDCA parameters for ETSI AC VO that are used locally
395  * on AP. The ini is with 17 bytes and comma is used as a separator for each
396  * byte. Index of each byte is defined in wlan_mlme_public_struct.h, such as
397  * CFG_EDCA_PROFILE_ACM_IDX.
398  *
399  * For cwmin and cwmax, they each occupy two bytes with the index defined
400  * above. The actual value are counted as number of bits with 1, e.g.
401  * "0x0,0x3f" means a value of 6. And final cwmin and cwmax will be converted
402  * to 2^value - 1.
403  *
404  * Related: None
405  *
406  * Supported Feature: AP
407  *
408  * Usage: External
409  *
410  * </ini>
411  */
412 #define CFG_EDCA_ETSI_ACVO_LOCAL CFG_INI_STRING( \
413 		"edca_etsi_acvo_local", \
414 		0, \
415 		STR_EDCA_ETSI_ACVO_LOCAL_LEN, \
416 		STR_EDCA_ETSI_ACVO_LOCAL, \
417 		"EDCA ETSI ACVO LOCAL")
418 
419 #define STR_EDCA_ETSI_ACBK "0x0, 0x7, 0x0, 0xf, 0x3, 0xff, 0xbb, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0"
420 #define STR_EDCA_ETSI_ACBK_LEN (sizeof(STR_EDCA_ETSI_ACBK) - 1)
421 
422 #define CFG_EDCA_ETSI_ACBK CFG_INI_STRING( \
423 		"edca_etsi_acbk", \
424 		0, \
425 		STR_EDCA_ETSI_ACBK_LEN, \
426 		STR_EDCA_ETSI_ACBK, \
427 		"EDCA ETSI ACBK BROADCAST")
428 
429 #define STR_EDCA_ETSI_ACBE "0x0, 0x3, 0x0, 0xf, 0x3, 0xff, 0xbb, 0x0, 0xf, 0x3, 0xff, 0x0, 0x0, 0xf, 0x3, 0xff, 0x0"
430 #define STR_EDCA_ETSI_ACBE_LEN (sizeof(STR_EDCA_ETSI_ACBE) - 1)
431 
432 #define CFG_EDCA_ETSI_ACBE CFG_INI_STRING( \
433 		"edca_etsi_acbe", \
434 		0, \
435 		STR_EDCA_ETSI_ACBE_LEN, \
436 		STR_EDCA_ETSI_ACBE, \
437 		"EDCA ETSI ACBE BROADCAST")
438 
439 #define STR_EDCA_ETSI_ACVI "0x0, 0x2, 0x0, 0x7, 0x0, 0xf, 0x7d, 0x0, 0x7, 0x0, 0xf, 0xbc, 0x0, 0x7, 0x0, 0xf, 0x5e"
440 #define STR_EDCA_ETSI_ACVI_LEN (sizeof(STR_EDCA_ETSI_ACVI) - 1)
441 
442 #define CFG_EDCA_ETSI_ACVI CFG_INI_STRING( \
443 		"edca_etsi_acvi", \
444 		0, \
445 		STR_EDCA_ETSI_ACVI_LEN, \
446 		STR_EDCA_ETSI_ACVI, \
447 		"EDCA ETSI ACVI BROADCAST")
448 
449 #define STR_EDCA_ETSI_ACVO "0x0, 0x2, 0x0, 0x3, 0x0, 0x7, 0x3e, 0x0, 0x3, 0x0, 0x7, 0x66, 0x0, 0x3, 0x0, 0x7, 0x2f"
450 #define STR_EDCA_ETSI_ACVO_LEN (sizeof(STR_EDCA_ETSI_ACVO) - 1)
451 
452 #define CFG_EDCA_ETSI_ACVO CFG_INI_STRING( \
453 		"edca_etsi_acvo", \
454 		0, \
455 		STR_EDCA_ETSI_ACVO_LEN, \
456 		STR_EDCA_ETSI_ACVO, \
457 		"EDCA ETSI ACVO BROADCAST")
458 
459 /*
460  * <ini>
461  * gEnableEdcaParams - Enable edca parameter
462  * @Min: 0
463  * @Max: 1
464  * @Default: 0
465  *
466  * This ini is used if gEnableEdcaParams is set to 1, params gEdcaVoCwmin,
467  * gEdcaViCwmin, gEdcaBkCwmin, gEdcaBeCwmin, gEdcaVoCwmax,
468  * gEdcaViCwmax, gEdcaBkCwmax, gEdcaBeCwmax, gEdcaVoAifs,
469  * gEdcaViAifs, gEdcaBkAifs and gEdcaBeAifs values are used
470  * to overwrite the values received from AP
471  *
472  * Related: None
473  *
474  * Supported Feature: STA
475  *
476  * Usage: Internal/External
477  *
478  * </ini>
479  */
480 #define CFG_EDCA_ENABLE_PARAM CFG_INI_BOOL( \
481 		"gEnableEdcaParams", \
482 		0, \
483 		"Enable edca parameter")
484 
485 /*
486  * <ini>
487  * enable_wmm_txop - Enable WMM based txop feature
488  * @Min: 0
489  * @Max: 1
490  * @Default: 1
491  *
492  * This ini is used to enable/disable the WMM based txop feature in FW
493  *
494  * Related: None
495  *
496  * Supported Feature: STA
497  *
498  * Usage: Internal
499  *
500  * </ini>
501  */
502 #define CFG_ENABLE_WMM_TXOP CFG_INI_BOOL( \
503 		"enable_wmm_txop", \
504 		1, \
505 		"Enable WMM TXOP")
506 
507 /*
508  * <ini>
509  * gEdcaVoCwmin - Set Cwmin value for QCA_WLAN_AC_VO
510  * @Min: 0
511  * @Max: 0x15
512  * @Default: 2
513  *
514  * This ini is used to set default Cwmin value for QCA_WLAN_AC_VO
515  * Cwmin value for QCA_WLAN_AC_VO. CWVomin = 2^gEdcaVoCwmin -1
516  *
517  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin etc
518  * are aplicable
519  *
520  * Supported Feature: STA
521  *
522  * Usage: Internal/External
523  *
524  * </ini>
525  */
526 #define CFG_EDCA_VO_CWMIN CFG_INI_UINT( \
527 		"gEdcaVoCwmin", \
528 		0x0, \
529 		15, \
530 		2, \
531 		CFG_VALUE_OR_DEFAULT, \
532 		"Cwmin value for QCA_WLAN_AC_VO")
533 
534 /*
535  * <ini>
536  * gEdcaVoCwmax - Set Cwmax value for QCA_WLAN_AC_VO
537  * @Min: 0
538  * @Max: 15
539  * @Default: 3
540  *
541  * This ini is used to set default Cwmax value for QCA_WLAN_AC_VO
542  * Cwmax value for QCA_WLAN_AC_VO. CWVomax = 2^gEdcaVoCwmax -1
543  *
544  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
545  * etc are aplicable
546  *
547  * Supported Feature: STA
548  *
549  * Usage: Internal/External
550  *
551  * </ini>
552  */
553 #define CFG_EDCA_VO_CWMAX CFG_INI_UINT( \
554 		"gEdcaVoCwmax", \
555 		0x0, \
556 		15, \
557 		3, \
558 		CFG_VALUE_OR_DEFAULT, \
559 		"Cwmax value for QCA_WLAN_AC_VO")
560 
561 /*
562  * <ini>
563  * gEdcaVoAifs - Set Aifs value for QCA_WLAN_AC_VO
564  * @Min: 0
565  * @Max: 15
566  * @Default: 2
567  *
568  * This ini is used to set default Aifs value for QCA_WLAN_AC_VO
569  *
570  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
571  * etc are aplicable
572  *
573  * Supported Feature: STA
574  *
575  * Usage: Internal/External
576  *
577  * </ini>
578  */
579 #define CFG_EDCA_VO_AIFS CFG_INI_UINT( \
580 		"gEdcaVoAifs", \
581 		0x0, \
582 		15, \
583 		2, \
584 		CFG_VALUE_OR_DEFAULT, \
585 		"default Aifs value for QCA_WLAN_AC_VO")
586 
587 /*
588  * <ini>
589  * gEdcaViCwmin - Set Cwmin value for QCA_WLAN_AC_VI
590  * @Min: 0x0
591  * @Max: 15
592  * @Default: 3
593  *
594  * This ini is used to set default value for QCA_WLAN_AC_VI
595  * Cwmin value for QCA_WLAN_AC_VI. CWVimin = 2^gEdcaViCwmin -1
596  *
597  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
598  * etc are aplicable
599  *
600  * Supported Feature: STA
601  *
602  * Usage: Internal/External
603  *
604  * </ini>
605  */
606 #define CFG_EDCA_VI_CWMIN CFG_INI_UINT( \
607 		"gEdcaViCwmin", \
608 		0x0, \
609 		15, \
610 		3, \
611 		CFG_VALUE_OR_DEFAULT, \
612 		"Cwmin value for QCA_WLAN_AC_VI")
613 
614 /*
615  * <ini>
616  * gEdcaViCwmax - Set Cwmax value for QCA_WLAN_AC_VI
617  * @Min: 0
618  * @Max: 15
619  * @Default: 4
620  *
621  * This ini is used to set default Cwmax value for QCA_WLAN_AC_VI
622  * Cwmax value for QCA_WLAN_AC_VI. CWVimax = 2^gEdcaViCwmax -1
623  *
624  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
625  * etc are aplicable
626  *
627  * Supported Feature: STA
628  *
629  * Usage: Internal/External
630  *
631  * </ini>
632  */
633 #define CFG_EDCA_VI_CWMAX CFG_INI_UINT( \
634 		"gEdcaViCwmax", \
635 		0x0, \
636 		15, \
637 		4, \
638 		CFG_VALUE_OR_DEFAULT, \
639 		"cwmax value for QCA_WLAN_AC_VI")
640 
641 /*
642  * <ini>
643  * gEdcaViAifs - Set Aifs value for QCA_WLAN_AC_VI
644  * @Min: 0
645  * @Max: 15
646  * @Default: 2
647  *
648  * This ini is used to set default Aifs value for QCA_WLAN_AC_VI
649  *
650  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
651  * etc are aplicable
652  *
653  * Supported Feature: STA
654  *
655  * Usage: Internal/External
656  *
657  * </ini>
658  */
659 #define CFG_EDCA_VI_AIFS CFG_INI_UINT( \
660 		"gEdcaViAifs", \
661 		0x0, \
662 		15, \
663 		2, \
664 		CFG_VALUE_OR_DEFAULT, \
665 		"default Aifs value for QCA_WLAN_AC_VI")
666 
667 /*
668  * <ini>
669  * gEdcaBkCwmin - Set Cwmin value for QCA_WLAN_AC_BK
670  * @Min: 0x0
671  * @Max: 15
672  * @Default: 4
673  *
674  * This ini is used to set default Cwmin value for QCA_WLAN_AC_BK
675  * Cwmin value for QCA_WLAN_AC_BK. CWBkmin = 2^gEdcaBkCwmin -1
676  *
677  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
678  * etc are aplicable
679  *
680  * Supported Feature: STA
681  *
682  * Usage: Internal/External
683  * </ini>
684  */
685 #define CFG_EDCA_BK_CWMIN CFG_INI_UINT( \
686 		"gEdcaBkCwmin", \
687 		0x0, \
688 		15, \
689 		4, \
690 		CFG_VALUE_OR_DEFAULT, \
691 		"Cwmin value for QCA_WLAN_AC_BK")
692 
693 /*
694  * <ini>
695  * gEdcaBkCwmax - Set Cwmax value for QCA_WLAN_AC_BK
696  * @Min: 0
697  * @Max: 15
698  * @Default: 10
699  *
700  * This ini is used to set default Cwmax value for QCA_WLAN_AC_BK
701  * Cwmax value for QCA_WLAN_AC_BK. CWBkmax = 2^gEdcaBkCwmax -1
702  *
703  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
704  * etc are aplicable
705  *
706  * Supported Feature: STA
707  *
708  * Usage: Internal/External
709  *
710  * </ini>
711  */
712 #define CFG_EDCA_BK_CWMAX CFG_INI_UINT( \
713 		"gEdcaBkCwmax", \
714 		0, \
715 		15, \
716 		10, \
717 		CFG_VALUE_OR_DEFAULT, \
718 		"cwmax value for QCA_WLAN_AC_BK")
719 
720 /*
721  * <ini>
722  * gEdcaBkAifs - Set Aifs value for QCA_WLAN_AC_BK
723  * @Min: 0
724  * @Max: 15
725  * @Default: 7
726  *
727  * This ini is used to set default Aifs value for QCA_WLAN_AC_BK
728  *
729  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
730  * etc are aplicable
731  *
732  * Supported Feature: STA
733  *
734  * Usage: Internal/External
735  *
736  * </ini>
737  */
738 #define CFG_EDCA_BK_AIFS CFG_INI_UINT( \
739 		"gEdcaBkAifs", \
740 		0, \
741 		15, \
742 		7, \
743 		CFG_VALUE_OR_DEFAULT, \
744 		"default Aifs value for QCA_WLAN_AC_BK")
745 
746 /*
747  * <ini>
748  * gEdcaBeCwmin - Set Cwmin value for QCA_WLAN_AC_BE
749  * @Min: 0x0
750  * @Max: 15
751  * @Default: 4
752  *
753  * This ini is used to set default Cwmin value for QCA_WLAN_AC_BE
754  * Cwmin value for QCA_WLAN_AC_BE. CWBemin = 2^gEdcaBeCwmin
755  *
756  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
757  * etc are aplicable
758  *
759  * Supported Feature: STA
760  *
761  * Usage: Internal/External
762  *
763  * </ini>
764  */
765 #define CFG_EDCA_BE_CWMIN CFG_INI_UINT( \
766 		"gEdcaBeCwmin", \
767 		0x0, \
768 		15, \
769 		4, \
770 		CFG_VALUE_OR_DEFAULT, \
771 		"Cwmin value for QCA_WLAN_AC_BE")
772 
773 /*
774  * <ini>
775  * gEdcaBeCwmax - Set Cwmax value for QCA_WLAN_AC_BE
776  * @Min: 0
777  * @Max: 15
778  * @Default: 10
779  *
780  * This ini is used to set default Cwmax value for QCA_WLAN_AC_BE
781  * Cwmax value for QCA_WLAN_AC_BE. CWBemax = 2^gEdcaBeCwmax -1
782  *
783  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
784  * etc are aplicable
785  *
786  * Supported Feature: STA
787  *
788  * Usage: Internal/External
789  *
790  * </ini>
791  */
792 
793 #define CFG_EDCA_BE_CWMAX CFG_INI_UINT( \
794 		"gEdcaBeCwmax", \
795 		0, \
796 		15, \
797 		10, \
798 		CFG_VALUE_OR_DEFAULT, \
799 		"cwmax value for QCA_WLAN_AC_BE")
800 
801 /*
802  * <ini>
803  * gEdcaBeAifs - Set Aifs value for QCA_WLAN_AC_BE
804  * @Min: 0
805  * @Max: 15
806  * @Default: 3
807  *
808  * This ini is used to set default Aifs value for QCA_WLAN_AC_BE
809  *
810  * Related: If gEnableEdcaParams is set to 1, params gEdcaVoCwmin
811  * etc are aplicable
812  *
813  * Supported Feature: STA
814  *
815  * Usage: Internal/External
816  *
817  * </ini>
818  */
819 #define CFG_EDCA_BE_AIFS CFG_INI_UINT( \
820 		"gEdcaBeAifs", \
821 		0, \
822 		15, \
823 		3, \
824 		CFG_VALUE_OR_DEFAULT, \
825 		"default Aifs value for QCA_WLAN_AC_BE")
826 
827 /*
828  * <ini>
829  * edca_param_type - Edca param type
830  * @Min: 0
831  * @Max: 1
832  * @Default: 0
833  *
834  * This ini is used to configure edca or pifs param for low latency SAP.
835  * If edca_param_type is set to 0 then host configures edca param and
836  * send it to firmware via WMI cmd and earbud via OTA frame. If it set to
837  * to 1 then host configures pifs param and send it to firmware via WMI
838  * cmd and earbud via OTA frame.
839  *
840  * Related: None
841  *
842  * Supported Feature: STA
843  *
844  * Usage: Internal/External
845  *
846  * </ini>
847  */
848 #define CFG_EDCA_PIFS_PARAM_TYPE CFG_INI_UINT( \
849 		"edca_param_type", \
850 		0, \
851 		1, \
852 		0, \
853 		CFG_VALUE_OR_DEFAULT, \
854 		"Edca param type")
855 
856 #define CFG_EDCA_PARAMS_ALL \
857 	CFG(CFG_EDCA_ANI_ACBK_LOCAL) \
858 	CFG(CFG_EDCA_ANI_ACBE_LOCAL) \
859 	CFG(CFG_EDCA_ANI_ACVI_LOCAL) \
860 	CFG(CFG_EDCA_ANI_ACVO_LOCAL) \
861 	CFG(CFG_EDCA_ANI_ACBK) \
862 	CFG(CFG_EDCA_ANI_ACBE) \
863 	CFG(CFG_EDCA_ANI_ACVI) \
864 	CFG(CFG_EDCA_ANI_ACVO) \
865 	CFG(CFG_EDCA_WME_ACBK_LOCAL) \
866 	CFG(CFG_EDCA_WME_ACBE_LOCAL) \
867 	CFG(CFG_EDCA_WME_ACVI_LOCAL) \
868 	CFG(CFG_EDCA_WME_ACVO_LOCAL) \
869 	CFG(CFG_EDCA_WME_ACBK) \
870 	CFG(CFG_EDCA_WME_ACBE) \
871 	CFG(CFG_EDCA_WME_ACVI) \
872 	CFG(CFG_EDCA_WME_ACVO) \
873 	CFG(CFG_EDCA_ETSI_ACBK_LOCAL) \
874 	CFG(CFG_EDCA_ETSI_ACBE_LOCAL) \
875 	CFG(CFG_EDCA_ETSI_ACVI_LOCAL) \
876 	CFG(CFG_EDCA_ETSI_ACVO_LOCAL) \
877 	CFG(CFG_EDCA_ETSI_ACBK) \
878 	CFG(CFG_EDCA_ETSI_ACBE) \
879 	CFG(CFG_EDCA_ETSI_ACVI) \
880 	CFG(CFG_EDCA_ETSI_ACVO) \
881 	CFG(CFG_EDCA_ENABLE_PARAM) \
882 	CFG(CFG_EDCA_VO_CWMIN) \
883 	CFG(CFG_EDCA_VO_CWMAX) \
884 	CFG(CFG_EDCA_VO_AIFS) \
885 	CFG(CFG_EDCA_VI_CWMIN) \
886 	CFG(CFG_EDCA_VI_CWMAX) \
887 	CFG(CFG_EDCA_VI_AIFS) \
888 	CFG(CFG_EDCA_BK_CWMIN) \
889 	CFG(CFG_EDCA_BK_CWMAX) \
890 	CFG(CFG_EDCA_BK_AIFS) \
891 	CFG(CFG_EDCA_BE_CWMIN) \
892 	CFG(CFG_EDCA_BE_CWMAX) \
893 	CFG(CFG_ENABLE_WMM_TXOP) \
894 	CFG(CFG_EDCA_BE_AIFS) \
895 	CFG(CFG_EDCA_PIFS_PARAM_TYPE)
896 
897 #endif  /* __CFG_MLME_EDCA__PARAM_H */
898