xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_obss_ht40.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
5*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
6*5113495bSYour Name  * above copyright notice and this permission notice appear in all
7*5113495bSYour Name  * copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
17*5113495bSYour Name  */
18*5113495bSYour Name 
19*5113495bSYour Name /**
20*5113495bSYour Name  * DOC: This file contains configuration definitions for MLME OBSS HT40.
21*5113495bSYour Name  */
22*5113495bSYour Name #ifndef CFG_MLME_OBSS_HT40_H__
23*5113495bSYour Name #define CFG_MLME_OBSS_HT40_H__
24*5113495bSYour Name 
25*5113495bSYour Name /*
26*5113495bSYour Name  * <ini>
27*5113495bSYour Name  * obss_active_dwelltime - Set obss active dwelltime
28*5113495bSYour Name  * @Min: 10
29*5113495bSYour Name  * @Max: 1000
30*5113495bSYour Name  * @Default: 10
31*5113495bSYour Name  *
32*5113495bSYour Name  * This ini is used to set dwell time in secs for active
33*5113495bSYour Name  * obss scan
34*5113495bSYour Name  *
35*5113495bSYour Name  * Related: None
36*5113495bSYour Name  *
37*5113495bSYour Name  * Supported Feature: Scan
38*5113495bSYour Name  *
39*5113495bSYour Name  * Usage: External
40*5113495bSYour Name  *
41*5113495bSYour Name  * </ini>
42*5113495bSYour Name  */
43*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME CFG_INI_UINT( \
44*5113495bSYour Name 	"obss_active_dwelltime", \
45*5113495bSYour Name 	10, \
46*5113495bSYour Name 	1000, \
47*5113495bSYour Name 	10, \
48*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
49*5113495bSYour Name 	"Set obss active dwelltime")
50*5113495bSYour Name 
51*5113495bSYour Name /*
52*5113495bSYour Name  * <ini>
53*5113495bSYour Name  * obss_passive_dwelltime - Set obss passive dwelltime
54*5113495bSYour Name  * @Min: 5
55*5113495bSYour Name  * @Max: 1000
56*5113495bSYour Name  * @Default: 20
57*5113495bSYour Name  *
58*5113495bSYour Name  * This ini is used to set dwell time in secs for passive
59*5113495bSYour Name  * obss scan
60*5113495bSYour Name  *
61*5113495bSYour Name  * Related: None
62*5113495bSYour Name  *
63*5113495bSYour Name  * Supported Feature: Scan
64*5113495bSYour Name  *
65*5113495bSYour Name  * Usage: External
66*5113495bSYour Name  *
67*5113495bSYour Name  * </ini>
68*5113495bSYour Name  */
69*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME CFG_INI_UINT( \
70*5113495bSYour Name 	"obss_passive_dwelltime", \
71*5113495bSYour Name 	5, \
72*5113495bSYour Name 	1000, \
73*5113495bSYour Name 	20, \
74*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
75*5113495bSYour Name 	"Set obss passive dwelltime")
76*5113495bSYour Name 
77*5113495bSYour Name /*
78*5113495bSYour Name  * <ini>
79*5113495bSYour Name  * obss_width_trigger_interval - Set obss trigger interval
80*5113495bSYour Name  * @Min: 10
81*5113495bSYour Name  * @Max: 900
82*5113495bSYour Name  * @Default: 200
83*5113495bSYour Name  *
84*5113495bSYour Name  * This ini is used during an OBSS scan operation,
85*5113495bSYour Name  * where each channel in the set is scanned at least
86*5113495bSYour Name  * once per configured trigger interval time. Unit is TUs.
87*5113495bSYour Name  *
88*5113495bSYour Name  * Related: None
89*5113495bSYour Name  *
90*5113495bSYour Name  * Supported Feature: Scan
91*5113495bSYour Name  *
92*5113495bSYour Name  * Usage: External
93*5113495bSYour Name  *
94*5113495bSYour Name  * </ini>
95*5113495bSYour Name  */
96*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL CFG_INI_UINT( \
97*5113495bSYour Name 	"obss_width_trigger_interval", \
98*5113495bSYour Name 	10, \
99*5113495bSYour Name 	900, \
100*5113495bSYour Name 	200, \
101*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
102*5113495bSYour Name 	"Set obss trigger interval")
103*5113495bSYour Name 
104*5113495bSYour Name /*
105*5113495bSYour Name  * obss_passive_total_per_channel - Set obss scan passive total per channel
106*5113495bSYour Name  * @Min: 200
107*5113495bSYour Name  * @Max: 10000
108*5113495bSYour Name  * @Default: 200
109*5113495bSYour Name  *
110*5113495bSYour Name  * FW can perform multiple scans with in a OBSS scan interval. This cfg is for
111*5113495bSYour Name  * the total per channel dwell time of passive scans. Unit is TUs.
112*5113495bSYour Name  *
113*5113495bSYour Name  * Related: None
114*5113495bSYour Name  *
115*5113495bSYour Name  * Supported Feature: Scan
116*5113495bSYour Name  *
117*5113495bSYour Name  * Usage: Internal
118*5113495bSYour Name  *
119*5113495bSYour Name  */
120*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL CFG_UINT( \
121*5113495bSYour Name 	"obss_passive_total_per_channel", \
122*5113495bSYour Name 	200, \
123*5113495bSYour Name 	10000, \
124*5113495bSYour Name 	200, \
125*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
126*5113495bSYour Name 	"obss passive total per channel")
127*5113495bSYour Name 
128*5113495bSYour Name /*
129*5113495bSYour Name  * obss_active_total_per_channel - Set obss scan active total per channel
130*5113495bSYour Name  * @Min: 20
131*5113495bSYour Name  * @Max: 10000
132*5113495bSYour Name  * @Default: 20
133*5113495bSYour Name  *
134*5113495bSYour Name  * FW can perform multiple scans with in a OBSS scan interval. This cfg is for
135*5113495bSYour Name  * the total per channel dwell time of active scans. Unit is TUs.
136*5113495bSYour Name  *
137*5113495bSYour Name  * Related: None
138*5113495bSYour Name  *
139*5113495bSYour Name  * Supported Feature: Scan
140*5113495bSYour Name  *
141*5113495bSYour Name  * Usage: Internal
142*5113495bSYour Name  *
143*5113495bSYour Name  */
144*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL CFG_UINT( \
145*5113495bSYour Name 	"obss_active_total_per_channel", \
146*5113495bSYour Name 	20, \
147*5113495bSYour Name 	10000, \
148*5113495bSYour Name 	20, \
149*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
150*5113495bSYour Name 	"obss active total per channel")
151*5113495bSYour Name 
152*5113495bSYour Name /*
153*5113495bSYour Name  * obss_scan_activity_thre - Set obss scan activity threshold
154*5113495bSYour Name  * @Min: 0
155*5113495bSYour Name  * @Max: 100
156*5113495bSYour Name  * @Default: 25
157*5113495bSYour Name  *
158*5113495bSYour Name  * This cfg sets obss scan activity threshold.
159*5113495bSYour Name  *
160*5113495bSYour Name  * Related: None
161*5113495bSYour Name  *
162*5113495bSYour Name  * Supported Feature: Scan
163*5113495bSYour Name  *
164*5113495bSYour Name  * Usage: Internal
165*5113495bSYour Name  *
166*5113495bSYour Name  */
167*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD CFG_UINT( \
168*5113495bSYour Name 	"obss_scan_activity_thre", \
169*5113495bSYour Name 	0, \
170*5113495bSYour Name 	100, \
171*5113495bSYour Name 	25, \
172*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
173*5113495bSYour Name 	"obss ht40 scan activity threshold")
174*5113495bSYour Name 
175*5113495bSYour Name /*
176*5113495bSYour Name  * obss_width_transition_delay - Set obss width transition delay
177*5113495bSYour Name  * @Min: 5
178*5113495bSYour Name  * @Max: 100
179*5113495bSYour Name  * @Default: 5
180*5113495bSYour Name  *
181*5113495bSYour Name  * This cfg sets obss width transition delay, it is used to check exemption
182*5113495bSYour Name  * from scan. The unit is TUs.
183*5113495bSYour Name  *
184*5113495bSYour Name  * Related: None
185*5113495bSYour Name  *
186*5113495bSYour Name  * Supported Feature: Scan
187*5113495bSYour Name  *
188*5113495bSYour Name  * Usage: Internal
189*5113495bSYour Name  *
190*5113495bSYour Name  */
191*5113495bSYour Name #define CFG_OBSS_HT40_WIDTH_CH_TRANSITION_DELAY CFG_UINT( \
192*5113495bSYour Name 	"obss_width_transition_delay", \
193*5113495bSYour Name 	5, \
194*5113495bSYour Name 	100, \
195*5113495bSYour Name 	5, \
196*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
197*5113495bSYour Name 	"obss ht40 width transition delay")
198*5113495bSYour Name 
199*5113495bSYour Name /*
200*5113495bSYour Name  * <ini>
201*5113495bSYour Name  * override_ht20_40_24g - Use channel bonding in 2.4GHz from supplicant
202*5113495bSYour Name  * @Min: 0
203*5113495bSYour Name  * @Max: 1
204*5113495bSYour Name  * @Default: 0
205*5113495bSYour Name  *
206*5113495bSYour Name  * This ini used to set whether use channel Bonding in 2.4GHz from supplicant
207*5113495bSYour Name  * if gChannelBondingMode24GHz is set
208*5113495bSYour Name  *
209*5113495bSYour Name  * Related: gChannelBondingMode24GHz
210*5113495bSYour Name  *
211*5113495bSYour Name  * Supported Feature: STA
212*5113495bSYour Name  *
213*5113495bSYour Name  * Usage: Internal/External
214*5113495bSYour Name  *
215*5113495bSYour Name  * </ini>
216*5113495bSYour Name  */
217*5113495bSYour Name #define CFG_OBSS_HT40_OVERRIDE_HT40_20_24GHZ CFG_INI_BOOL( \
218*5113495bSYour Name 		"override_ht20_40_24g", \
219*5113495bSYour Name 		0, \
220*5113495bSYour Name 		"Use channel bonding in 24 GHz")
221*5113495bSYour Name 
222*5113495bSYour Name /*
223*5113495bSYour Name  * <cfg>
224*5113495bSYour Name  * obss_detection_offload - Enable OBSS detection offload
225*5113495bSYour Name  * @Min: 0
226*5113495bSYour Name  * @Max: 1
227*5113495bSYour Name  * @Default: 0
228*5113495bSYour Name  */
229*5113495bSYour Name #define CFG_OBSS_DETECTION_OFFLOAD CFG_BOOL( \
230*5113495bSYour Name 		"obss_detection_offload", \
231*5113495bSYour Name 		0, \
232*5113495bSYour Name 		"Enable OBSS detection offload")
233*5113495bSYour Name 
234*5113495bSYour Name /*
235*5113495bSYour Name  * <cfg>
236*5113495bSYour Name  * obss_color_collision_offload - Enable obss color collision offload
237*5113495bSYour Name  * @Min: 0
238*5113495bSYour Name  * @Max: 1
239*5113495bSYour Name  * @Default: 0
240*5113495bSYour Name  */
241*5113495bSYour Name #define CFG_OBSS_COLOR_COLLISION_OFFLOAD CFG_BOOL( \
242*5113495bSYour Name 		"obss_color_collision_offload", \
243*5113495bSYour Name 		0, \
244*5113495bSYour Name 		"Enable obss color collision offload")
245*5113495bSYour Name 
246*5113495bSYour Name /*
247*5113495bSYour Name  * <ini>
248*5113495bSYour Name  * bss_color_collision_det_sta - Enables BSS color collision detection in STA
249*5113495bSYour Name  * @Min: 0
250*5113495bSYour Name  * @Max: 1
251*5113495bSYour Name  * @Default: 1
252*5113495bSYour Name  *
253*5113495bSYour Name  * This ini used to enable or disable the BSS color collision detection in
254*5113495bSYour Name  * STA mode if obss_color_collision_offload is enabled.
255*5113495bSYour Name  *
256*5113495bSYour Name  * Supported Feature: STA
257*5113495bSYour Name  *
258*5113495bSYour Name  * Usage: Internal/External
259*5113495bSYour Name  *
260*5113495bSYour Name  * </ini>
261*5113495bSYour Name  */
262*5113495bSYour Name #define CFG_BSS_CLR_COLLISION_DETCN_STA CFG_INI_BOOL( \
263*5113495bSYour Name 		"bss_color_collision_det_sta", \
264*5113495bSYour Name 		1, \
265*5113495bSYour Name 		"BSS color collision detection in STA")
266*5113495bSYour Name 
267*5113495bSYour Name #define CFG_OBSS_HT40_ALL \
268*5113495bSYour Name 	CFG(CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME) \
269*5113495bSYour Name 	CFG(CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME) \
270*5113495bSYour Name 	CFG(CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL) \
271*5113495bSYour Name 	CFG(CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL) \
272*5113495bSYour Name 	CFG(CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL) \
273*5113495bSYour Name 	CFG(CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD) \
274*5113495bSYour Name 	CFG(CFG_OBSS_HT40_WIDTH_CH_TRANSITION_DELAY) \
275*5113495bSYour Name 	CFG(CFG_OBSS_HT40_OVERRIDE_HT40_20_24GHZ) \
276*5113495bSYour Name 	CFG(CFG_OBSS_DETECTION_OFFLOAD) \
277*5113495bSYour Name 	CFG(CFG_BSS_CLR_COLLISION_DETCN_STA) \
278*5113495bSYour Name 	CFG(CFG_OBSS_COLOR_COLLISION_OFFLOAD)
279*5113495bSYour Name 
280*5113495bSYour Name #endif /* CFG_MLME_OBSS_HT40_H__ */
281