xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_reg.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
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 REG.
22*5113495bSYour Name  */
23*5113495bSYour Name 
24*5113495bSYour Name #ifndef CFG_MLME_REG_H__
25*5113495bSYour Name #define CFG_MLME_REG_H__
26*5113495bSYour Name 
27*5113495bSYour Name /*
28*5113495bSYour Name  * <ini>
29*5113495bSYour Name  * gSelfGenFrmPwr - self-generated frame power in tx chain mask
30*5113495bSYour Name  * for CCK rates
31*5113495bSYour Name  * @Min: 0
32*5113495bSYour Name  * @Max: 0xffff
33*5113495bSYour Name  * @Default: 0
34*5113495bSYour Name  *
35*5113495bSYour Name  * gSelfGenFrmPwr is to set self-generated frame power in tx chain mask
36*5113495bSYour Name  * for CCK rates
37*5113495bSYour Name  *
38*5113495bSYour Name  * Related: None
39*5113495bSYour Name  *
40*5113495bSYour Name  * Supported Feature: STA
41*5113495bSYour Name  *
42*5113495bSYour Name  * Usage: Internal/External
43*5113495bSYour Name  *
44*5113495bSYour Name  * </ini>
45*5113495bSYour Name  */
46*5113495bSYour Name #define CFG_SELF_GEN_FRM_PWR CFG_INI_UINT( \
47*5113495bSYour Name 	"gSelfGenFrmPwr", \
48*5113495bSYour Name 	0, \
49*5113495bSYour Name 	0xffff, \
50*5113495bSYour Name 	0, \
51*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
52*5113495bSYour Name 	"set the self gen power value")
53*5113495bSYour Name 
54*5113495bSYour Name /*
55*5113495bSYour Name  * <ini>
56*5113495bSYour Name  * enable_11d_in_world_mode - enable 11d in world mode
57*5113495bSYour Name  * @Min: 0
58*5113495bSYour Name  * @Max: 1
59*5113495bSYour Name  * @Default: 0
60*5113495bSYour Name  *
61*5113495bSYour Name  * This ini enables 11d in world mode, irrespective of value of
62*5113495bSYour Name  * g11dSupportEnabled
63*5113495bSYour Name  *
64*5113495bSYour Name  * Usage: External
65*5113495bSYour Name  *
66*5113495bSYour Name  * </ini>
67*5113495bSYour Name  */
68*5113495bSYour Name #define CFG_ENABLE_11D_IN_WORLD_MODE CFG_INI_BOOL( \
69*5113495bSYour Name 	"enable_11d_in_world_mode", \
70*5113495bSYour Name 	0, \
71*5113495bSYour Name 	"enable 11d in world mode")
72*5113495bSYour Name 
73*5113495bSYour Name /*
74*5113495bSYour Name  * <ini>
75*5113495bSYour Name  * etsi_srd_chan_in_master_mode - Enable/disable ETSI SRD channels in
76*5113495bSYour Name  * master mode PCL and ACS functionality
77*5113495bSYour Name  * @Min: 0
78*5113495bSYour Name  * @Max: 0xFF
79*5113495bSYour Name  * @Default: 6
80*5113495bSYour Name  *
81*5113495bSYour Name  * etsi_srd_chan_in_master_mode is to enable/disable ETSI SRD channels in
82*5113495bSYour Name  * master mode PCL and ACS functionality
83*5113495bSYour Name  * Bit map for enabling the SRD mode in various modes are as follows:-
84*5113495bSYour Name  * BIT 0:- Enable/Disable SRD channels for SAP.
85*5113495bSYour Name  * BIT 1:- Enable/Disable SRD channels for P2P-GO.
86*5113495bSYour Name  * BIT 2:- Enable/Disable SRD channels for NAN.
87*5113495bSYour Name  * Rest of the bits are currently reserved for future SRD channel support for
88*5113495bSYour Name  * other vdevs.
89*5113495bSYour Name  *
90*5113495bSYour Name  * Related: None
91*5113495bSYour Name  *
92*5113495bSYour Name  * Supported Feature: SAP/P2P-GO
93*5113495bSYour Name  *
94*5113495bSYour Name  * Usage: Internal/External
95*5113495bSYour Name  *
96*5113495bSYour Name  * </ini>
97*5113495bSYour Name  */
98*5113495bSYour Name #define CFG_ETSI_SRD_CHAN_IN_MASTER_MODE CFG_INI_UINT( \
99*5113495bSYour Name 	"etsi13_srd_chan_in_master_mode", \
100*5113495bSYour Name 	0, \
101*5113495bSYour Name 	0xff, \
102*5113495bSYour Name 	6, \
103*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
104*5113495bSYour Name 	"enable/disable ETSI SRD channels in master mode")
105*5113495bSYour Name 
106*5113495bSYour Name /*
107*5113495bSYour Name  * <ini>
108*5113495bSYour Name  * enable_nan_indoor_channel - Enable Indoor channels for NAN
109*5113495bSYour Name  * @Min: 0
110*5113495bSYour Name  * @Max: 1
111*5113495bSYour Name  * @Default: 0
112*5113495bSYour Name  *
113*5113495bSYour Name  * This ini is used to support to indoor channels for NAN interface
114*5113495bSYour Name  * Customer can config this item to enable/disable NAN in indoor channel
115*5113495bSYour Name  *
116*5113495bSYour Name  * Related: None
117*5113495bSYour Name  *
118*5113495bSYour Name  * Supported Feature: NAN
119*5113495bSYour Name  *
120*5113495bSYour Name  * Usage: External
121*5113495bSYour Name  *
122*5113495bSYour Name  * </ini>
123*5113495bSYour Name  */
124*5113495bSYour Name #define CFG_INDOOR_CHANNEL_SUPPORT_FOR_NAN CFG_INI_BOOL( \
125*5113495bSYour Name 	"enable_nan_indoor_channel", \
126*5113495bSYour Name 	0, \
127*5113495bSYour Name 	"enable/disable indoor channels for NAN")
128*5113495bSYour Name 
129*5113495bSYour Name /*
130*5113495bSYour Name  * <ini>
131*5113495bSYour Name  * fcc_5dot9_ghz_chan_in_master_mode - Enable/disable 5.9 GHz channels in
132*5113495bSYour Name  * master mode for US
133*5113495bSYour Name  * @Min: 0
134*5113495bSYour Name  * @Max: 1
135*5113495bSYour Name  * @Default: 0
136*5113495bSYour Name  *
137*5113495bSYour Name  * fcc_5dot9_ghz_chan_in_master_mode is to enable/disable 5.9 GHz channels
138*5113495bSYour Name  * in master mode for FCC reg domain
139*5113495bSYour Name  *
140*5113495bSYour Name  * Related: None
141*5113495bSYour Name  *
142*5113495bSYour Name  * Supported Feature: SAP/P2P-GO
143*5113495bSYour Name  *
144*5113495bSYour Name  * Usage: Internal/External
145*5113495bSYour Name  *
146*5113495bSYour Name  * </ini>
147*5113495bSYour Name  */
148*5113495bSYour Name #define CFG_FCC_5DOT9_GHZ_CHAN_IN_MASTER_MODE CFG_INI_BOOL( \
149*5113495bSYour Name 	"fcc_5dot9_ghz_chan_in_master_mode", \
150*5113495bSYour Name 	0, \
151*5113495bSYour Name 	"enable/disable FCC 5.9 GHz channels in master mode")
152*5113495bSYour Name 
153*5113495bSYour Name #ifdef SAP_AVOID_ACS_FREQ_LIST
154*5113495bSYour Name #define SAP_AVOID_ACS_FREQ_LIST_DEFAULT ""
155*5113495bSYour Name 
156*5113495bSYour Name /*
157*5113495bSYour Name  * <ini>
158*5113495bSYour Name  * sap_avoid_acs_freq_list - Avoid configured frequencies from acs
159*5113495bSYour Name  * @Default: No frequencies are configured, it means consider all
160*5113495bSYour Name  * the frequencies for acs
161*5113495bSYour Name  *
162*5113495bSYour Name  * This ini is to configure the frequencies which needs to be
163*5113495bSYour Name  * avoided during acs and sap will not come up on these channels
164*5113495bSYour Name  * Ex: sap_avoid_acs_freq_list=2412,2417,2422,2427,2467,2472
165*5113495bSYour Name  *
166*5113495bSYour Name  * Related: Feature flag SAP_AVOID_ACS_FREQ_LIST
167*5113495bSYour Name  *
168*5113495bSYour Name  * Supported Feature: SAP
169*5113495bSYour Name  *
170*5113495bSYour Name  * Usage: External
171*5113495bSYour Name  *
172*5113495bSYour Name  * </ini>
173*5113495bSYour Name  */
174*5113495bSYour Name 
175*5113495bSYour Name #define CFG_SAP_AVOID_ACS_FREQ_LIST CFG_INI_STRING( \
176*5113495bSYour Name 	"sap_avoid_acs_freq_list", \
177*5113495bSYour Name 	0, \
178*5113495bSYour Name 	CFG_VALID_CHANNEL_LIST_STRING_LEN, \
179*5113495bSYour Name 	SAP_AVOID_ACS_FREQ_LIST_DEFAULT, \
180*5113495bSYour Name 	"Avoid configured frequencies during acs")
181*5113495bSYour Name #define CFG_SAP_AVOID_ACS_FREQ_LIST_ALL CFG(CFG_SAP_AVOID_ACS_FREQ_LIST)
182*5113495bSYour Name #else
183*5113495bSYour Name #define CFG_SAP_AVOID_ACS_FREQ_LIST_ALL
184*5113495bSYour Name #endif
185*5113495bSYour Name 
186*5113495bSYour Name /*
187*5113495bSYour Name  * <ini>
188*5113495bSYour Name  * restart_beaconing_on_chan_avoid_event - control the beaconing entity to move
189*5113495bSYour Name  * away from active LTE channels
190*5113495bSYour Name  * @Min: 0
191*5113495bSYour Name  * @Max: 2
192*5113495bSYour Name  * @Default: 1
193*5113495bSYour Name  *
194*5113495bSYour Name  * This ini is used to control the beaconing entity (SAP/GO) to move away from
195*5113495bSYour Name  * active LTE channels when channel avoidance event is received
196*5113495bSYour Name  * restart_beaconing_on_chan_avoid_event=0: Don't allow beaconing entity move
197*5113495bSYour Name  * from active LTE channels
198*5113495bSYour Name  * restart_beaconing_on_chan_avoid_event=1: Allow beaconing entity move from
199*5113495bSYour Name  * active LTE channels
200*5113495bSYour Name  * restart_beaconing_on_chan_avoid_event=2: Allow beaconing entity move from
201*5113495bSYour Name  * 2.4G active LTE channels only
202*5113495bSYour Name  *
203*5113495bSYour Name  * Related: None
204*5113495bSYour Name  *
205*5113495bSYour Name  * Supported Feature: channel avoidance
206*5113495bSYour Name  *
207*5113495bSYour Name  * Usage: Internal/External
208*5113495bSYour Name  *
209*5113495bSYour Name  * </ini>
210*5113495bSYour Name  */
211*5113495bSYour Name #define CFG_RESTART_BEACONING_ON_CH_AVOID CFG_INI_UINT( \
212*5113495bSYour Name 	"restart_beaconing_on_chan_avoid_event", \
213*5113495bSYour Name 	0, \
214*5113495bSYour Name 	2, \
215*5113495bSYour Name 	1, \
216*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
217*5113495bSYour Name 	"control the beaconing entity to move away from active LTE channels")
218*5113495bSYour Name 
219*5113495bSYour Name /*
220*5113495bSYour Name  * <ini>
221*5113495bSYour Name  * gindoor_channel_support - support to start sap in indoor channel
222*5113495bSYour Name  * @Min: 0
223*5113495bSYour Name  * @Max: 1
224*5113495bSYour Name  * @Default: 0
225*5113495bSYour Name  *
226*5113495bSYour Name  * This ini is to support to start sap in indoor channel.
227*5113495bSYour Name  * Customer can config this item to enable/disable sap in indoor channel
228*5113495bSYour Name  *
229*5113495bSYour Name  * Related: None
230*5113495bSYour Name  *
231*5113495bSYour Name  * Supported Feature: SAP
232*5113495bSYour Name  *
233*5113495bSYour Name  * Usage: External
234*5113495bSYour Name  *
235*5113495bSYour Name  * </ini>
236*5113495bSYour Name  */
237*5113495bSYour Name #define CFG_INDOOR_CHANNEL_SUPPORT CFG_INI_BOOL( \
238*5113495bSYour Name 	"gindoor_channel_support", \
239*5113495bSYour Name 	0, \
240*5113495bSYour Name 	"enable/disable sap in indoor channel")
241*5113495bSYour Name 
242*5113495bSYour Name /*
243*5113495bSYour Name  * <ini>
244*5113495bSYour Name  * scan_11d_interval - 11d scan interval in ms
245*5113495bSYour Name  * @Min: 1 sec
246*5113495bSYour Name  * @Max: 10 hr
247*5113495bSYour Name  * @Default: 1 hr
248*5113495bSYour Name  *
249*5113495bSYour Name  * This ini sets the 11d scan interval in FW
250*5113495bSYour Name  *
251*5113495bSYour Name  * Related: None
252*5113495bSYour Name  *
253*5113495bSYour Name  * Supported Feature: STA
254*5113495bSYour Name  *
255*5113495bSYour Name  * Usage: External
256*5113495bSYour Name  *
257*5113495bSYour Name  * </ini>
258*5113495bSYour Name  */
259*5113495bSYour Name 
260*5113495bSYour Name #define CFG_SCAN_11D_INTERVAL CFG_INI_UINT( \
261*5113495bSYour Name 	"scan_11d_interval", \
262*5113495bSYour Name 	1000, \
263*5113495bSYour Name 	36000000, \
264*5113495bSYour Name 	3600000, \
265*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
266*5113495bSYour Name 	"set the 11d scan interval in FW")
267*5113495bSYour Name 
268*5113495bSYour Name /*
269*5113495bSYour Name  * <ini>
270*5113495bSYour Name  * ignore_fw_reg_offload_ind - If set, Ignore the FW offload indication
271*5113495bSYour Name  * @Min: 0
272*5113495bSYour Name  * @Max: 1
273*5113495bSYour Name  * @Default: 0
274*5113495bSYour Name  *
275*5113495bSYour Name  * This ini is used to ignore regdb offload indication from FW and
276*5113495bSYour Name  * regulatory will be treated as non offload.
277*5113495bSYour Name  *
278*5113495bSYour Name  * Related: None
279*5113495bSYour Name  *
280*5113495bSYour Name  * Supported Feature: STA/AP
281*5113495bSYour Name  *
282*5113495bSYour Name  * Usage: External
283*5113495bSYour Name  *
284*5113495bSYour Name  * </ini>
285*5113495bSYour Name  */
286*5113495bSYour Name #define CFG_IGNORE_FW_REG_OFFLOAD_IND CFG_INI_BOOL( \
287*5113495bSYour Name 		"ignore_fw_reg_offload_ind", \
288*5113495bSYour Name 		0, \
289*5113495bSYour Name 		"Ignore Regulatory offloads Indication from FW")
290*5113495bSYour Name 
291*5113495bSYour Name /*
292*5113495bSYour Name  * <ini>
293*5113495bSYour Name  * enable_pending_list_req - Sets Pending channel List Req.
294*5113495bSYour Name  * @Min: 0
295*5113495bSYour Name  * @Max: 1
296*5113495bSYour Name  * @Default: 1
297*5113495bSYour Name  *
298*5113495bSYour Name  * This option enables/disables SCAN_CHAN_LIST_CMDID channel list command to FW
299*5113495bSYour Name  * till the current scan is complete.
300*5113495bSYour Name  *
301*5113495bSYour Name  * Related: None
302*5113495bSYour Name  *
303*5113495bSYour Name  * Supported Feature: STA
304*5113495bSYour Name  *
305*5113495bSYour Name  * Usage: External
306*5113495bSYour Name  *
307*5113495bSYour Name  * </ini>
308*5113495bSYour Name  */
309*5113495bSYour Name #define CFG_ENABLE_PENDING_CHAN_LIST_REQ CFG_INI_BOOL( \
310*5113495bSYour Name 			"enable_pending_list_req", \
311*5113495bSYour Name 			1, \
312*5113495bSYour Name 			"Enable Pending list req")
313*5113495bSYour Name 
314*5113495bSYour Name #if defined(CONFIG_BAND_6GHZ) && defined(CONFIG_AFC_SUPPORT)
315*5113495bSYour Name /*
316*5113495bSYour Name  * afc_reg_no_action - Whether action to AFC response
317*5113495bSYour Name  * @Min: 0
318*5113495bSYour Name  * @Max: 1
319*5113495bSYour Name  * @Default: 0
320*5113495bSYour Name  *
321*5113495bSYour Name  * This cfg is used to control whether action to AFC response.
322*5113495bSYour Name  *
323*5113495bSYour Name  * Related: None
324*5113495bSYour Name  *
325*5113495bSYour Name  * Supported Feature: SAP
326*5113495bSYour Name  *
327*5113495bSYour Name  */
328*5113495bSYour Name #define CFG_AFC_REG_NO_ACTION CFG_BOOL( \
329*5113495bSYour Name 	"afc_reg_no_action", false, \
330*5113495bSYour Name 	"driver/user space action needed for afc resp")
331*5113495bSYour Name 
332*5113495bSYour Name /*
333*5113495bSYour Name  * enable_6ghz_sp_pwrmode_supp - Enable 6Ghz SP power mode
334*5113495bSYour Name  * @Min: 0
335*5113495bSYour Name  * @Max: 1
336*5113495bSYour Name  * @Default: 0
337*5113495bSYour Name  *
338*5113495bSYour Name  * This cfg is used to control support of 6Ghz SP power mode.
339*5113495bSYour Name  *
340*5113495bSYour Name  * Related: None
341*5113495bSYour Name  *
342*5113495bSYour Name  * Supported Feature: SAP
343*5113495bSYour Name  *
344*5113495bSYour Name  */
345*5113495bSYour Name #define CFG_6GHZ_SP_POWER_MODE_SUPP CFG_INI_BOOL( \
346*5113495bSYour Name 	"enable_6ghz_sp_pwrmode_supp", false, \
347*5113495bSYour Name 	"Enable support for SP Power mode in 6GHz")
348*5113495bSYour Name 
349*5113495bSYour Name /*
350*5113495bSYour Name  * afc_disable_timer_check - Disable AFC timer check
351*5113495bSYour Name  * @Min: 0
352*5113495bSYour Name  * @Max: 1
353*5113495bSYour Name  * @Default: 0
354*5113495bSYour Name  *
355*5113495bSYour Name  * This cfg is used to control whether disable AFC timer check.
356*5113495bSYour Name  *
357*5113495bSYour Name  * Related: None
358*5113495bSYour Name  *
359*5113495bSYour Name  * Supported Feature: SAP
360*5113495bSYour Name  *
361*5113495bSYour Name  */
362*5113495bSYour Name #define CFG_AFC_TIMER_CHECK_DIS CFG_BOOL( \
363*5113495bSYour Name 	"afc_disable_timer_check", false, \
364*5113495bSYour Name 	"Disable the AFC request timer in FW")
365*5113495bSYour Name 
366*5113495bSYour Name /*
367*5113495bSYour Name  * afc_disable_request_id_check - Disable AFC request id check
368*5113495bSYour Name  * @Min: 0
369*5113495bSYour Name  * @Max: 1
370*5113495bSYour Name  * @Default: 0
371*5113495bSYour Name  *
372*5113495bSYour Name  * This ini is used to control whether disable AFC request id check.
373*5113495bSYour Name  *
374*5113495bSYour Name  * Related: None
375*5113495bSYour Name  *
376*5113495bSYour Name  * Supported Feature: SAP
377*5113495bSYour Name  *
378*5113495bSYour Name  */
379*5113495bSYour Name #define CFG_AFC_REQ_ID_CHECK_DIS CFG_BOOL( \
380*5113495bSYour Name 	"afc_disable_request_id_check", false, \
381*5113495bSYour Name 	"Disable the AFC request ID check in FW")
382*5113495bSYour Name 
383*5113495bSYour Name #define CFG_AFC_REG_ALL \
384*5113495bSYour Name 	CFG(CFG_AFC_REG_NO_ACTION) \
385*5113495bSYour Name 	CFG(CFG_6GHZ_SP_POWER_MODE_SUPP) \
386*5113495bSYour Name 	CFG(CFG_AFC_TIMER_CHECK_DIS) \
387*5113495bSYour Name 	CFG(CFG_AFC_REQ_ID_CHECK_DIS)
388*5113495bSYour Name #else
389*5113495bSYour Name #define CFG_AFC_REG_ALL
390*5113495bSYour Name #endif
391*5113495bSYour Name 
392*5113495bSYour Name /*
393*5113495bSYour Name  * <ini>
394*5113495bSYour Name  * retain_nol_across_regdmn - Retain NOL across reg domain
395*5113495bSYour Name  * @Min: 0
396*5113495bSYour Name  * @Max: 1
397*5113495bSYour Name  * @Default: 1
398*5113495bSYour Name  *
399*5113495bSYour Name  * This ini is used to set if NOL needs to be retained
400*5113495bSYour Name  * on the reg domain change.
401*5113495bSYour Name  *
402*5113495bSYour Name  * Related: None
403*5113495bSYour Name  *
404*5113495bSYour Name  * Supported Feature: SAP
405*5113495bSYour Name  *
406*5113495bSYour Name  * Usage: External
407*5113495bSYour Name  *
408*5113495bSYour Name  * </ini>
409*5113495bSYour Name  */
410*5113495bSYour Name #define CFG_RETAIN_NOL_ACROSS_REG_DOMAIN CFG_INI_BOOL( \
411*5113495bSYour Name 		"retain_nol_across_regdmn", \
412*5113495bSYour Name 		1, \
413*5113495bSYour Name 		"Retain NOL even if the regdomain changes")
414*5113495bSYour Name 
415*5113495bSYour Name #ifdef FEATURE_WLAN_CH_AVOID_EXT
416*5113495bSYour Name 
417*5113495bSYour Name /**
418*5113495bSYour Name  * enum ignore_fw_coex_info_modes - Represents modes
419*5113495bSYour Name  * @IGNORE_FW_COEX_INFO_ON_SAP_MODE: Set this bit to ignore fw coex info on
420*5113495bSYour Name  *                                   SAP mode
421*5113495bSYour Name  * @IGNORE_FW_COEX_INFO_ON_P2P_GO_MODE: Set this bit to ignore fw coex info
422*5113495bSYour Name  *                                   on P2P-GO mode
423*5113495bSYour Name  */
424*5113495bSYour Name enum ignore_fw_coex_info_modes {
425*5113495bSYour Name 	IGNORE_FW_COEX_INFO_ON_SAP_MODE = 1 << 0,
426*5113495bSYour Name 	IGNORE_FW_COEX_INFO_ON_P2P_GO_MODE = 1 << 1
427*5113495bSYour Name };
428*5113495bSYour Name 
429*5113495bSYour Name /*
430*5113495bSYour Name  * <ini>
431*5113495bSYour Name  * coex_unsafe_chan_nb_user_prefer- Used to handle coex unsafe freq
432*5113495bSYour Name  * event
433*5113495bSYour Name  *
434*5113495bSYour Name  * @Min: 0
435*5113495bSYour Name  * @Max: 0xFF
436*5113495bSYour Name  * @Default: 0
437*5113495bSYour Name  *
438*5113495bSYour Name  * Bit map of the modes to consider/ignore firmware provided coex/unsafe
439*5113495bSYour Name  * channels.
440*5113495bSYour Name  * Firmware provided coex/unsafe channel info is ignored if the corresponding
441*5113495bSYour Name  * bit is set to 1.
442*5113495bSYour Name  * Firmware provided coex/unsafe channel info is honored if the corresponding
443*5113495bSYour Name  * bit is set to 0.
444*5113495bSYour Name  *
445*5113495bSYour Name  * BIT 0: Don't honor firmware coex info for SAP mode
446*5113495bSYour Name  * BIT 1: Don't honor firmware coex info for P2P-GO mode
447*5113495bSYour Name  * Rest of the bits are currently reserved
448*5113495bSYour Name  *
449*5113495bSYour Name  * This ini is used to handle coex unsafe freq event
450*5113495bSYour Name  * Usage: External
451*5113495bSYour Name  *
452*5113495bSYour Name  * </ini>
453*5113495bSYour Name  */
454*5113495bSYour Name #define CFG_COEX_UNSAFE_CHAN_NB_USER_PREFER CFG_INI_UINT( \
455*5113495bSYour Name 		"coex_unsafe_chan_nb_user_prefer", \
456*5113495bSYour Name 		0, \
457*5113495bSYour Name 		0xff, \
458*5113495bSYour Name 		0, \
459*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
460*5113495bSYour Name 		"Honor coex unsafe freq event from firmware")
461*5113495bSYour Name /*
462*5113495bSYour Name  * <ini>
463*5113495bSYour Name  * coex_unsafe_chan_reg_disable - Used to disable reg channels
464*5113495bSYour Name  * for coex unsafe freq event
465*5113495bSYour Name  *
466*5113495bSYour Name  * @Min: 0 (Don't disable reg channels for coex unsafe chan event)
467*5113495bSYour Name  * @Max: 1 (Disable reg channels for coex unsafe chan event)
468*5113495bSYour Name  * Default: 0
469*5113495bSYour Name  *
470*5113495bSYour Name  * This ini is used to disable reg channels for coex unsafe chan
471*5113495bSYour Name  * event
472*5113495bSYour Name  * Usage: External
473*5113495bSYour Name  *
474*5113495bSYour Name  * </ini>
475*5113495bSYour Name  */
476*5113495bSYour Name #define CFG_COEX_UNSAFE_CHAN_REG_DISABLE CFG_INI_BOOL( \
477*5113495bSYour Name 		"coex_unsafe_chan_reg_disable", \
478*5113495bSYour Name 		0, \
479*5113495bSYour Name 		"Disable reg channels for coex unsafe chan event")
480*5113495bSYour Name 
481*5113495bSYour Name #define CFG_COEX_UNSAFE_CHAN_ALL \
482*5113495bSYour Name 	CFG(CFG_COEX_UNSAFE_CHAN_NB_USER_PREFER) \
483*5113495bSYour Name 	CFG(CFG_COEX_UNSAFE_CHAN_REG_DISABLE)
484*5113495bSYour Name #else
485*5113495bSYour Name #define CFG_COEX_UNSAFE_CHAN_ALL
486*5113495bSYour Name #endif
487*5113495bSYour Name 
488*5113495bSYour Name #define CFG_REG_ALL \
489*5113495bSYour Name 	CFG_COEX_UNSAFE_CHAN_ALL \
490*5113495bSYour Name 	CFG(CFG_SELF_GEN_FRM_PWR) \
491*5113495bSYour Name 	CFG(CFG_ENABLE_PENDING_CHAN_LIST_REQ) \
492*5113495bSYour Name 	CFG(CFG_ENABLE_11D_IN_WORLD_MODE) \
493*5113495bSYour Name 	CFG(CFG_ETSI_SRD_CHAN_IN_MASTER_MODE) \
494*5113495bSYour Name 	CFG(CFG_INDOOR_CHANNEL_SUPPORT_FOR_NAN) \
495*5113495bSYour Name 	CFG(CFG_FCC_5DOT9_GHZ_CHAN_IN_MASTER_MODE) \
496*5113495bSYour Name 	CFG(CFG_RESTART_BEACONING_ON_CH_AVOID) \
497*5113495bSYour Name 	CFG(CFG_INDOOR_CHANNEL_SUPPORT) \
498*5113495bSYour Name 	CFG(CFG_SCAN_11D_INTERVAL) \
499*5113495bSYour Name 	CFG(CFG_IGNORE_FW_REG_OFFLOAD_IND) \
500*5113495bSYour Name 	CFG_AFC_REG_ALL \
501*5113495bSYour Name 	CFG(CFG_RETAIN_NOL_ACROSS_REG_DOMAIN) \
502*5113495bSYour Name 	CFG_SAP_AVOID_ACS_FREQ_LIST_ALL
503*5113495bSYour Name 
504*5113495bSYour Name #endif /* CFG_MLME_REG_H__ */
505