xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_lfr.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2021-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
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name 
20*5113495bSYour Name /**
21*5113495bSYour Name  * DOC: This file contains configuration definitions for MLME LFR.
22*5113495bSYour Name  */
23*5113495bSYour Name 
24*5113495bSYour Name #ifndef CFG_MLME_LFR_H__
25*5113495bSYour Name #define CFG_MLME_LFR_H__
26*5113495bSYour Name 
27*5113495bSYour Name #ifdef CONNECTION_ROAMING_CFG
28*5113495bSYour Name # define RoamScan_ActiveCH_DwellTime_min 0
29*5113495bSYour Name # define RoamScan_ActiveCH_DwellTime_max 200
30*5113495bSYour Name # define RoamScan_ActiveCH_DwellTime_default 40
31*5113495bSYour Name # define RoamScan_InactiveCount_min 0
32*5113495bSYour Name # define RoamScan_InactiveCount_max 20
33*5113495bSYour Name # define RoamScan_InactiveCount_default 5
34*5113495bSYour Name # define RoamScan_StepRSSI_min 0
35*5113495bSYour Name # define RoamScan_StepRSSI_max 20
36*5113495bSYour Name # define RoamScan_StepRSSI_default 5
37*5113495bSYour Name # define RoamScan_HomeTime_min 0
38*5113495bSYour Name # define RoamScan_HomeTime_max 200
39*5113495bSYour Name # define RoamScan_HomeTime_default 45
40*5113495bSYour Name # define RoamScan_AwayTime_min 0
41*5113495bSYour Name # define RoamScan_AwayTime_max 200
42*5113495bSYour Name # define RoamScan_AwayTime_default 100
43*5113495bSYour Name # define RoamRSSI_Trigger_min -100
44*5113495bSYour Name # define RoamRSSI_Trigger_max -50
45*5113495bSYour Name # define RoamRSSI_Trigger_default -75
46*5113495bSYour Name # define RoamCU_Trigger_min 60
47*5113495bSYour Name # define RoamCU_Trigger_max 90
48*5113495bSYour Name # define RoamCU_Trigger_default 70
49*5113495bSYour Name # define RoamCU_24GRSSIRange_min -70
50*5113495bSYour Name # define RoamCU_24GRSSIRange_max -50
51*5113495bSYour Name # define RoamCU_24GRSSIRange_default -60
52*5113495bSYour Name # define RoamCU_5GRSSIRange_min -70
53*5113495bSYour Name # define RoamCU_5GRSSIRange_max -50
54*5113495bSYour Name # define RoamCU_5GRSSIRange_default -70
55*5113495bSYour Name # define RoamIdle_TriggerBand_min 0
56*5113495bSYour Name # define RoamIdle_TriggerBand_max 4
57*5113495bSYour Name # define RoamIdle_TriggerBand_default 3
58*5113495bSYour Name # define RoamIdle_MinRSSI_min -70
59*5113495bSYour Name # define RoamIdle_MinRSSI_max -50
60*5113495bSYour Name # define RoamIdle_MinRSSI_default -65
61*5113495bSYour Name # define RoamIdle_RSSIVariation_min 0
62*5113495bSYour Name # define RoamIdle_RSSIVariation_max 10
63*5113495bSYour Name # define RoamIdle_RSSIVariation_default 8
64*5113495bSYour Name # define RoamIdle_InactivePacketCount_min 0
65*5113495bSYour Name # define RoamIdle_InactivePacketCount_max 20
66*5113495bSYour Name # define RoamIdle_InactivePacketCount_default 5
67*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONWAKEUP_MIN 0
68*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONWAKEUP_MAX 20
69*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT 6
70*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONSLEEP_MIN 0
71*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONSLEEP_MAX 20
72*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT 10
73*5113495bSYour Name # define ROAMCU_6GRSSIRANGE_MIN -70
74*5113495bSYour Name # define ROAMCU_6GRSSIRANGE_MAX -50
75*5113495bSYour Name # define ROAMCU_6GRSSIRANGE_DEFAULT -70
76*5113495bSYour Name # define RoamIdle_InactiveTime_default 5
77*5113495bSYour Name #else
78*5113495bSYour Name # define RoamScan_ActiveCH_DwellTime_min 3
79*5113495bSYour Name # define RoamScan_ActiveCH_DwellTime_max 300
80*5113495bSYour Name # define RoamScan_ActiveCH_DwellTime_default 40
81*5113495bSYour Name # define RoamScan_InactiveCount_min 0
82*5113495bSYour Name # define RoamScan_InactiveCount_max 0xFFFFFFFF
83*5113495bSYour Name # define RoamScan_InactiveCount_default 10
84*5113495bSYour Name # define RoamScan_StepRSSI_min 0
85*5113495bSYour Name # define RoamScan_StepRSSI_max 100
86*5113495bSYour Name # define RoamScan_StepRSSI_default 5
87*5113495bSYour Name # define RoamScan_HomeTime_min 3
88*5113495bSYour Name # define RoamScan_HomeTime_max 300
89*5113495bSYour Name # define RoamScan_HomeTime_default 50
90*5113495bSYour Name # define RoamScan_AwayTime_min 0
91*5113495bSYour Name # define RoamScan_AwayTime_max 300
92*5113495bSYour Name # define RoamScan_AwayTime_default 0
93*5113495bSYour Name # define RoamRSSI_Trigger_min -100
94*5113495bSYour Name # define RoamRSSI_Trigger_max -50
95*5113495bSYour Name # define RoamRSSI_Trigger_default -76
96*5113495bSYour Name # define RoamCU_Trigger_min 0
97*5113495bSYour Name # define RoamCU_Trigger_max 100
98*5113495bSYour Name # define RoamCU_Trigger_default 70
99*5113495bSYour Name # define RoamCU_24GRSSIRange_min -120
100*5113495bSYour Name # define RoamCU_24GRSSIRange_max 0
101*5113495bSYour Name # define RoamCU_24GRSSIRange_default -60
102*5113495bSYour Name # define RoamCU_5GRSSIRange_min -120
103*5113495bSYour Name # define RoamCU_5GRSSIRange_max 0
104*5113495bSYour Name # define RoamCU_5GRSSIRange_default -70
105*5113495bSYour Name # define RoamIdle_TriggerBand_min 0
106*5113495bSYour Name # define RoamIdle_TriggerBand_max 2
107*5113495bSYour Name # define RoamIdle_TriggerBand_default 0
108*5113495bSYour Name # define RoamIdle_MinRSSI_min -96
109*5113495bSYour Name # define RoamIdle_MinRSSI_max 0
110*5113495bSYour Name # define RoamIdle_MinRSSI_default -65
111*5113495bSYour Name # define RoamIdle_RSSIVariation_min 0
112*5113495bSYour Name # define RoamIdle_RSSIVariation_max 50
113*5113495bSYour Name # define RoamIdle_RSSIVariation_default 3
114*5113495bSYour Name # define RoamIdle_InactivePacketCount_min 0
115*5113495bSYour Name # define RoamIdle_InactivePacketCount_max 0xFFFFFFFF
116*5113495bSYour Name # define RoamIdle_InactivePacketCount_default 10
117*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONWAKEUP_MIN 0
118*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONWAKEUP_MAX 20
119*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT 3
120*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONSLEEP_MIN 0
121*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONSLEEP_MAX 20
122*5113495bSYour Name # define CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT 5
123*5113495bSYour Name # define ROAMCU_6GRSSIRANGE_MIN -120
124*5113495bSYour Name # define ROAMCU_6GRSSIRANGE_MAX 0
125*5113495bSYour Name # define ROAMCU_6GRSSIRANGE_DEFAULT -70
126*5113495bSYour Name # define RoamIdle_InactiveTime_default 10
127*5113495bSYour Name #endif
128*5113495bSYour Name 
129*5113495bSYour Name /*
130*5113495bSYour Name  * <ini>
131*5113495bSYour Name  * RoamScan_PassiveCH_DwellTime - Set max channel time for roam passive scan
132*5113495bSYour Name  * @Min: 0
133*5113495bSYour Name  * @Max: 200
134*5113495bSYour Name  * @Default: 130
135*5113495bSYour Name  *
136*5113495bSYour Name  * This ini is used to set maximum channel time in msecs spent in
137*5113495bSYour Name  * passive scan for roaming
138*5113495bSYour Name  *
139*5113495bSYour Name  * Related: None
140*5113495bSYour Name  *
141*5113495bSYour Name  * Usage: External
142*5113495bSYour Name  *
143*5113495bSYour Name  * </ini>
144*5113495bSYour Name  */
145*5113495bSYour Name #define CFG_ROAM_PASSIVE_MAX_CHANNEL_TIME CFG_INI_UINT(\
146*5113495bSYour Name 		"RoamScan_PassiveCH_DwellTime",\
147*5113495bSYour Name 		0, \
148*5113495bSYour Name 		200, \
149*5113495bSYour Name 		130, \
150*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, "roam scan passive dwell time")
151*5113495bSYour Name 
152*5113495bSYour Name /*
153*5113495bSYour Name  * <ini>
154*5113495bSYour Name  * mawc_roam_enabled - Enable/Disable MAWC during roaming
155*5113495bSYour Name  * @Min: 0 - Disabled
156*5113495bSYour Name  * @Max: 1 - Enabled
157*5113495bSYour Name  * @Default: 0
158*5113495bSYour Name  *
159*5113495bSYour Name  * This ini is used to control MAWC during roaming.
160*5113495bSYour Name  *
161*5113495bSYour Name  * Related: MAWCEnabled.
162*5113495bSYour Name  *
163*5113495bSYour Name  * Supported Feature: MAWC Roaming
164*5113495bSYour Name  *
165*5113495bSYour Name  * Usage: Internal/External
166*5113495bSYour Name  *
167*5113495bSYour Name  * </ini>
168*5113495bSYour Name  */
169*5113495bSYour Name #define CFG_LFR_MAWC_ROAM_ENABLED CFG_INI_BOOL( \
170*5113495bSYour Name 	"mawc_roam_enabled", \
171*5113495bSYour Name 	0, \
172*5113495bSYour Name 	"Enable/Disable MAWC during roaming")
173*5113495bSYour Name 
174*5113495bSYour Name /*
175*5113495bSYour Name  * <ini>
176*5113495bSYour Name  * mawc_roam_traffic_threshold - Configure traffic threshold
177*5113495bSYour Name  * @Min: 0
178*5113495bSYour Name  * @Max: 0xFFFFFFFF
179*5113495bSYour Name  * @Default: 300
180*5113495bSYour Name  *
181*5113495bSYour Name  * This ini is used to configure the data traffic load in kbps to
182*5113495bSYour Name  * register CMC.
183*5113495bSYour Name  *
184*5113495bSYour Name  * Related: mawc_roam_enabled.
185*5113495bSYour Name  *
186*5113495bSYour Name  * Supported Feature: MAWC Roaming
187*5113495bSYour Name  *
188*5113495bSYour Name  * Usage: Internal/External
189*5113495bSYour Name  *
190*5113495bSYour Name  * </ini>
191*5113495bSYour Name  */
192*5113495bSYour Name #define CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD CFG_INI_UINT( \
193*5113495bSYour Name 	"mawc_roam_traffic_threshold", \
194*5113495bSYour Name 	0, \
195*5113495bSYour Name 	0xFFFFFFFF, \
196*5113495bSYour Name 	300, \
197*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
198*5113495bSYour Name 	"Configure traffic threshold")
199*5113495bSYour Name 
200*5113495bSYour Name /*
201*5113495bSYour Name  * <ini>
202*5113495bSYour Name  * mawc_roam_ap_rssi_threshold - Best AP RSSI threshold
203*5113495bSYour Name  * @Min: -120
204*5113495bSYour Name  * @Max: 0
205*5113495bSYour Name  * @Default: -66
206*5113495bSYour Name  *
207*5113495bSYour Name  * This ini is used to specify the RSSI threshold to scan for the AP.
208*5113495bSYour Name  *
209*5113495bSYour Name  * Related: mawc_roam_enabled.
210*5113495bSYour Name  *
211*5113495bSYour Name  * Supported Feature: MAWC Roaming
212*5113495bSYour Name  *
213*5113495bSYour Name  * Usage: Internal/External
214*5113495bSYour Name  *
215*5113495bSYour Name  * </ini>
216*5113495bSYour Name  */
217*5113495bSYour Name #define CFG_LFR_MAWC_ROAM_AP_RSSI_THRESHOLD CFG_INI_INT( \
218*5113495bSYour Name 	"mawc_roam_ap_rssi_threshold", \
219*5113495bSYour Name 	-120, \
220*5113495bSYour Name 	0, \
221*5113495bSYour Name 	-66, \
222*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
223*5113495bSYour Name 	"Best AP RSSI threshold")
224*5113495bSYour Name 
225*5113495bSYour Name /*
226*5113495bSYour Name  * <ini>
227*5113495bSYour Name  * mawc_roam_rssi_high_adjust - Adjust MAWC roam high RSSI
228*5113495bSYour Name  * @Min: 3
229*5113495bSYour Name  * @Max: 5
230*5113495bSYour Name  * @Default: 5
231*5113495bSYour Name  *
232*5113495bSYour Name  * This ini is used for high RSSI threshold adjustment in stationary state
233*5113495bSYour Name  * to suppress the scan.
234*5113495bSYour Name  *
235*5113495bSYour Name  * Related: mawc_roam_enabled.
236*5113495bSYour Name  *
237*5113495bSYour Name  * Supported Feature: MAWC Roaming
238*5113495bSYour Name  *
239*5113495bSYour Name  * Usage: Internal/External
240*5113495bSYour Name  *
241*5113495bSYour Name  * </ini>
242*5113495bSYour Name  */
243*5113495bSYour Name #define CFG_LFR_MAWC_ROAM_RSSI_HIGH_ADJUST CFG_INI_UINT( \
244*5113495bSYour Name 	"mawc_roam_rssi_high_adjust", \
245*5113495bSYour Name 	3, \
246*5113495bSYour Name 	5, \
247*5113495bSYour Name 	5, \
248*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
249*5113495bSYour Name 	"Adjust MAWC roam high RSSI")
250*5113495bSYour Name 
251*5113495bSYour Name /*
252*5113495bSYour Name  * <ini>
253*5113495bSYour Name  * mawc_roam_rssi_low_adjust - Adjust MAWC roam low RSSI
254*5113495bSYour Name  * @Min: 3
255*5113495bSYour Name  * @Max: 5
256*5113495bSYour Name  * @Default: 5
257*5113495bSYour Name  *
258*5113495bSYour Name  * This ini is used for low RSSI threshold adjustment in stationary state
259*5113495bSYour Name  * to suppress the scan.
260*5113495bSYour Name  *
261*5113495bSYour Name  * Related: mawc_roam_enabled.
262*5113495bSYour Name  *
263*5113495bSYour Name  * Supported Feature: MAWC Roaming
264*5113495bSYour Name  *
265*5113495bSYour Name  * Usage: Internal/External
266*5113495bSYour Name  *
267*5113495bSYour Name  * </ini>
268*5113495bSYour Name  */
269*5113495bSYour Name #define CFG_LFR_MAWC_ROAM_RSSI_LOW_ADJUST CFG_INI_UINT( \
270*5113495bSYour Name 	"mawc_roam_rssi_low_adjust", \
271*5113495bSYour Name 	3, \
272*5113495bSYour Name 	5, \
273*5113495bSYour Name 	5, \
274*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
275*5113495bSYour Name 	"Adjust MAWC roam low RSSI")
276*5113495bSYour Name 
277*5113495bSYour Name /*
278*5113495bSYour Name  * <ini>
279*5113495bSYour Name  * rssi_abs_thresh - The min RSSI of the candidate AP to consider roam
280*5113495bSYour Name  * @Min: -96
281*5113495bSYour Name  * @Max: 0
282*5113495bSYour Name  * @Default: 0
283*5113495bSYour Name  *
284*5113495bSYour Name  * The RSSI value of the candidate AP should be higher than rssi_abs_thresh
285*5113495bSYour Name  * to roam to the AP. 0 means no absolute minimum RSSI is required.
286*5113495bSYour Name  *
287*5113495bSYour Name  * Related: None
288*5113495bSYour Name  *
289*5113495bSYour Name  * Supported Feature: Roaming
290*5113495bSYour Name  *
291*5113495bSYour Name  * Usage: External
292*5113495bSYour Name  *
293*5113495bSYour Name  * </ini>
294*5113495bSYour Name  */
295*5113495bSYour Name #define CFG_LFR_ROAM_RSSI_ABS_THRESHOLD CFG_INI_INT( \
296*5113495bSYour Name 	"rssi_abs_thresh", \
297*5113495bSYour Name 	-96, \
298*5113495bSYour Name 	0, \
299*5113495bSYour Name 	0, \
300*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
301*5113495bSYour Name 	"The min RSSI of the candidate AP to consider roam")
302*5113495bSYour Name 
303*5113495bSYour Name /*
304*5113495bSYour Name  * <ini>
305*5113495bSYour Name  * lookup_threshold_5g_offset - Lookup threshold offset for 5G band
306*5113495bSYour Name  * @Min: -120
307*5113495bSYour Name  * @Max: 120
308*5113495bSYour Name  * @Default: 0
309*5113495bSYour Name  *
310*5113495bSYour Name  * This ini is used to set the 5G band lookup threshold for roaming.
311*5113495bSYour Name  * It depends on another INI which is gNeighborLookupThreshold.
312*5113495bSYour Name  * gNeighborLookupThreshold is a legacy INI item which will be used to
313*5113495bSYour Name  * set the RSSI lookup threshold for both 2G and 5G bands. If the
314*5113495bSYour Name  * user wants to setup a different threshold for a 5G band, then user
315*5113495bSYour Name  * can use this offset value which will be summed up to the value of
316*5113495bSYour Name  * gNeighborLookupThreshold and used for 5G
317*5113495bSYour Name  * e.g: gNeighborLookupThreshold = -76dBm
318*5113495bSYour Name  *      lookup_threshold_5g_offset = 6dBm
319*5113495bSYour Name  *      Then the 5G band will be configured to -76+6 = -70dBm
320*5113495bSYour Name  * A default value of Zero to lookup_threshold_5g_offset will keep the
321*5113495bSYour Name  * thresholds same for both 2G and 5G bands
322*5113495bSYour Name  *
323*5113495bSYour Name  * Related: gNeighborLookupThreshold
324*5113495bSYour Name  *
325*5113495bSYour Name  * Supported Feature: Roaming
326*5113495bSYour Name  *
327*5113495bSYour Name  * Usage: Internal/External
328*5113495bSYour Name  *
329*5113495bSYour Name  * </ini>
330*5113495bSYour Name  */
331*5113495bSYour Name #define CFG_LFR_5G_RSSI_THRESHOLD_OFFSET CFG_INI_INT( \
332*5113495bSYour Name 	"lookup_threshold_5g_offset", \
333*5113495bSYour Name 	-120, \
334*5113495bSYour Name 	120, \
335*5113495bSYour Name 	0, \
336*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
337*5113495bSYour Name 	"Lookup threshold offset for 5G band")
338*5113495bSYour Name 
339*5113495bSYour Name /*
340*5113495bSYour Name  * <ini>
341*5113495bSYour Name  * gEnableFastRoamInConcurrency - Enable LFR roaming on STA during concurrency
342*5113495bSYour Name  * @Min: 0
343*5113495bSYour Name  * @Max: 1
344*5113495bSYour Name  * @Default: 1
345*5113495bSYour Name  *
346*5113495bSYour Name  * This INI is used to enable Legacy fast roaming(LFR) on STA link during
347*5113495bSYour Name  * concurrent sessions.
348*5113495bSYour Name  *
349*5113495bSYour Name  * Related: None
350*5113495bSYour Name  *
351*5113495bSYour Name  * Supported Feature: Roaming
352*5113495bSYour Name  *
353*5113495bSYour Name  * Usage: External
354*5113495bSYour Name  *
355*5113495bSYour Name  * </ini>
356*5113495bSYour Name  */
357*5113495bSYour Name #define CFG_LFR_ENABLE_FAST_ROAM_IN_CONCURRENCY CFG_INI_BOOL( \
358*5113495bSYour Name 	"gEnableFastRoamInConcurrency", \
359*5113495bSYour Name 	1, \
360*5113495bSYour Name 	"Enable LFR roaming on STA during concurrency")
361*5113495bSYour Name 
362*5113495bSYour Name /*
363*5113495bSYour Name  * <ini>
364*5113495bSYour Name  * gEnableEarlyStopScan - Set early stop scan
365*5113495bSYour Name  * @Min: 0
366*5113495bSYour Name  * @Max: 1
367*5113495bSYour Name  * @Default: 0
368*5113495bSYour Name  *
369*5113495bSYour Name  * This ini is used to set early stop scan. Early stop
370*5113495bSYour Name  * scan is a feature for roaming to stop the scans at
371*5113495bSYour Name  * an early stage as soon as we find a better AP to roam.
372*5113495bSYour Name  * This would make the roaming happen quickly.
373*5113495bSYour Name  *
374*5113495bSYour Name  * Related: None
375*5113495bSYour Name  *
376*5113495bSYour Name  * Supported Feature: LFR Scan
377*5113495bSYour Name  *
378*5113495bSYour Name  * Usage: External
379*5113495bSYour Name  *
380*5113495bSYour Name  * </ini>
381*5113495bSYour Name  */
382*5113495bSYour Name #define CFG_LFR_EARLY_STOP_SCAN_ENABLE CFG_INI_BOOL( \
383*5113495bSYour Name 	"gEnableEarlyStopScan", \
384*5113495bSYour Name 	0, \
385*5113495bSYour Name 	"Set early stop scan")
386*5113495bSYour Name 
387*5113495bSYour Name /*
388*5113495bSYour Name  * <ini>
389*5113495bSYour Name  * gEarlyStopScanMinThreshold - Set early stop scan min
390*5113495bSYour Name  * threshold
391*5113495bSYour Name  * @Min: -80
392*5113495bSYour Name  * @Max: -70
393*5113495bSYour Name  * @Default: -73
394*5113495bSYour Name  *
395*5113495bSYour Name  * This ini is used to set the early stop scan minimum
396*5113495bSYour Name  * threshold. Early stop scan minimum threshold is the
397*5113495bSYour Name  * minimum threshold to be considered for stopping the
398*5113495bSYour Name  * scan. The algorithm starts with a scan on the greedy
399*5113495bSYour Name  * channel list with the maximum threshold and steps down
400*5113495bSYour Name  * the threshold by 20% for each further channel. It can
401*5113495bSYour Name  * step down on each channel but cannot go lower than the
402*5113495bSYour Name  * minimum threshold.
403*5113495bSYour Name  *
404*5113495bSYour Name  * Related: None
405*5113495bSYour Name  *
406*5113495bSYour Name  * Supported Feature: Scan
407*5113495bSYour Name  *
408*5113495bSYour Name  * Usage: External
409*5113495bSYour Name  *
410*5113495bSYour Name  * </ini>
411*5113495bSYour Name  */
412*5113495bSYour Name #define CFG_LFR_EARLY_STOP_SCAN_MIN_THRESHOLD CFG_INI_INT( \
413*5113495bSYour Name 	"gEarlyStopScanMinThreshold", \
414*5113495bSYour Name 	-80, \
415*5113495bSYour Name 	-70, \
416*5113495bSYour Name 	-73, \
417*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
418*5113495bSYour Name 	"Set early stop scan min")
419*5113495bSYour Name 
420*5113495bSYour Name /*
421*5113495bSYour Name  * <ini>
422*5113495bSYour Name  * gEarlyStopScanMaxThreshold - Set early stop scan max
423*5113495bSYour Name  * threshold
424*5113495bSYour Name  * @Min: -60
425*5113495bSYour Name  * @Max: -40
426*5113495bSYour Name  * @Default: -43
427*5113495bSYour Name  *
428*5113495bSYour Name  * This ini is used to set the the early stop scan maximum
429*5113495bSYour Name  * threshold at which the candidate AP should be to be
430*5113495bSYour Name  * qualified as a potential roam candidate and good enough
431*5113495bSYour Name  * to stop the roaming scan.
432*5113495bSYour Name  *
433*5113495bSYour Name  * Related: None
434*5113495bSYour Name  *
435*5113495bSYour Name  * Supported Feature: Scan
436*5113495bSYour Name  *
437*5113495bSYour Name  * Usage: External
438*5113495bSYour Name  *
439*5113495bSYour Name  * </ini>
440*5113495bSYour Name  */
441*5113495bSYour Name #define CFG_LFR_EARLY_STOP_SCAN_MAX_THRESHOLD CFG_INI_INT( \
442*5113495bSYour Name 	"gEarlyStopScanMaxThreshold", \
443*5113495bSYour Name 	-60, \
444*5113495bSYour Name 	-40, \
445*5113495bSYour Name 	-43, \
446*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
447*5113495bSYour Name 	"Set early stop scan max")
448*5113495bSYour Name 
449*5113495bSYour Name /*
450*5113495bSYour Name  * <ini>
451*5113495bSYour Name  * gtraffic_threshold - Dense traffic threshold
452*5113495bSYour Name  * @Min: 0
453*5113495bSYour Name  * @Max: 0xffffffff
454*5113495bSYour Name  * @Default: 400
455*5113495bSYour Name  *
456*5113495bSYour Name  * Dense traffic threshold
457*5113495bSYour Name  * traffic threshold required for dense roam scan
458*5113495bSYour Name  * Measured in kbps
459*5113495bSYour Name  *
460*5113495bSYour Name  * Related: None
461*5113495bSYour Name  *
462*5113495bSYour Name  * Supported Feature: Roaming
463*5113495bSYour Name  *
464*5113495bSYour Name  * Usage: External
465*5113495bSYour Name  *
466*5113495bSYour Name  * </ini>
467*5113495bSYour Name  */
468*5113495bSYour Name #define CFG_LFR_ROAM_DENSE_TRAFFIC_THRESHOLD CFG_INI_UINT( \
469*5113495bSYour Name 	"gtraffic_threshold", \
470*5113495bSYour Name 	0, \
471*5113495bSYour Name 	0xffffffff, \
472*5113495bSYour Name 	400, \
473*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
474*5113495bSYour Name 	"Dense traffic threshold")
475*5113495bSYour Name 
476*5113495bSYour Name /*
477*5113495bSYour Name  * <ini>
478*5113495bSYour Name  * groam_dense_rssi_thresh_offset - Sets dense roam RSSI threshold diff
479*5113495bSYour Name  * @Min: 0
480*5113495bSYour Name  * @Max: 20
481*5113495bSYour Name  * @Default: 10
482*5113495bSYour Name  *
483*5113495bSYour Name  * This INI is used to set offset value from normal RSSI threshold to dense
484*5113495bSYour Name  * RSSI threshold FW will optimize roaming based on new RSSI threshold once
485*5113495bSYour Name  * it detects dense environment.
486*5113495bSYour Name  *
487*5113495bSYour Name  * Related: None
488*5113495bSYour Name  *
489*5113495bSYour Name  * Supported Feature: Roaming
490*5113495bSYour Name  *
491*5113495bSYour Name  * Usage: External
492*5113495bSYour Name  *
493*5113495bSYour Name  * </ini>
494*5113495bSYour Name  */
495*5113495bSYour Name #define CFG_LFR_ROAM_DENSE_RSSI_THRE_OFFSET CFG_INI_UINT( \
496*5113495bSYour Name 	"groam_dense_rssi_thresh_offset", \
497*5113495bSYour Name 	0, \
498*5113495bSYour Name 	20, \
499*5113495bSYour Name 	10, \
500*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
501*5113495bSYour Name 	"Dense traffic threshold")
502*5113495bSYour Name 
503*5113495bSYour Name /*
504*5113495bSYour Name  * <ini>
505*5113495bSYour Name  * groam_dense_min_aps - Sets minimum number of AP for dense roam
506*5113495bSYour Name  * @Min: 1
507*5113495bSYour Name  * @Max: 5
508*5113495bSYour Name  * @Default: 3
509*5113495bSYour Name  *
510*5113495bSYour Name  * Minimum number of APs required for dense roam. FW will consider
511*5113495bSYour Name  * environment as dense once it detects #APs operating is more than
512*5113495bSYour Name  * groam_dense_min_aps.
513*5113495bSYour Name  *
514*5113495bSYour Name  * Related: None
515*5113495bSYour Name  *
516*5113495bSYour Name  * Supported Feature: Roaming
517*5113495bSYour Name  *
518*5113495bSYour Name  * Usage: External
519*5113495bSYour Name  *
520*5113495bSYour Name  * </ini>
521*5113495bSYour Name  */
522*5113495bSYour Name #define CFG_LFR_ROAM_DENSE_MIN_APS CFG_INI_UINT( \
523*5113495bSYour Name 	"groam_dense_min_aps", \
524*5113495bSYour Name 	1, \
525*5113495bSYour Name 	5, \
526*5113495bSYour Name 	3, \
527*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
528*5113495bSYour Name 	"Sets minimum number of AP for dense roam")
529*5113495bSYour Name 
530*5113495bSYour Name /*
531*5113495bSYour Name  * <ini>
532*5113495bSYour Name  * roam_bg_scan_bad_rssi_thresh - RSSI threshold for background roam
533*5113495bSYour Name  * @Min: -96
534*5113495bSYour Name  * @Max: 0
535*5113495bSYour Name  * @Default: -76
536*5113495bSYour Name  *
537*5113495bSYour Name  * If the DUT is connected to an AP with weak signal, then the bad RSSI
538*5113495bSYour Name  * threshold will be used as an opportunity to use the scan results
539*5113495bSYour Name  * from other scan clients and try to roam if there is a better AP
540*5113495bSYour Name  * available in the environment.
541*5113495bSYour Name  *
542*5113495bSYour Name  * Related: None
543*5113495bSYour Name  *
544*5113495bSYour Name  * Supported Feature: Roaming
545*5113495bSYour Name  *
546*5113495bSYour Name  * Usage: External
547*5113495bSYour Name  *
548*5113495bSYour Name  * </ini>
549*5113495bSYour Name  */
550*5113495bSYour Name #define CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD CFG_INI_INT( \
551*5113495bSYour Name 	"roam_bg_scan_bad_rssi_thresh", \
552*5113495bSYour Name 	-96, \
553*5113495bSYour Name 	0, \
554*5113495bSYour Name 	-76, \
555*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
556*5113495bSYour Name 	"RSSI threshold for background roam")
557*5113495bSYour Name 
558*5113495bSYour Name /*
559*5113495bSYour Name  * <ini>
560*5113495bSYour Name  * roam_bg_scan_client_bitmap - Bitmap used to identify the scan clients
561*5113495bSYour Name  * @Min: 0
562*5113495bSYour Name  * @Max: 0x7FF
563*5113495bSYour Name  * @Default: 0x424
564*5113495bSYour Name  *
565*5113495bSYour Name  * This bitmap is used to define the client scans that need to be used
566*5113495bSYour Name  * by the roaming module to perform a background roaming.
567*5113495bSYour Name  * Currently supported bit positions are as follows:
568*5113495bSYour Name  * Bit 0 is reserved in the firmware.
569*5113495bSYour Name  * WMI_SCAN_CLIENT_NLO - 1
570*5113495bSYour Name  * WMI_SCAN_CLIENT_EXTSCAN - 2
571*5113495bSYour Name  * WMI_SCAN_CLIENT_ROAM - 3
572*5113495bSYour Name  * WMI_SCAN_CLIENT_P2P - 4
573*5113495bSYour Name  * WMI_SCAN_CLIENT_LPI - 5
574*5113495bSYour Name  * WMI_SCAN_CLIENT_NAN - 6
575*5113495bSYour Name  * WMI_SCAN_CLIENT_ANQP - 7
576*5113495bSYour Name  * WMI_SCAN_CLIENT_OBSS - 8
577*5113495bSYour Name  * WMI_SCAN_CLIENT_PLM - 9
578*5113495bSYour Name  * WMI_SCAN_CLIENT_HOST - 10
579*5113495bSYour Name  *
580*5113495bSYour Name  * Related: None
581*5113495bSYour Name  *
582*5113495bSYour Name  * Supported Feature: Roaming
583*5113495bSYour Name  *
584*5113495bSYour Name  * Usage: External
585*5113495bSYour Name  *
586*5113495bSYour Name  * </ini>
587*5113495bSYour Name  */
588*5113495bSYour Name #define CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP CFG_INI_UINT( \
589*5113495bSYour Name 	"roam_bg_scan_client_bitmap", \
590*5113495bSYour Name 	0, \
591*5113495bSYour Name 	0x7FF, \
592*5113495bSYour Name 	0x424, \
593*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
594*5113495bSYour Name 	"Bitmap used to identify the scan clients")
595*5113495bSYour Name 
596*5113495bSYour Name /*
597*5113495bSYour Name  * <ini>
598*5113495bSYour Name  * roam_bad_rssi_thresh_offset_2g - RSSI threshold offset for 2G to 5G roam
599*5113495bSYour Name  * @Min: 0
600*5113495bSYour Name  * @Max: 86
601*5113495bSYour Name  * @Default: 40
602*5113495bSYour Name  *
603*5113495bSYour Name  * If the DUT is connected to an AP with weak signal in 2G band, then the
604*5113495bSYour Name  * bad RSSI offset for 2g would be used as offset from the bad RSSI
605*5113495bSYour Name  * threshold configured and then use the resulting rssi for an opportunity
606*5113495bSYour Name  * to use the scan results from other scan clients and try to roam to
607*5113495bSYour Name  * 5G Band ONLY if there is a better AP available in the environment.
608*5113495bSYour Name  *
609*5113495bSYour Name  * For example if the roam_bg_scan_bad_rssi_thresh is -76 and
610*5113495bSYour Name  * roam_bad_rssi_thresh_offset_2g is 40 then the difference of -36 would be
611*5113495bSYour Name  * used as a trigger to roam to a 5G AP if DUT initially connected to a 2G AP
612*5113495bSYour Name  *
613*5113495bSYour Name  * Related: roam_bg_scan_bad_rssi_thresh
614*5113495bSYour Name  *
615*5113495bSYour Name  * Supported Feature: Roaming
616*5113495bSYour Name  *
617*5113495bSYour Name  * Usage: External
618*5113495bSYour Name  *
619*5113495bSYour Name  * </ini>
620*5113495bSYour Name  */
621*5113495bSYour Name #define CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G CFG_INI_UINT( \
622*5113495bSYour Name 	"roam_bad_rssi_thresh_offset_2g", \
623*5113495bSYour Name 	0, \
624*5113495bSYour Name 	86, \
625*5113495bSYour Name 	40, \
626*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
627*5113495bSYour Name 	"RSSI threshold offset for 2G to 5G roam")
628*5113495bSYour Name 
629*5113495bSYour Name /*
630*5113495bSYour Name  * <ini>
631*5113495bSYour Name  * roam_data_rssi_threshold_triggers - triggers of data rssi threshold for roam
632*5113495bSYour Name  * @Min: 0
633*5113495bSYour Name  * @Max: 0xffff
634*5113495bSYour Name  * @Default: 0x3
635*5113495bSYour Name  *
636*5113495bSYour Name  * If the DUT is connected to an AP with weak signal, during latest
637*5113495bSYour Name  * rx_data_inactivity_time, if there is no activity or avg of data_rssi is
638*5113495bSYour Name  * better than roam_data_rssi_threshold(-70dbM), then suppress roaming
639*5113495bSYour Name  * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
640*5113495bSYour Name  * Triggers bitmap definition:
641*5113495bSYour Name  * ROAM_DATA_RSSI_FLAG_LOW_RSSI   1<<0
642*5113495bSYour Name  * ROAM_DATA_RSSI_FLAG_BACKGROUND 1<<1
643*5113495bSYour Name  *
644*5113495bSYour Name  * Related: None
645*5113495bSYour Name  *
646*5113495bSYour Name  * Supported Feature: Roaming
647*5113495bSYour Name  *
648*5113495bSYour Name  * Usage: External
649*5113495bSYour Name  *
650*5113495bSYour Name  * </ini>
651*5113495bSYour Name  */
652*5113495bSYour Name #define CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS CFG_INI_UINT( \
653*5113495bSYour Name 	"roam_data_rssi_threshold_triggers", \
654*5113495bSYour Name 	0, \
655*5113495bSYour Name 	0xffff, \
656*5113495bSYour Name 	0x3, \
657*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
658*5113495bSYour Name 	"Triggers of DATA RSSI threshold for roam")
659*5113495bSYour Name 
660*5113495bSYour Name /*
661*5113495bSYour Name  * <ini>
662*5113495bSYour Name  * roam_data_rssi_threshold - Data RSSI threshold for background roam
663*5113495bSYour Name  * @Min: -96
664*5113495bSYour Name  * @Max: 0
665*5113495bSYour Name  * @Default: -70
666*5113495bSYour Name  *
667*5113495bSYour Name  * If the DUT is connected to an AP with weak signal, during latest
668*5113495bSYour Name  * rx_data_inactivity_time, if there is no activity or avg of data_rssi is
669*5113495bSYour Name  * better than roam_data_rssi_threshold(-70dbM), then suppress roaming
670*5113495bSYour Name  * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
671*5113495bSYour Name  *
672*5113495bSYour Name  * Related: None
673*5113495bSYour Name  *
674*5113495bSYour Name  * Supported Feature: Roaming
675*5113495bSYour Name  *
676*5113495bSYour Name  * Usage: External
677*5113495bSYour Name  *
678*5113495bSYour Name  * </ini>
679*5113495bSYour Name  */
680*5113495bSYour Name #define CFG_ROAM_DATA_RSSI_THRESHOLD CFG_INI_INT( \
681*5113495bSYour Name 	"roam_data_rssi_threshold", \
682*5113495bSYour Name 	-96, \
683*5113495bSYour Name 	0, \
684*5113495bSYour Name 	-70, \
685*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
686*5113495bSYour Name 	"DATA RSSI threshold for roam")
687*5113495bSYour Name 
688*5113495bSYour Name /*
689*5113495bSYour Name  * <ini>
690*5113495bSYour Name  * rx_data_inactivity_time - Duration to check data rssi
691*5113495bSYour Name  * @Min: 0
692*5113495bSYour Name  * @Max: 100000 ms
693*5113495bSYour Name  * @Default: 2000
694*5113495bSYour Name  *
695*5113495bSYour Name  * If the DUT is connected to an AP with weak signal, during latest
696*5113495bSYour Name  * rx_data_inactivity_time, if there is no activity or avg of data_rssi is
697*5113495bSYour Name  * better than roam_data_rssi_threshold(-70dbM), then suppress roaming
698*5113495bSYour Name  * triggered by roam_data_rssi_threshold_triggers: low RSSI or bg scan.
699*5113495bSYour Name  *
700*5113495bSYour Name  * Related: None
701*5113495bSYour Name  *
702*5113495bSYour Name  * Supported Feature: Roaming
703*5113495bSYour Name  *
704*5113495bSYour Name  * Usage: External
705*5113495bSYour Name  *
706*5113495bSYour Name  * </ini>
707*5113495bSYour Name  */
708*5113495bSYour Name #define CFG_RX_DATA_INACTIVITY_TIME CFG_INI_UINT( \
709*5113495bSYour Name 	"rx_data_inactivity_time", \
710*5113495bSYour Name 	0, \
711*5113495bSYour Name 	100000, \
712*5113495bSYour Name 	2000, \
713*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
714*5113495bSYour Name 	"Rx inactivity time to check data rssi")
715*5113495bSYour Name 
716*5113495bSYour Name /*
717*5113495bSYour Name  * <ini>
718*5113495bSYour Name  * roamscan_adaptive_dwell_mode - Sets dwell time adaptive mode
719*5113495bSYour Name  * @Min: 0
720*5113495bSYour Name  * @Max: 4
721*5113495bSYour Name  * @Default: 4
722*5113495bSYour Name  *
723*5113495bSYour Name  * This parameter will set the algo used in dwell time optimization during
724*5113495bSYour Name  * roam scan. see enum scan_dwelltime_adaptive_mode.
725*5113495bSYour Name  * Acceptable values for this:
726*5113495bSYour Name  * 0: Default (Use firmware default mode)
727*5113495bSYour Name  * 1: Conservative optimization
728*5113495bSYour Name  * 2: Moderate optimization
729*5113495bSYour Name  * 3: Aggressive optimization
730*5113495bSYour Name  * 4: Static
731*5113495bSYour Name  *
732*5113495bSYour Name  * Related: None
733*5113495bSYour Name  *
734*5113495bSYour Name  * Supported Feature: Roaming
735*5113495bSYour Name  *
736*5113495bSYour Name  * Usage: External
737*5113495bSYour Name  *
738*5113495bSYour Name  * </ini>
739*5113495bSYour Name  */
740*5113495bSYour Name #define CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE CFG_INI_UINT( \
741*5113495bSYour Name 	"roamscan_adaptive_dwell_mode", \
742*5113495bSYour Name 	0, \
743*5113495bSYour Name 	4, \
744*5113495bSYour Name 	4, \
745*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
746*5113495bSYour Name 	"Sets dwell time adaptive mode")
747*5113495bSYour Name 
748*5113495bSYour Name /*
749*5113495bSYour Name  * <ini>
750*5113495bSYour Name  * gper_roam_enabled - To enabled/disable PER based roaming in FW
751*5113495bSYour Name  * @Min: 0
752*5113495bSYour Name  * @Max: 3
753*5113495bSYour Name  * @Default: 3
754*5113495bSYour Name  *
755*5113495bSYour Name  * This ini is used to enable/disable Packet error based roaming, enabling this
756*5113495bSYour Name  * will cause DUT to monitor Tx and Rx traffic and roam to a better candidate
757*5113495bSYour Name  * if current is not good enough.
758*5113495bSYour Name  *
759*5113495bSYour Name  * Values supported:
760*5113495bSYour Name  * 0: disabled
761*5113495bSYour Name  * 1: enabled for Rx traffic
762*5113495bSYour Name  * 2: enabled for Tx traffic
763*5113495bSYour Name  * 3: enabled for Tx and Rx traffic
764*5113495bSYour Name  *
765*5113495bSYour Name  * Related: gper_roam_high_rate_th, gper_roam_low_rate_th,
766*5113495bSYour Name  *          gper_roam_th_percent, gper_roam_rest_time
767*5113495bSYour Name  *
768*5113495bSYour Name  * Supported Feature: LFR-3.0
769*5113495bSYour Name  *
770*5113495bSYour Name  * Usage: Internal
771*5113495bSYour Name  *
772*5113495bSYour Name  * </ini>
773*5113495bSYour Name  */
774*5113495bSYour Name #define CFG_LFR_PER_ROAM_ENABLE CFG_INI_UINT( \
775*5113495bSYour Name 	"gper_roam_enabled", \
776*5113495bSYour Name 	0, \
777*5113495bSYour Name 	3, \
778*5113495bSYour Name 	3, \
779*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
780*5113495bSYour Name 	"To enabled/disable PER based roaming in FW")
781*5113495bSYour Name 
782*5113495bSYour Name /*
783*5113495bSYour Name  * <ini>
784*5113495bSYour Name  * gper_roam_high_rate_th - Rate at which PER based roam will stop
785*5113495bSYour Name  * @Min: 1 Mbps
786*5113495bSYour Name  * @Max: 0xffffffff
787*5113495bSYour Name  * @Default: 40 Mbps
788*5113495bSYour Name  *
789*5113495bSYour Name  * This ini is used to define the data rate in mbps*10 at which FW will stop
790*5113495bSYour Name  * monitoring the traffic for PER based roam.
791*5113495bSYour Name  *
792*5113495bSYour Name  * Related: gper_roam_enabled, gper_roam_low_rate_th,
793*5113495bSYour Name  *          gper_roam_th_percent, gper_roam_rest_time
794*5113495bSYour Name  *
795*5113495bSYour Name  * Supported Feature: LFR-3.0
796*5113495bSYour Name  *
797*5113495bSYour Name  * Usage: Internal
798*5113495bSYour Name  *
799*5113495bSYour Name  * </ini>
800*5113495bSYour Name  */
801*5113495bSYour Name #define CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH CFG_INI_UINT( \
802*5113495bSYour Name 	"gper_roam_high_rate_th", \
803*5113495bSYour Name 	10, \
804*5113495bSYour Name 	0xffffffff, \
805*5113495bSYour Name 	400, \
806*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
807*5113495bSYour Name 	"Rate at which PER based roam will stop")
808*5113495bSYour Name 
809*5113495bSYour Name /*
810*5113495bSYour Name  * <ini>
811*5113495bSYour Name  * gper_roam_low_rate_th - Rate at which FW starts considering traffic for PER
812*5113495bSYour Name  * based roam.
813*5113495bSYour Name  *
814*5113495bSYour Name  * @Min: 1 Mbps
815*5113495bSYour Name  * @Max: 0xffffffff
816*5113495bSYour Name  * @Default: 20 Mbps
817*5113495bSYour Name  *
818*5113495bSYour Name  * This ini is used to define the rate in mbps*10 at which FW starts considering
819*5113495bSYour Name  * traffic for PER based roam, if gper_roam_th_percent of data is below this
820*5113495bSYour Name  * rate, FW will issue a roam scan.
821*5113495bSYour Name  *
822*5113495bSYour Name  * Related: gper_roam_enabled, gper_roam_high_rate_th,
823*5113495bSYour Name  *          gper_roam_th_percent, gper_roam_rest_time
824*5113495bSYour Name  *
825*5113495bSYour Name  * Supported Feature: LFR-3.0
826*5113495bSYour Name  *
827*5113495bSYour Name  * Usage: Internal
828*5113495bSYour Name  *
829*5113495bSYour Name  * </ini>
830*5113495bSYour Name  */
831*5113495bSYour Name #define CFG_LFR_PER_ROAM_CONFIG_LOW_RATE_TH CFG_INI_UINT( \
832*5113495bSYour Name 	"gper_roam_low_rate_th", \
833*5113495bSYour Name 	10, \
834*5113495bSYour Name 	0xffffffff, \
835*5113495bSYour Name 	200, \
836*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
837*5113495bSYour Name 	"Rate at which FW starts considering traffic for PER")
838*5113495bSYour Name 
839*5113495bSYour Name /*
840*5113495bSYour Name  * <ini>
841*5113495bSYour Name  * gper_roam_th_percent - Percentage at which FW will issue a roam scan if
842*5113495bSYour Name  * traffic is below gper_roam_low_rate_th rate.
843*5113495bSYour Name  *
844*5113495bSYour Name  * @Min: 10%
845*5113495bSYour Name  * @Max: 100%
846*5113495bSYour Name  * @Default: 60%
847*5113495bSYour Name  *
848*5113495bSYour Name  * This ini is used to define the percentage at which FW will issue a roam scan
849*5113495bSYour Name  * if traffic is below gper_roam_low_rate_th rate.
850*5113495bSYour Name  *
851*5113495bSYour Name  * Related: gper_roam_enabled, gper_roam_high_rate_th,
852*5113495bSYour Name  *          gper_roam_high_rate_th, gper_roam_rest_time
853*5113495bSYour Name  *
854*5113495bSYour Name  * Supported Feature: LFR-3.0
855*5113495bSYour Name  *
856*5113495bSYour Name  * Usage: Internal
857*5113495bSYour Name  *
858*5113495bSYour Name  * </ini>
859*5113495bSYour Name  */
860*5113495bSYour Name #define CFG_LFR_PER_ROAM_CONFIG_RATE_TH_PERCENT CFG_INI_UINT( \
861*5113495bSYour Name 	"gper_roam_th_percent", \
862*5113495bSYour Name 	10, \
863*5113495bSYour Name 	100, \
864*5113495bSYour Name 	60, \
865*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
866*5113495bSYour Name 	"Percentage at which FW will issue a roam scan")
867*5113495bSYour Name 
868*5113495bSYour Name /*
869*5113495bSYour Name  * <ini>
870*5113495bSYour Name  * gper_roam_rest_time - Time for which FW will wait once it issues a
871*5113495bSYour Name  * roam scan.
872*5113495bSYour Name  *
873*5113495bSYour Name  * @Min: 10 seconds
874*5113495bSYour Name  * @Max: 3600 seconds
875*5113495bSYour Name  * @Default: 300 seconds
876*5113495bSYour Name  *
877*5113495bSYour Name  * This ini is used to define the time for which FW will wait once it issues a
878*5113495bSYour Name  * PER based roam scan.
879*5113495bSYour Name  *
880*5113495bSYour Name  * Related: gper_roam_enabled, gper_roam_high_rate_th,
881*5113495bSYour Name  *          gper_roam_high_rate_th, gper_roam_th_percent
882*5113495bSYour Name  *
883*5113495bSYour Name  * Supported Feature: LFR-3.0
884*5113495bSYour Name  *
885*5113495bSYour Name  * Usage: Internal
886*5113495bSYour Name  *
887*5113495bSYour Name  * </ini>
888*5113495bSYour Name  */
889*5113495bSYour Name #define CFG_LFR_PER_ROAM_REST_TIME CFG_INI_UINT( \
890*5113495bSYour Name 	"gper_roam_rest_time", \
891*5113495bSYour Name 	10, \
892*5113495bSYour Name 	3600, \
893*5113495bSYour Name 	300, \
894*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
895*5113495bSYour Name 	"Time for which FW will wait once it issues a roam scan")
896*5113495bSYour Name 
897*5113495bSYour Name /*
898*5113495bSYour Name  * <ini>
899*5113495bSYour Name  * gper_roam_mon_time - Minimum time required in seconds to
900*5113495bSYour Name  * be considered as valid scenario for PER based roam
901*5113495bSYour Name  * @Min: 5
902*5113495bSYour Name  * @Max: 25
903*5113495bSYour Name  * @Default: 25
904*5113495bSYour Name  *
905*5113495bSYour Name  * This ini is used to define minimum time in seconds for which DUT has
906*5113495bSYour Name  * collected the PER stats before it can consider the stats hysteresis to be
907*5113495bSYour Name  * valid for PER based scan.
908*5113495bSYour Name  * DUT collects following information during this period:
909*5113495bSYour Name  *     1. % of packets below gper_roam_low_rate_th
910*5113495bSYour Name  *     2. # packets above gper_roam_high_rate_th
911*5113495bSYour Name  * if DUT gets (1) greater than gper_roam_th_percent and (2) is zero during
912*5113495bSYour Name  * this period, it triggers PER based roam scan.
913*5113495bSYour Name  *
914*5113495bSYour Name  * Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th,
915*5113495bSYour Name  *          gper_roam_th_percent, gper_roam_rest_time
916*5113495bSYour Name  *
917*5113495bSYour Name  * Supported Feature: LFR-3.0
918*5113495bSYour Name  *
919*5113495bSYour Name  * Usage: Internal
920*5113495bSYour Name  *
921*5113495bSYour Name  * </ini>
922*5113495bSYour Name  */
923*5113495bSYour Name #define CFG_LFR_PER_ROAM_MONITOR_TIME CFG_INI_UINT( \
924*5113495bSYour Name 	"gper_roam_mon_time", \
925*5113495bSYour Name 	5, \
926*5113495bSYour Name 	25, \
927*5113495bSYour Name 	25, \
928*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
929*5113495bSYour Name 	"Minimum time to be considered as valid scenario for PER based roam")
930*5113495bSYour Name 
931*5113495bSYour Name /*
932*5113495bSYour Name  * <ini>
933*5113495bSYour Name  * gper_min_rssi_threshold_for_roam -  Minimum roamable AP RSSI for
934*5113495bSYour Name  * candidate selection for PER based roam
935*5113495bSYour Name  * @Min: 0
936*5113495bSYour Name  * @Max: 96
937*5113495bSYour Name  * @Default: 83
938*5113495bSYour Name  *
939*5113495bSYour Name  * Minimum roamable AP RSSI for candidate selection for PER based roam
940*5113495bSYour Name  *
941*5113495bSYour Name  * Related: gper_roam_enabled, gper_roam_high_rate_th, gper_roam_low_rate_th,
942*5113495bSYour Name  *          gper_roam_th_percent, gper_roam_rest_time
943*5113495bSYour Name  *
944*5113495bSYour Name  * Supported Feature: LFR-3.0
945*5113495bSYour Name  *
946*5113495bSYour Name  * Usage: Internal
947*5113495bSYour Name  *
948*5113495bSYour Name  * </ini>
949*5113495bSYour Name  */
950*5113495bSYour Name #define CFG_LFR_PER_ROAM_MIN_CANDIDATE_RSSI CFG_INI_UINT( \
951*5113495bSYour Name 	"gper_min_rssi_threshold_for_roam", \
952*5113495bSYour Name 	10, \
953*5113495bSYour Name 	96, \
954*5113495bSYour Name 	83, \
955*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
956*5113495bSYour Name 	"Minimum roamable AP RSSI for candidate selection for PER based roam")
957*5113495bSYour Name 
958*5113495bSYour Name /*
959*5113495bSYour Name  * <ini>
960*5113495bSYour Name  * groam_disallow_duration - disallow duration before roaming
961*5113495bSYour Name  * @Min: 0
962*5113495bSYour Name  * @Max: 3600
963*5113495bSYour Name  * @Default: 30
964*5113495bSYour Name  *
965*5113495bSYour Name  * This ini is used to configure how long LCA[Last Connected AP] AP will
966*5113495bSYour Name  * be disallowed before it can be a roaming candidate again, in units of
967*5113495bSYour Name  * seconds.
968*5113495bSYour Name  *
969*5113495bSYour Name  * Related: LFR
970*5113495bSYour Name  *
971*5113495bSYour Name  * Usage: Internal
972*5113495bSYour Name  *
973*5113495bSYour Name  * </ini>
974*5113495bSYour Name  */
975*5113495bSYour Name #define CFG_LFR3_ROAM_DISALLOW_DURATION CFG_INI_UINT( \
976*5113495bSYour Name 	"groam_disallow_duration", \
977*5113495bSYour Name 	0, \
978*5113495bSYour Name 	3600, \
979*5113495bSYour Name 	30, \
980*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
981*5113495bSYour Name 	"disallow duration before roaming")
982*5113495bSYour Name 
983*5113495bSYour Name /*
984*5113495bSYour Name  * <ini>
985*5113495bSYour Name  * grssi_channel_penalization - RSSI penalization
986*5113495bSYour Name  * @Min: 0
987*5113495bSYour Name  * @Max: 15
988*5113495bSYour Name  * @Default: 5
989*5113495bSYour Name  *
990*5113495bSYour Name  * This ini is used to configure RSSI that will be penalized if candidate(s)
991*5113495bSYour Name  * are found to be in the same channel as disallowed AP's, in units of db.
992*5113495bSYour Name  *
993*5113495bSYour Name  * Related: LFR
994*5113495bSYour Name  *
995*5113495bSYour Name  * Usage: Internal
996*5113495bSYour Name  *
997*5113495bSYour Name  * </ini>
998*5113495bSYour Name  */
999*5113495bSYour Name #define CFG_LFR3_ROAM_RSSI_CHANNEL_PENALIZATION CFG_INI_UINT( \
1000*5113495bSYour Name 	"grssi_channel_penalization", \
1001*5113495bSYour Name 	0, \
1002*5113495bSYour Name 	15, \
1003*5113495bSYour Name 	5, \
1004*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1005*5113495bSYour Name 	"RSSI penalization")
1006*5113495bSYour Name 
1007*5113495bSYour Name /*
1008*5113495bSYour Name  * <ini>
1009*5113495bSYour Name  * groam_num_disallowed_aps - Max number of AP's to maintain in LCA list
1010*5113495bSYour Name  * @Min: 0
1011*5113495bSYour Name  * @Max: 8
1012*5113495bSYour Name  * @Default: 3
1013*5113495bSYour Name  *
1014*5113495bSYour Name  * This ini is used to set the maximum number of AP's to be maintained
1015*5113495bSYour Name  * in LCA [Last Connected AP] list.
1016*5113495bSYour Name  *
1017*5113495bSYour Name  * Related: LFR
1018*5113495bSYour Name  *
1019*5113495bSYour Name  * Usage: Internal
1020*5113495bSYour Name  *
1021*5113495bSYour Name  * </ini>
1022*5113495bSYour Name  */
1023*5113495bSYour Name #define CFG_LFR3_ROAM_NUM_DISALLOWED_APS CFG_INI_UINT( \
1024*5113495bSYour Name 	"groam_num_disallowed_aps", \
1025*5113495bSYour Name 	0, \
1026*5113495bSYour Name 	8, \
1027*5113495bSYour Name 	3, \
1028*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1029*5113495bSYour Name 	"Max number of AP's to maintain in LCA list")
1030*5113495bSYour Name 
1031*5113495bSYour Name /*
1032*5113495bSYour Name  * <ini>
1033*5113495bSYour Name  * enable_5g_band_pref - Enable preference for 5G from INI.
1034*5113495bSYour Name  * @Min: 0
1035*5113495bSYour Name  * @Max: 1
1036*5113495bSYour Name  * @Default: 0
1037*5113495bSYour Name  * This ini is used to enable 5G preference parameters.
1038*5113495bSYour Name  *
1039*5113495bSYour Name  * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
1040*5113495bSYour Name  * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
1041*5113495bSYour Name  *
1042*5113495bSYour Name  * Supported Feature: 5G band preference
1043*5113495bSYour Name  *
1044*5113495bSYour Name  * Usage: External
1045*5113495bSYour Name  *
1046*5113495bSYour Name  * </ini>
1047*5113495bSYour Name  */
1048*5113495bSYour Name #define CFG_LFR_ENABLE_5G_BAND_PREF CFG_INI_BOOL( \
1049*5113495bSYour Name 	"enable_5g_band_pref", \
1050*5113495bSYour Name 	0, \
1051*5113495bSYour Name 	"Enable preference for 5G from INI")
1052*5113495bSYour Name 
1053*5113495bSYour Name /*
1054*5113495bSYour Name  * <ini>
1055*5113495bSYour Name  * 5g_rssi_boost_threshold - A_band_boost_threshold above which 5G is favored.
1056*5113495bSYour Name  * @Min: -70
1057*5113495bSYour Name  * @Max: -55
1058*5113495bSYour Name  * @Default: -60
1059*5113495bSYour Name  * This ini is used to set threshold for 5GHz band preference.
1060*5113495bSYour Name  *
1061*5113495bSYour Name  * Related: 5g_rssi_boost_factor, 5g_max_rssi_boost
1062*5113495bSYour Name  * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
1063*5113495bSYour Name  *
1064*5113495bSYour Name  * Supported Feature: 5G band preference
1065*5113495bSYour Name  *
1066*5113495bSYour Name  * Usage: External
1067*5113495bSYour Name  *
1068*5113495bSYour Name  * </ini>
1069*5113495bSYour Name  */
1070*5113495bSYour Name #define CFG_LFR_5G_RSSI_BOOST_THRESHOLD CFG_INI_INT( \
1071*5113495bSYour Name 	"5g_rssi_boost_threshold", \
1072*5113495bSYour Name 	-70, \
1073*5113495bSYour Name 	-55, \
1074*5113495bSYour Name 	-60, \
1075*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1076*5113495bSYour Name 	"A_band_boost_threshold above which 5 GHz is favored")
1077*5113495bSYour Name 
1078*5113495bSYour Name /*
1079*5113495bSYour Name  * <ini>
1080*5113495bSYour Name  * 5g_rssi_boost_factor - Factor by which 5GHz RSSI is boosted.
1081*5113495bSYour Name  * @Min: 0
1082*5113495bSYour Name  * @Max: 2
1083*5113495bSYour Name  * @Default: 1
1084*5113495bSYour Name  * This ini is used to set the 5Ghz boost factor.
1085*5113495bSYour Name  *
1086*5113495bSYour Name  * Related: 5g_rssi_boost_threshold, 5g_max_rssi_boost
1087*5113495bSYour Name  * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
1088*5113495bSYour Name  *
1089*5113495bSYour Name  * Supported Feature: 5G band preference
1090*5113495bSYour Name  *
1091*5113495bSYour Name  * Usage: External
1092*5113495bSYour Name  *
1093*5113495bSYour Name  * </ini>
1094*5113495bSYour Name  */
1095*5113495bSYour Name #define CFG_LFR_5G_RSSI_BOOST_FACTOR CFG_INI_UINT( \
1096*5113495bSYour Name 	"5g_rssi_boost_factor", \
1097*5113495bSYour Name 	0, \
1098*5113495bSYour Name 	2, \
1099*5113495bSYour Name 	1, \
1100*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1101*5113495bSYour Name 	"Factor by which 5GHz RSSI is boosted")
1102*5113495bSYour Name 
1103*5113495bSYour Name /*
1104*5113495bSYour Name  * <ini>
1105*5113495bSYour Name  * 5g_max_rssi_boost - Maximum boost that can be applied to 5GHz RSSI.
1106*5113495bSYour Name  * @Min: 0
1107*5113495bSYour Name  * @Max: 20
1108*5113495bSYour Name  * @Default: 10
1109*5113495bSYour Name  * This ini is used to set maximum boost which can be given to a 5Ghz network.
1110*5113495bSYour Name  *
1111*5113495bSYour Name  * Related: 5g_rssi_boost_threshold, 5g_rssi_boost_factor
1112*5113495bSYour Name  * 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor, 5g_max_rssi_penalize
1113*5113495bSYour Name  *
1114*5113495bSYour Name  * Supported Feature: 5G band preference
1115*5113495bSYour Name  *
1116*5113495bSYour Name  * Usage: External
1117*5113495bSYour Name  *
1118*5113495bSYour Name  * </ini>
1119*5113495bSYour Name  */
1120*5113495bSYour Name #define CFG_LFR_5G_MAX_RSSI_BOOST CFG_INI_UINT( \
1121*5113495bSYour Name 	"5g_max_rssi_boost", \
1122*5113495bSYour Name 	0, \
1123*5113495bSYour Name 	20, \
1124*5113495bSYour Name 	10, \
1125*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1126*5113495bSYour Name 	"Maximum boost that can be applied to 5GHz RSSI")
1127*5113495bSYour Name 
1128*5113495bSYour Name /*
1129*5113495bSYour Name  * <ini>
1130*5113495bSYour Name  * 5g_rssi_penalize_threshold - A_band_penalize_threshold above which
1131*5113495bSYour Name  * 5 GHz is not favored.
1132*5113495bSYour Name  * @Min: -80
1133*5113495bSYour Name  * @Max: -65
1134*5113495bSYour Name  * @Default: -70
1135*5113495bSYour Name  * This ini is used to set threshold for 5GHz band preference.
1136*5113495bSYour Name  *
1137*5113495bSYour Name  * Related: 5g_rssi_penalize_factor, 5g_max_rssi_penalize
1138*5113495bSYour Name  * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
1139*5113495bSYour Name  *
1140*5113495bSYour Name  * Supported Feature: 5G band preference
1141*5113495bSYour Name  *
1142*5113495bSYour Name  * Usage: External
1143*5113495bSYour Name  *
1144*5113495bSYour Name  * </ini>
1145*5113495bSYour Name  */
1146*5113495bSYour Name #define CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD CFG_INI_INT( \
1147*5113495bSYour Name 	"5g_rssi_penalize_threshold", \
1148*5113495bSYour Name 	-80, \
1149*5113495bSYour Name 	-65, \
1150*5113495bSYour Name 	-70, \
1151*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1152*5113495bSYour Name 	"A_band_penalize_threshold above which 5 GHz is not favored")
1153*5113495bSYour Name 
1154*5113495bSYour Name /*
1155*5113495bSYour Name  * <ini>
1156*5113495bSYour Name  * 5g_rssi_penalize_factor - Factor by which 5GHz RSSI is penalizeed.
1157*5113495bSYour Name  * @Min: 0
1158*5113495bSYour Name  * @Max: 2
1159*5113495bSYour Name  * @Default: 1
1160*5113495bSYour Name  * This ini is used to set the 5Ghz penalize factor.
1161*5113495bSYour Name  *
1162*5113495bSYour Name  * Related: 5g_rssi_penalize_threshold, 5g_max_rssi_penalize
1163*5113495bSYour Name  * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
1164*5113495bSYour Name  *
1165*5113495bSYour Name  * Supported Feature: 5G band preference
1166*5113495bSYour Name  *
1167*5113495bSYour Name  * Usage: External
1168*5113495bSYour Name  *
1169*5113495bSYour Name  * </ini>
1170*5113495bSYour Name  */
1171*5113495bSYour Name #define CFG_LFR_5G_RSSI_PENALIZE_FACTOR CFG_INI_UINT( \
1172*5113495bSYour Name 	"5g_rssi_penalize_factor", \
1173*5113495bSYour Name 	0, \
1174*5113495bSYour Name 	2, \
1175*5113495bSYour Name 	1, \
1176*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1177*5113495bSYour Name 	"Factor by which 5GHz RSSI is penalizeed")
1178*5113495bSYour Name 
1179*5113495bSYour Name /*
1180*5113495bSYour Name  * <ini>
1181*5113495bSYour Name  * 5g_max_rssi_penalize - Maximum penalty that can be applied to 5GHz RSSI.
1182*5113495bSYour Name  * @Min: 0
1183*5113495bSYour Name  * @Max: 20
1184*5113495bSYour Name  * @Default: 10
1185*5113495bSYour Name  * This ini is used to set maximum penalty which can be given to a 5Ghz network.
1186*5113495bSYour Name  *
1187*5113495bSYour Name  * Related: 5g_rssi_penalize_threshold, 5g_rssi_penalize_factor
1188*5113495bSYour Name  * 5g_rssi_boost_threshold, 5g_rssi_boost_factor, 5g_max_rssi_boost
1189*5113495bSYour Name  *
1190*5113495bSYour Name  * Supported Feature: 5G band preference
1191*5113495bSYour Name  *
1192*5113495bSYour Name  * Usage: External
1193*5113495bSYour Name  *
1194*5113495bSYour Name  * </ini>
1195*5113495bSYour Name  */
1196*5113495bSYour Name #define CFG_LFR_5G_MAX_RSSI_PENALIZE CFG_INI_UINT( \
1197*5113495bSYour Name 	"5g_max_rssi_penalize", \
1198*5113495bSYour Name 	0, \
1199*5113495bSYour Name 	20, \
1200*5113495bSYour Name 	10, \
1201*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1202*5113495bSYour Name 	"Maximum penalty that can be applied to 5GHz RSSI")
1203*5113495bSYour Name 
1204*5113495bSYour Name /*
1205*5113495bSYour Name  * <ini>
1206*5113495bSYour Name  * max_num_pre_auth - Configure max number of pre-auth
1207*5113495bSYour Name  * @Min: 0
1208*5113495bSYour Name  * @Max: 256
1209*5113495bSYour Name  * @Default: 64
1210*5113495bSYour Name  *
1211*5113495bSYour Name  * This ini is used to configure the data max number of pre-auth
1212*5113495bSYour Name  *
1213*5113495bSYour Name  * Usage: Internal
1214*5113495bSYour Name  *
1215*5113495bSYour Name  * </ini>
1216*5113495bSYour Name  */
1217*5113495bSYour Name #define CFG_LFR_MAX_NUM_PRE_AUTH CFG_UINT( \
1218*5113495bSYour Name 	"max_num_pre_auth", \
1219*5113495bSYour Name 	0, \
1220*5113495bSYour Name 	256, \
1221*5113495bSYour Name 	64, \
1222*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1223*5113495bSYour Name 	"")
1224*5113495bSYour Name 
1225*5113495bSYour Name /*
1226*5113495bSYour Name  * <ini>
1227*5113495bSYour Name  * roam_preauth_retry_count
1228*5113495bSYour Name  *
1229*5113495bSYour Name  * @Min: 1
1230*5113495bSYour Name  * @Max: 10
1231*5113495bSYour Name  * @Default: 5
1232*5113495bSYour Name  *
1233*5113495bSYour Name  * The maximum number of software retries for preauth or
1234*5113495bSYour Name  * reassoc made before picking up the next candidate for
1235*5113495bSYour Name  * connection during roaming.
1236*5113495bSYour Name  *
1237*5113495bSYour Name  * Related: N/A
1238*5113495bSYour Name  *
1239*5113495bSYour Name  * Supported Features: Roaming
1240*5113495bSYour Name  *
1241*5113495bSYour Name  * Usage: Internal/External
1242*5113495bSYour Name  *
1243*5113495bSYour Name  * </ini>
1244*5113495bSYour Name  */
1245*5113495bSYour Name #define CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT CFG_INI_INT( \
1246*5113495bSYour Name 			"roam_preauth_retry_count", \
1247*5113495bSYour Name 			1, \
1248*5113495bSYour Name 			10, \
1249*5113495bSYour Name 			5, \
1250*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
1251*5113495bSYour Name 			"The maximum number of software retries for preauth")
1252*5113495bSYour Name 
1253*5113495bSYour Name /*
1254*5113495bSYour Name  * <ini>
1255*5113495bSYour Name  * roam_preauth_no_ack_timeout
1256*5113495bSYour Name  *
1257*5113495bSYour Name  * @Min: 5
1258*5113495bSYour Name  * @Max: 50
1259*5113495bSYour Name  * @Default: 5
1260*5113495bSYour Name  *
1261*5113495bSYour Name  * Time to wait (in ms) after sending an preauth or reassoc
1262*5113495bSYour Name  * request which didn't have an ack, before considering
1263*5113495bSYour Name  * it as a failure and making another software retry.
1264*5113495bSYour Name  *
1265*5113495bSYour Name  * Related: N/A
1266*5113495bSYour Name  *
1267*5113495bSYour Name  * Supported Features: Roaming
1268*5113495bSYour Name  *
1269*5113495bSYour Name  * Usage: Internal/External
1270*5113495bSYour Name  *
1271*5113495bSYour Name  * </ini>
1272*5113495bSYour Name  */
1273*5113495bSYour Name #define CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT CFG_INI_INT( \
1274*5113495bSYour Name 			"roam_preauth_no_ack_timeout", \
1275*5113495bSYour Name 			5, \
1276*5113495bSYour Name 			50, \
1277*5113495bSYour Name 			5, \
1278*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
1279*5113495bSYour Name 			"Time to wait after sending an preauth or reassoc")
1280*5113495bSYour Name 
1281*5113495bSYour Name /*
1282*5113495bSYour Name  * <ini>
1283*5113495bSYour Name  * FastRoamEnabled - Enable fast roaming
1284*5113495bSYour Name  * @Min: 0
1285*5113495bSYour Name  * @Max: 1
1286*5113495bSYour Name  * @Default: 1
1287*5113495bSYour Name  *
1288*5113495bSYour Name  * This ini is used to inform FW to enable fast roaming
1289*5113495bSYour Name  *
1290*5113495bSYour Name  * Related: None
1291*5113495bSYour Name  *
1292*5113495bSYour Name  * Supported Feature: Roaming
1293*5113495bSYour Name  *
1294*5113495bSYour Name  * Usage: External
1295*5113495bSYour Name  *
1296*5113495bSYour Name  * </ini>
1297*5113495bSYour Name  */
1298*5113495bSYour Name #define CFG_LFR_FEATURE_ENABLED CFG_INI_BOOL( \
1299*5113495bSYour Name 	"FastRoamEnabled", \
1300*5113495bSYour Name 	1, \
1301*5113495bSYour Name 	"Enable fast roaming")
1302*5113495bSYour Name 
1303*5113495bSYour Name /*
1304*5113495bSYour Name  * <ini>
1305*5113495bSYour Name  * MAWCEnabled - Enable/Disable Motion Aided Wireless Connectivity Global
1306*5113495bSYour Name  * @Min: 0 - Disabled
1307*5113495bSYour Name  * @Max: 1 - Enabled
1308*5113495bSYour Name  * @Default: 0
1309*5113495bSYour Name  *
1310*5113495bSYour Name  * This ini is used to controls the MAWC feature globally.
1311*5113495bSYour Name  * MAWC is Motion Aided Wireless Connectivity.
1312*5113495bSYour Name  *
1313*5113495bSYour Name  * Related: mawc_roam_enabled.
1314*5113495bSYour Name  *
1315*5113495bSYour Name  * Supported Feature: Roaming and PNO/NLO
1316*5113495bSYour Name  *
1317*5113495bSYour Name  * Usage: Internal/External
1318*5113495bSYour Name  *
1319*5113495bSYour Name  * </ini>
1320*5113495bSYour Name  */
1321*5113495bSYour Name #define CFG_LFR_MAWC_FEATURE_ENABLED CFG_INI_BOOL( \
1322*5113495bSYour Name 	"MAWCEnabled", \
1323*5113495bSYour Name 	0, \
1324*5113495bSYour Name 	"Enable MAWC")
1325*5113495bSYour Name 
1326*5113495bSYour Name /*
1327*5113495bSYour Name  * <ini>
1328*5113495bSYour Name  * FastTransitionEnabled - Enable fast transition in case of 11r and ese.
1329*5113495bSYour Name  * @Min: 0
1330*5113495bSYour Name  * @Max: 1
1331*5113495bSYour Name  * @Default: 1
1332*5113495bSYour Name  *
1333*5113495bSYour Name  * This ini is used to turn ON/OFF the whole neighbor roam, pre-auth, reassoc.
1334*5113495bSYour Name  * With this turned OFF 11r will completely not work. For 11r this flag has to
1335*5113495bSYour Name  * be ON. For ESE fastroam will not work.
1336*5113495bSYour Name  *
1337*5113495bSYour Name  * Related: None
1338*5113495bSYour Name  *
1339*5113495bSYour Name  * Supported Feature: Roaming
1340*5113495bSYour Name  *
1341*5113495bSYour Name  * Usage: External
1342*5113495bSYour Name  *
1343*5113495bSYour Name  * </ini>
1344*5113495bSYour Name  */
1345*5113495bSYour Name #define CFG_LFR_FAST_TRANSITION_ENABLED CFG_INI_BOOL( \
1346*5113495bSYour Name 	"FastTransitionEnabled", \
1347*5113495bSYour Name 	1, \
1348*5113495bSYour Name 	"Enable fast transition")
1349*5113495bSYour Name 
1350*5113495bSYour Name /*
1351*5113495bSYour Name  * <ini>
1352*5113495bSYour Name  * RoamRssiDiff - Enable roam based on rssi
1353*5113495bSYour Name  * @Min: 0
1354*5113495bSYour Name  * @Max: 100
1355*5113495bSYour Name  * @Default: 5
1356*5113495bSYour Name  *
1357*5113495bSYour Name  * This INI is used to decide whether to Roam or not based on RSSI. AP1 is the
1358*5113495bSYour Name  * currently associated AP and AP2 is chosen for roaming. The Roaming will
1359*5113495bSYour Name  * happen only if AP2 has better Signal Quality and it has a RSSI better than
1360*5113495bSYour Name  * AP2. RoamRssiDiff is the number of units (typically measured in dB) AP2
1361*5113495bSYour Name  * is better than AP1.
1362*5113495bSYour Name  *
1363*5113495bSYour Name  * Related: None
1364*5113495bSYour Name  *
1365*5113495bSYour Name  * Supported Feature: Roaming
1366*5113495bSYour Name  *
1367*5113495bSYour Name  * Usage: External
1368*5113495bSYour Name  *
1369*5113495bSYour Name  * </ini>
1370*5113495bSYour Name  */
1371*5113495bSYour Name #define CFG_LFR_ROAM_RSSI_DIFF CFG_INI_UINT( \
1372*5113495bSYour Name 	"RoamRssiDiff", \
1373*5113495bSYour Name 	0, \
1374*5113495bSYour Name 	100, \
1375*5113495bSYour Name 	5, \
1376*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1377*5113495bSYour Name 	"Enable roam based on rssi")
1378*5113495bSYour Name 
1379*5113495bSYour Name /*
1380*5113495bSYour Name  * <ini>
1381*5113495bSYour Name  * RoamRssiDiff6GHz - Enable roam to 6 GHz AP based on rssi
1382*5113495bSYour Name  * @Min: 0
1383*5113495bSYour Name  * @Max: 100
1384*5113495bSYour Name  * @Default: 5
1385*5113495bSYour Name  *
1386*5113495bSYour Name  * This INI is used to decide whether to roam to 6 GHz AP or not based on RSSI.
1387*5113495bSYour Name  * AP1 is the currently associated AP(2.4 GHz / 5 GHz) and AP2(6 GHz) is chosen
1388*5113495bSYour Name  * for roaming. The Roaming will happen only if AP2 has better Signal Quality
1389*5113495bSYour Name  * and it has a RSSI better than AP1. RoamRssiDiff6GHz is the number of units
1390*5113495bSYour Name  * (typically measured in dB) AP2 is better than AP1.
1391*5113495bSYour Name  *
1392*5113495bSYour Name  * Related: None
1393*5113495bSYour Name  *
1394*5113495bSYour Name  * Supported Feature: Roaming
1395*5113495bSYour Name  *
1396*5113495bSYour Name  * Usage: External
1397*5113495bSYour Name  *
1398*5113495bSYour Name  * </ini>
1399*5113495bSYour Name  */
1400*5113495bSYour Name #define CFG_LFR_ROAM_RSSI_DIFF_6GHZ CFG_INI_UINT( \
1401*5113495bSYour Name 	"RoamRssiDiff6GHz", \
1402*5113495bSYour Name 	0, \
1403*5113495bSYour Name 	100, \
1404*5113495bSYour Name 	5, \
1405*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1406*5113495bSYour Name 	"Enable 6 GHz roam based on rssi")
1407*5113495bSYour Name 
1408*5113495bSYour Name /*
1409*5113495bSYour Name  * <ini>
1410*5113495bSYour Name  * bg_rssi_threshold - To set RSSI Threshold for BG scan roaming
1411*5113495bSYour Name  * @Min: 0
1412*5113495bSYour Name  * @Max: 100
1413*5113495bSYour Name  * @Default: 5
1414*5113495bSYour Name  *
1415*5113495bSYour Name  * This INI is used to set the value of rssi threshold to trigger roaming
1416*5113495bSYour Name  * after background scan. To trigger roam after bg scan, value of rssi of
1417*5113495bSYour Name  * candidate AP should be higher by this threshold than the rssi of the
1418*5113495bSYour Name  * currently associated AP.
1419*5113495bSYour Name  *
1420*5113495bSYour Name  * Related: RoamRssiDiff
1421*5113495bSYour Name  *
1422*5113495bSYour Name  * Supported Feature: Roaming
1423*5113495bSYour Name  *
1424*5113495bSYour Name  * Usage: External
1425*5113495bSYour Name  *
1426*5113495bSYour Name  * </ini>
1427*5113495bSYour Name  */
1428*5113495bSYour Name #define CFG_LFR_ROAM_BG_RSSI_TH CFG_INI_UINT( \
1429*5113495bSYour Name 	"bg_rssi_threshold", \
1430*5113495bSYour Name 	0, \
1431*5113495bSYour Name 	100, \
1432*5113495bSYour Name 	5, \
1433*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1434*5113495bSYour Name 	"Enable roam based on rssi after BG scan")
1435*5113495bSYour Name 
1436*5113495bSYour Name /*
1437*5113495bSYour Name  * <ini>
1438*5113495bSYour Name  * gWESModeEnabled - Enable WES mode
1439*5113495bSYour Name  * @Min: 0
1440*5113495bSYour Name  * @Max: 1
1441*5113495bSYour Name  * @Default: 0
1442*5113495bSYour Name  *
1443*5113495bSYour Name  * This ini is used to enable/disable Wireless Extended Security mode.
1444*5113495bSYour Name  *
1445*5113495bSYour Name  * Related: None
1446*5113495bSYour Name  *
1447*5113495bSYour Name  * Supported Feature: Roaming
1448*5113495bSYour Name  *
1449*5113495bSYour Name  * Usage: External
1450*5113495bSYour Name  *
1451*5113495bSYour Name  * </ini>
1452*5113495bSYour Name  */
1453*5113495bSYour Name #define CFG_LFR_ENABLE_WES_MODE CFG_INI_BOOL( \
1454*5113495bSYour Name 	"gWESModeEnabled", \
1455*5113495bSYour Name 	0, \
1456*5113495bSYour Name 	"Enable WES mode")
1457*5113495bSYour Name 
1458*5113495bSYour Name /*
1459*5113495bSYour Name  * <ini>
1460*5113495bSYour Name  * gRoamScanOffloadEnabled - Enable Roam Scan Offload
1461*5113495bSYour Name  * @Min: 0
1462*5113495bSYour Name  * @Max: 1
1463*5113495bSYour Name  * @Default: 1
1464*5113495bSYour Name  *
1465*5113495bSYour Name  * This INI is used to enable Roam Scan Offload in firmware
1466*5113495bSYour Name  *
1467*5113495bSYour Name  * Related: None
1468*5113495bSYour Name  *
1469*5113495bSYour Name  * Supported Feature: Roaming
1470*5113495bSYour Name  *
1471*5113495bSYour Name  * Usage: External
1472*5113495bSYour Name  *
1473*5113495bSYour Name  * </ini>
1474*5113495bSYour Name  */
1475*5113495bSYour Name #define CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED CFG_INI_BOOL( \
1476*5113495bSYour Name 	"gRoamScanOffloadEnabled", \
1477*5113495bSYour Name 	1, \
1478*5113495bSYour Name 	"Enable Roam Scan Offload")
1479*5113495bSYour Name 
1480*5113495bSYour Name /*
1481*5113495bSYour Name  * <ini>
1482*5113495bSYour Name  * gNeighborScanChannelList - Set channels to be scanned
1483*5113495bSYour Name  * by firmware for LFR scan
1484*5113495bSYour Name  * @Default: ""
1485*5113495bSYour Name  *
1486*5113495bSYour Name  * This ini is used to set the channels to be scanned
1487*5113495bSYour Name  * by firmware for LFR scan.
1488*5113495bSYour Name  *
1489*5113495bSYour Name  * Related: None
1490*5113495bSYour Name  *
1491*5113495bSYour Name  * Supported Feature: LFR Scan
1492*5113495bSYour Name  *
1493*5113495bSYour Name  * Usage: External
1494*5113495bSYour Name  *
1495*5113495bSYour Name  * </ini>
1496*5113495bSYour Name  */
1497*5113495bSYour Name 
1498*5113495bSYour Name #define CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST CFG_INI_STRING( \
1499*5113495bSYour Name 		"gNeighborScanChanList", \
1500*5113495bSYour Name 		0, \
1501*5113495bSYour Name 		CFG_VALID_CHANNEL_LIST_STRING_LEN, \
1502*5113495bSYour Name 		"", \
1503*5113495bSYour Name 		"Set channels to be scanned")
1504*5113495bSYour Name 
1505*5113495bSYour Name /*
1506*5113495bSYour Name  * <ini>
1507*5113495bSYour Name  * gNeighborScanTimerPeriod - Set neighbor scan timer period
1508*5113495bSYour Name  * @Min: 3
1509*5113495bSYour Name  * @Max: 300
1510*5113495bSYour Name  * @Default: 100
1511*5113495bSYour Name  *
1512*5113495bSYour Name  * This ini is used to set the timer period in secs after
1513*5113495bSYour Name  * which neighbor scan is triggered.
1514*5113495bSYour Name  *
1515*5113495bSYour Name  * Related: None
1516*5113495bSYour Name  *
1517*5113495bSYour Name  * Supported Feature: LFR Scan
1518*5113495bSYour Name  *
1519*5113495bSYour Name  * Usage: External
1520*5113495bSYour Name  *
1521*5113495bSYour Name  * </ini>
1522*5113495bSYour Name  */
1523*5113495bSYour Name #define CFG_LFR_NEIGHBOR_SCAN_TIMER_PERIOD CFG_INI_UINT( \
1524*5113495bSYour Name 	"gNeighborScanTimerPeriod", \
1525*5113495bSYour Name 	3, \
1526*5113495bSYour Name 	300, \
1527*5113495bSYour Name 	100, \
1528*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1529*5113495bSYour Name 	"Neighbor scan timer period")
1530*5113495bSYour Name 
1531*5113495bSYour Name /*
1532*5113495bSYour Name  * <ini>
1533*5113495bSYour Name  * gRoamRestTimeMin/RoamScan_HomeTime - Set min neighbor scan timer period
1534*5113495bSYour Name  * @Min: 3
1535*5113495bSYour Name  * @Max: 300
1536*5113495bSYour Name  * @Default: 50
1537*5113495bSYour Name  *
1538*5113495bSYour Name  * This is the min rest time after which firmware will check for traffic
1539*5113495bSYour Name  * and if there no traffic it will move to a new channel to scan
1540*5113495bSYour Name  * else it will stay on the home channel till gNeighborScanTimerPeriod time
1541*5113495bSYour Name  * and then will move to a new channel to scan.
1542*5113495bSYour Name  *
1543*5113495bSYour Name  * Related: None
1544*5113495bSYour Name  *
1545*5113495bSYour Name  * Supported Feature: LFR Scan
1546*5113495bSYour Name  *
1547*5113495bSYour Name  * Usage: External
1548*5113495bSYour Name  *
1549*5113495bSYour Name  * </ini>
1550*5113495bSYour Name  */
1551*5113495bSYour Name #define CFG_LFR_NEIGHBOR_SCAN_MIN_TIMER_PERIOD CFG_INI_UINT( \
1552*5113495bSYour Name 	"gRoamRestTimeMin RoamScan_HomeTime", \
1553*5113495bSYour Name 	RoamScan_HomeTime_min, \
1554*5113495bSYour Name 	RoamScan_HomeTime_max, \
1555*5113495bSYour Name 	RoamScan_HomeTime_default, \
1556*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1557*5113495bSYour Name 	"Min neighbor scan timer period")
1558*5113495bSYour Name 
1559*5113495bSYour Name /*
1560*5113495bSYour Name  * <ini>
1561*5113495bSYour Name  * gNeighborLookupThreshold/RoamRSSI_Trigger - Set neighbor lookup rssi
1562*5113495bSYour Name  * threshold
1563*5113495bSYour Name  * @Min: -100
1564*5113495bSYour Name  * @Max: -50
1565*5113495bSYour Name  * @Default: -76
1566*5113495bSYour Name  *
1567*5113495bSYour Name  * This is used to control the RSSI threshold for neighbor lookup.
1568*5113495bSYour Name  *
1569*5113495bSYour Name  * Related: None
1570*5113495bSYour Name  *
1571*5113495bSYour Name  * Supported Feature: LFR Scan
1572*5113495bSYour Name  *
1573*5113495bSYour Name  * Usage: External
1574*5113495bSYour Name  *
1575*5113495bSYour Name  * </ini>
1576*5113495bSYour Name  */
1577*5113495bSYour Name #define CFG_LFR_NEIGHBOR_LOOKUP_RSSI_THRESHOLD CFG_INI_INT( \
1578*5113495bSYour Name 	"gNeighborLookupThreshold RoamRSSI_Trigger", \
1579*5113495bSYour Name 	RoamRSSI_Trigger_min, \
1580*5113495bSYour Name 	RoamRSSI_Trigger_max, \
1581*5113495bSYour Name 	RoamRSSI_Trigger_default, \
1582*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1583*5113495bSYour Name 	"Neighbor lookup rssi threshold")
1584*5113495bSYour Name 
1585*5113495bSYour Name /*
1586*5113495bSYour Name  * <ini>
1587*5113495bSYour Name  * gOpportunisticThresholdDiff - Set oppurtunistic threshold diff
1588*5113495bSYour Name  * @Min: 0
1589*5113495bSYour Name  * @Max: 127
1590*5113495bSYour Name  * @Default: 0
1591*5113495bSYour Name  *
1592*5113495bSYour Name  * This ini is used to set opportunistic threshold diff.
1593*5113495bSYour Name  * This parameter is the RSSI diff above neighbor lookup
1594*5113495bSYour Name  * threshold, when opportunistic scan should be triggered.
1595*5113495bSYour Name  * MAX value is chosen so that this type of scan can be
1596*5113495bSYour Name  * always enabled by user.
1597*5113495bSYour Name  * MIN value will cause opportunistic scan to be triggered
1598*5113495bSYour Name  * in neighbor lookup RSSI range.
1599*5113495bSYour Name  *
1600*5113495bSYour Name  * Related: None
1601*5113495bSYour Name  *
1602*5113495bSYour Name  * Supported Feature: LFR Scan
1603*5113495bSYour Name  *
1604*5113495bSYour Name  * Usage: External
1605*5113495bSYour Name  *
1606*5113495bSYour Name  * </ini>
1607*5113495bSYour Name  */
1608*5113495bSYour Name #define CFG_LFR_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF CFG_INI_UINT( \
1609*5113495bSYour Name 	"gOpportunisticThresholdDiff", \
1610*5113495bSYour Name 	0, \
1611*5113495bSYour Name 	127, \
1612*5113495bSYour Name 	0, \
1613*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1614*5113495bSYour Name 	"Set oppurtunistic threshold diff")
1615*5113495bSYour Name 
1616*5113495bSYour Name /*
1617*5113495bSYour Name  * <ini>
1618*5113495bSYour Name  * gRoamRescanRssiDiff/RoamScan_StepRSSI - Sets RSSI for Scan trigger in
1619*5113495bSYour Name  * firmware
1620*5113495bSYour Name  * @Min: 0
1621*5113495bSYour Name  * @Max: 100
1622*5113495bSYour Name  * @Default: 5
1623*5113495bSYour Name  *
1624*5113495bSYour Name  * This INI is the drop in RSSI value that will trigger a precautionary
1625*5113495bSYour Name  * scan by firmware. Max value is chosen in such a way that this type
1626*5113495bSYour Name  * of scan can be disabled by user.
1627*5113495bSYour Name  *
1628*5113495bSYour Name  * Related: None
1629*5113495bSYour Name  *
1630*5113495bSYour Name  * Supported Feature: Roaming
1631*5113495bSYour Name  *
1632*5113495bSYour Name  * Usage: External
1633*5113495bSYour Name  *
1634*5113495bSYour Name  * </ini>
1635*5113495bSYour Name  */
1636*5113495bSYour Name #define CFG_LFR_ROAM_RESCAN_RSSI_DIFF CFG_INI_UINT( \
1637*5113495bSYour Name 	"gRoamRescanRssiDiff RoamScan_StepRSSI", \
1638*5113495bSYour Name 	RoamScan_StepRSSI_min, \
1639*5113495bSYour Name 	RoamScan_StepRSSI_max, \
1640*5113495bSYour Name 	RoamScan_StepRSSI_default, \
1641*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1642*5113495bSYour Name 	"Sets RSSI for Scan trigger in firmware")
1643*5113495bSYour Name 
1644*5113495bSYour Name /*
1645*5113495bSYour Name  * <ini>
1646*5113495bSYour Name  * gNeighborScanChannelMinTime - Set neighbor scan channel min time
1647*5113495bSYour Name  * @Min: 10
1648*5113495bSYour Name  * @Max: 40
1649*5113495bSYour Name  * @Default: 20
1650*5113495bSYour Name  *
1651*5113495bSYour Name  * This ini is used to set the minimum time in secs spent on each
1652*5113495bSYour Name  * channel in LFR scan inside firmware.
1653*5113495bSYour Name  *
1654*5113495bSYour Name  * Related: None
1655*5113495bSYour Name  *
1656*5113495bSYour Name  * Supported Feature: LFR Scan
1657*5113495bSYour Name  *
1658*5113495bSYour Name  * Usage: External
1659*5113495bSYour Name  *
1660*5113495bSYour Name  * </ini>
1661*5113495bSYour Name  */
1662*5113495bSYour Name #define CFG_LFR_NEIGHBOR_SCAN_MIN_CHAN_TIME CFG_INI_UINT( \
1663*5113495bSYour Name 	"gNeighborScanChannelMinTime", \
1664*5113495bSYour Name 	10, \
1665*5113495bSYour Name 	40, \
1666*5113495bSYour Name 	20, \
1667*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1668*5113495bSYour Name 	"Neighbor scan channel min time")
1669*5113495bSYour Name 
1670*5113495bSYour Name /*
1671*5113495bSYour Name  * <ini>
1672*5113495bSYour Name  * gNeighborScanChannelMaxTime/RoamScan_ActiveCH_DwellTime - Set neighbor scan
1673*5113495bSYour Name  * channel max time
1674*5113495bSYour Name  * @Min: 3
1675*5113495bSYour Name  * @Max: 300
1676*5113495bSYour Name  * @Default: 40
1677*5113495bSYour Name  *
1678*5113495bSYour Name  * This ini is used to set the maximum time in secs spent on each
1679*5113495bSYour Name  * channel in LFR scan inside firmware.
1680*5113495bSYour Name  *
1681*5113495bSYour Name  * Related: None
1682*5113495bSYour Name  *
1683*5113495bSYour Name  * Supported Feature: LFR Scan
1684*5113495bSYour Name  *
1685*5113495bSYour Name  * Usage: External
1686*5113495bSYour Name  *
1687*5113495bSYour Name  * </ini>
1688*5113495bSYour Name  */
1689*5113495bSYour Name #define CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME CFG_INI_UINT( \
1690*5113495bSYour Name 	"gNeighborScanChannelMaxTime RoamScan_ActiveCH_DwellTime", \
1691*5113495bSYour Name 	RoamScan_ActiveCH_DwellTime_min, \
1692*5113495bSYour Name 	RoamScan_ActiveCH_DwellTime_max, \
1693*5113495bSYour Name 	RoamScan_ActiveCH_DwellTime_default, \
1694*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1695*5113495bSYour Name 	"Neighbor scan channel max time")
1696*5113495bSYour Name 
1697*5113495bSYour Name /*
1698*5113495bSYour Name  * <ini>
1699*5113495bSYour Name  * gNeighborScanRefreshPeriod - Set neighbor scan refresh period
1700*5113495bSYour Name  * @Min: 1000
1701*5113495bSYour Name  * @Max: 60000
1702*5113495bSYour Name  * @Default: 20000
1703*5113495bSYour Name  *
1704*5113495bSYour Name  * This ini is used by firmware to set scan refresh period
1705*5113495bSYour Name  * in msecs for lfr scan.
1706*5113495bSYour Name  *
1707*5113495bSYour Name  * Related: None
1708*5113495bSYour Name  *
1709*5113495bSYour Name  * Supported Feature: LFR Scan
1710*5113495bSYour Name  *
1711*5113495bSYour Name  * Usage: External
1712*5113495bSYour Name  *
1713*5113495bSYour Name  * </ini>
1714*5113495bSYour Name  */
1715*5113495bSYour Name #define CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD CFG_INI_UINT( \
1716*5113495bSYour Name 	"gNeighborScanRefreshPeriod", \
1717*5113495bSYour Name 	1000, \
1718*5113495bSYour Name 	60000, \
1719*5113495bSYour Name 	20000, \
1720*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1721*5113495bSYour Name 	"Neighbor scan refresh period")
1722*5113495bSYour Name 
1723*5113495bSYour Name /*
1724*5113495bSYour Name  * <ini>
1725*5113495bSYour Name  * gFullRoamScanPeriod - Set full roam scan refresh period
1726*5113495bSYour Name  * @Min: 0
1727*5113495bSYour Name  * @Max: 600
1728*5113495bSYour Name  * @Default: 0
1729*5113495bSYour Name  *
1730*5113495bSYour Name  * This ini is used by firmware to set full roam scan period in secs.
1731*5113495bSYour Name  * Full roam scan period is the minimum idle period in seconds between two
1732*5113495bSYour Name  * successive full channel roam scans. If this is configured as a non-zero,
1733*5113495bSYour Name  * full roam scan will be triggered for every configured interval.
1734*5113495bSYour Name  * If this configured as 0, full roam scan will not be triggered at all.
1735*5113495bSYour Name  *
1736*5113495bSYour Name  * Related: None
1737*5113495bSYour Name  *
1738*5113495bSYour Name  * Supported Feature: LFR Scan
1739*5113495bSYour Name  *
1740*5113495bSYour Name  * Usage: External
1741*5113495bSYour Name  *
1742*5113495bSYour Name  * </ini>
1743*5113495bSYour Name  */
1744*5113495bSYour Name #define CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD CFG_INI_UINT( \
1745*5113495bSYour Name 	"gFullRoamScanPeriod", \
1746*5113495bSYour Name 	0, \
1747*5113495bSYour Name 	600, \
1748*5113495bSYour Name 	0, \
1749*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1750*5113495bSYour Name 	"Full roam scan refresh period")
1751*5113495bSYour Name 
1752*5113495bSYour Name /*
1753*5113495bSYour Name  * <ini>
1754*5113495bSYour Name  * gEmptyScanRefreshPeriod - Set empty scan refresh period
1755*5113495bSYour Name  * @Min: 0
1756*5113495bSYour Name  * @Max: 60000
1757*5113495bSYour Name  * @Default: 0
1758*5113495bSYour Name  *
1759*5113495bSYour Name  * This ini is used by firmware to set scan period in msecs
1760*5113495bSYour Name  * following empty scan results.
1761*5113495bSYour Name  *
1762*5113495bSYour Name  * Related: None
1763*5113495bSYour Name  *
1764*5113495bSYour Name  * Supported Feature: LFR Scan
1765*5113495bSYour Name  *
1766*5113495bSYour Name  * Usage: External
1767*5113495bSYour Name  *
1768*5113495bSYour Name  * </ini>
1769*5113495bSYour Name  */
1770*5113495bSYour Name #define CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD CFG_INI_UINT( \
1771*5113495bSYour Name 	"gEmptyScanRefreshPeriod", \
1772*5113495bSYour Name 	0, \
1773*5113495bSYour Name 	60000, \
1774*5113495bSYour Name 	0, \
1775*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1776*5113495bSYour Name 	"Empty scan refresh period")
1777*5113495bSYour Name 
1778*5113495bSYour Name  /*
1779*5113495bSYour Name   * <ini>
1780*5113495bSYour Name   * RoamScan_FirstTimer - Set empty scan refresh period
1781*5113495bSYour Name   * @Min: 0
1782*5113495bSYour Name   * @Max: 20
1783*5113495bSYour Name   * @Default: 10
1784*5113495bSYour Name   *
1785*5113495bSYour Name   * This ini is used by firmware to set scan period in secs
1786*5113495bSYour Name   * following empty scan results.
1787*5113495bSYour Name   *
1788*5113495bSYour Name   * Related: None
1789*5113495bSYour Name   *
1790*5113495bSYour Name   * Supported Feature: LFR Scan
1791*5113495bSYour Name   *
1792*5113495bSYour Name   * Usage: External
1793*5113495bSYour Name   *
1794*5113495bSYour Name   * </ini>
1795*5113495bSYour Name   */
1796*5113495bSYour Name #define CFG_ROAM_SCAN_FIRST_TIMER CFG_INI_UINT( \
1797*5113495bSYour Name 	"RoamScan_FirstTimer", \
1798*5113495bSYour Name 	0, \
1799*5113495bSYour Name 	20, \
1800*5113495bSYour Name 	10, \
1801*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1802*5113495bSYour Name 	"Empty scan refresh period")
1803*5113495bSYour Name 
1804*5113495bSYour Name /*
1805*5113495bSYour Name  * <ini>
1806*5113495bSYour Name  * gRoamBmissFirstBcnt - Beacon miss count to trigger 1st bmiss event
1807*5113495bSYour Name  * @Min: 5
1808*5113495bSYour Name  * @Max: 100
1809*5113495bSYour Name  * @Default: 10
1810*5113495bSYour Name  *
1811*5113495bSYour Name  * This ini used to control how many beacon miss will trigger first bmiss
1812*5113495bSYour Name  * event. First bmiss event will result in roaming scan.
1813*5113495bSYour Name  *
1814*5113495bSYour Name  * Related: None
1815*5113495bSYour Name  *
1816*5113495bSYour Name  * Usage: External
1817*5113495bSYour Name  *
1818*5113495bSYour Name  * </ini>
1819*5113495bSYour Name  */
1820*5113495bSYour Name #define CFG_LFR_ROAM_BMISS_FIRST_BCNT CFG_INI_UINT( \
1821*5113495bSYour Name 	"gRoamBmissFirstBcnt", \
1822*5113495bSYour Name 	5, \
1823*5113495bSYour Name 	100, \
1824*5113495bSYour Name 	10, \
1825*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1826*5113495bSYour Name 	"First beacon miss count")
1827*5113495bSYour Name 
1828*5113495bSYour Name /*
1829*5113495bSYour Name  * <ini>
1830*5113495bSYour Name  * gRoamBmissFinalBcnt - Beacon miss count to trigger final bmiss event
1831*5113495bSYour Name  * @Min: 5
1832*5113495bSYour Name  * @Max: 100
1833*5113495bSYour Name  * @Default: 20
1834*5113495bSYour Name  *
1835*5113495bSYour Name  * This ini used to control how many beacon miss will trigger final bmiss
1836*5113495bSYour Name  * event. Final bmiss event will make roaming take place or cause the
1837*5113495bSYour Name  * indication of final bmiss event.
1838*5113495bSYour Name  *
1839*5113495bSYour Name  * Related: None
1840*5113495bSYour Name  *
1841*5113495bSYour Name  * Usage: External
1842*5113495bSYour Name  *
1843*5113495bSYour Name  * </ini>
1844*5113495bSYour Name  */
1845*5113495bSYour Name #define CFG_LFR_ROAM_BMISS_FINAL_BCNT CFG_INI_UINT( \
1846*5113495bSYour Name 	"gRoamBmissFinalBcnt", \
1847*5113495bSYour Name 	5, \
1848*5113495bSYour Name 	100, \
1849*5113495bSYour Name 	20, \
1850*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1851*5113495bSYour Name 	"Final beacon miss count")
1852*5113495bSYour Name 
1853*5113495bSYour Name /*
1854*5113495bSYour Name  * <ini>
1855*5113495bSYour Name  * BeaconLoss_TimeoutOnWakeUp - Consecutive Beaconloss timeout on wakeup to
1856*5113495bSYour Name  * trigger timeout
1857*5113495bSYour Name  * @Min: 0
1858*5113495bSYour Name  * @Max: 20
1859*5113495bSYour Name  * @Default: 3
1860*5113495bSYour Name  *
1861*5113495bSYour Name  * This ini is used to control the beacon miss timeout when the system is awake.
1862*5113495bSYour Name  * On the timeout, BMISS event will be triggered by FW.
1863*5113495bSYour Name  * The units of this timeout is in seconds.
1864*5113495bSYour Name  *
1865*5113495bSYour Name  * Related: None
1866*5113495bSYour Name  *
1867*5113495bSYour Name  * Usage: External
1868*5113495bSYour Name  *
1869*5113495bSYour Name  * </ini>
1870*5113495bSYour Name  */
1871*5113495bSYour Name 
1872*5113495bSYour Name /*
1873*5113495bSYour Name  * <ini>
1874*5113495bSYour Name  * BeaconLoss_TimeoutOnWakeUp - Consecutive Beaconloss timeout on wakeup to
1875*5113495bSYour Name  * trigger timeout
1876*5113495bSYour Name  * @Min: 0
1877*5113495bSYour Name  * @Max: 20
1878*5113495bSYour Name  * @Default: 6
1879*5113495bSYour Name  *
1880*5113495bSYour Name  * This ini is used to control the beacon miss timeout when the system is awake.
1881*5113495bSYour Name  * On the timeout, BMISS event will be triggered by FW.
1882*5113495bSYour Name  * The units of this timeout is in seconds.
1883*5113495bSYour Name  *
1884*5113495bSYour Name  * Related: None
1885*5113495bSYour Name  *
1886*5113495bSYour Name  * Usage: External
1887*5113495bSYour Name  *
1888*5113495bSYour Name  * </ini>
1889*5113495bSYour Name  */
1890*5113495bSYour Name #define CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP CFG_INI_UINT( \
1891*5113495bSYour Name 	"ConBeaconLoss_TimeoutOnWakeUp", \
1892*5113495bSYour Name 	CONBEACONLOSS_TIMEOUTONWAKEUP_MIN, \
1893*5113495bSYour Name 	CONBEACONLOSS_TIMEOUTONWAKEUP_MAX, \
1894*5113495bSYour Name 	CONBEACONLOSS_TIMEOUTONWAKEUP_DEFAULT, \
1895*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1896*5113495bSYour Name 	"ConBeaconloss timeout on wakeup")
1897*5113495bSYour Name 
1898*5113495bSYour Name /*
1899*5113495bSYour Name  * <ini>
1900*5113495bSYour Name  * BeaconLoss_TimeoutOnSleep - Consecutive Beaconloss timeout on sleep to
1901*5113495bSYour Name  * trigger timeout
1902*5113495bSYour Name  * @Min: 0
1903*5113495bSYour Name  * @Max: 20
1904*5113495bSYour Name  * @Default: 5
1905*5113495bSYour Name  *
1906*5113495bSYour Name  * This ini is used to control the beacon miss timeout
1907*5113495bSYour Name  * when the system is in sleep.
1908*5113495bSYour Name  * On the timeout, BMISS event will be triggered by FW.
1909*5113495bSYour Name  * The units of this timeout is in seconds.
1910*5113495bSYour Name  *
1911*5113495bSYour Name  * Related: None
1912*5113495bSYour Name  *
1913*5113495bSYour Name  * Usage: External
1914*5113495bSYour Name  *
1915*5113495bSYour Name  * </ini>
1916*5113495bSYour Name  */
1917*5113495bSYour Name 
1918*5113495bSYour Name /*
1919*5113495bSYour Name  * <ini>
1920*5113495bSYour Name  * BeaconLoss_TimeoutOnSleep - Consecutive Beaconloss timeout on sleep to
1921*5113495bSYour Name  * trigger timeout
1922*5113495bSYour Name  * @Min: 0
1923*5113495bSYour Name  * @Max: 20
1924*5113495bSYour Name  * @Default: 10
1925*5113495bSYour Name  *
1926*5113495bSYour Name  * This ini is used to control the beacon miss timeout
1927*5113495bSYour Name  * when the system is in sleep.
1928*5113495bSYour Name  * On the timeout, BMISS event will be triggered by FW.
1929*5113495bSYour Name  * The units of this timeout is in seconds.
1930*5113495bSYour Name  *
1931*5113495bSYour Name  * Related: None
1932*5113495bSYour Name  *
1933*5113495bSYour Name  * Usage: External
1934*5113495bSYour Name  *
1935*5113495bSYour Name  * </ini>
1936*5113495bSYour Name  */
1937*5113495bSYour Name #define CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP CFG_INI_UINT( \
1938*5113495bSYour Name 	"ConBeaconLoss_TimeoutOnSleep", \
1939*5113495bSYour Name 	CONBEACONLOSS_TIMEOUTONSLEEP_MIN, \
1940*5113495bSYour Name 	CONBEACONLOSS_TIMEOUTONSLEEP_MAX, \
1941*5113495bSYour Name 	CONBEACONLOSS_TIMEOUTONSLEEP_DEFAULT, \
1942*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1943*5113495bSYour Name 	"ConBeaconloss timeout on sleep")
1944*5113495bSYour Name 
1945*5113495bSYour Name /*
1946*5113495bSYour Name  * <ini>
1947*5113495bSYour Name  * gAllowDFSChannelRoam - Allow dfs channel in roam
1948*5113495bSYour Name  * @Min: 0
1949*5113495bSYour Name  * @Max: 2
1950*5113495bSYour Name  * @Default: 1
1951*5113495bSYour Name  *
1952*5113495bSYour Name  * This ini is used to set default dfs channel
1953*5113495bSYour Name  *
1954*5113495bSYour Name  * Related: None
1955*5113495bSYour Name  *
1956*5113495bSYour Name  * Supported Feature: STA
1957*5113495bSYour Name  *
1958*5113495bSYour Name  * Usage: Internal/External
1959*5113495bSYour Name  *
1960*5113495bSYour Name  * </ini>
1961*5113495bSYour Name  */
1962*5113495bSYour Name #define CFG_LFR_ROAMING_DFS_CHANNEL CFG_INI_UINT( \
1963*5113495bSYour Name 	"gAllowDFSChannelRoam", \
1964*5113495bSYour Name 	0, \
1965*5113495bSYour Name 	2, \
1966*5113495bSYour Name 	1, \
1967*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1968*5113495bSYour Name 	"Allow dfs channel in roam")
1969*5113495bSYour Name 
1970*5113495bSYour Name /*
1971*5113495bSYour Name  * <ini>
1972*5113495bSYour Name  * gRoamScanHiRssiMaxCount - Sets 5GHz maximum scan count
1973*5113495bSYour Name  * @Min: 0
1974*5113495bSYour Name  * @Max: 10
1975*5113495bSYour Name  * @Default: 3
1976*5113495bSYour Name  *
1977*5113495bSYour Name  * This INI is used to set maximum scan count in 5GHz
1978*5113495bSYour Name  *
1979*5113495bSYour Name  * Related: None
1980*5113495bSYour Name  *
1981*5113495bSYour Name  * Supported Feature: Roaming
1982*5113495bSYour Name  *
1983*5113495bSYour Name  * Usage: External
1984*5113495bSYour Name  *
1985*5113495bSYour Name  * </ini>
1986*5113495bSYour Name  */
1987*5113495bSYour Name #define CFG_LFR_ROAM_SCAN_HI_RSSI_MAXCOUNT CFG_INI_UINT( \
1988*5113495bSYour Name 	"gRoamScanHiRssiMaxCount", \
1989*5113495bSYour Name 	0, \
1990*5113495bSYour Name 	10, \
1991*5113495bSYour Name 	3, \
1992*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
1993*5113495bSYour Name 	"5GHz maximum scan count")
1994*5113495bSYour Name 
1995*5113495bSYour Name /*
1996*5113495bSYour Name  * <ini>
1997*5113495bSYour Name  * gRoamScanHiRssiDelta - Sets RSSI Delta for scan trigger
1998*5113495bSYour Name  * @Min: 0
1999*5113495bSYour Name  * @Max: 40
2000*5113495bSYour Name  * @Default: 23
2001*5113495bSYour Name  *
2002*5113495bSYour Name  * This INI is used to set change in RSSI at which scan is triggered
2003*5113495bSYour Name  * in 5GHz.
2004*5113495bSYour Name  *
2005*5113495bSYour Name  * Related: None
2006*5113495bSYour Name  *
2007*5113495bSYour Name  * Supported Feature: Roaming
2008*5113495bSYour Name  *
2009*5113495bSYour Name  * Usage: External
2010*5113495bSYour Name  *
2011*5113495bSYour Name  * </ini>
2012*5113495bSYour Name  */
2013*5113495bSYour Name #define CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA CFG_INI_UINT( \
2014*5113495bSYour Name 	"gRoamScanHiRssiDelta", \
2015*5113495bSYour Name 	0, \
2016*5113495bSYour Name 	40, \
2017*5113495bSYour Name 	23, \
2018*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2019*5113495bSYour Name 	"RSSI Delta for scan trigger")
2020*5113495bSYour Name 
2021*5113495bSYour Name /*
2022*5113495bSYour Name  * <ini>
2023*5113495bSYour Name  * gRoamScanHiRssiDelay - Sets minimum delay between 5GHz scans
2024*5113495bSYour Name  * @Min: 5000
2025*5113495bSYour Name  * @Max: 0x7fffffff
2026*5113495bSYour Name  * @Default: 15000
2027*5113495bSYour Name  *
2028*5113495bSYour Name  * This INI is used to set the minimum delay between 5GHz scans.
2029*5113495bSYour Name  *
2030*5113495bSYour Name  * Related: None
2031*5113495bSYour Name  *
2032*5113495bSYour Name  * Supported Feature: Roaming
2033*5113495bSYour Name  *
2034*5113495bSYour Name  * Usage: External
2035*5113495bSYour Name  *
2036*5113495bSYour Name  * </ini>
2037*5113495bSYour Name  */
2038*5113495bSYour Name #define CFG_LFR_ROAM_SCAN_HI_RSSI_DELAY CFG_INI_UINT( \
2039*5113495bSYour Name 	"gRoamScanHiRssiDelay", \
2040*5113495bSYour Name 	5000, \
2041*5113495bSYour Name 	0x7fffffff, \
2042*5113495bSYour Name 	15000, \
2043*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2044*5113495bSYour Name 	"Minimum delay between 5GHz scans")
2045*5113495bSYour Name 
2046*5113495bSYour Name /*
2047*5113495bSYour Name  * <ini>
2048*5113495bSYour Name  * gRoamScanHiRssiUpperBound - Sets upper bound after which 5GHz scan
2049*5113495bSYour Name  * @Min: -66
2050*5113495bSYour Name  * @Max: 0
2051*5113495bSYour Name  * @Default: -30
2052*5113495bSYour Name  *
2053*5113495bSYour Name  * This INI is used to set the RSSI upper bound above which the 5GHz scan
2054*5113495bSYour Name  * will not be performed.
2055*5113495bSYour Name  *
2056*5113495bSYour Name  * Related: None
2057*5113495bSYour Name  *
2058*5113495bSYour Name  * Supported Feature: Roaming
2059*5113495bSYour Name  *
2060*5113495bSYour Name  * Usage: External
2061*5113495bSYour Name  *
2062*5113495bSYour Name  * </ini>
2063*5113495bSYour Name  */
2064*5113495bSYour Name #define CFG_LFR_ROAM_SCAN_HI_RSSI_UB CFG_INI_INT( \
2065*5113495bSYour Name 	"gRoamScanHiRssiUpperBound", \
2066*5113495bSYour Name 	-66, \
2067*5113495bSYour Name 	0, \
2068*5113495bSYour Name 	-30, \
2069*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2070*5113495bSYour Name 	"Upper bound after which 5GHz scan")
2071*5113495bSYour Name 
2072*5113495bSYour Name /*
2073*5113495bSYour Name  * <ini>
2074*5113495bSYour Name  * gRoamPrefer5GHz - Prefer roaming to 5GHz Bss
2075*5113495bSYour Name  * @Min: 0
2076*5113495bSYour Name  * @Max: 1
2077*5113495bSYour Name  * @Default: 1
2078*5113495bSYour Name  *
2079*5113495bSYour Name  * This ini is used to inform FW to prefer roaming to 5GHz BSS
2080*5113495bSYour Name  *
2081*5113495bSYour Name  * Related: None
2082*5113495bSYour Name  *
2083*5113495bSYour Name  * Supported Feature: Roaming
2084*5113495bSYour Name  *
2085*5113495bSYour Name  * Usage: External
2086*5113495bSYour Name  *
2087*5113495bSYour Name  * </ini>
2088*5113495bSYour Name  */
2089*5113495bSYour Name #define CFG_LFR_ROAM_PREFER_5GHZ CFG_INI_BOOL( \
2090*5113495bSYour Name 	"gRoamPrefer5GHz", \
2091*5113495bSYour Name 	1, \
2092*5113495bSYour Name 	"Prefer roaming to 5GHz Bss")
2093*5113495bSYour Name 
2094*5113495bSYour Name /*
2095*5113495bSYour Name  * <ini>
2096*5113495bSYour Name  * gRoamIntraBand - Prefer roaming within Band
2097*5113495bSYour Name  * @Min: 0
2098*5113495bSYour Name  * @Max: 1
2099*5113495bSYour Name  * @Default: 0
2100*5113495bSYour Name  *
2101*5113495bSYour Name  * This ini is used to inform FW to prefer roaming within band
2102*5113495bSYour Name  *
2103*5113495bSYour Name  * Related: None
2104*5113495bSYour Name  *
2105*5113495bSYour Name  * Supported Feature: Roaming
2106*5113495bSYour Name  *
2107*5113495bSYour Name  * Usage: External
2108*5113495bSYour Name  *
2109*5113495bSYour Name  * </ini>
2110*5113495bSYour Name  */
2111*5113495bSYour Name #define CFG_LFR_ROAM_INTRA_BAND CFG_INI_BOOL( \
2112*5113495bSYour Name 	"gRoamIntraBand", \
2113*5113495bSYour Name 	0, \
2114*5113495bSYour Name 	"Prefer roaming within Band")
2115*5113495bSYour Name 
2116*5113495bSYour Name /*
2117*5113495bSYour Name  * <ini>
2118*5113495bSYour Name  * gRoamScanNProbes - Sets the number of probes to be sent for firmware roaming
2119*5113495bSYour Name  * @Min: 1
2120*5113495bSYour Name  * @Max: 10
2121*5113495bSYour Name  * @Default: 2
2122*5113495bSYour Name  *
2123*5113495bSYour Name  * This INI is used to set the maximum number of probes the firmware can send
2124*5113495bSYour Name  * for firmware internal roaming cases.
2125*5113495bSYour Name  *
2126*5113495bSYour Name  * Related: None
2127*5113495bSYour Name  *
2128*5113495bSYour Name  * Supported Feature: Roaming
2129*5113495bSYour Name  *
2130*5113495bSYour Name  * Usage: External
2131*5113495bSYour Name  *
2132*5113495bSYour Name  * </ini>
2133*5113495bSYour Name  */
2134*5113495bSYour Name #define CFG_LFR_ROAM_SCAN_N_PROBES CFG_INI_UINT( \
2135*5113495bSYour Name 	"gRoamScanNProbes", \
2136*5113495bSYour Name 	1, \
2137*5113495bSYour Name 	10, \
2138*5113495bSYour Name 	2, \
2139*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2140*5113495bSYour Name 	"The number of probes to be sent for firmware roaming")
2141*5113495bSYour Name 
2142*5113495bSYour Name /*
2143*5113495bSYour Name  * <ini>
2144*5113495bSYour Name  * gRoamScanHomeAwayTime/RoamScan_AwayTime - Sets the Home Away Time to firmware
2145*5113495bSYour Name  * @Min: 0
2146*5113495bSYour Name  * @Max: 300
2147*5113495bSYour Name  * @Default: 0
2148*5113495bSYour Name  *
2149*5113495bSYour Name  * Home Away Time should be at least equal to (gNeighborScanChannelMaxTime
2150*5113495bSYour Name  * + (2*RFS)), where RFS is the RF Switching time(3). It is twice RFS
2151*5113495bSYour Name  * to consider the time to go off channel and return to the home channel.
2152*5113495bSYour Name  *
2153*5113495bSYour Name  * Related: gNeighborScanChannelMaxTime
2154*5113495bSYour Name  *
2155*5113495bSYour Name  * Supported Feature: Roaming
2156*5113495bSYour Name  *
2157*5113495bSYour Name  * Usage: External
2158*5113495bSYour Name  *
2159*5113495bSYour Name  * </ini>
2160*5113495bSYour Name  */
2161*5113495bSYour Name #define CFG_LFR_ROAM_SCAN_HOME_AWAY_TIME CFG_INI_UINT( \
2162*5113495bSYour Name 	"gRoamScanHomeAwayTime RoamScan_AwayTime", \
2163*5113495bSYour Name 	RoamScan_AwayTime_min, \
2164*5113495bSYour Name 	RoamScan_AwayTime_max, \
2165*5113495bSYour Name 	RoamScan_AwayTime_default, \
2166*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2167*5113495bSYour Name 	"the home away time to firmware")
2168*5113495bSYour Name 
2169*5113495bSYour Name /*
2170*5113495bSYour Name  * <ini>
2171*5113495bSYour Name  * gDelayBeforeVdevStop - wait time for tx complete before vdev stop
2172*5113495bSYour Name  * @Min: 2
2173*5113495bSYour Name  * @Max: 200
2174*5113495bSYour Name  * @Default: 20
2175*5113495bSYour Name  *
2176*5113495bSYour Name  * This INI is used to set wait time for tx complete before vdev stop.
2177*5113495bSYour Name  *
2178*5113495bSYour Name  * Related: None
2179*5113495bSYour Name  *
2180*5113495bSYour Name  * Usage: External
2181*5113495bSYour Name  *
2182*5113495bSYour Name  * </ini>
2183*5113495bSYour Name  */
2184*5113495bSYour Name #define CFG_LFR_DELAY_BEFORE_VDEV_STOP CFG_INI_UINT( \
2185*5113495bSYour Name 	"gDelayBeforeVdevStop", \
2186*5113495bSYour Name 	2, \
2187*5113495bSYour Name 	200, \
2188*5113495bSYour Name 	20, \
2189*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2190*5113495bSYour Name 	"wait time for tx complete before vdev stop")
2191*5113495bSYour Name /*
2192*5113495bSYour Name  * <ini>
2193*5113495bSYour Name  * enable_bss_load_roam_trigger - enable/disable bss load based roam trigger
2194*5113495bSYour Name  * @Min: 0
2195*5113495bSYour Name  * @Max: 1
2196*5113495bSYour Name  * @Default: 0
2197*5113495bSYour Name  *
2198*5113495bSYour Name  * This ini when enabled, allows the firmware to roam when bss load outpaces
2199*5113495bSYour Name  * the configured bss load threshold. When this ini is disabled, firmware
2200*5113495bSYour Name  * doesn't consider bss load values to trigger roam.
2201*5113495bSYour Name  *
2202*5113495bSYour Name  * Related: None
2203*5113495bSYour Name  *
2204*5113495bSYour Name  * Supported Feature: Roaming
2205*5113495bSYour Name  *
2206*5113495bSYour Name  * Usage: External
2207*5113495bSYour Name  *
2208*5113495bSYour Name  * </ini>
2209*5113495bSYour Name  */
2210*5113495bSYour Name #define CFG_ENABLE_BSS_LOAD_TRIGGERED_ROAM CFG_INI_BOOL( \
2211*5113495bSYour Name 			"enable_bss_load_roam_trigger", \
2212*5113495bSYour Name 			0, \
2213*5113495bSYour Name 			"enable bss load triggered roaming")
2214*5113495bSYour Name 
2215*5113495bSYour Name /*
2216*5113495bSYour Name  * <ini>
2217*5113495bSYour Name  * bss_load_threshold/RoamCU_Trigger - bss load above which the STA should
2218*5113495bSYour Name  * trigger roaming
2219*5113495bSYour Name  * @Min: 0
2220*5113495bSYour Name  * @Max: 100
2221*5113495bSYour Name  * @Default: 70
2222*5113495bSYour Name  *
2223*5113495bSYour Name  * When the bss load value that is sampled exceeds this threshold, firmware
2224*5113495bSYour Name  * will trigger roaming if bss load trigger is enabled.
2225*5113495bSYour Name  *
2226*5113495bSYour Name  * Related: None
2227*5113495bSYour Name  *
2228*5113495bSYour Name  * Supported Feature: Roaming
2229*5113495bSYour Name  *
2230*5113495bSYour Name  * Usage: External
2231*5113495bSYour Name  *
2232*5113495bSYour Name  * </ini>
2233*5113495bSYour Name  */
2234*5113495bSYour Name #define CFG_BSS_LOAD_THRESHOLD CFG_INI_UINT( \
2235*5113495bSYour Name 		"bss_load_threshold RoamCU_Trigger", \
2236*5113495bSYour Name 		RoamCU_Trigger_min, \
2237*5113495bSYour Name 		RoamCU_Trigger_max, \
2238*5113495bSYour Name 		RoamCU_Trigger_default, \
2239*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
2240*5113495bSYour Name 		"bss load threshold")
2241*5113495bSYour Name 
2242*5113495bSYour Name /*
2243*5113495bSYour Name  * <ini>
2244*5113495bSYour Name  * bss_load_sample_time - Time in milliseconds for which the bss load values
2245*5113495bSYour Name  * obtained from the beacons is sampled.
2246*5113495bSYour Name  * @Min: 0
2247*5113495bSYour Name  * @Max: 0xffffffff
2248*5113495bSYour Name  * @Default: 10000
2249*5113495bSYour Name  *
2250*5113495bSYour Name  * Related: None
2251*5113495bSYour Name  *
2252*5113495bSYour Name  * Supported Feature: Roaming
2253*5113495bSYour Name  *
2254*5113495bSYour Name  * Usage: External
2255*5113495bSYour Name  *
2256*5113495bSYour Name  * </ini>
2257*5113495bSYour Name  */
2258*5113495bSYour Name #define CFG_BSS_LOAD_SAMPLE_TIME CFG_INI_UINT( \
2259*5113495bSYour Name 			"bss_load_sample_time", \
2260*5113495bSYour Name 			0, \
2261*5113495bSYour Name 			0xffffffff, \
2262*5113495bSYour Name 			10000, \
2263*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
2264*5113495bSYour Name 			"bss load sampling time")
2265*5113495bSYour Name 
2266*5113495bSYour Name /*
2267*5113495bSYour Name  * <ini>
2268*5113495bSYour Name  * RoamCU_MonitorTime - Time in seconds for which the bss load values
2269*5113495bSYour Name  * obtained from the beacons is sampled.
2270*5113495bSYour Name  * @Min: 0
2271*5113495bSYour Name  * @Max: 20
2272*5113495bSYour Name  * @Default: 10
2273*5113495bSYour Name  *
2274*5113495bSYour Name  * Related: None
2275*5113495bSYour Name  *
2276*5113495bSYour Name  * Supported Feature: Roaming
2277*5113495bSYour Name  *
2278*5113495bSYour Name  * Usage: External
2279*5113495bSYour Name  *
2280*5113495bSYour Name  * </ini>
2281*5113495bSYour Name  */
2282*5113495bSYour Name #define CFG_ROAM_CU_MONITOR_TIME CFG_INI_UINT( \
2283*5113495bSYour Name 			"RoamCU_MonitorTime", \
2284*5113495bSYour Name 			0, \
2285*5113495bSYour Name 			20, \
2286*5113495bSYour Name 			10, \
2287*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
2288*5113495bSYour Name 			"bss load sampling time")
2289*5113495bSYour Name 
2290*5113495bSYour Name /*
2291*5113495bSYour Name  * <ini>
2292*5113495bSYour Name  * bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange -
2293*5113495bSYour Name  * Current AP minimum RSSI in dBm below
2294*5113495bSYour Name  * which roaming can be triggered if BSS load exceeds bss_load_threshold.
2295*5113495bSYour Name  * @Min: -120
2296*5113495bSYour Name  * @Max: 0
2297*5113495bSYour Name  * @Default: -70
2298*5113495bSYour Name  *
2299*5113495bSYour Name  * If connected AP is in 6Ghz, then consider bss load roam triggered only if
2300*5113495bSYour Name  * load % > bss_load_threshold && connected AP rssi is worse than
2301*5113495bSYour Name  * bss_load_trigger_6g_rssi_threshold
2302*5113495bSYour Name  *
2303*5113495bSYour Name  * Related: "bss_load_threshold"
2304*5113495bSYour Name  *
2305*5113495bSYour Name  * Supported Feature: Roaming
2306*5113495bSYour Name  *
2307*5113495bSYour Name  * Usage: Internal/External
2308*5113495bSYour Name  *
2309*5113495bSYour Name  * </ini>
2310*5113495bSYour Name  */
2311*5113495bSYour Name 
2312*5113495bSYour Name /*
2313*5113495bSYour Name  * <ini>
2314*5113495bSYour Name  * bss_load_trigger_6g_rssi_threshold/RoamCU_6GRSSIRange -
2315*5113495bSYour Name  * Current AP minimum RSSI in dBm below
2316*5113495bSYour Name  * which roaming can be triggered if BSS load exceeds bss_load_threshold.
2317*5113495bSYour Name  * @Min: -70
2318*5113495bSYour Name  * @Max: -50
2319*5113495bSYour Name  * @Default: -70
2320*5113495bSYour Name  *
2321*5113495bSYour Name  * If connected AP is in 6Ghz, then consider bss load roam triggered only if
2322*5113495bSYour Name  * load % > bss_load_threshold && connected AP rssi is worse than
2323*5113495bSYour Name  * bss_load_trigger_6g_rssi_threshold
2324*5113495bSYour Name  *
2325*5113495bSYour Name  * Related: "bss_load_threshold"
2326*5113495bSYour Name  *
2327*5113495bSYour Name  * Supported Feature: Roaming
2328*5113495bSYour Name  *
2329*5113495bSYour Name  * Usage: Internal/External
2330*5113495bSYour Name  *
2331*5113495bSYour Name  * </ini>
2332*5113495bSYour Name  */
2333*5113495bSYour Name #define CFG_BSS_LOAD_TRIG_6G_RSSI_THRES CFG_INI_INT( \
2334*5113495bSYour Name 	"bss_load_trigger_6g_rssi_threshold RoamCU_6GRSSIRange", \
2335*5113495bSYour Name 	ROAMCU_6GRSSIRANGE_MIN, \
2336*5113495bSYour Name 	ROAMCU_6GRSSIRANGE_MAX, \
2337*5113495bSYour Name 	ROAMCU_6GRSSIRANGE_DEFAULT, \
2338*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2339*5113495bSYour Name 	"Minimum RSSI of current AP in 6GHz band for BSS load roam trigger")
2340*5113495bSYour Name 
2341*5113495bSYour Name /*
2342*5113495bSYour Name  * <ini>
2343*5113495bSYour Name  * bss_load_trigger_5g_rssi_threshold/RoamCU_5GRSSIRange -
2344*5113495bSYour Name  * Current AP minimum RSSI in dBm below
2345*5113495bSYour Name  * which roaming can be triggered if BSS load exceeds bss_load_threshold.
2346*5113495bSYour Name  * @Min: -120
2347*5113495bSYour Name  * @Max: 0
2348*5113495bSYour Name  * @Default: -70
2349*5113495bSYour Name  *
2350*5113495bSYour Name  * If connected AP is in 5Ghz, then consider bss load roam triggered only if
2351*5113495bSYour Name  * load % > bss_load_threshold && connected AP rssi is worse than
2352*5113495bSYour Name  * bss_load_trigger_5g_rssi_threshold
2353*5113495bSYour Name  *
2354*5113495bSYour Name  * Related: "bss_load_threshold"
2355*5113495bSYour Name  *
2356*5113495bSYour Name  * Supported Feature: Roaming
2357*5113495bSYour Name  *
2358*5113495bSYour Name  * Usage: Internal/External
2359*5113495bSYour Name  *
2360*5113495bSYour Name  * </ini>
2361*5113495bSYour Name  */
2362*5113495bSYour Name #define CFG_BSS_LOAD_TRIG_5G_RSSI_THRES CFG_INI_INT( \
2363*5113495bSYour Name 	"bss_load_trigger_5g_rssi_threshold RoamCU_5GRSSIRange", \
2364*5113495bSYour Name 	RoamCU_5GRSSIRange_min, \
2365*5113495bSYour Name 	RoamCU_5GRSSIRange_max, \
2366*5113495bSYour Name 	RoamCU_5GRSSIRange_default, \
2367*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2368*5113495bSYour Name 	"Minimum RSSI of current AP in 5GHz band for BSS load roam trigger")
2369*5113495bSYour Name 
2370*5113495bSYour Name /*
2371*5113495bSYour Name  * <ini>
2372*5113495bSYour Name  * bss_load_trigger_2g_rssi_threshold/RoamCU_24GRSSIRange -
2373*5113495bSYour Name  * Current AP minimum RSSI in dBm below
2374*5113495bSYour Name  * which roaming can be triggered if BSS load exceeds bss_load_threshold.
2375*5113495bSYour Name  * @Min: -120
2376*5113495bSYour Name  * @Max: 0
2377*5113495bSYour Name  * @Default: -60
2378*5113495bSYour Name  *
2379*5113495bSYour Name  * If connected AP is in 2Ghz, then consider bss load roam triggered only if
2380*5113495bSYour Name  * load % > bss_load_threshold && connected AP rssi is worse than
2381*5113495bSYour Name  * bss_load_trigger_2g_rssi_threshold.
2382*5113495bSYour Name  *
2383*5113495bSYour Name  * Related: "bss_load_threshold"
2384*5113495bSYour Name  *
2385*5113495bSYour Name  * Supported Feature: Roaming
2386*5113495bSYour Name  *
2387*5113495bSYour Name  * Usage: Internal/External
2388*5113495bSYour Name  *
2389*5113495bSYour Name  * </ini>
2390*5113495bSYour Name  */
2391*5113495bSYour Name #define CFG_BSS_LOAD_TRIG_2G_RSSI_THRES CFG_INI_INT( \
2392*5113495bSYour Name 	"bss_load_trigger_2g_rssi_threshold RoamCU_24GRSSIRange", \
2393*5113495bSYour Name 	RoamCU_24GRSSIRange_min, \
2394*5113495bSYour Name 	RoamCU_24GRSSIRange_max, \
2395*5113495bSYour Name 	RoamCU_24GRSSIRange_default, \
2396*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2397*5113495bSYour Name 	"Minimum RSSI of current AP in 2.4GHz band for BSS load roam trigger")
2398*5113495bSYour Name 
2399*5113495bSYour Name /*
2400*5113495bSYour Name  * <ini>
2401*5113495bSYour Name  * ho_delay_for_rx - Delay hand-off (in msec) by this duration to receive
2402*5113495bSYour Name  * pending rx frames from current BSS
2403*5113495bSYour Name  * @Min: 0
2404*5113495bSYour Name  * @Max: 200
2405*5113495bSYour Name  * @Default: 0
2406*5113495bSYour Name  *
2407*5113495bSYour Name  * For LFR 3.0 roaming scenario, once roam candidate is found, firmware
2408*5113495bSYour Name  * waits for minimum this much duration to receive pending rx frames from
2409*5113495bSYour Name  * current BSS before switching to new channel for handoff to new AP.
2410*5113495bSYour Name  *
2411*5113495bSYour Name  * Related: None
2412*5113495bSYour Name  *
2413*5113495bSYour Name  * Supported Feature: Roaming
2414*5113495bSYour Name  *
2415*5113495bSYour Name  * Usage: External
2416*5113495bSYour Name  *
2417*5113495bSYour Name  * </ini>
2418*5113495bSYour Name  */
2419*5113495bSYour Name #define CFG_LFR3_ROAM_HO_DELAY_FOR_RX CFG_INI_UINT( \
2420*5113495bSYour Name 	"ho_delay_for_rx", \
2421*5113495bSYour Name 	0, \
2422*5113495bSYour Name 	200, \
2423*5113495bSYour Name 	0, \
2424*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2425*5113495bSYour Name 	"Delay Hand-off by this duration to receive")
2426*5113495bSYour Name 
2427*5113495bSYour Name /*
2428*5113495bSYour Name  * <ini>
2429*5113495bSYour Name  * min_delay_btw_roam_scans - Min duration (in sec) allowed btw two
2430*5113495bSYour Name  * consecutive roam scans
2431*5113495bSYour Name  * @Min: 0
2432*5113495bSYour Name  * @Max: 60
2433*5113495bSYour Name  * @Default: 10
2434*5113495bSYour Name  *
2435*5113495bSYour Name  * Roam scan is not allowed if duration between two consecutive
2436*5113495bSYour Name  * roam scans is less than this time.
2437*5113495bSYour Name  *
2438*5113495bSYour Name  * Related: None
2439*5113495bSYour Name  *
2440*5113495bSYour Name  * Supported Feature: Roaming
2441*5113495bSYour Name  *
2442*5113495bSYour Name  * Usage: External
2443*5113495bSYour Name  *
2444*5113495bSYour Name  * </ini>
2445*5113495bSYour Name  */
2446*5113495bSYour Name #define CFG_LFR_MIN_DELAY_BTW_ROAM_SCAN CFG_INI_UINT( \
2447*5113495bSYour Name 	"min_delay_btw_roam_scans", \
2448*5113495bSYour Name 	0, \
2449*5113495bSYour Name 	60, \
2450*5113495bSYour Name 	10, \
2451*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2452*5113495bSYour Name 	"Min duration")
2453*5113495bSYour Name 
2454*5113495bSYour Name /*
2455*5113495bSYour Name  * <ini>
2456*5113495bSYour Name  * roam_trigger_reason_bitmask - Contains roam_trigger_reasons
2457*5113495bSYour Name  * @Min: 0
2458*5113495bSYour Name  * @Max: 0xFFFFFFFF
2459*5113495bSYour Name  * @Default: 0x10DA
2460*5113495bSYour Name  *
2461*5113495bSYour Name  * Bitmask containing roam_trigger_reasons for which
2462*5113495bSYour Name  * min_delay_btw_roam_scans constraint should be applied.
2463*5113495bSYour Name  * Currently supported bit positions are as follows:
2464*5113495bSYour Name  * Bit 0 is reserved in the firmware.
2465*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_PER - 1
2466*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_BMISS - 2
2467*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_LOW_RSSI - 3
2468*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_HIGH_RSSI - 4
2469*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_PERIODIC - 5
2470*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_MAWC - 6
2471*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_DENSE - 7
2472*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_BACKGROUND - 8
2473*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_FORCED - 9
2474*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_BTM - 10
2475*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_UNIT_TEST - 11
2476*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_BSS_LOAD - 12
2477*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_DEAUTH - 13
2478*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_IDLE - 14
2479*5113495bSYour Name  * WMI_ROAM_TRIGGER_REASON_MAX - 15
2480*5113495bSYour Name  *
2481*5113495bSYour Name  * For Ex: 0xDA (PER, LOW_RSSI, HIGH_RSSI, MAWC, DENSE)
2482*5113495bSYour Name  *
2483*5113495bSYour Name  * Related: None
2484*5113495bSYour Name  *
2485*5113495bSYour Name  * Supported Feature: Roaming
2486*5113495bSYour Name  *
2487*5113495bSYour Name  * Usage: External
2488*5113495bSYour Name  *
2489*5113495bSYour Name  * </ini>
2490*5113495bSYour Name  */
2491*5113495bSYour Name #define CFG_LFR_ROAM_SCAN_TRIGGER_REASON_BITMASK CFG_INI_UINT( \
2492*5113495bSYour Name 	"roam_trigger_reason_bitmask", \
2493*5113495bSYour Name 	0, \
2494*5113495bSYour Name 	0xFFFFFFFF, \
2495*5113495bSYour Name 	0x10DA, \
2496*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2497*5113495bSYour Name 	"Contains roam_trigger_reasons")
2498*5113495bSYour Name 
2499*5113495bSYour Name /*
2500*5113495bSYour Name  * <ini>
2501*5113495bSYour Name  * enable_ftopen - enable/disable FT open feature
2502*5113495bSYour Name  * @Min: 0
2503*5113495bSYour Name  * @Max: 1
2504*5113495bSYour Name  * @Default: 1
2505*5113495bSYour Name  *
2506*5113495bSYour Name  * This INI is used to enable/disable FT open feature
2507*5113495bSYour Name  *
2508*5113495bSYour Name  * Related: None
2509*5113495bSYour Name  *
2510*5113495bSYour Name  * Supported Feature: Roaming
2511*5113495bSYour Name  *
2512*5113495bSYour Name  * Usage: External
2513*5113495bSYour Name  *
2514*5113495bSYour Name  * </ini>
2515*5113495bSYour Name  */
2516*5113495bSYour Name #define CFG_LFR_ROAM_FT_OPEN_ENABLE CFG_INI_BOOL( \
2517*5113495bSYour Name 	"enable_ftopen", \
2518*5113495bSYour Name 	1, \
2519*5113495bSYour Name 	"enable/disable FT open feature")
2520*5113495bSYour Name 
2521*5113495bSYour Name /*
2522*5113495bSYour Name  * <ini>
2523*5113495bSYour Name  * roam_force_rssi_trigger - To force RSSI trigger
2524*5113495bSYour Name  * irrespective of channel list type
2525*5113495bSYour Name  * @Min: 0
2526*5113495bSYour Name  * @Max: 1
2527*5113495bSYour Name  * @Default: 1
2528*5113495bSYour Name  *
2529*5113495bSYour Name  * This ini is used to set roam scan mode
2530*5113495bSYour Name  * WMI_ROAM_SCAN_MODE_RSSI_CHANGE, irrespective of whether
2531*5113495bSYour Name  * channel list type is CHANNEL_LIST_STATIC or not
2532*5113495bSYour Name  *
2533*5113495bSYour Name  * Related: None
2534*5113495bSYour Name  *
2535*5113495bSYour Name  * Supported Feature: Roaming
2536*5113495bSYour Name  *
2537*5113495bSYour Name  * Usage: External
2538*5113495bSYour Name  *
2539*5113495bSYour Name  * </ini>
2540*5113495bSYour Name  */
2541*5113495bSYour Name #define CFG_LFR_ROAM_FORCE_RSSI_TRIGGER CFG_INI_BOOL( \
2542*5113495bSYour Name 	"roam_force_rssi_trigger", \
2543*5113495bSYour Name 	1, \
2544*5113495bSYour Name 	"To force RSSI trigger")
2545*5113495bSYour Name 
2546*5113495bSYour Name #ifdef WLAN_FEATURE_ROAM_OFFLOAD
2547*5113495bSYour Name /*
2548*5113495bSYour Name  * <ini>
2549*5113495bSYour Name  * gRoamOffloadEnabled - enable/disable roam offload feature
2550*5113495bSYour Name  * @Min: 0
2551*5113495bSYour Name  * @Max: 1
2552*5113495bSYour Name  * @Default: 1
2553*5113495bSYour Name  *
2554*5113495bSYour Name  * This INI is used to enable/disable roam offload feature
2555*5113495bSYour Name  *
2556*5113495bSYour Name  * Related: None
2557*5113495bSYour Name  *
2558*5113495bSYour Name  * Supported Feature: Roaming
2559*5113495bSYour Name  *
2560*5113495bSYour Name  * Usage: External
2561*5113495bSYour Name  *
2562*5113495bSYour Name  * </ini>
2563*5113495bSYour Name  */
2564*5113495bSYour Name #define CFG_LFR3_ROAMING_OFFLOAD CFG_INI_BOOL( \
2565*5113495bSYour Name 	"gRoamOffloadEnabled", \
2566*5113495bSYour Name 	1, \
2567*5113495bSYour Name 	"enable roam offload")
2568*5113495bSYour Name 
2569*5113495bSYour Name /*
2570*5113495bSYour Name  * <ini>
2571*5113495bSYour Name  * enable_self_bss_roam - enable/disable roaming to self bss
2572*5113495bSYour Name  * @Min: 0
2573*5113495bSYour Name  * @Max: 1
2574*5113495bSYour Name  * @Default: 1
2575*5113495bSYour Name  *
2576*5113495bSYour Name  * This INI is used to enable/disable roaming to already connected BSSID
2577*5113495bSYour Name  *
2578*5113495bSYour Name  * Related: None
2579*5113495bSYour Name  *
2580*5113495bSYour Name  * Supported Feature: Roaming
2581*5113495bSYour Name  *
2582*5113495bSYour Name  * Usage: Internal
2583*5113495bSYour Name  *
2584*5113495bSYour Name  * </ini>
2585*5113495bSYour Name  */
2586*5113495bSYour Name #define CFG_LFR3_ENABLE_SELF_BSS_ROAM CFG_INI_BOOL( \
2587*5113495bSYour Name 	"enable_self_bss_roam", \
2588*5113495bSYour Name 	1, \
2589*5113495bSYour Name 	"enable self bss roam")
2590*5113495bSYour Name 
2591*5113495bSYour Name /*
2592*5113495bSYour Name  * <ini>
2593*5113495bSYour Name  * enable_disconnect_roam_offload - Enable/Disable emergency roaming during
2594*5113495bSYour Name  * deauth/disassoc
2595*5113495bSYour Name  * @Min: 0 - Disabled
2596*5113495bSYour Name  * @Max: 1 - Enabled
2597*5113495bSYour Name  * @Default: 1
2598*5113495bSYour Name  *
2599*5113495bSYour Name  * When this ini is enabled firmware will trigger roam scan and roam to a new ap
2600*5113495bSYour Name  * if candidate is found and it will not send the deauth/disassoc frame to
2601*5113495bSYour Name  * the host driver.
2602*5113495bSYour Name  * If roaming fails after this deauth, then firmware will send
2603*5113495bSYour Name  * WMI_ROAM_REASON_DEAUTH event to the host. If roaming is successful, driver
2604*5113495bSYour Name  * follows the normal roam synch event path.
2605*5113495bSYour Name  *
2606*5113495bSYour Name  * Supported Feature: Roaming
2607*5113495bSYour Name  *
2608*5113495bSYour Name  * Usage: Internal/External
2609*5113495bSYour Name  *
2610*5113495bSYour Name  * </ini>
2611*5113495bSYour Name  */
2612*5113495bSYour Name #define CFG_LFR_ENABLE_DISCONNECT_ROAM CFG_INI_BOOL( \
2613*5113495bSYour Name 	"enable_disconnect_roam_offload", \
2614*5113495bSYour Name 	true, \
2615*5113495bSYour Name 	"Enable/Disable roaming on deauth/disassoc from AP")
2616*5113495bSYour Name 
2617*5113495bSYour Name /*
2618*5113495bSYour Name  * <ini>
2619*5113495bSYour Name  * enable_idle_roam - Enable/Disable idle roaming
2620*5113495bSYour Name  * @Min: 0 - Disabled
2621*5113495bSYour Name  * @Max: 1 - Enabled
2622*5113495bSYour Name  * @Default: 0
2623*5113495bSYour Name  *
2624*5113495bSYour Name  * When this ini is enabled firmware will trigger roam scan and roam to a new
2625*5113495bSYour Name  * ap if current connected AP rssi falls below the threshold. To consider the
2626*5113495bSYour Name  * connection as idle, the following conditions should be met if this ini
2627*5113495bSYour Name  * "enable_idle_roam" is enabled:
2628*5113495bSYour Name  * 1. User space sends "SET SUSPENDMODE" command with value 0.
2629*5113495bSYour Name  * 2. No TX/RX data for idle time configured via ini "idle_roam_inactive_time".
2630*5113495bSYour Name  * 3. Connected AP rssi change doesn't exceed a specific delta value.
2631*5113495bSYour Name  * (configured via ini idle_roam_rssi_delta)
2632*5113495bSYour Name  * 4. Connected AP rssi falls below minimum rssi (configured via ini
2633*5113495bSYour Name  * "idle_roam_min_rssi").
2634*5113495bSYour Name  *
2635*5113495bSYour Name  * Supported Feature: Roaming
2636*5113495bSYour Name  *
2637*5113495bSYour Name  * Usage: Internal/External
2638*5113495bSYour Name  *
2639*5113495bSYour Name  * </ini>
2640*5113495bSYour Name  */
2641*5113495bSYour Name #define CFG_LFR_ENABLE_IDLE_ROAM CFG_INI_BOOL( \
2642*5113495bSYour Name 	"enable_idle_roam", \
2643*5113495bSYour Name 	false, \
2644*5113495bSYour Name 	"Enable/Disable idle roam")
2645*5113495bSYour Name 
2646*5113495bSYour Name /*
2647*5113495bSYour Name  * <ini>
2648*5113495bSYour Name  * idle_roam_rssi_delta/RoamIdle_RSSIVariation - This threshold is the criteria
2649*5113495bSYour Name  * to decide whether DUT is idle or moving. If rssi delta is more than
2650*5113495bSYour Name  * configured threshold then its considered as not idle. RSSI delta is entered
2651*5113495bSYour Name  *in dBm. Idle roaming can be triggered if the connected AP rssi change exceeds
2652*5113495bSYour Name  * or falls below the rssi delta and if other criteria of ini "enable_idle_roam"
2653*5113495bSYour Name  * is met
2654*5113495bSYour Name  * @Min: 0
2655*5113495bSYour Name  * @Max: 50
2656*5113495bSYour Name  * @Default: 3
2657*5113495bSYour Name  *
2658*5113495bSYour Name  * Related: enable_idle_roam
2659*5113495bSYour Name  *
2660*5113495bSYour Name  * Supported Feature: Roaming
2661*5113495bSYour Name  *
2662*5113495bSYour Name  * Usage: Internal/External
2663*5113495bSYour Name  *
2664*5113495bSYour Name  * </ini>
2665*5113495bSYour Name  */
2666*5113495bSYour Name #define CFG_LFR_IDLE_ROAM_RSSI_DELTA CFG_INI_UINT( \
2667*5113495bSYour Name 	"idle_roam_rssi_delta RoamIdle_RSSIVariation", \
2668*5113495bSYour Name 	RoamIdle_RSSIVariation_min, \
2669*5113495bSYour Name 	RoamIdle_RSSIVariation_max, \
2670*5113495bSYour Name 	RoamIdle_RSSIVariation_default, \
2671*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2672*5113495bSYour Name 	"Configure RSSI delta to start idle roam")
2673*5113495bSYour Name 
2674*5113495bSYour Name /*
2675*5113495bSYour Name  * <ini>
2676*5113495bSYour Name  * idle_roam_inactive_time - Time duration in milliseconds for which the
2677*5113495bSYour Name  * connection is idle.
2678*5113495bSYour Name  * @Min: 0
2679*5113495bSYour Name  * @Max: 0xFFFFFFFF
2680*5113495bSYour Name  * @Default: 10000
2681*5113495bSYour Name  *
2682*5113495bSYour Name  * This ini is used to configure the time in seconds for which the connection
2683*5113495bSYour Name  * candidate is idle and after which idle roam scan can be triggered if
2684*5113495bSYour Name  * other criteria of ini "enable_idle_roam" is met.
2685*5113495bSYour Name  *
2686*5113495bSYour Name  * Related: enable_idle_roam
2687*5113495bSYour Name  *
2688*5113495bSYour Name  * Supported Feature: Roaming
2689*5113495bSYour Name  *
2690*5113495bSYour Name  * Usage: Internal/External
2691*5113495bSYour Name  *
2692*5113495bSYour Name  * </ini>
2693*5113495bSYour Name  */
2694*5113495bSYour Name #define CFG_LFR_IDLE_ROAM_INACTIVE_TIME CFG_INI_UINT( \
2695*5113495bSYour Name 	"idle_roam_inactive_time", \
2696*5113495bSYour Name 	0, \
2697*5113495bSYour Name 	0xFFFFFFFF, \
2698*5113495bSYour Name 	10000, \
2699*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2700*5113495bSYour Name 	"Configure RSSI delta to start idle roam")
2701*5113495bSYour Name 
2702*5113495bSYour Name /*
2703*5113495bSYour Name  * <ini>
2704*5113495bSYour Name  * RoamIdle_InactiveTime - Time duration in seconds for which the
2705*5113495bSYour Name  * connection is idle.
2706*5113495bSYour Name  * @Min: 0
2707*5113495bSYour Name  * @Max: 20
2708*5113495bSYour Name  * @Default: 10
2709*5113495bSYour Name  *
2710*5113495bSYour Name  * This ini is used to configure the time in seconds for which the connection
2711*5113495bSYour Name  * candidate is idle and after which idle roam scan can be triggered if
2712*5113495bSYour Name  * other criteria of ini "enable_idle_roam" is met.
2713*5113495bSYour Name  *
2714*5113495bSYour Name  * Related: enable_idle_roam
2715*5113495bSYour Name  *
2716*5113495bSYour Name  * Supported Feature: Roaming
2717*5113495bSYour Name  *
2718*5113495bSYour Name  * Usage: Internal/External
2719*5113495bSYour Name  *
2720*5113495bSYour Name  * </ini>
2721*5113495bSYour Name  */
2722*5113495bSYour Name #define CFG_ROAM_IDLE_INACTIVE_TIME CFG_INI_UINT( \
2723*5113495bSYour Name 	"RoamIdle_InactiveTime", \
2724*5113495bSYour Name 	0, \
2725*5113495bSYour Name 	20, \
2726*5113495bSYour Name 	RoamIdle_InactiveTime_default, \
2727*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2728*5113495bSYour Name 	"Configure RSSI delta to start idle roam")
2729*5113495bSYour Name 
2730*5113495bSYour Name /*
2731*5113495bSYour Name  * <ini>
2732*5113495bSYour Name  * idle_data_packet_count/RoamIdle_InactivePacketCount - No of tx/rx packets
2733*5113495bSYour Name  * above which the connection is not idle.
2734*5113495bSYour Name  * @Min: 0
2735*5113495bSYour Name  * @Max: 0xFFFFFFFF
2736*5113495bSYour Name  * @Default: 10
2737*5113495bSYour Name  *
2738*5113495bSYour Name  * This ini is used to configure the acceptable number of tx/rx packets below
2739*5113495bSYour Name  * which the connection is idle. Ex: If idle_data_packet_count is 10
2740*5113495bSYour Name  * and if the tx/rx packet count is less than 10, the connection is
2741*5113495bSYour Name  * idle. If there are more than 10 packets, the connection is active one.
2742*5113495bSYour Name  *
2743*5113495bSYour Name  * Related: enable_idle_roam
2744*5113495bSYour Name  *
2745*5113495bSYour Name  * Supported Feature: Roaming
2746*5113495bSYour Name  *
2747*5113495bSYour Name  * Usage: Internal/External
2748*5113495bSYour Name  *
2749*5113495bSYour Name  * </ini>
2750*5113495bSYour Name  */
2751*5113495bSYour Name #define CFG_LFR_IDLE_ROAM_PACKET_COUNT CFG_INI_UINT( \
2752*5113495bSYour Name 	"idle_data_packet_count RoamIdle_InactivePacketCount", \
2753*5113495bSYour Name 	RoamIdle_InactivePacketCount_min, \
2754*5113495bSYour Name 	RoamIdle_InactivePacketCount_max, \
2755*5113495bSYour Name 	RoamIdle_InactivePacketCount_default, \
2756*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2757*5113495bSYour Name 	"Configure idle packet count")
2758*5113495bSYour Name 
2759*5113495bSYour Name /*
2760*5113495bSYour Name  * <ini>
2761*5113495bSYour Name  * idle_roam_min_rssi/RoamIdle_MinRSSI - Minimum RSSI of connected AP, below
2762*5113495bSYour Name  * which idle roam scan can be triggered if other criteria of ini
2763*5113495bSYour Name  * "enable_idle_roam" is met.
2764*5113495bSYour Name  * @Min: -96
2765*5113495bSYour Name  * @Max: 0
2766*5113495bSYour Name  * @Default: -65
2767*5113495bSYour Name  *
2768*5113495bSYour Name  * Related: enable_idle_roam
2769*5113495bSYour Name  *
2770*5113495bSYour Name  * Supported Feature: Roaming
2771*5113495bSYour Name  *
2772*5113495bSYour Name  * Usage: Internal/External
2773*5113495bSYour Name  *
2774*5113495bSYour Name  * </ini>
2775*5113495bSYour Name  */
2776*5113495bSYour Name #define CFG_LFR_IDLE_ROAM_MIN_RSSI CFG_INI_INT( \
2777*5113495bSYour Name 	"idle_roam_min_rssi RoamIdle_MinRSSI", \
2778*5113495bSYour Name 	RoamIdle_MinRSSI_min, \
2779*5113495bSYour Name 	RoamIdle_MinRSSI_max, \
2780*5113495bSYour Name 	RoamIdle_MinRSSI_default, \
2781*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2782*5113495bSYour Name 	"Configure idle roam minimum RSSI")
2783*5113495bSYour Name 
2784*5113495bSYour Name /*
2785*5113495bSYour Name  * <ini>
2786*5113495bSYour Name  * idle_roam_band/RoamIdle_TriggerBand - Band on which idle roam scan will be
2787*5113495bSYour Name  * enabled
2788*5113495bSYour Name  * @Min: 0
2789*5113495bSYour Name  * @Max: 2
2790*5113495bSYour Name  * @Default: 0
2791*5113495bSYour Name  *
2792*5113495bSYour Name  * Value 0 - Allow idle roam on both bands
2793*5113495bSYour Name  * Value 1 - Allow idle roam only on 2G band
2794*5113495bSYour Name  * Value 2 - Allow idle roam only on 5G band
2795*5113495bSYour Name  *
2796*5113495bSYour Name  * Related: enable_idle_roam
2797*5113495bSYour Name  *
2798*5113495bSYour Name  * Supported Feature: Roaming
2799*5113495bSYour Name  *
2800*5113495bSYour Name  * Usage: Internal/External
2801*5113495bSYour Name  *
2802*5113495bSYour Name  * </ini>
2803*5113495bSYour Name  */
2804*5113495bSYour Name #define CFG_LFR_IDLE_ROAM_BAND CFG_INI_UINT( \
2805*5113495bSYour Name 	"idle_roam_band RoamIdle_TriggerBand", \
2806*5113495bSYour Name 	RoamIdle_TriggerBand_min, \
2807*5113495bSYour Name 	RoamIdle_TriggerBand_max, \
2808*5113495bSYour Name 	RoamIdle_TriggerBand_default, \
2809*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
2810*5113495bSYour Name 	"Band on which idle roam needs to be enabled")
2811*5113495bSYour Name 
2812*5113495bSYour Name /*
2813*5113495bSYour Name  * <ini>
2814*5113495bSYour Name  * roam_triggers - Bitmap of roaming triggers. Setting this to
2815*5113495bSYour Name  * zero will disable roaming altogether for the STA interface.
2816*5113495bSYour Name  * ESS report element of beacon explores BSS information, for roaming station
2817*5113495bSYour Name  * uses it to consider next AP to roam. ROAM_TRIGGER_REASON_ESS_RSSI bit is
2818*5113495bSYour Name  * to enable/disable roam trigger for ESS RSSI reason. This bit of ini is also
2819*5113495bSYour Name  * used for WFA certification.
2820*5113495bSYour Name  * @Min: 0
2821*5113495bSYour Name  * @Max: 0xFFFFFFFF
2822*5113495bSYour Name  * @Default: 0x3FFFF
2823*5113495bSYour Name  *
2824*5113495bSYour Name  * ROAM_TRIGGER_REASON_PER         BIT 1
2825*5113495bSYour Name  * ROAM_TRIGGER_REASON_BMISS       BIT 2
2826*5113495bSYour Name  * ROAM_TRIGGER_REASON_LOW_RSSI    BIT 3
2827*5113495bSYour Name  * ROAM_TRIGGER_REASON_HIGH_RSSI   BIT 4
2828*5113495bSYour Name  * ROAM_TRIGGER_REASON_PERIODIC    BIT 5
2829*5113495bSYour Name  * ROAM_TRIGGER_REASON_MAWC        BIT 6
2830*5113495bSYour Name  * ROAM_TRIGGER_REASON_DENSE       BIT 7
2831*5113495bSYour Name  * ROAM_TRIGGER_REASON_BACKGROUND  BIT 8
2832*5113495bSYour Name  * ROAM_TRIGGER_REASON_FORCED      BIT 9
2833*5113495bSYour Name  * ROAM_TRIGGER_REASON_BTM         BIT 10
2834*5113495bSYour Name  * ROAM_TRIGGER_REASON_UNIT_TEST   BIT 11
2835*5113495bSYour Name  * ROAM_TRIGGER_REASON_BSS_LOAD    BIT 12
2836*5113495bSYour Name  * ROAM_TRIGGER_REASON_DEAUTH      BIT 13
2837*5113495bSYour Name  * ROAM_TRIGGER_REASON_IDLE        BIT 14
2838*5113495bSYour Name  * ROAM_TRIGGER_REASON_STA_KICKOUT BIT 15
2839*5113495bSYour Name  * ROAM_TRIGGER_REASON_ESS_RSSI    BIT 16
2840*5113495bSYour Name  * ROAM_TRIGGER_REASON_WTC_BTM     BIT 17
2841*5113495bSYour Name  * ROAM_TRIGGER_REASON_PMK_TIMEOUT BIT 18
2842*5113495bSYour Name  * ROAM_TRIGGER_REASON_BTC         BIT 19
2843*5113495bSYour Name  * ROAM_TRIGGER_REASON_MAX         BIT 20
2844*5113495bSYour Name  *
2845*5113495bSYour Name  * Related: none
2846*5113495bSYour Name  *
2847*5113495bSYour Name  * Supported Feature: Roaming
2848*5113495bSYour Name  *
2849*5113495bSYour Name  * Usage: External
2850*5113495bSYour Name  *
2851*5113495bSYour Name  * </ini>
2852*5113495bSYour Name  */
2853*5113495bSYour Name #define CFG_ROAM_TRIGGER_BITMAP CFG_INI_UINT( \
2854*5113495bSYour Name 			"roam_triggers", \
2855*5113495bSYour Name 			0, \
2856*5113495bSYour Name 			0xFFFFFFFF, \
2857*5113495bSYour Name 			0x7FFFF, \
2858*5113495bSYour Name 			CFG_VALUE_OR_DEFAULT, \
2859*5113495bSYour Name 			"Bitmap of roaming triggers")
2860*5113495bSYour Name 
2861*5113495bSYour Name /*
2862*5113495bSYour Name  * <ini>
2863*5113495bSYour Name  * sta_disable_roam - Disable Roam on sta interface
2864*5113495bSYour Name  * @Min: 0 - Roam Enabled on sta interface
2865*5113495bSYour Name  * @Max: 0xffffffff - Roam Disabled on sta interface irrespective
2866*5113495bSYour Name  * of other interface connections
2867*5113495bSYour Name  * @Default: 0x00
2868*5113495bSYour Name  *
2869*5113495bSYour Name  * Disable roaming on STA iface to avoid audio glitches on p2p and ndp if
2870*5113495bSYour Name  * those are in connected state. Each bit for "sta_disable_roam" INI represents
2871*5113495bSYour Name  * an interface for which sta roaming can be disabled.
2872*5113495bSYour Name  *
2873*5113495bSYour Name  * LFR3_STA_ROAM_DISABLE_BY_P2P BIT(0)
2874*5113495bSYour Name  * LFR3_STA_ROAM_DISABLE_BY_NAN BIT(1)
2875*5113495bSYour Name  *
2876*5113495bSYour Name  * Related: None.
2877*5113495bSYour Name  *
2878*5113495bSYour Name  * Supported Feature: ROAM
2879*5113495bSYour Name  *
2880*5113495bSYour Name  * Usage: Internal
2881*5113495bSYour Name  *
2882*5113495bSYour Name  * </ini>
2883*5113495bSYour Name  */
2884*5113495bSYour Name #define CFG_STA_DISABLE_ROAM CFG_INI_UINT( \
2885*5113495bSYour Name 		"sta_disable_roam", \
2886*5113495bSYour Name 		0, \
2887*5113495bSYour Name 		0xffffffff, \
2888*5113495bSYour Name 		0x00, \
2889*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
2890*5113495bSYour Name 		"disable roam on STA iface if one of the iface mentioned in default is in connected state")
2891*5113495bSYour Name 
2892*5113495bSYour Name /*
2893*5113495bSYour Name  * <ini>
2894*5113495bSYour Name  * enable_dual_sta_roam_offload - Enable roaming offload on both interfaces
2895*5113495bSYour Name  * for STA + STA
2896*5113495bSYour Name  * @Min: 0 - Dual STA Roam offload Disabled
2897*5113495bSYour Name  * @Max: 1 - Dual STA Roam offload Enabled
2898*5113495bSYour Name  * @Default: 1
2899*5113495bSYour Name  *
2900*5113495bSYour Name  * Enabling this ini will:
2901*5113495bSYour Name  *  a) Enforce the STA + STA connection be DBS if the hw is capable.
2902*5113495bSYour Name  *  b) Enable Roam Scan Offload on both the STA vdev.
2903*5113495bSYour Name  *  c) Enable firmware to support sequential roaming on both STA vdev
2904*5113495bSYour Name  *     if the firmware is capable of dual sta roaming.
2905*5113495bSYour Name  *
2906*5113495bSYour Name  * Related: None.
2907*5113495bSYour Name  *
2908*5113495bSYour Name  * Supported Feature: ROAM
2909*5113495bSYour Name  *
2910*5113495bSYour Name  * Usage: External
2911*5113495bSYour Name  *
2912*5113495bSYour Name  * </ini>
2913*5113495bSYour Name  */
2914*5113495bSYour Name #define CFG_ENABLE_DUAL_STA_ROAM_OFFLOAD CFG_INI_UINT( \
2915*5113495bSYour Name 		"enable_dual_sta_roam_offload", \
2916*5113495bSYour Name 		false, \
2917*5113495bSYour Name 		true, \
2918*5113495bSYour Name 		true, \
2919*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
2920*5113495bSYour Name 		"Enable roam on both STA vdev")
2921*5113495bSYour Name 
2922*5113495bSYour Name #define ROAM_OFFLOAD_ALL \
2923*5113495bSYour Name 	CFG(CFG_LFR3_ROAMING_OFFLOAD) \
2924*5113495bSYour Name 	CFG(CFG_LFR3_ENABLE_SELF_BSS_ROAM) \
2925*5113495bSYour Name 	CFG(CFG_LFR_ENABLE_DISCONNECT_ROAM) \
2926*5113495bSYour Name 	CFG(CFG_LFR_ENABLE_IDLE_ROAM) \
2927*5113495bSYour Name 	CFG(CFG_LFR_IDLE_ROAM_RSSI_DELTA) \
2928*5113495bSYour Name 	CFG(CFG_LFR_IDLE_ROAM_INACTIVE_TIME) \
2929*5113495bSYour Name 	CFG(CFG_ROAM_IDLE_INACTIVE_TIME) \
2930*5113495bSYour Name 	CFG(CFG_LFR_IDLE_ROAM_PACKET_COUNT) \
2931*5113495bSYour Name 	CFG(CFG_LFR_IDLE_ROAM_MIN_RSSI) \
2932*5113495bSYour Name 	CFG(CFG_LFR_IDLE_ROAM_BAND) \
2933*5113495bSYour Name 	CFG(CFG_ROAM_TRIGGER_BITMAP) \
2934*5113495bSYour Name 	CFG(CFG_STA_DISABLE_ROAM) \
2935*5113495bSYour Name 	CFG(CFG_ENABLE_DUAL_STA_ROAM_OFFLOAD) \
2936*5113495bSYour Name 
2937*5113495bSYour Name #else
2938*5113495bSYour Name #define ROAM_OFFLOAD_ALL
2939*5113495bSYour Name #endif
2940*5113495bSYour Name 
2941*5113495bSYour Name #ifdef FEATURE_WLAN_ESE
2942*5113495bSYour Name /*
2943*5113495bSYour Name  * <ini>
2944*5113495bSYour Name  * EseEnabled - Enable ESE feature
2945*5113495bSYour Name  * @Min: 0
2946*5113495bSYour Name  * @Max: 1
2947*5113495bSYour Name  * @Default: 0
2948*5113495bSYour Name  *
2949*5113495bSYour Name  * This ini is used to enable/disable ESE feature
2950*5113495bSYour Name  *
2951*5113495bSYour Name  * Related: None
2952*5113495bSYour Name  *
2953*5113495bSYour Name  * Supported Feature: Roaming
2954*5113495bSYour Name  *
2955*5113495bSYour Name  * Usage: External
2956*5113495bSYour Name  *
2957*5113495bSYour Name  * </ini>
2958*5113495bSYour Name  */
2959*5113495bSYour Name #define CFG_LFR_ESE_FEATURE_ENABLED CFG_INI_BOOL( \
2960*5113495bSYour Name 	"EseEnabled", \
2961*5113495bSYour Name 	0, \
2962*5113495bSYour Name 	"Enable ESE")
2963*5113495bSYour Name #define LFR_ESE_ALL CFG(CFG_LFR_ESE_FEATURE_ENABLED)
2964*5113495bSYour Name #else
2965*5113495bSYour Name #define LFR_ESE_ALL
2966*5113495bSYour Name #endif
2967*5113495bSYour Name 
2968*5113495bSYour Name #ifdef FEATURE_LFR_SUBNET_DETECTION
2969*5113495bSYour Name /*
2970*5113495bSYour Name  * <ini>
2971*5113495bSYour Name  * gLFRSubnetDetectionEnable - Enable LFR3 subnet detection
2972*5113495bSYour Name  * @Min: 0
2973*5113495bSYour Name  * @Max: 1
2974*5113495bSYour Name  * @Default: 1
2975*5113495bSYour Name  *
2976*5113495bSYour Name  * Enable IP subnet detection during legacy fast roming version 3. Legacy fast
2977*5113495bSYour Name  * roaming could roam across IP subnets without host processors' knowledge.
2978*5113495bSYour Name  * This feature enables firmware to wake up the host processor if it
2979*5113495bSYour Name  * successfully determines change in the IP subnet. Change in IP subnet could
2980*5113495bSYour Name  * potentially cause disruption in IP connnectivity if IP address is not
2981*5113495bSYour Name  * refreshed.
2982*5113495bSYour Name  *
2983*5113495bSYour Name  * Related: None
2984*5113495bSYour Name  *
2985*5113495bSYour Name  * Supported Feature: Roaming
2986*5113495bSYour Name  *
2987*5113495bSYour Name  * Usage: External
2988*5113495bSYour Name  *
2989*5113495bSYour Name  * </ini>
2990*5113495bSYour Name  */
2991*5113495bSYour Name #define CFG_LFR3_ENABLE_SUBNET_DETECTION CFG_INI_BOOL( \
2992*5113495bSYour Name 	"gLFRSubnetDetectionEnable", \
2993*5113495bSYour Name 	1, \
2994*5113495bSYour Name 	"Enable LFR3 subnet detection")
2995*5113495bSYour Name 
2996*5113495bSYour Name #define LFR_SUBNET_DETECTION_ALL CFG(CFG_LFR3_ENABLE_SUBNET_DETECTION)
2997*5113495bSYour Name #else
2998*5113495bSYour Name #define LFR_SUBNET_DETECTION_ALL
2999*5113495bSYour Name #endif
3000*5113495bSYour Name 
3001*5113495bSYour Name #if defined(WLAN_SAE_SINGLE_PMK) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
3002*5113495bSYour Name /*
3003*5113495bSYour Name  * <ini>
3004*5113495bSYour Name  * sae_single_pmk_feature_enabled - Enable/disable sae single pmk feature.
3005*5113495bSYour Name  * @Min: 0
3006*5113495bSYour Name  * @Max: 1
3007*5113495bSYour Name  * @Default: 1
3008*5113495bSYour Name  *
3009*5113495bSYour Name  * This INI is to enable/disable SAE Roaming with same PMK/PMKID feature support
3010*5113495bSYour Name  *
3011*5113495bSYour Name  * Related: None.
3012*5113495bSYour Name  *
3013*5113495bSYour Name  * Supported Feature: Roaming
3014*5113495bSYour Name  *
3015*5113495bSYour Name  * Usage: Internal
3016*5113495bSYour Name  *
3017*5113495bSYour Name  * </ini>
3018*5113495bSYour Name  */
3019*5113495bSYour Name #define CFG_SAE_SINGLE_PMK CFG_INI_BOOL( \
3020*5113495bSYour Name 		"sae_single_pmk_feature_enabled", \
3021*5113495bSYour Name 		true, \
3022*5113495bSYour Name 		"Enable/disable SAE Roaming with single PMK/PMKID")
3023*5113495bSYour Name 
3024*5113495bSYour Name #define SAE_SINGLE_PMK_ALL CFG(CFG_SAE_SINGLE_PMK)
3025*5113495bSYour Name #else
3026*5113495bSYour Name #define SAE_SINGLE_PMK_ALL
3027*5113495bSYour Name #endif
3028*5113495bSYour Name 
3029*5113495bSYour Name #ifdef WLAN_ADAPTIVE_11R
3030*5113495bSYour Name /*
3031*5113495bSYour Name  * <ini>
3032*5113495bSYour Name  * adaptive_11r - Enable/disable adaptive 11r feature.
3033*5113495bSYour Name  * @Min: 0
3034*5113495bSYour Name  * @Max: 1
3035*5113495bSYour Name  * @Default: 0
3036*5113495bSYour Name  *
3037*5113495bSYour Name  * Adaptive 11r feature enables the AP to support FT-AKM without
3038*5113495bSYour Name  * configuring the FT-AKM in the network. The AP will advertise non-FT akm
3039*5113495bSYour Name  * with a vendor specific IE having Adaptive 11r bit set to 1 in the IE data.
3040*5113495bSYour Name  * The AP also advertises the MDE in beacon/probe response.
3041*5113495bSYour Name  *
3042*5113495bSYour Name  * STA should check the adaptive 11r capability if the AP advertises MDE in
3043*5113495bSYour Name  * beacon/probe and adaptive 11r capability in vendor specific IE.  If adaptive
3044*5113495bSYour Name  * 11r capability is found, STA can advertise the FT equivalent of the non-FT
3045*5113495bSYour Name  * AKM and connect with 11r protocol.
3046*5113495bSYour Name  *
3047*5113495bSYour Name  * Related: None.
3048*5113495bSYour Name  *
3049*5113495bSYour Name  * Supported Feature: Fast BSS Transition
3050*5113495bSYour Name  *
3051*5113495bSYour Name  * Usage: External
3052*5113495bSYour Name  *
3053*5113495bSYour Name  * </ini>
3054*5113495bSYour Name  */
3055*5113495bSYour Name #define CFG_ADAPTIVE_11R CFG_INI_BOOL( \
3056*5113495bSYour Name 		"enable_adaptive_11r", \
3057*5113495bSYour Name 		false, \
3058*5113495bSYour Name 		"Enable/disable adaptive 11r support")
3059*5113495bSYour Name 
3060*5113495bSYour Name #define ADAPTIVE_11R_ALL CFG(CFG_ADAPTIVE_11R)
3061*5113495bSYour Name #else
3062*5113495bSYour Name #define ADAPTIVE_11R_ALL
3063*5113495bSYour Name #endif
3064*5113495bSYour Name 
3065*5113495bSYour Name /*
3066*5113495bSYour Name  * <ini>
3067*5113495bSYour Name  * roaming_scan_policy - To config roaming scan policy
3068*5113495bSYour Name  * @Min: 0
3069*5113495bSYour Name  * @Max: 1
3070*5113495bSYour Name  * @Default: 0
3071*5113495bSYour Name  *
3072*5113495bSYour Name  * This ini is used to configure roaming scan behavior from HOST
3073*5113495bSYour Name  * 0 : DBS scan
3074*5113495bSYour Name  * 1 : Non-DBS scan
3075*5113495bSYour Name  *
3076*5113495bSYour Name  * Related: None
3077*5113495bSYour Name  *
3078*5113495bSYour Name  * Supported Feature: Roaming
3079*5113495bSYour Name  *
3080*5113495bSYour Name  * Usage: External
3081*5113495bSYour Name  *
3082*5113495bSYour Name  * </ini>
3083*5113495bSYour Name  */
3084*5113495bSYour Name #define CFG_ROAM_SCAN_SCAN_POLICY CFG_INI_BOOL( \
3085*5113495bSYour Name 		"roaming_scan_policy", \
3086*5113495bSYour Name 		0, \
3087*5113495bSYour Name 		"Config roam scan policy")
3088*5113495bSYour Name 
3089*5113495bSYour Name /*
3090*5113495bSYour Name  * <ini>
3091*5113495bSYour Name  * enable_ft_im_roaming - FW needs to perform FT initial moiblity association
3092*5113495bSYour Name  * instead of FT roaming for deauth roam trigger
3093*5113495bSYour Name  * @Min: 0
3094*5113495bSYour Name  * @Max: 1
3095*5113495bSYour Name  * @Default: 1
3096*5113495bSYour Name  *
3097*5113495bSYour Name  * This ini is used to FT roaming for deauth roam trigger behavior from HOST
3098*5113495bSYour Name  * 0 - To disable FT-IM
3099*5113495bSYour Name  * 1 - To enable FT-IM
3100*5113495bSYour Name  *
3101*5113495bSYour Name  * Related: None
3102*5113495bSYour Name  *
3103*5113495bSYour Name  * Supported Feature: Roaming
3104*5113495bSYour Name  *
3105*5113495bSYour Name  * Usage: Internal
3106*5113495bSYour Name  *
3107*5113495bSYour Name  * </ini>
3108*5113495bSYour Name  */
3109*5113495bSYour Name #define CFG_FT_IM_ROAMING CFG_INI_BOOL( \
3110*5113495bSYour Name 		"enable_ft_im_roaming", \
3111*5113495bSYour Name 		1, \
3112*5113495bSYour Name 		"FT roaming for deauth roam trigger")
3113*5113495bSYour Name 
3114*5113495bSYour Name /*
3115*5113495bSYour Name  * <ini>
3116*5113495bSYour Name  * roam_scan_inactivity_time - Device inactivity monitoring time in
3117*5113495bSYour Name  * milliseconds for which the device is considered to be inactive with data
3118*5113495bSYour Name  * packets count is less than configured roam_inactive_data_count.
3119*5113495bSYour Name  *
3120*5113495bSYour Name  * @Min: 0
3121*5113495bSYour Name  * @Max: 0xFFFFFFFF
3122*5113495bSYour Name  * @Default: 0
3123*5113495bSYour Name  *
3124*5113495bSYour Name  * The below three ini values are used to control the roam scan after the
3125*5113495bSYour Name  * firmware gets empty roam scan results during periodic roam scans.
3126*5113495bSYour Name  * 1. roam_scan_inactivity_time
3127*5113495bSYour Name  * 2. roam_inactive_data_count
3128*5113495bSYour Name  * The first two ini "roam_scan_inactivity_time" and "roam_inactive_data_count"
3129*5113495bSYour Name  * is frames the criteria to detect if the DUT is inactive.
3130*5113495bSYour Name  *
3131*5113495bSYour Name  * Related: roam_inactive_data_count
3132*5113495bSYour Name  *
3133*5113495bSYour Name  * Supported Feature: Roaming
3134*5113495bSYour Name  *
3135*5113495bSYour Name  * Usage: External
3136*5113495bSYour Name  *
3137*5113495bSYour Name  * </ini>
3138*5113495bSYour Name  */
3139*5113495bSYour Name #define CFG_ROAM_SCAN_INACTIVITY_TIME CFG_INI_UINT( \
3140*5113495bSYour Name 	"roam_scan_inactivity_time", \
3141*5113495bSYour Name 	0, \
3142*5113495bSYour Name 	0xFFFFFFFF, \
3143*5113495bSYour Name 	0, \
3144*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
3145*5113495bSYour Name 	"Device inactivity monitoring time")
3146*5113495bSYour Name 
3147*5113495bSYour Name  /*
3148*5113495bSYour Name   * <ini>
3149*5113495bSYour Name   * RoamScan_SecondTimer - Device inactivity monitoring time in
3150*5113495bSYour Name   * seconds for which the device is considered to be inactive with data
3151*5113495bSYour Name   * packets count is less than configured RoamScan_InactiveCount.
3152*5113495bSYour Name   *
3153*5113495bSYour Name   * @Min: 60
3154*5113495bSYour Name   * @Max: 300
3155*5113495bSYour Name   * @Default: 120
3156*5113495bSYour Name   *
3157*5113495bSYour Name   * The below three ini values are used to control the roam scan after the
3158*5113495bSYour Name   * firmware gets empty roam scan results during periodic roam scans.
3159*5113495bSYour Name   * 1. RoamScan_SecondTimer
3160*5113495bSYour Name   * 2. RoamScan_InactiveCount
3161*5113495bSYour Name   * 3. RoamScan_InactiveTimer
3162*5113495bSYour Name   * The first two ini "RoamScan_SecondTimer" and "RoamScan_InactiveCount"
3163*5113495bSYour Name   * is frames the criteria to detect if the DUT is inactive. If the device is
3164*5113495bSYour Name   * identified to be inactive based on the above two ini, then the value,
3165*5113495bSYour Name   * "RoamScan_InactiveTimer" will be used as periodic roam scan
3166*5113495bSYour Name   * duration.
3167*5113495bSYour Name   *
3168*5113495bSYour Name   * Related: RoamScan_InactiveCount
3169*5113495bSYour Name   *
3170*5113495bSYour Name   * Supported Feature: Roaming
3171*5113495bSYour Name   *
3172*5113495bSYour Name   * Usage: External
3173*5113495bSYour Name   *
3174*5113495bSYour Name   * </ini>
3175*5113495bSYour Name   */
3176*5113495bSYour Name #define CFG_ROAM_SCAN_SECOND_TIMER CFG_INI_UINT( \
3177*5113495bSYour Name 	"RoamScan_SecondTimer", \
3178*5113495bSYour Name 	60, \
3179*5113495bSYour Name 	300, \
3180*5113495bSYour Name 	120, \
3181*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
3182*5113495bSYour Name 	"Device inactivity monitoring time")
3183*5113495bSYour Name 
3184*5113495bSYour Name /*
3185*5113495bSYour Name  * <ini>
3186*5113495bSYour Name  * roam_inactive_data_count/RoamScan_InactiveCount - Maximum allowed data
3187*5113495bSYour Name  * packets count during roam_scan_inactivity_time.
3188*5113495bSYour Name  *
3189*5113495bSYour Name  * @Min: 0
3190*5113495bSYour Name  * @Max: 0xFFFFFFFF
3191*5113495bSYour Name  * @Default: 10
3192*5113495bSYour Name  *
3193*5113495bSYour Name  * The DUT is said to be inactive only if the data packets count
3194*5113495bSYour Name  * during this  roam_scan_inactivity_time is less than the configured
3195*5113495bSYour Name  * roam_inactive_data_count.
3196*5113495bSYour Name  *
3197*5113495bSYour Name  * Related: roam_scan_inactivity_time
3198*5113495bSYour Name  *
3199*5113495bSYour Name  * Supported Feature: Roaming
3200*5113495bSYour Name  *
3201*5113495bSYour Name  * Usage: External
3202*5113495bSYour Name  *
3203*5113495bSYour Name  * </ini>
3204*5113495bSYour Name  */
3205*5113495bSYour Name #define CFG_ROAM_INACTIVE_COUNT CFG_INI_UINT( \
3206*5113495bSYour Name 	"roam_inactive_data_count RoamScan_InactiveCount", \
3207*5113495bSYour Name 	RoamScan_InactiveCount_min, \
3208*5113495bSYour Name 	RoamScan_InactiveCount_max, \
3209*5113495bSYour Name 	RoamScan_InactiveCount_default, \
3210*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
3211*5113495bSYour Name 	"Roam scan inactivity period data pkt count")
3212*5113495bSYour Name 
3213*5113495bSYour Name /*
3214*5113495bSYour Name  * <ini>
3215*5113495bSYour Name  * RoamScan_InactiveTimer - Roam scan duration in sec after device is
3216*5113495bSYour Name  * out of inactivity state.
3217*5113495bSYour Name  *
3218*5113495bSYour Name  * @Min: 0
3219*5113495bSYour Name  * @Max: 20
3220*5113495bSYour Name  * @Default: 10
3221*5113495bSYour Name  *
3222*5113495bSYour Name  * If there is empty scan results during roam scan, firmware will move to
3223*5113495bSYour Name  * roam scan inactive state if roam_scan_inactivity and
3224*5113495bSYour Name  * roam_inactive_data_count criteria are met.
3225*5113495bSYour Name  * This ini is used to configure the roam scan duration in sec once the
3226*5113495bSYour Name  * inactivity is finished and roam scan can be started.
3227*5113495bSYour Name  *
3228*5113495bSYour Name  * Related: roam_scan_inactivity_time, roam_inactive_data_count
3229*5113495bSYour Name  *
3230*5113495bSYour Name  * Supported Feature: Roaming
3231*5113495bSYour Name  *
3232*5113495bSYour Name  * Usage: External
3233*5113495bSYour Name  *
3234*5113495bSYour Name  * </ini>
3235*5113495bSYour Name  */
3236*5113495bSYour Name #define CFG_ROAM_SCAN_INACTIVE_TIMER CFG_INI_UINT( \
3237*5113495bSYour Name 	"RoamScan_InactiveTimer", \
3238*5113495bSYour Name 	0, \
3239*5113495bSYour Name 	20, \
3240*5113495bSYour Name 	10, \
3241*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
3242*5113495bSYour Name 	"Roam scan period post inactivity")
3243*5113495bSYour Name 
3244*5113495bSYour Name #ifdef WLAN_FEATURE_ROAM_OFFLOAD
3245*5113495bSYour Name /*
3246*5113495bSYour Name  * <ini>
3247*5113495bSYour Name  * enable_roam_reason_vsie - Enable/Disable inclusion of Roam Reason
3248*5113495bSYour Name  * in Re(association) frame
3249*5113495bSYour Name  *
3250*5113495bSYour Name  * @Min: 0
3251*5113495bSYour Name  * @Max: 1
3252*5113495bSYour Name  * @Default: 0
3253*5113495bSYour Name  *
3254*5113495bSYour Name  * This ini is used to enable fw to include/exclude roam reason vsie in
3255*5113495bSYour Name  * Re(association)
3256*5113495bSYour Name  *
3257*5113495bSYour Name  * Related: None
3258*5113495bSYour Name  *
3259*5113495bSYour Name  * Supported Feature: Roaming
3260*5113495bSYour Name  *
3261*5113495bSYour Name  * Usage: internal
3262*5113495bSYour Name  *
3263*5113495bSYour Name  * </ini>
3264*5113495bSYour Name  */
3265*5113495bSYour Name #define CFG_ENABLE_ROAM_REASON_VSIE CFG_INI_BOOL( \
3266*5113495bSYour Name 		"enable_roam_reason_vsie", \
3267*5113495bSYour Name 		0, \
3268*5113495bSYour Name 		"To Enable enable_roam_reason_vsie")
3269*5113495bSYour Name #define ROAM_REASON_VSIE_ALL CFG(CFG_ENABLE_ROAM_REASON_VSIE)
3270*5113495bSYour Name #else
3271*5113495bSYour Name #define ROAM_REASON_VSIE_ALL
3272*5113495bSYour Name #endif
3273*5113495bSYour Name 
3274*5113495bSYour Name /*
3275*5113495bSYour Name  * <ini>
3276*5113495bSYour Name  * groam_info_stats_num - number of wlan driver cache roam information
3277*5113495bSYour Name  * @Min: 0
3278*5113495bSYour Name  * @Max: 32
3279*5113495bSYour Name  * @Default: 5
3280*5113495bSYour Name  *
3281*5113495bSYour Name  * This ini is used to set the cache number of enhanced roam
3282*5113495bSYour Name  * information, including roam trigger, scan information and
3283*5113495bSYour Name  * roam frame information.
3284*5113495bSYour Name  * If ini set to 0, enhanced roam feature not support
3285*5113495bSYour Name  *
3286*5113495bSYour Name  * Related: LFR
3287*5113495bSYour Name  *
3288*5113495bSYour Name  * Usage: External
3289*5113495bSYour Name  *
3290*5113495bSYour Name  * </ini>
3291*5113495bSYour Name  */
3292*5113495bSYour Name #define CFG_LFR3_ROAM_INFO_STATS_NUM CFG_INI_UINT( \
3293*5113495bSYour Name 		"groam_info_stats_num", \
3294*5113495bSYour Name 		0, \
3295*5113495bSYour Name 		32, \
3296*5113495bSYour Name 		5, \
3297*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
3298*5113495bSYour Name 		"Roam information cache number in wlan driver")
3299*5113495bSYour Name 
3300*5113495bSYour Name /*
3301*5113495bSYour Name  * <ini>
3302*5113495bSYour Name  * hs20_btm_offload_disable - To enable/disable BTM offload
3303*5113495bSYour Name  * @Min: 0
3304*5113495bSYour Name  * @Max: 1
3305*5113495bSYour Name  * @Default: 1
3306*5113495bSYour Name  *
3307*5113495bSYour Name  * This ini is used to enable/disable BTM offload for Hotspot 2.0.
3308*5113495bSYour Name  * Some solutions may not have Hotspot 2.0 certification
3309*5113495bSYour Name  * and there is no need to forward the BTM frame to wpa_supplicant,
3310*5113495bSYour Name  * in such solutions Let firmware handle the frame, in such cases by
3311*5113495bSYour Name  * enabling btm_offload so that it doesn't wakeup the host.
3312*5113495bSYour Name  * Firmware may roam to another AP upon BTM reception.
3313*5113495bSYour Name  *
3314*5113495bSYour Name  * Related: LFR
3315*5113495bSYour Name  *
3316*5113495bSYour Name  * Usage: External
3317*5113495bSYour Name  *
3318*5113495bSYour Name  * </ini>
3319*5113495bSYour Name  */
3320*5113495bSYour Name #define CFG_HS_20_BTM_OFFLOAD_DISABLE CFG_INI_BOOL( \
3321*5113495bSYour Name 		"hs20_btm_offload_disable", \
3322*5113495bSYour Name 		true, \
3323*5113495bSYour Name 		"To Enable/disable BTM offload for hotspot 2.0")
3324*5113495bSYour Name 
3325*5113495bSYour Name #define CFG_LFR_ALL \
3326*5113495bSYour Name 	CFG(CFG_LFR_MAWC_ROAM_ENABLED) \
3327*5113495bSYour Name 	CFG(CFG_LFR_MAWC_ROAM_TRAFFIC_THRESHOLD) \
3328*5113495bSYour Name 	CFG(CFG_LFR_MAWC_ROAM_AP_RSSI_THRESHOLD) \
3329*5113495bSYour Name 	CFG(CFG_LFR_MAWC_ROAM_RSSI_HIGH_ADJUST) \
3330*5113495bSYour Name 	CFG(CFG_LFR_MAWC_ROAM_RSSI_LOW_ADJUST) \
3331*5113495bSYour Name 	CFG(CFG_LFR_ROAM_RSSI_ABS_THRESHOLD) \
3332*5113495bSYour Name 	CFG(CFG_LFR_5G_RSSI_THRESHOLD_OFFSET) \
3333*5113495bSYour Name 	CFG(CFG_LFR_ENABLE_FAST_ROAM_IN_CONCURRENCY) \
3334*5113495bSYour Name 	CFG(CFG_LFR_EARLY_STOP_SCAN_ENABLE) \
3335*5113495bSYour Name 	CFG(CFG_LFR_EARLY_STOP_SCAN_MIN_THRESHOLD) \
3336*5113495bSYour Name 	CFG(CFG_LFR_EARLY_STOP_SCAN_MAX_THRESHOLD) \
3337*5113495bSYour Name 	CFG(CFG_LFR_ROAM_DENSE_TRAFFIC_THRESHOLD) \
3338*5113495bSYour Name 	CFG(CFG_LFR_ROAM_DENSE_RSSI_THRE_OFFSET) \
3339*5113495bSYour Name 	CFG(CFG_LFR_ROAM_DENSE_MIN_APS) \
3340*5113495bSYour Name 	CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_THRESHOLD) \
3341*5113495bSYour Name 	CFG(CFG_LFR_ROAM_BG_SCAN_CLIENT_BITMAP) \
3342*5113495bSYour Name 	CFG(CFG_LFR_ROAM_BG_SCAN_BAD_RSSI_OFFSET_2G) \
3343*5113495bSYour Name 	CFG(CFG_ROAM_DATA_RSSI_THRESHOLD_TRIGGERS) \
3344*5113495bSYour Name 	CFG(CFG_ROAM_DATA_RSSI_THRESHOLD) \
3345*5113495bSYour Name 	CFG(CFG_RX_DATA_INACTIVITY_TIME) \
3346*5113495bSYour Name 	CFG(CFG_LFR_ADAPTIVE_ROAMSCAN_DWELL_MODE) \
3347*5113495bSYour Name 	CFG(CFG_LFR_PER_ROAM_ENABLE) \
3348*5113495bSYour Name 	CFG(CFG_LFR_PER_ROAM_CONFIG_HIGH_RATE_TH) \
3349*5113495bSYour Name 	CFG(CFG_LFR_PER_ROAM_CONFIG_LOW_RATE_TH) \
3350*5113495bSYour Name 	CFG(CFG_LFR_PER_ROAM_CONFIG_RATE_TH_PERCENT) \
3351*5113495bSYour Name 	CFG(CFG_LFR_PER_ROAM_REST_TIME) \
3352*5113495bSYour Name 	CFG(CFG_LFR_PER_ROAM_MONITOR_TIME) \
3353*5113495bSYour Name 	CFG(CFG_LFR_PER_ROAM_MIN_CANDIDATE_RSSI) \
3354*5113495bSYour Name 	CFG(CFG_LFR3_ROAM_DISALLOW_DURATION) \
3355*5113495bSYour Name 	CFG(CFG_LFR3_ROAM_RSSI_CHANNEL_PENALIZATION) \
3356*5113495bSYour Name 	CFG(CFG_LFR3_ROAM_NUM_DISALLOWED_APS) \
3357*5113495bSYour Name 	CFG(CFG_LFR_ENABLE_5G_BAND_PREF) \
3358*5113495bSYour Name 	CFG(CFG_LFR_5G_RSSI_BOOST_THRESHOLD) \
3359*5113495bSYour Name 	CFG(CFG_LFR_5G_RSSI_BOOST_FACTOR) \
3360*5113495bSYour Name 	CFG(CFG_LFR_5G_MAX_RSSI_BOOST) \
3361*5113495bSYour Name 	CFG(CFG_LFR_5G_RSSI_PENALIZE_THRESHOLD) \
3362*5113495bSYour Name 	CFG(CFG_LFR_5G_RSSI_PENALIZE_FACTOR) \
3363*5113495bSYour Name 	CFG(CFG_LFR_5G_MAX_RSSI_PENALIZE) \
3364*5113495bSYour Name 	CFG(CFG_LFR_MAX_NUM_PRE_AUTH) \
3365*5113495bSYour Name 	CFG(CFG_LFR3_ROAM_PREAUTH_RETRY_COUNT) \
3366*5113495bSYour Name 	CFG(CFG_LFR3_ROAM_PREAUTH_NO_ACK_TIMEOUT) \
3367*5113495bSYour Name 	CFG(CFG_LFR_FEATURE_ENABLED) \
3368*5113495bSYour Name 	CFG(CFG_LFR_MAWC_FEATURE_ENABLED) \
3369*5113495bSYour Name 	CFG(CFG_LFR_FAST_TRANSITION_ENABLED) \
3370*5113495bSYour Name 	CFG(CFG_LFR_ROAM_RSSI_DIFF) \
3371*5113495bSYour Name 	CFG(CFG_LFR_ROAM_RSSI_DIFF_6GHZ) \
3372*5113495bSYour Name 	CFG(CFG_LFR_ROAM_BG_RSSI_TH) \
3373*5113495bSYour Name 	CFG(CFG_LFR_ENABLE_WES_MODE) \
3374*5113495bSYour Name 	CFG(CFG_LFR_ROAM_SCAN_OFFLOAD_ENABLED) \
3375*5113495bSYour Name 	CFG(CFG_LFR_NEIGHBOR_SCAN_CHANNEL_LIST) \
3376*5113495bSYour Name 	CFG(CFG_LFR_NEIGHBOR_SCAN_TIMER_PERIOD) \
3377*5113495bSYour Name 	CFG(CFG_LFR_NEIGHBOR_SCAN_MIN_TIMER_PERIOD) \
3378*5113495bSYour Name 	CFG(CFG_LFR_NEIGHBOR_LOOKUP_RSSI_THRESHOLD) \
3379*5113495bSYour Name 	CFG(CFG_LFR_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF) \
3380*5113495bSYour Name 	CFG(CFG_LFR_ROAM_RESCAN_RSSI_DIFF) \
3381*5113495bSYour Name 	CFG(CFG_LFR_NEIGHBOR_SCAN_MIN_CHAN_TIME) \
3382*5113495bSYour Name 	CFG(CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME) \
3383*5113495bSYour Name 	CFG(CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD) \
3384*5113495bSYour Name 	CFG(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD) \
3385*5113495bSYour Name 	CFG(CFG_ROAM_SCAN_FIRST_TIMER) \
3386*5113495bSYour Name 	CFG(CFG_LFR_ROAM_BMISS_FIRST_BCNT) \
3387*5113495bSYour Name 	CFG(CFG_LFR_ROAM_BMISS_FINAL_BCNT) \
3388*5113495bSYour Name 	CFG(CFG_LFR_ROAMING_DFS_CHANNEL) \
3389*5113495bSYour Name 	CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_MAXCOUNT) \
3390*5113495bSYour Name 	CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_DELTA) \
3391*5113495bSYour Name 	CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_DELAY) \
3392*5113495bSYour Name 	CFG(CFG_LFR_ROAM_SCAN_HI_RSSI_UB) \
3393*5113495bSYour Name 	CFG(CFG_LFR_ROAM_PREFER_5GHZ) \
3394*5113495bSYour Name 	CFG(CFG_LFR_ROAM_INTRA_BAND) \
3395*5113495bSYour Name 	CFG(CFG_LFR_ROAM_SCAN_N_PROBES) \
3396*5113495bSYour Name 	CFG(CFG_LFR_ROAM_SCAN_HOME_AWAY_TIME) \
3397*5113495bSYour Name 	CFG(CFG_LFR_DELAY_BEFORE_VDEV_STOP) \
3398*5113495bSYour Name 	CFG(CFG_ENABLE_BSS_LOAD_TRIGGERED_ROAM) \
3399*5113495bSYour Name 	CFG(CFG_BSS_LOAD_THRESHOLD) \
3400*5113495bSYour Name 	CFG(CFG_BSS_LOAD_SAMPLE_TIME) \
3401*5113495bSYour Name 	CFG(CFG_ROAM_CU_MONITOR_TIME) \
3402*5113495bSYour Name 	CFG(CFG_LFR3_ROAM_HO_DELAY_FOR_RX) \
3403*5113495bSYour Name 	CFG(CFG_LFR_MIN_DELAY_BTW_ROAM_SCAN) \
3404*5113495bSYour Name 	CFG(CFG_LFR_ROAM_SCAN_TRIGGER_REASON_BITMASK) \
3405*5113495bSYour Name 	CFG(CFG_LFR_ROAM_FT_OPEN_ENABLE) \
3406*5113495bSYour Name 	CFG(CFG_LFR_ROAM_FORCE_RSSI_TRIGGER) \
3407*5113495bSYour Name 	CFG(CFG_ROAM_SCAN_SCAN_POLICY) \
3408*5113495bSYour Name 	CFG(CFG_ROAM_SCAN_INACTIVITY_TIME) \
3409*5113495bSYour Name 	CFG(CFG_ROAM_SCAN_SECOND_TIMER) \
3410*5113495bSYour Name 	CFG(CFG_FT_IM_ROAMING) \
3411*5113495bSYour Name 	CFG(CFG_ROAM_INACTIVE_COUNT) \
3412*5113495bSYour Name 	CFG(CFG_ROAM_PASSIVE_MAX_CHANNEL_TIME) \
3413*5113495bSYour Name 	CFG(CFG_ROAM_SCAN_INACTIVE_TIMER) \
3414*5113495bSYour Name 	CFG(CFG_BSS_LOAD_TRIG_6G_RSSI_THRES) \
3415*5113495bSYour Name 	CFG(CFG_BSS_LOAD_TRIG_5G_RSSI_THRES) \
3416*5113495bSYour Name 	CFG(CFG_BSS_LOAD_TRIG_2G_RSSI_THRES) \
3417*5113495bSYour Name 	CFG(CFG_LFR_FULL_ROAM_SCAN_REFRESH_PERIOD) \
3418*5113495bSYour Name 	ADAPTIVE_11R_ALL \
3419*5113495bSYour Name 	ROAM_OFFLOAD_ALL \
3420*5113495bSYour Name 	LFR_ESE_ALL \
3421*5113495bSYour Name 	LFR_SUBNET_DETECTION_ALL \
3422*5113495bSYour Name 	SAE_SINGLE_PMK_ALL \
3423*5113495bSYour Name 	ROAM_REASON_VSIE_ALL \
3424*5113495bSYour Name 	CFG(CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP) \
3425*5113495bSYour Name 	CFG(CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP) \
3426*5113495bSYour Name 	CFG(CFG_LFR3_ROAM_INFO_STATS_NUM) \
3427*5113495bSYour Name 	CFG(CFG_HS_20_BTM_OFFLOAD_DISABLE)
3428*5113495bSYour Name 
3429*5113495bSYour Name #endif /* CFG_MLME_LFR_H__ */
3430