xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_sta.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for any
6*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
7*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16*5113495bSYour Name  */
17*5113495bSYour Name 
18*5113495bSYour Name /**
19*5113495bSYour Name  * DOC: This file contains configuration definitions for MLME STA.
20*5113495bSYour Name  */
21*5113495bSYour Name 
22*5113495bSYour Name #ifndef CFG_MLME_STA_H__
23*5113495bSYour Name #define CFG_MLME_STA_H__
24*5113495bSYour Name 
25*5113495bSYour Name #include "wlan_mlme_public_struct.h"
26*5113495bSYour Name 
27*5113495bSYour Name #ifdef CONNECTION_ROAMING_CFG
28*5113495bSYour Name # define CONKEEPALIVE_INTERVAL_MIN 0
29*5113495bSYour Name # define CONKEEPALIVE_INTERVAL_MAX 120
30*5113495bSYour Name # define CONKEEPALIVE_INTERVAL_DEFAULT 30
31*5113495bSYour Name #else
32*5113495bSYour Name # define CONKEEPALIVE_INTERVAL_MIN 0
33*5113495bSYour Name # define CONKEEPALIVE_INTERVAL_MAX 1000
34*5113495bSYour Name # define CONKEEPALIVE_INTERVAL_DEFAULT 30
35*5113495bSYour Name #endif
36*5113495bSYour Name /*
37*5113495bSYour Name  * <ini>
38*5113495bSYour Name  * gStaKeepAlivePeriod/ConKeepAlive_Interval - STA keep alive period
39*5113495bSYour Name  *
40*5113495bSYour Name  *
41*5113495bSYour Name  * @Min: 0
42*5113495bSYour Name  * @Max: 1000
43*5113495bSYour Name  * @Default: 30
44*5113495bSYour Name  *
45*5113495bSYour Name  * This ini is used to control how frequently STA should send NULL frames to AP
46*5113495bSYour Name  * (period in seconds) to notify AP of its existence.
47*5113495bSYour Name  *
48*5113495bSYour Name  * Related: None
49*5113495bSYour Name  *
50*5113495bSYour Name  * Supported Feature: STA
51*5113495bSYour Name  *
52*5113495bSYour Name  * Usage: Internal/External
53*5113495bSYour Name  *
54*5113495bSYour Name  * </ini>
55*5113495bSYour Name  */
56*5113495bSYour Name 
57*5113495bSYour Name /*
58*5113495bSYour Name  * <ini>
59*5113495bSYour Name  * gStaKeepAlivePeriod/ConKeepAlive_Interval - STA keep alive period
60*5113495bSYour Name  *
61*5113495bSYour Name  *
62*5113495bSYour Name  * @Min: 0
63*5113495bSYour Name  * @Max: 120
64*5113495bSYour Name  * @Default: 30
65*5113495bSYour Name  *
66*5113495bSYour Name  * This ini is used to control how frequently STA should send NULL frames to AP
67*5113495bSYour Name  * (period in seconds) to notify AP of its existence.
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/External
74*5113495bSYour Name  *
75*5113495bSYour Name  * </ini>
76*5113495bSYour Name  */
77*5113495bSYour Name #define CFG_INFRA_STA_KEEP_ALIVE_PERIOD CFG_INI_UINT( \
78*5113495bSYour Name 	"gStaKeepAlivePeriod ConKeepAlive_Interval", \
79*5113495bSYour Name 	CONKEEPALIVE_INTERVAL_MIN, \
80*5113495bSYour Name 	CONKEEPALIVE_INTERVAL_MAX, \
81*5113495bSYour Name 	CONKEEPALIVE_INTERVAL_DEFAULT, \
82*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
83*5113495bSYour Name 	"send default NULL frame to AP")
84*5113495bSYour Name 
85*5113495bSYour Name 
86*5113495bSYour Name /*
87*5113495bSYour Name  * bss_max_idle_period - STA bss max period
88*5113495bSYour Name  *
89*5113495bSYour Name  * @Min: 0
90*5113495bSYour Name  * @Max: 100
91*5113495bSYour Name  * @Default: 0
92*5113495bSYour Name  *
93*5113495bSYour Name  * This ini is used to advertise the bss max idle period in assoc req.
94*5113495bSYour Name  *
95*5113495bSYour Name  * Related: None
96*5113495bSYour Name  *
97*5113495bSYour Name  * Supported Feature: STA
98*5113495bSYour Name  *
99*5113495bSYour Name  * Usage: Internal
100*5113495bSYour Name  *
101*5113495bSYour Name  */
102*5113495bSYour Name #define CFG_STA_BSS_MAX_IDLE_PERIOD CFG_INI_UINT( \
103*5113495bSYour Name 	"bss_max_idle_period", \
104*5113495bSYour Name 	0, \
105*5113495bSYour Name 	100, \
106*5113495bSYour Name 	0, \
107*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
108*5113495bSYour Name 	"advertise bss max idle period")
109*5113495bSYour Name 
110*5113495bSYour Name /*
111*5113495bSYour Name  * <ini>
112*5113495bSYour Name  * tgt_gtx_usr_cfg - target gtx user config
113*5113495bSYour Name  * @Min: 0
114*5113495bSYour Name  * @Max: 32
115*5113495bSYour Name  * @Default: 32
116*5113495bSYour Name  *
117*5113495bSYour Name  * This ini is used to set target gtx user config.
118*5113495bSYour Name  *
119*5113495bSYour Name  * Related: None
120*5113495bSYour Name  *
121*5113495bSYour Name  * Usage: Internal/External
122*5113495bSYour Name  *
123*5113495bSYour Name  * </ini>
124*5113495bSYour Name  */
125*5113495bSYour Name #define CFG_TGT_GTX_USR_CFG CFG_INI_UINT( \
126*5113495bSYour Name 	"tgt_gtx_usr_cfg", \
127*5113495bSYour Name 	0, \
128*5113495bSYour Name 	32, \
129*5113495bSYour Name 	32, \
130*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
131*5113495bSYour Name 	"target gtx user config")
132*5113495bSYour Name 
133*5113495bSYour Name /*
134*5113495bSYour Name  * <ini>
135*5113495bSYour Name  * pmkidModes - Enable PMKID modes
136*5113495bSYour Name  * This INI is used to enable PMKID feature options
137*5113495bSYour Name  * @Min: 0
138*5113495bSYour Name  * @Max: 3
139*5113495bSYour Name  * @Default: 3
140*5113495bSYour Name  *
141*5113495bSYour Name  * Related: None
142*5113495bSYour Name  *
143*5113495bSYour Name  * Supported Feature: Scan
144*5113495bSYour Name  *
145*5113495bSYour Name  * Usage: External
146*5113495bSYour Name  *
147*5113495bSYour Name  * </ini>
148*5113495bSYour Name  */
149*5113495bSYour Name #define CFG_PMKID_MODES CFG_INI_UINT( \
150*5113495bSYour Name 	"pmkidModes", \
151*5113495bSYour Name 	0, \
152*5113495bSYour Name 	3, \
153*5113495bSYour Name 	3, \
154*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
155*5113495bSYour Name 	"PMKID feature options")
156*5113495bSYour Name 
157*5113495bSYour Name /*
158*5113495bSYour Name  * <ini>
159*5113495bSYour Name  * gIgnorePeerErpInfo - Ignore peer information
160*5113495bSYour Name  * @Min: 0
161*5113495bSYour Name  * @Max: 1
162*5113495bSYour Name  * @Default: 0
163*5113495bSYour Name  *
164*5113495bSYour Name  * This ini is used to ignore default peer info
165*5113495bSYour Name  *
166*5113495bSYour Name  * Related: None
167*5113495bSYour Name  *
168*5113495bSYour Name  * Supported Feature: STA
169*5113495bSYour Name  *
170*5113495bSYour Name  * Usage: Internal/External
171*5113495bSYour Name  *
172*5113495bSYour Name  * </ini>
173*5113495bSYour Name  */
174*5113495bSYour Name #define CFG_IGNORE_PEER_ERP_INFO CFG_INI_BOOL( \
175*5113495bSYour Name 	"gIgnorePeerErpInfo", \
176*5113495bSYour Name 	0, \
177*5113495bSYour Name 	"ignore default peer info")
178*5113495bSYour Name 
179*5113495bSYour Name /*
180*5113495bSYour Name  * <ini>
181*5113495bSYour Name  * gStaPrefer80MHzOver160MHz - set sta preference to connect in 80HZ/160HZ
182*5113495bSYour Name  * @Min: 0
183*5113495bSYour Name  * @Max: 2
184*5113495bSYour Name  * @Default: 0
185*5113495bSYour Name  *
186*5113495bSYour Name  * This ini is used to set sta preference to connect in 80HZ/160HZ
187*5113495bSYour Name  *
188*5113495bSYour Name  * 0 - Connects in 160MHz 1x1 when AP is 160MHz 2x2
189*5113495bSYour Name  * 1 - Connects in 80MHz 2x2 when AP is 160MHz 2x2
190*5113495bSYour Name  * 2 - Always Connects in 80MHz when AP is 160MHz
191*5113495bSYour Name  *
192*5113495bSYour Name  * Related: NA
193*5113495bSYour Name  *
194*5113495bSYour Name  * Supported Feature: 11AC
195*5113495bSYour Name  *
196*5113495bSYour Name  * Usage: External
197*5113495bSYour Name  *
198*5113495bSYour Name  * </ini>
199*5113495bSYour Name  */
200*5113495bSYour Name #define CFG_STA_PREFER_80MHZ_OVER_160MHZ CFG_INI_UINT( \
201*5113495bSYour Name 	"gStaPrefer80MHzOver160MHz", \
202*5113495bSYour Name 	0, \
203*5113495bSYour Name 	2, \
204*5113495bSYour Name 	0, \
205*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
206*5113495bSYour Name 	"Sta preference to connect in 80HZ/160HZ")
207*5113495bSYour Name 
208*5113495bSYour Name /*
209*5113495bSYour Name  * <ini>
210*5113495bSYour Name  * gEnable5gEBT - Enables/disables 5G early beacon termination. When enabled
211*5113495bSYour Name  *                 terminate the reception of beacon if the TIM element is
212*5113495bSYour Name  *                 clear for the power saving
213*5113495bSYour Name  * @Min: 0
214*5113495bSYour Name  * @Max: 1
215*5113495bSYour Name  * @Default: 1
216*5113495bSYour Name  *
217*5113495bSYour Name  * This ini is used to set default 5G early beacon termination
218*5113495bSYour Name  *
219*5113495bSYour Name  * Related: None
220*5113495bSYour Name  *
221*5113495bSYour Name  * Supported Feature: STA
222*5113495bSYour Name  *
223*5113495bSYour Name  * Usage: Internal/External
224*5113495bSYour Name  *
225*5113495bSYour Name  * </ini>
226*5113495bSYour Name  */
227*5113495bSYour Name #define CFG_PPS_ENABLE_5G_EBT CFG_INI_BOOL( \
228*5113495bSYour Name 	"gEnable5gEBT", \
229*5113495bSYour Name 	1, \
230*5113495bSYour Name 	"5G early beacon termination")
231*5113495bSYour Name 
232*5113495bSYour Name /*
233*5113495bSYour Name  * <ini>
234*5113495bSYour Name  * gSendDeauthBeforeCon - Send deauth before connection or not
235*5113495bSYour Name  * @Min: 0
236*5113495bSYour Name  * @Max: 1
237*5113495bSYour Name  * @Default: 0
238*5113495bSYour Name  *
239*5113495bSYour Name  * This ini is used to set whether send deauth before connection or
240*5113495bSYour Name  * not. If last disconnection was due to HB failure and we reconnect
241*5113495bSYour Name  * to same AP next time, send deauth before starting connection.
242*5113495bSYour Name  *
243*5113495bSYour Name  * Related: None
244*5113495bSYour Name  *
245*5113495bSYour Name  * Supported Feature: STA
246*5113495bSYour Name  *
247*5113495bSYour Name  * Usage: Internal/External
248*5113495bSYour Name  *
249*5113495bSYour Name  * </ini>
250*5113495bSYour Name  */
251*5113495bSYour Name #define CFG_ENABLE_DEAUTH_BEFORE_CONNECTION CFG_INI_BOOL( \
252*5113495bSYour Name 	"gSendDeauthBeforeCon", \
253*5113495bSYour Name 	0, \
254*5113495bSYour Name 	"send deauth before connection")
255*5113495bSYour Name 
256*5113495bSYour Name /*
257*5113495bSYour Name  * <ini>
258*5113495bSYour Name  * deauth_retry_cnt- No. of deauth retries if the Tx is failed
259*5113495bSYour Name  * @Min: 0
260*5113495bSYour Name  * @Max: 4
261*5113495bSYour Name  * @Default: 2
262*5113495bSYour Name  *
263*5113495bSYour Name  * This ini is used to set retry deauth if Tx is not success.
264*5113495bSYour Name  *
265*5113495bSYour Name  * Related: None
266*5113495bSYour Name  *
267*5113495bSYour Name  * Supported Feature: STA
268*5113495bSYour Name  *
269*5113495bSYour Name  * Usage: Internal/External
270*5113495bSYour Name  *
271*5113495bSYour Name  * </ini>
272*5113495bSYour Name  */
273*5113495bSYour Name #define CFG_DEAUTH_RETRY_CNT CFG_INI_UINT( \
274*5113495bSYour Name 	"deauth_retry_cnt", \
275*5113495bSYour Name 	0, \
276*5113495bSYour Name 	4, \
277*5113495bSYour Name 	2, \
278*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
279*5113495bSYour Name 	"Set Deauth retry count")
280*5113495bSYour Name 
281*5113495bSYour Name /*
282*5113495bSYour Name  * <ini>
283*5113495bSYour Name  * gDot11PMode - 802.11p mode
284*5113495bSYour Name  * @Min: CFG_11P_DISABLED
285*5113495bSYour Name  * @Max: CFG_11P_CONCURRENT
286*5113495bSYour Name  * @Default: CFG_11P_DISABLED
287*5113495bSYour Name  *
288*5113495bSYour Name  * This ini used to set 802.11p mode.
289*5113495bSYour Name  *
290*5113495bSYour Name  *
291*5113495bSYour Name  * Usage: Internal/External
292*5113495bSYour Name  *
293*5113495bSYour Name  * </ini>
294*5113495bSYour Name  */
295*5113495bSYour Name #define CFG_DOT11P_MODE CFG_INI_UINT( \
296*5113495bSYour Name 	"gDot11PMode", \
297*5113495bSYour Name 	CFG_11P_DISABLED, \
298*5113495bSYour Name 	CFG_11P_CONCURRENT, \
299*5113495bSYour Name 	CFG_11P_DISABLED, \
300*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
301*5113495bSYour Name 	"802.11p mode")
302*5113495bSYour Name 
303*5113495bSYour Name /*
304*5113495bSYour Name  * <ini>
305*5113495bSYour Name  * gEnable_go_cts2self_for_sta - Indicate firmware to stop NOA and
306*5113495bSYour Name  * start using cts2self
307*5113495bSYour Name  * @Min: 0
308*5113495bSYour Name  * @Max: 1
309*5113495bSYour Name  * @Default: 0
310*5113495bSYour Name  *
311*5113495bSYour Name  * When gEnable_go_cts2self_for_sta is enabled then if a legacy
312*5113495bSYour Name  * client connects to P2P GO, Host will send a WMI VDEV command
313*5113495bSYour Name  * to FW to stop using NOA for P2P GO
314*5113495bSYour Name  * and start using CTS2SELF.
315*5113495bSYour Name  *
316*5113495bSYour Name  *
317*5113495bSYour Name  * Supported Feature: P2P
318*5113495bSYour Name  *
319*5113495bSYour Name  *
320*5113495bSYour Name  * Usage: Internal/External
321*5113495bSYour Name  *
322*5113495bSYour Name  * </ini>
323*5113495bSYour Name  */
324*5113495bSYour Name #define CFG_ENABLE_GO_CTS2SELF_FOR_STA CFG_INI_BOOL( \
325*5113495bSYour Name 	"gEnable_go_cts2self_for_sta", \
326*5113495bSYour Name 	0, \
327*5113495bSYour Name 	"firmware to stop NOA and start using cts2self")
328*5113495bSYour Name 
329*5113495bSYour Name /*
330*5113495bSYour Name  * <ini>
331*5113495bSYour Name  * g_qcn_ie_support - QCN IE support
332*5113495bSYour Name  * @Min: 0 (disabled)
333*5113495bSYour Name  * @Max: 1 (enabled)
334*5113495bSYour Name  * @Default: 1 (enabled)
335*5113495bSYour Name  *
336*5113495bSYour Name  * This config item is used to support QCN IE in probe/assoc/reassoc request
337*5113495bSYour Name  * for STA mode. QCN IE support is not added for SAP mode.
338*5113495bSYour Name  *
339*5113495bSYour Name  * Related: N/A
340*5113495bSYour Name  *
341*5113495bSYour Name  * Supported Feature: N/A
342*5113495bSYour Name  *
343*5113495bSYour Name  * Usage: Internal/External
344*5113495bSYour Name  *
345*5113495bSYour Name  * </ini>
346*5113495bSYour Name  */
347*5113495bSYour Name #define CFG_QCN_IE_SUPPORT CFG_INI_BOOL( \
348*5113495bSYour Name 	"g_qcn_ie_support", \
349*5113495bSYour Name 	1, \
350*5113495bSYour Name 	"QCN IE support")
351*5113495bSYour Name 
352*5113495bSYour Name /*
353*5113495bSYour Name  * <ini>
354*5113495bSYour Name  * g_fils_max_chan_guard_time - Set maximum channel guard time(ms)
355*5113495bSYour Name  * @Min: 0
356*5113495bSYour Name  * @Max: 10
357*5113495bSYour Name  * @Default: 0
358*5113495bSYour Name  *
359*5113495bSYour Name  * This ini is used to set maximum channel guard time in milliseconds.
360*5113495bSYour Name  *
361*5113495bSYour Name  * Related: None
362*5113495bSYour Name  *
363*5113495bSYour Name  * Supported Feature: FILS
364*5113495bSYour Name  *
365*5113495bSYour Name  * Usage: External
366*5113495bSYour Name  *
367*5113495bSYour Name  * </ini>
368*5113495bSYour Name  */
369*5113495bSYour Name #define CFG_FILS_MAX_CHAN_GUARD_TIME CFG_INI_UINT( \
370*5113495bSYour Name 	"g_fils_max_chan_guard_time", \
371*5113495bSYour Name 	0, \
372*5113495bSYour Name 	10, \
373*5113495bSYour Name 	0, \
374*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
375*5113495bSYour Name 	"Set maximum channel guard time")
376*5113495bSYour Name 
377*5113495bSYour Name /*
378*5113495bSYour Name  * <ini>
379*5113495bSYour Name  * SingleTIDRC - Set replay counter for all TID's
380*5113495bSYour Name  * @Min: 0       Separate replay counter for all TID
381*5113495bSYour Name  * @Max: 1       Single replay counter for all TID
382*5113495bSYour Name  * @Default: 1
383*5113495bSYour Name  *
384*5113495bSYour Name  * This ini is used to set replay counter for all TID's
385*5113495bSYour Name  *
386*5113495bSYour Name  * 0 - Separate replay counter for all TID
387*5113495bSYour Name  * 1 - Single replay counter for all TID
388*5113495bSYour Name  *
389*5113495bSYour Name  * Related: None.
390*5113495bSYour Name  *
391*5113495bSYour Name  * Supported Feature: WMM
392*5113495bSYour Name  *
393*5113495bSYour Name  * Usage: Internal/External
394*5113495bSYour Name  *
395*5113495bSYour Name  * </ini>
396*5113495bSYour Name  */
397*5113495bSYour Name #define CFG_SINGLE_TID_RC CFG_INI_BOOL( \
398*5113495bSYour Name 	"SingleTIDRC", \
399*5113495bSYour Name 	1, \
400*5113495bSYour Name 	"replay counter for all TID")
401*5113495bSYour Name 
402*5113495bSYour Name /*
403*5113495bSYour Name  * wait_cnf_timeout - Wait assoc cnf timeout
404*5113495bSYour Name  * @Min: 10
405*5113495bSYour Name  * @Max: 3000
406*5113495bSYour Name  * @Default: 1000
407*5113495bSYour Name  *
408*5113495bSYour Name  * This is internal configure for waiting assoc cnf timeout
409*5113495bSYour Name  *
410*5113495bSYour Name  * Related: None
411*5113495bSYour Name  *
412*5113495bSYour Name  * Usage: Internal
413*5113495bSYour Name  *
414*5113495bSYour Name  */
415*5113495bSYour Name #define CFG_WT_CNF_TIMEOUT CFG_UINT( \
416*5113495bSYour Name 	"wait_cnf_timeout", \
417*5113495bSYour Name 	10, \
418*5113495bSYour Name 	3000, \
419*5113495bSYour Name 	1000, \
420*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
421*5113495bSYour Name 	"Wait confirm timeout")
422*5113495bSYour Name 
423*5113495bSYour Name /*
424*5113495bSYour Name  * <ini>
425*5113495bSYour Name  * gStaMiracastMccRestTimeVal - Rest time when Miracast is running.
426*5113495bSYour Name  * @Min: 100
427*5113495bSYour Name  * @Max: 500
428*5113495bSYour Name  * @Default: 400
429*5113495bSYour Name  *
430*5113495bSYour Name  * This ini is used to set rest time for home channel for Miracast before
431*5113495bSYour Name  * going for scan.
432*5113495bSYour Name  *
433*5113495bSYour Name  * Related: None.
434*5113495bSYour Name  *
435*5113495bSYour Name  * Supported Feature: Concurrency
436*5113495bSYour Name  *
437*5113495bSYour Name  * Usage: Internal/External
438*5113495bSYour Name  *
439*5113495bSYour Name  * </ini>
440*5113495bSYour Name  */
441*5113495bSYour Name 
442*5113495bSYour Name #define CFG_STA_MCAST_MCC_REST_TIME CFG_INI_UINT( \
443*5113495bSYour Name 	"gStaMiracastMccRestTimeVal", \
444*5113495bSYour Name 	100, \
445*5113495bSYour Name 	500, \
446*5113495bSYour Name 	400, \
447*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
448*5113495bSYour Name 	"Rest time when Miracast is running")
449*5113495bSYour Name 
450*5113495bSYour Name /*
451*5113495bSYour Name  * current_rssi - current rssi
452*5113495bSYour Name  * @Min: 0
453*5113495bSYour Name  * @Max: 127
454*5113495bSYour Name  * @Default: 0
455*5113495bSYour Name  *
456*5113495bSYour Name  * This is internal configure for current rssi
457*5113495bSYour Name  *
458*5113495bSYour Name  * Related: None
459*5113495bSYour Name  *
460*5113495bSYour Name  * Usage: Internal
461*5113495bSYour Name  *
462*5113495bSYour Name  */
463*5113495bSYour Name #define CFG_CURRENT_RSSI CFG_UINT( \
464*5113495bSYour Name 	"current_rssi", \
465*5113495bSYour Name 	0, \
466*5113495bSYour Name 	127, \
467*5113495bSYour Name 	0, \
468*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
469*5113495bSYour Name 	"Current RSSI")
470*5113495bSYour Name 
471*5113495bSYour Name /*
472*5113495bSYour Name  * <ini>
473*5113495bSYour Name  * gAllowTPCfromAP - Support for AP power constraint
474*5113495bSYour Name  * @Min: 0
475*5113495bSYour Name  * @Max: 1
476*5113495bSYour Name  * @Default: 1
477*5113495bSYour Name  *
478*5113495bSYour Name  * This ini controls driver to honor/dishonor power constraint from AP.
479*5113495bSYour Name  *
480*5113495bSYour Name  * Related: None.
481*5113495bSYour Name  *
482*5113495bSYour Name  * Supported Feature: Concurrency
483*5113495bSYour Name  *
484*5113495bSYour Name  * Usage: Internal/External
485*5113495bSYour Name  *
486*5113495bSYour Name  * </ini>
487*5113495bSYour Name  */
488*5113495bSYour Name #define CFG_TX_POWER_CTRL CFG_INI_BOOL( \
489*5113495bSYour Name 	"gAllowTPCfromAP", \
490*5113495bSYour Name 	1, \
491*5113495bSYour Name 	"Support for AP power constraint")
492*5113495bSYour Name 
493*5113495bSYour Name /*
494*5113495bSYour Name  * <ini>
495*5113495bSYour Name  * gStaKeepAliveMethod - Which keepalive method to use
496*5113495bSYour Name  * @Min: 1
497*5113495bSYour Name  * @Max: 3
498*5113495bSYour Name  * @Default: 1
499*5113495bSYour Name  *
500*5113495bSYour Name  * This ini determines which keepalive method to use for station interfaces
501*5113495bSYour Name  *	 1) Use null data packets
502*5113495bSYour Name  *	 2) Use gratuitous ARP packets
503*5113495bSYour Name  *	 3) Use unsolicited ARP response packets
504*5113495bSYour Name  *
505*5113495bSYour Name  * Related: gStaKeepAlivePeriod, gApKeepAlivePeriod, gGoKeepAlivePeriod
506*5113495bSYour Name  *
507*5113495bSYour Name  * Supported Feature: STA, Keepalive
508*5113495bSYour Name  *
509*5113495bSYour Name  * Usage: External
510*5113495bSYour Name  *
511*5113495bSYour Name  * </ini>
512*5113495bSYour Name  */
513*5113495bSYour Name #define CFG_STA_KEEPALIVE_METHOD CFG_INI_INT( \
514*5113495bSYour Name 			"gStaKeepAliveMethod", \
515*5113495bSYour Name 			MLME_STA_KEEPALIVE_NULL_DATA, \
516*5113495bSYour Name 			MLME_STA_KEEPALIVE_UNSOLICIT_ARP_RSP, \
517*5113495bSYour Name 			MLME_STA_KEEPALIVE_NULL_DATA, \
518*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
519*5113495bSYour Name 			"Which keepalive method to use")
520*5113495bSYour Name 
521*5113495bSYour Name /*
522*5113495bSYour Name  * <ini>
523*5113495bSYour Name  * gMaxLIModulatedDTIM - Set MaxLIModulate Dtim
524*5113495bSYour Name  * @Min: 1
525*5113495bSYour Name  * @Max: 10
526*5113495bSYour Name  * @Default: 5
527*5113495bSYour Name  *
528*5113495bSYour Name  * This ini is used to set default MaxLIModulatedDTIM
529*5113495bSYour Name  *
530*5113495bSYour Name  * Related: None
531*5113495bSYour Name  *
532*5113495bSYour Name  * Supported Feature: STA
533*5113495bSYour Name  *
534*5113495bSYour Name  * Usage: Internal/External
535*5113495bSYour Name  *
536*5113495bSYour Name  * </ini>
537*5113495bSYour Name  */
538*5113495bSYour Name #define CFG_MAX_LI_MODULATED_DTIM CFG_INI_UINT( \
539*5113495bSYour Name 			"gMaxLIModulatedDTIM", \
540*5113495bSYour Name 			1, \
541*5113495bSYour Name 			10, \
542*5113495bSYour Name 			5, \
543*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
544*5113495bSYour Name 			"Max modulated dtim")
545*5113495bSYour Name 
546*5113495bSYour Name /*
547*5113495bSYour Name  * <ini>
548*5113495bSYour Name  * @Min: 0
549*5113495bSYour Name  * @Max: 2000
550*5113495bSYour Name  * @Default: 500
551*5113495bSYour Name  *
552*5113495bSYour Name  * This ini is used to set default ConDTIMSkipping_MaxTime in ms
553*5113495bSYour Name  *
554*5113495bSYour Name  * Related: None
555*5113495bSYour Name  *
556*5113495bSYour Name  * Supported Feature: STA
557*5113495bSYour Name  *
558*5113495bSYour Name  * Usage: External
559*5113495bSYour Name  *
560*5113495bSYour Name  * </ini>
561*5113495bSYour Name  */
562*5113495bSYour Name #define CFG_MAX_LI_MODULATED_DTIM_MS CFG_INI_UINT( \
563*5113495bSYour Name 			"ConDTIMSkipping_MaxTime", \
564*5113495bSYour Name 			0, \
565*5113495bSYour Name 			2000, \
566*5113495bSYour Name 			500, \
567*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
568*5113495bSYour Name 			"DTIM skipping max time")
569*5113495bSYour Name 
570*5113495bSYour Name #ifdef WLAN_FEATURE_11BE_MLO
571*5113495bSYour Name /*
572*5113495bSYour Name  * <ini>
573*5113495bSYour Name  * mlo_support_link_num - Set number of link mlo connection supports for sta
574*5113495bSYour Name  * @Min: 1
575*5113495bSYour Name  * @Max: 3
576*5113495bSYour Name  * @Default: 2
577*5113495bSYour Name  *
578*5113495bSYour Name  * This ini is used to configure the number of link mlo connection supports
579*5113495bSYour Name  *
580*5113495bSYour Name  * Related: None
581*5113495bSYour Name  *
582*5113495bSYour Name  * Supported Feature: STA
583*5113495bSYour Name  *
584*5113495bSYour Name  * Usage: Internal/External
585*5113495bSYour Name  *
586*5113495bSYour Name  * </ini>
587*5113495bSYour Name  */
588*5113495bSYour Name #define CFG_MLO_SUPPORT_LINK_NUM CFG_INI_UINT( \
589*5113495bSYour Name 			"mlo_support_link_num", \
590*5113495bSYour Name 			1, \
591*5113495bSYour Name 			3, \
592*5113495bSYour Name 			2, \
593*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
594*5113495bSYour Name 			"supported mlo link number")
595*5113495bSYour Name 
596*5113495bSYour Name #define CFG_MLO_SUPPORT_LINK_NUM_CFG CFG(CFG_MLO_SUPPORT_LINK_NUM)
597*5113495bSYour Name 
598*5113495bSYour Name /*
599*5113495bSYour Name  * <cfg>
600*5113495bSYour Name  * mlo_max_simultaneous_links- Set number of mlo simultaneous links for sta
601*5113495bSYour Name  * @Min: 0
602*5113495bSYour Name  * @Max: 1
603*5113495bSYour Name  * @Default: 1
604*5113495bSYour Name  *
605*5113495bSYour Name  * This cfg is used to configure the mlo max simultaneous links
606*5113495bSYour Name  *
607*5113495bSYour Name  * Related: None
608*5113495bSYour Name  *
609*5113495bSYour Name  * Supported Feature: STA
610*5113495bSYour Name  *
611*5113495bSYour Name  * Usage: Internal
612*5113495bSYour Name  *
613*5113495bSYour Name  * </cfg>
614*5113495bSYour Name  */
615*5113495bSYour Name #define CFG_MLO_MAX_SIMULTANEOUS_LINKS CFG_UINT( \
616*5113495bSYour Name 			"mlo_max_simultaneous_links", \
617*5113495bSYour Name 			0, \
618*5113495bSYour Name 			1, \
619*5113495bSYour Name 			1, \
620*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
621*5113495bSYour Name 			"mlo max simultaneous links")
622*5113495bSYour Name 
623*5113495bSYour Name #define CFG_MLO_MAX_SIMULTANEOUS_LINKS_CFG CFG(CFG_MLO_MAX_SIMULTANEOUS_LINKS)
624*5113495bSYour Name /*
625*5113495bSYour Name  * <cfg>
626*5113495bSYour Name  * mlo_support_link_band - Set band bitmap of mlo connection supports for sta
627*5113495bSYour Name  * @Min: 1
628*5113495bSYour Name  * @Max: 0x77
629*5113495bSYour Name  * @Default: 0x77
630*5113495bSYour Name  *
631*5113495bSYour Name  * This cfg is used to configure the band bitmap of mlo connection supports
632*5113495bSYour Name  *
633*5113495bSYour Name  * Related: None
634*5113495bSYour Name  *
635*5113495bSYour Name  * Supported Feature: STA
636*5113495bSYour Name  *
637*5113495bSYour Name  * Usage: Internal
638*5113495bSYour Name  *
639*5113495bSYour Name  * Supported band of all mlo links
640*5113495bSYour Name  * bits 0: REG_BAND_2G
641*5113495bSYour Name  * bits 1: REG_BAND_5G
642*5113495bSYour Name  * bits 2: REG_BAND_6G
643*5113495bSYour Name  *
644*5113495bSYour Name  * Supported band of assoc link
645*5113495bSYour Name  * bits 4: REG_BAND_2G
646*5113495bSYour Name  * bits 5: REG_BAND_5G
647*5113495bSYour Name  * bits 6: REG_BAND_6G
648*5113495bSYour Name  *
649*5113495bSYour Name  * </cfg>
650*5113495bSYour Name  */
651*5113495bSYour Name #define CFG_MLO_SUPPORT_LINK_BAND CFG_INI_UINT( \
652*5113495bSYour Name 			"mlo_support_link_band", \
653*5113495bSYour Name 			0x1, \
654*5113495bSYour Name 			0x77, \
655*5113495bSYour Name 			0x77, \
656*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
657*5113495bSYour Name 			"supported mlo link band")
658*5113495bSYour Name 
659*5113495bSYour Name #define CFG_MLO_SUPPORT_LINK_BAND_CFG CFG(CFG_MLO_SUPPORT_LINK_BAND)
660*5113495bSYour Name /*
661*5113495bSYour Name  * <cfg>
662*5113495bSYour Name  * RoamCommon_Mlo_TpPrefer - percentage to boost mlo scoring
663*5113495bSYour Name  *
664*5113495bSYour Name  * @Min: -20
665*5113495bSYour Name  * @Max: +20
666*5113495bSYour Name  * @Default: 10
667*5113495bSYour Name  *
668*5113495bSYour Name  * This cfg is used to boost/reduce the mlo weightage with configured
669*5113495bSYour Name  * value.
670*5113495bSYour Name  *
671*5113495bSYour Name  * Supported Feature: STA
672*5113495bSYour Name  *
673*5113495bSYour Name  * Usage: External
674*5113495bSYour Name  *
675*5113495bSYour Name  * </cfg>
676*5113495bSYour Name  */
677*5113495bSYour Name #define CFG_MLO_PREFER_PERCENTAGE CFG_INI_INT(\
678*5113495bSYour Name 			"RoamCommon_Mlo_TpPrefer", \
679*5113495bSYour Name 			-20, \
680*5113495bSYour Name 			20, \
681*5113495bSYour Name 			10,\
682*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
683*5113495bSYour Name 			"mlo prefer percentage")
684*5113495bSYour Name 
685*5113495bSYour Name #define CFG_MLO_PREFER_PERCENTAGE_CFG CFG(CFG_MLO_PREFER_PERCENTAGE)
686*5113495bSYour Name 
687*5113495bSYour Name #else
688*5113495bSYour Name #define CFG_MLO_SUPPORT_LINK_NUM_CFG
689*5113495bSYour Name #define CFG_MLO_SUPPORT_LINK_BAND_CFG
690*5113495bSYour Name #define CFG_MLO_MAX_SIMULTANEOUS_LINKS_CFG
691*5113495bSYour Name #define CFG_MLO_PREFER_PERCENTAGE_CFG
692*5113495bSYour Name #endif
693*5113495bSYour Name 
694*5113495bSYour Name /*
695*5113495bSYour Name  * <cfg>
696*5113495bSYour Name  * mlo_same_link_mld_addr - Use one of the links address as same mld address
697*5113495bSYour Name  * @Default: false
698*5113495bSYour Name  *
699*5113495bSYour Name  * This cfg is used to configure the one of link address as same mld address
700*5113495bSYour Name  *
701*5113495bSYour Name  * Related: None
702*5113495bSYour Name  *
703*5113495bSYour Name  * Supported Feature: STA
704*5113495bSYour Name  *
705*5113495bSYour Name  * Usage: Internal
706*5113495bSYour Name  *
707*5113495bSYour Name  *
708*5113495bSYour Name  * </cfg>
709*5113495bSYour Name  */
710*5113495bSYour Name #define CFG_MLO_SAME_LINK_MLD_ADDR CFG_BOOL( \
711*5113495bSYour Name 			"mlo_same_link_mld_addr",\
712*5113495bSYour Name 			0, \
713*5113495bSYour Name 			"same address for mlo link/mld")
714*5113495bSYour Name 
715*5113495bSYour Name #ifdef WLAN_HDD_MULTI_VDEV_SINGLE_NDEV
716*5113495bSYour Name #define CFG_MLO_SAME_LINK_MLD_ADDR_CFG CFG(CFG_MLO_SAME_LINK_MLD_ADDR)
717*5113495bSYour Name #else
718*5113495bSYour Name #define CFG_MLO_SAME_LINK_MLD_ADDR_CFG
719*5113495bSYour Name #endif
720*5113495bSYour Name 
721*5113495bSYour Name /*
722*5113495bSYour Name  * <ini>
723*5113495bSYour Name  * eht_disable_punct_in_us_lpi - Flag to Disable eht puncture in US LPI mode
724*5113495bSYour Name  * @Min: false
725*5113495bSYour Name  * @Max: true
726*5113495bSYour Name  * @Default: false
727*5113495bSYour Name  *
728*5113495bSYour Name  * Related: None
729*5113495bSYour Name  *
730*5113495bSYour Name  * Supported Feature: 802.11be protocol
731*5113495bSYour Name  *
732*5113495bSYour Name  * Usage: Internal
733*5113495bSYour Name  *
734*5113495bSYour Name  * </ini>
735*5113495bSYour Name  */
736*5113495bSYour Name #define CFG_EHT_DISABLE_PUNCT_IN_US_LPI \
737*5113495bSYour Name 	CFG_BOOL("eht_disable_punct_in_us_lpi", \
738*5113495bSYour Name 		 false, \
739*5113495bSYour Name 		 "Disable eht puncture in US LPI mode")
740*5113495bSYour Name 
741*5113495bSYour Name #ifdef WLAN_FEATURE_11BE
742*5113495bSYour Name #define CFG_EHT_DISABLE_PUNCT_IN_US_LPI_CFG CFG(CFG_EHT_DISABLE_PUNCT_IN_US_LPI)
743*5113495bSYour Name #else
744*5113495bSYour Name #define CFG_EHT_DISABLE_PUNCT_IN_US_LPI_CFG
745*5113495bSYour Name #endif
746*5113495bSYour Name 
747*5113495bSYour Name #ifdef WLAN_FEATURE_11BE_MLO
748*5113495bSYour Name /*
749*5113495bSYour Name  * <cfg>
750*5113495bSYour Name  * mlo_5gl_5gh_mlsr - enable/disable 5GL+5GH MLSR
751*5113495bSYour Name  * @Min: false
752*5113495bSYour Name  * @Max: true
753*5113495bSYour Name  * @Default: true
754*5113495bSYour Name  *
755*5113495bSYour Name  * Related: None
756*5113495bSYour Name  *
757*5113495bSYour Name  * Supported Feature: 5GL+5GH MLSR
758*5113495bSYour Name  *
759*5113495bSYour Name  * Usage: Internal
760*5113495bSYour Name  *
761*5113495bSYour Name  * </cfg>
762*5113495bSYour Name  */
763*5113495bSYour Name 
764*5113495bSYour Name #define CFG_MLO_MLO_5GL_5GH_MLSR CFG_INI_BOOL( \
765*5113495bSYour Name 		"mlo_5gl_5gh_mlsr",\
766*5113495bSYour Name 		1, \
767*5113495bSYour Name 		"enable 5GL+5GH MLSR")
768*5113495bSYour Name 
769*5113495bSYour Name #define CFG_MLO_MLO_5GL_5GH_MLSR_CFG CFG(CFG_MLO_MLO_5GL_5GH_MLSR)
770*5113495bSYour Name 
771*5113495bSYour Name /*
772*5113495bSYour Name  * <ini>
773*5113495bSYour Name  * epcs_support_enable - enable/disable epcs
774*5113495bSYour Name  * @Min: false
775*5113495bSYour Name  * @Max: true
776*5113495bSYour Name  * @Default: false
777*5113495bSYour Name  *
778*5113495bSYour Name  * Related: None
779*5113495bSYour Name  *
780*5113495bSYour Name  * Supported Feature: emergency preparedness communications service (EPCS)
781*5113495bSYour Name  * priority access
782*5113495bSYour Name  *
783*5113495bSYour Name  * Usage: External
784*5113495bSYour Name  *
785*5113495bSYour Name  * </ini>
786*5113495bSYour Name  */
787*5113495bSYour Name 
788*5113495bSYour Name #define CFG_MLO_EPCS_SUPPORT_ENABLE CFG_INI_BOOL( \
789*5113495bSYour Name 		"epcs_support_enable",\
790*5113495bSYour Name 		0, \
791*5113495bSYour Name 		"enable epcs support")
792*5113495bSYour Name 
793*5113495bSYour Name #define CFG_MLO_EPCS_SUPPORT_ENABLE_CFG CFG(CFG_MLO_EPCS_SUPPORT_ENABLE)
794*5113495bSYour Name #else
795*5113495bSYour Name #define CFG_MLO_MLO_5GL_5GH_MLSR_CFG
796*5113495bSYour Name #define CFG_MLO_EPCS_SUPPORT_ENABLE_CFG
797*5113495bSYour Name #endif
798*5113495bSYour Name 
799*5113495bSYour Name #define CFG_STA_ALL \
800*5113495bSYour Name 	CFG(CFG_INFRA_STA_KEEP_ALIVE_PERIOD) \
801*5113495bSYour Name 	CFG(CFG_STA_BSS_MAX_IDLE_PERIOD) \
802*5113495bSYour Name 	CFG(CFG_TGT_GTX_USR_CFG) \
803*5113495bSYour Name 	CFG(CFG_PMKID_MODES) \
804*5113495bSYour Name 	CFG(CFG_IGNORE_PEER_ERP_INFO) \
805*5113495bSYour Name 	CFG(CFG_STA_PREFER_80MHZ_OVER_160MHZ) \
806*5113495bSYour Name 	CFG(CFG_PPS_ENABLE_5G_EBT) \
807*5113495bSYour Name 	CFG(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION) \
808*5113495bSYour Name 	CFG(CFG_DOT11P_MODE) \
809*5113495bSYour Name 	CFG(CFG_DEAUTH_RETRY_CNT) \
810*5113495bSYour Name 	CFG(CFG_ENABLE_GO_CTS2SELF_FOR_STA) \
811*5113495bSYour Name 	CFG(CFG_QCN_IE_SUPPORT) \
812*5113495bSYour Name 	CFG(CFG_STA_MCAST_MCC_REST_TIME) \
813*5113495bSYour Name 	CFG(CFG_FILS_MAX_CHAN_GUARD_TIME) \
814*5113495bSYour Name 	CFG(CFG_SINGLE_TID_RC) \
815*5113495bSYour Name 	CFG(CFG_STA_KEEPALIVE_METHOD) \
816*5113495bSYour Name 	CFG(CFG_WT_CNF_TIMEOUT) \
817*5113495bSYour Name 	CFG(CFG_CURRENT_RSSI) \
818*5113495bSYour Name 	CFG(CFG_TX_POWER_CTRL) \
819*5113495bSYour Name 	CFG(CFG_MAX_LI_MODULATED_DTIM_MS) \
820*5113495bSYour Name 	CFG_MLO_SUPPORT_LINK_NUM_CFG \
821*5113495bSYour Name 	CFG_MLO_MAX_SIMULTANEOUS_LINKS_CFG \
822*5113495bSYour Name 	CFG_MLO_SUPPORT_LINK_BAND_CFG \
823*5113495bSYour Name 	CFG_MLO_PREFER_PERCENTAGE_CFG \
824*5113495bSYour Name 	CFG_MLO_SAME_LINK_MLD_ADDR_CFG \
825*5113495bSYour Name 	CFG_EHT_DISABLE_PUNCT_IN_US_LPI_CFG \
826*5113495bSYour Name 	CFG_MLO_MLO_5GL_5GH_MLSR_CFG \
827*5113495bSYour Name 	CFG_MLO_EPCS_SUPPORT_ENABLE_CFG
828*5113495bSYour Name #endif /* CFG_MLME_STA_H__ */
829