blob: 40b5c07f1a1dc03b3a46f94a1548208f708fe33a [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42#if !defined( HDD_CONFIG_H__ )
43#define HDD_CONFIG_H__
44
45/**===========================================================================
46
47 \file hdd_Config.h
48
49 \brief Android WLAN Adapter Configuration functions
50
51 Copyright 2008 (c) Qualcomm, Incorporated.
52 All Rights Reserved.
53 Qualcomm Confidential and Proprietary.
54
55 ==========================================================================*/
56
57/* $HEADER$ */
58
59/*---------------------------------------------------------------------------
60 Include files
61 -------------------------------------------------------------------------*/
62#include <wlan_hdd_includes.h>
63#include <wlan_hdd_wmm.h>
64#include <vos_types.h>
65#include <csrApi.h>
66
67//Number of items that can be configured
68#define MAX_CFG_INI_ITEMS 256
69
70// Defines for all of the things we read from the configuration (registry).
71
72#define CFG_RTS_THRESHOLD_NAME "RTSThreshold"
73#define CFG_RTS_THRESHOLD_MIN WNI_CFG_RTS_THRESHOLD_STAMIN // min is 0, meaning always use RTS.
74#define CFG_RTS_THRESHOLD_MAX WNI_CFG_RTS_THRESHOLD_STAMAX // max is the max frame size
75#define CFG_RTS_THRESHOLD_DEFAULT WNI_CFG_RTS_THRESHOLD_STADEF
76
77#define CFG_FRAG_THRESHOLD_NAME "gFragmentationThreshold"
78#define CFG_FRAG_THRESHOLD_MIN WNI_CFG_FRAGMENTATION_THRESHOLD_STAMIN
79#define CFG_FRAG_THRESHOLD_MAX WNI_CFG_FRAGMENTATION_THRESHOLD_STAMAX
80#define CFG_FRAG_THRESHOLD_DEFAULT WNI_CFG_FRAGMENTATION_THRESHOLD_STADEF
81
82#define CFG_CALIBRATION_NAME "gCalibration"
83#define CFG_CALIBRATION_MIN ( 0 )
84#define CFG_CALIBRATION_MAX ( 1 )
85#define CFG_CALIBRATION_MAC_DEFAULT ( 1 )
86#define CFG_CALIBRATION_DEFAULT CFG_CALIBRATION_MAC_DEFAULT
87
88#define CFG_CALIBRATION_PERIOD_NAME "gCalibrationPeriod"
89#define CFG_CALIBRATION_PERIOD_MIN ( 2 )
90#define CFG_CALIBRATION_PERIOD_MAX ( 10 )
91#define CFG_CALIBRATION_PERIOD_MAC_DEFAULT ( 5 )
92#define CFG_CALIBRATION_PERIOD_DEFAULT CFG_CALIBRATION_PERIOD_MAC_DEFAULT
93
94#define CFG_OPERATING_CHANNEL_NAME "gOperatingChannel"
95#define CFG_OPERATING_CHANNEL_MIN ( 0 )
96#define CFG_OPERATING_CHANNEL_MAX ( 14 )
97#define CFG_OPERATING_CHANNEL_DEFAULT ( 1 )
98
99#define CFG_SHORT_SLOT_TIME_ENABLED_NAME "gShortSlotTimeEnabled"
100#define CFG_SHORT_SLOT_TIME_ENABLED_MIN WNI_CFG_SHORT_SLOT_TIME_STAMIN
101#define CFG_SHORT_SLOT_TIME_ENABLED_MAX WNI_CFG_SHORT_SLOT_TIME_STAMAX
102#define CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT WNI_CFG_SHORT_SLOT_TIME_STADEF
103
104#define CFG_11D_SUPPORT_ENABLED_NAME "g11dSupportEnabled"
105#define CFG_11D_SUPPORT_ENABLED_MIN WNI_CFG_11D_ENABLED_STAMIN
106#define CFG_11D_SUPPORT_ENABLED_MAX WNI_CFG_11D_ENABLED_STAMAX
107#define CFG_11D_SUPPORT_ENABLED_DEFAULT WNI_CFG_11D_ENABLED_STADEF // Default is ON
108
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800109#define CFG_11H_SUPPORT_ENABLED_NAME "g11hSupportEnabled"
110#define CFG_11H_SUPPORT_ENABLED_MIN ( 0 )
111#define CFG_11H_SUPPORT_ENABLED_MAX ( 1 )
112#define CFG_11H_SUPPORT_ENABLED_DEFAULT ( 1 ) // Default is ON
113
Jeff Johnson295189b2012-06-20 16:38:30 -0700114#define CFG_ENFORCE_11D_CHANNELS_NAME "gEnforce11dChannel"
115#define CFG_ENFORCE_11D_CHANNELS_MIN ( 0 )
116#define CFG_ENFORCE_11D_CHANNELS_MAX ( 1 )
117#define CFG_ENFORCE_11D_CHANNELS_DEFAULT ( 0 )
118
119//COUNTRY Code Priority
120#define CFG_COUNTRY_CODE_PRIORITY_NAME "gCountryCodePriority"
121#define CFG_COUNTRY_CODE_PRIORITY_MIN ( 0 )
122#define CFG_COUNTRY_CODE_PRIORITY_MAX ( 1 )
123#define CFG_COUNTRY_CODE_PRIORITY_DEFAULT ( 0 )
124
125#define CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME "gEnforceCountryCodeMatch"
126#define CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN ( 0 )
127#define CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ( 1 )
128#define CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT ( 0 )
129
130#define CFG_ENFORCE_DEFAULT_DOMAIN_NAME "gEnforceDefaultDomain"
131#define CFG_ENFORCE_DEFAULT_DOMAIN_MIN ( 0 )
132#define CFG_ENFORCE_DEFAULT_DOMAIN_MAX ( 1 )
133#define CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT ( 0 )
134
135#define CFG_GENERIC_ID1_NAME "gCfg1Id"
136#define CFG_GENERIC_ID1_MIN ( 0 )
137#define CFG_GENERIC_ID1_MAX ( 0xffffffff )
138#define CFG_GENERIC_ID1_DEFAULT ( 0 )
139
140#define CFG_GENERIC_ID2_NAME "gCfg2Id"
141#define CFG_GENERIC_ID2_MIN ( 0 )
142#define CFG_GENERIC_ID2_MAX ( 0xffffffff )
143#define CFG_GENERIC_ID2_DEFAULT ( 0 )
144
145#define CFG_GENERIC_ID3_NAME "gCfg3Id"
146#define CFG_GENERIC_ID3_MIN ( 0 )
147#define CFG_GENERIC_ID3_MAX ( 0xffffffff )
148#define CFG_GENERIC_ID3_DEFAULT ( 0 )
149
150#define CFG_GENERIC_ID4_NAME "gCfg4Id"
151#define CFG_GENERIC_ID4_MIN ( 0 )
152#define CFG_GENERIC_ID4_MAX ( 0xffffffff )
153#define CFG_GENERIC_ID4_DEFAULT ( 0 )
154
155#define CFG_GENERIC_ID5_NAME "gCfg5Id"
156#define CFG_GENERIC_ID5_MIN ( 0 )
157#define CFG_GENERIC_ID5_MAX ( 0xffffffff )
158#define CFG_GENERIC_ID5_DEFAULT ( 0 )
159
160#define CFG_GENERIC_VALUE1_NAME "gCfg1Value"
161#define CFG_GENERIC_VALUE1_MIN ( 0 )
162#define CFG_GENERIC_VALUE1_MAX ( 0xffffffff )
163#define CFG_GENERIC_VALUE1_DEFAULT ( 0 )
164
165#define CFG_GENERIC_VALUE2_NAME "gCfg2Value"
166#define CFG_GENERIC_VALUE2_MIN ( 0 )
167#define CFG_GENERIC_VALUE2_MAX ( 0xffffffff )
168#define CFG_GENERIC_VALUE2_DEFAULT ( 0 )
169
170#define CFG_GENERIC_VALUE3_NAME "gCfg3Value"
171#define CFG_GENERIC_VALUE3_MIN ( 0 )
172#define CFG_GENERIC_VALUE3_MAX ( 0xffffffff )
173#define CFG_GENERIC_VALUE3_DEFAULT ( 0 )
174
175#define CFG_GENERIC_VALUE4_NAME "gCfg4Value"
176#define CFG_GENERIC_VALUE4_MIN ( 0 )
177#define CFG_GENERIC_VALUE4_MAX ( 0xffffffff )
178#define CFG_GENERIC_VALUE4_DEFAULT ( 0 )
179
180#define CFG_GENERIC_VALUE5_NAME "gCfg5Value"
181#define CFG_GENERIC_VALUE5_MIN ( 0 )
182#define CFG_GENERIC_VALUE5_MAX ( 0xffffffff )
183#define CFG_GENERIC_VALUE5_DEFAULT ( 0 )
184
185#define CFG_HEARTBEAT_THRESH_24_NAME "gHeartbeat24"
186#define CFG_HEARTBEAT_THRESH_24_MIN WNI_CFG_HEART_BEAT_THRESHOLD_STAMIN
187#define CFG_HEARTBEAT_THRESH_24_MAX WNI_CFG_HEART_BEAT_THRESHOLD_STAMAX
188#define CFG_HEARTBEAT_THRESH_24_DEFAULT WNI_CFG_HEART_BEAT_THRESHOLD_STADEF
189
190#define CFG_POWER_USAGE_NAME "gPowerUsage"
191#define CFG_POWER_USAGE_MIN "Min" //Minimum Power Save
192#define CFG_POWER_USAGE_MAX "Max" //Maximum Power Save
193#define CFG_POWER_USAGE_DEFAULT "Mod" //Moderate Power Save
194
195//Enable suspend on Android
196#define CFG_ENABLE_SUSPEND_NAME "gEnableSuspend"
197#define CFG_ENABLE_SUSPEND_MIN ( 0 ) //No support for suspend
198#define CFG_ENABLE_SUSPEND_MAX ( 3 ) //Map to Deep Sleep
199#define CFG_ENABLE_SUSPEND_DEFAULT ( 1 ) //Map to Standby
200
201//Driver start/stop command mappings
202#define CFG_ENABLE_ENABLE_DRIVER_STOP_NAME "gEnableDriverStop"
203#define CFG_ENABLE_ENABLE_DRIVER_STOP_MIN ( 0 ) //No support for stop
204#define CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ( 2 ) //Map to Deep Sleep
205#define CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT ( 0 )
206
207#define CFG_WOWL_PATTERN_NAME "gWowlPattern"
208#define CFG_WOWL_PATTERN_DEFAULT ""
209
210//IMPS = IdleModePowerSave
211#define CFG_ENABLE_IMPS_NAME "gEnableImps"
212#define CFG_ENABLE_IMPS_MIN ( 0 )
213#define CFG_ENABLE_IMPS_MAX ( 1 )
214#define CFG_ENABLE_IMPS_DEFAULT ( 1 )
215
216#define CFG_IMPS_MINIMUM_SLEEP_TIME_NAME "gImpsMinSleepTime"
217#define CFG_IMPS_MINIMUM_SLEEP_TIME_MIN ( 0 )
218#define CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ( 65535 )
219#define CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT ( 5 )
220
221#define CFG_IMPS_MODERATE_SLEEP_TIME_NAME "gImpsModSleepTime"
222#define CFG_IMPS_MODERATE_SLEEP_TIME_MIN ( 0 )
223#define CFG_IMPS_MODERATE_SLEEP_TIME_MAX ( 65535 )
224#define CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT ( 10)
225
226#define CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME "gImpsMaxSleepTime"
227#define CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN ( 0 )
228#define CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ( 65535 )
229#define CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT ( 15 )
230
231//BMPS = BeaconModePowerSave
232#define CFG_ENABLE_BMPS_NAME "gEnableBmps"
233#define CFG_ENABLE_BMPS_MIN ( 0 )
234#define CFG_ENABLE_BMPS_MAX ( 1 )
235#define CFG_ENABLE_BMPS_DEFAULT ( 1 )
236
237#define CFG_BMPS_MINIMUM_LI_NAME "gBmpsMinListenInterval"
238#define CFG_BMPS_MINIMUM_LI_MIN ( 1 )
239#define CFG_BMPS_MINIMUM_LI_MAX ( 65535 )
240#define CFG_BMPS_MINIMUM_LI_DEFAULT ( 1 )
241
242#define CFG_BMPS_MODERATE_LI_NAME "gBmpsModListenInterval"
243#define CFG_BMPS_MODERATE_LI_MIN ( 1 )
244#define CFG_BMPS_MODERATE_LI_MAX ( 65535 )
245#define CFG_BMPS_MODERATE_LI_DEFAULT ( 1 )
246
247#define CFG_BMPS_MAXIMUM_LI_NAME "gBmpsMaxListenInterval"
248#define CFG_BMPS_MAXIMUM_LI_MIN ( 1 )
249#define CFG_BMPS_MAXIMUM_LI_MAX ( 65535 )
250#define CFG_BMPS_MAXIMUM_LI_DEFAULT ( 1 )
251
252// gEnableAutoBmpsTimer has been previously published as an externally
253// configurable parameter. See analysis of CR 178211 for detailed info
254// on why we want to *always* set this to 1 i.e. we no longer want
255// this parameter to be configurable. the clean solution would be for
256// users to not define this item in winreg so that the default value
257// (which needs to be changed to 1) gets picked up but we cannot rely on that
258// since this item has been published already hence the proposed
259// solution to change the name of the item along with the change in the
260// default value. also we could decide to not read this item from registry
261// but leaving open the option of being able to configure this item for
262// ASW's internal use
263#define CFG_ENABLE_AUTO_BMPS_TIMER_NAME "gEnableAutoBmpsTimer_INTERNAL"
264#define CFG_ENABLE_AUTO_BMPS_TIMER_MIN ( 0 )
265#define CFG_ENABLE_AUTO_BMPS_TIMER_MAX ( 1 )
266#define CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT ( 1 )
267
268#define CFG_AUTO_BMPS_TIMER_VALUE_NAME "gAutoBmpsTimerValue"
269#define CFG_AUTO_BMPS_TIMER_VALUE_MIN ( 1000 )
270#define CFG_AUTO_BMPS_TIMER_VALUE_MAX ( 4294967295UL )
271#define CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT ( 1000 )
272
273#define CFG_MAX_RX_AMPDU_FACTOR_NAME "gMaxRxAmpduFactor"
274#define CFG_MAX_RX_AMPDU_FACTOR_MIN WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMIN
275#define CFG_MAX_RX_AMPDU_FACTOR_MAX WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX
276#define CFG_MAX_RX_AMPDU_FACTOR_DEFAULT WNI_CFG_MAX_RX_AMPDU_FACTOR_STADEF
277
278typedef enum
279{
280 eHDD_DOT11_MODE_AUTO = 0, //covers all things we support
281 eHDD_DOT11_MODE_abg, //11a/b/g only, no HT, no proprietary
282 eHDD_DOT11_MODE_11b,
283 eHDD_DOT11_MODE_11g,
284 eHDD_DOT11_MODE_11n,
285 eHDD_DOT11_MODE_11g_ONLY,
286 eHDD_DOT11_MODE_11n_ONLY,
287 eHDD_DOT11_MODE_11b_ONLY,
Jeff Johnsone7245742012-09-05 17:12:55 -0700288#ifdef WLAN_FEATURE_11AC
289 eHDD_DOT11_MODE_11ac_ONLY,
290 eHDD_DOT11_MODE_11ac,
291#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700292}eHddDot11Mode;
293
294#define CFG_DOT11_MODE_NAME "gDot11Mode"
295#define CFG_DOT11_MODE_MIN eHDD_DOT11_MODE_AUTO
Jeff Johnsone7245742012-09-05 17:12:55 -0700296#ifdef WLAN_FEATURE_11AC
297#define CFG_DOT11_MODE_MAX eHDD_DOT11_MODE_11ac
298#define CFG_DOT11_MODE_DEFAULT eHDD_DOT11_MODE_11ac
299#else
Jeff Johnson295189b2012-06-20 16:38:30 -0700300#define CFG_DOT11_MODE_MAX eHDD_DOT11_MODE_11b_ONLY
301#define CFG_DOT11_MODE_DEFAULT eHDD_DOT11_MODE_11n
Jeff Johnsone7245742012-09-05 17:12:55 -0700302#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700303
304#define CFG_CHANNEL_BONDING_MODE_24GHZ_NAME "gChannelBondingMode24GHz"
305#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
306#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
307#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
308
309#define CFG_CHANNEL_BONDING_MODE_5GHZ_NAME "gChannelBondingMode5GHz"
310#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
311#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
312#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
313
314#define CFG_FIXED_RATE_NAME "gFixedRate"
315#define CFG_FIXED_RATE_MIN WNI_CFG_FIXED_RATE_STAMIN
316#define CFG_FIXED_RATE_MAX WNI_CFG_FIXED_RATE_STAMAX
317#define CFG_FIXED_RATE_DEFAULT WNI_CFG_FIXED_RATE_STADEF
318
319#define CFG_SHORT_GI_20MHZ_NAME "gShortGI20Mhz"
320#define CFG_SHORT_GI_20MHZ_MIN WNI_CFG_SHORT_GI_20MHZ_STAMIN
321#define CFG_SHORT_GI_20MHZ_MAX WNI_CFG_SHORT_GI_20MHZ_STAMAX
322#define CFG_SHORT_GI_20MHZ_DEFAULT WNI_CFG_SHORT_GI_20MHZ_STADEF
323
324#define CFG_BLOCK_ACK_AUTO_SETUP_NAME "gBlockAckAutoSetup"
325#define CFG_BLOCK_ACK_AUTO_SETUP_MIN ( 0 )
326#define CFG_BLOCK_ACK_AUTO_SETUP_MAX ( 1 )
327#define CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT ( 1 )
328
329#define CFG_SCAN_RESULT_AGE_COUNT_NAME "gScanResultAgeCount"
330#define CFG_SCAN_RESULT_AGE_COUNT_MIN ( 1 )
331#define CFG_SCAN_RESULT_AGE_COUNT_MAX ( 100 )
332#define CFG_SCAN_RESULT_AGE_COUNT_DEFAULT ( 3 )
333
334//All in seconds
335//Not Connect, No Power Save
336#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME "gScanResultAgeNCNPS"
337#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN ( 10 )
338#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ( 10000 )
339#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT ( 50 )
340//Not Connect, Power Save
341#define CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME "gScanResultAgeNCPS"
342#define CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN ( 10 )
343#define CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ( 10000 )
344#define CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT ( 300 )
345//Connect, No Power Save
346#define CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME "gScanResultAgeCNPS"
347#define CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN ( 10 )
348#define CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ( 10000 )
349#define CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT ( 150 )
350//Connect, Power Save
351#define CFG_SCAN_RESULT_AGE_TIME_CPS_NAME "gScanResultAgeCPS"
352#define CFG_SCAN_RESULT_AGE_TIME_CPS_MIN ( 10 )
353#define CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ( 10000 )
354#define CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT ( 600 )
355
356#define CFG_RSSI_CATEGORY_GAP_NAME "gRssiCatGap"
Madan Mohan Koyyalamudi4c8c6352012-10-15 16:40:16 -0700357#define CFG_RSSI_CATEGORY_GAP_MIN ( 5 )
Jeff Johnson295189b2012-06-20 16:38:30 -0700358#define CFG_RSSI_CATEGORY_GAP_MAX ( 100 )
Srinivas Girigowdade697412013-02-14 16:31:48 -0800359#define CFG_RSSI_CATEGORY_GAP_DEFAULT ( 5 )
Jeff Johnson295189b2012-06-20 16:38:30 -0700360
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -0800361#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
362#define CFG_ROAM_PREFER_5GHZ "gRoamPrefer5GHz"
363#define CFG_ROAM_PREFER_5GHZ_MIN ( 0 )
364#define CFG_ROAM_PREFER_5GHZ_MAX ( 1 )
365#define CFG_ROAM_PREFER_5GHZ_DEFAULT ( 1 )
366#endif
367
Jeff Johnson295189b2012-06-20 16:38:30 -0700368#define CFG_STAT_TIMER_INTERVAL_NAME "gStatTimerInterval"
369#define CFG_STAT_TIMER_INTERVAL_MIN ( 50 ) //ms
370#define CFG_STAT_TIMER_INTERVAL_MAX ( 10000 )
371#define CFG_STAT_TIMER_INTERVAL_DEFAULT ( 500 )
372
373#define CFG_SHORT_PREAMBLE_NAME "gShortPreamble"
374#define CFG_SHORT_PREAMBLE_MIN WNI_CFG_SHORT_PREAMBLE_STAMIN
375#define CFG_SHORT_PREAMBLE_MAX WNI_CFG_SHORT_PREAMBLE_STAMAX
376#define CFG_SHORT_PREAMBLE_DEFAULT WNI_CFG_SHORT_PREAMBLE_STADEF
377
378#define CFG_IBSS_AUTO_BSSID_NAME "gAutoIbssBssid"
379#define CFG_IBSS_AUTO_BSSID_MIN WNI_CFG_IBSS_AUTO_BSSID_STAMIN
380#define CFG_IBSS_AUTO_BSSID_MAX WNI_CFG_IBSS_AUTO_BSSID_STAMAX
381#define CFG_IBSS_AUTO_BSSID_DEFAULT WNI_CFG_IBSS_AUTO_BSSID_STADEF
382
383#define CFG_IBSS_BSSID_NAME "gIbssBssid"
384#define CFG_IBSS_BSSID_MIN "000000000000"
385#define CFG_IBSS_BSSID_MAX "ffffffffffff"
386#define CFG_IBSS_BSSID_DEFAULT "000AF5040506"
387
388#define CFG_INTF0_MAC_ADDR_NAME "Intf0MacAddress"
389#define CFG_INTF0_MAC_ADDR_MIN "000000000000"
390#define CFG_INTF0_MAC_ADDR_MAX "ffffffffffff"
391#define CFG_INTF0_MAC_ADDR_DEFAULT "000AF5898980"
392
393#define CFG_INTF1_MAC_ADDR_NAME "Intf1MacAddress"
394#define CFG_INTF1_MAC_ADDR_MIN "000000000000"
395#define CFG_INTF1_MAC_ADDR_MAX "ffffffffffff"
396#define CFG_INTF1_MAC_ADDR_DEFAULT "000AF5898981"
397
398#define CFG_INTF2_MAC_ADDR_NAME "Intf2MacAddress"
399#define CFG_INTF2_MAC_ADDR_MIN "000000000000"
400#define CFG_INTF2_MAC_ADDR_MAX "ffffffffffff"
401#define CFG_INTF2_MAC_ADDR_DEFAULT "000AF5898982"
402
403#define CFG_INTF3_MAC_ADDR_NAME "Intf3MacAddress"
404#define CFG_INTF3_MAC_ADDR_MIN "000000000000"
405#define CFG_INTF3_MAC_ADDR_MAX "ffffffffffff"
406#define CFG_INTF3_MAC_ADDR_DEFAULT "000AF5898983"
407
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700408#define CFG_CRDA_DEFAULT_COUNTRY_CODE "gCrdaDefaultCountryCode"
409#define CFG_CRDA_DEFAULT_COUNTRY_CODE_MIN "00"
410#define CFG_CRDA_DEFAULT_COUNTRY_CODE_MAX "ZZ"
411#define CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT "ZZ"
412
Jeff Johnson295189b2012-06-20 16:38:30 -0700413#define CFG_AP_QOS_UAPSD_MODE_NAME "gEnableApUapsd" // ACs to setup U-APSD for at assoc
414#define CFG_AP_QOS_UAPSD_MODE_MIN ( 0 )
415#define CFG_AP_QOS_UAPSD_MODE_MAX ( 1 )
416#define CFG_AP_QOS_UAPSD_MODE_DEFAULT ( 1 )
417
418#define CFG_AP_COUNTRY_CODE "gAPCntryCode"
419#define CFG_AP_COUNTRY_CODE_MIN "USI"
420#define CFG_AP_COUNTRY_CODE_MAX "USI"
421#define CFG_AP_COUNTRY_CODE_DEFAULT "FFF"
422
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700423#define CFG_AP_ENABLE_RANDOM_BSSID_NAME "gEnableApRandomBssid"
424#define CFG_AP_ENABLE_RANDOM_BSSID_MIN ( 0 )
425#define CFG_AP_ENABLE_RANDOM_BSSID_MAX ( 1 )
426#define CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT ( 0 )
427
Jeff Johnson295189b2012-06-20 16:38:30 -0700428#define CFG_AP_ENABLE_PROTECTION_MODE_NAME "gEnableApProt"
429#define CFG_AP_ENABLE_PROTECTION_MODE_MIN ( 0 )
430#define CFG_AP_ENABLE_PROTECTION_MODE_MAX ( 1 )
431#define CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT ( 1 )
432
433// Bit map for CFG_AP_PROTECTION_MODE_DEFAULT
434// LOWER byte for associated stations
435// UPPER byte for overlapping stations
436// each byte will have the following info
437// bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
438// OBSS RIFS LSIG_TXOP NON_GF HT20 FROM_11G FROM_11B FROM_11A
439// bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
440// OBSS RIFS LSIG_TXOP NON_GF HT_20 FROM_11G FROM_11B FROM_11A
441#define CFG_AP_PROTECTION_MODE_NAME "gApProtection"
442#define CFG_AP_PROTECTION_MODE_MIN ( 0x0 )
443#define CFG_AP_PROTECTION_MODE_MAX ( 0xFFFF )
444#define CFG_AP_PROTECTION_MODE_DEFAULT ( 0xBFFF )
445
446#define CFG_AP_OBSS_PROTECTION_MODE_NAME "gEnableApOBSSProt"
447#define CFG_AP_OBSS_PROTECTION_MODE_MIN ( 0 )
448#define CFG_AP_OBSS_PROTECTION_MODE_MAX ( 1 )
449#define CFG_AP_OBSS_PROTECTION_MODE_DEFAULT ( 0 )
450
451#define CFG_AP_STA_SECURITY_SEPERATION_NAME "gDisableIntraBssFwd"
452#define CFG_AP_STA_SECURITY_SEPERATION_MIN ( 0 )
453#define CFG_AP_STA_SECURITY_SEPERATION_MAX ( 1 )
454#define CFG_AP_STA_SECURITY_SEPERATION_DEFAULT ( 0 )
455
456#define CFG_AP_LISTEN_MODE_NAME "gEnablePhyAgcListenMode"
457#define CFG_AP_LISTEN_MODE_MIN (0)
458#define CFG_AP_LISTEN_MODE_MAX (128)
459#define CFG_AP_LISTEN_MODE_DEFAULT (128)
460
461#define CFG_AP_AUTO_SHUT_OFF "gAPAutoShutOff"
462#define CFG_AP_AUTO_SHUT_OFF_MIN ( 0 )
463#define CFG_AP_AUTO_SHUT_OFF_MAX ( 4294967295UL )
464#define CFG_AP_AUTO_SHUT_OFF_DEFAULT ( 0 )
465
466#define CFG_FRAMES_PROCESSING_TH_MODE_NAME "gMinFramesProcThres"
467#define CFG_FRAMES_PROCESSING_TH_MIN ( 0 )
468#define CFG_FRAMES_PROCESSING_TH_MAX ( 39 )
469#define CFG_FRAMES_PROCESSING_TH_DEFAULT ( 0 )
470
471#define CFG_SAP_CHANNEL_SELECT_START_CHANNEL "gAPChannelSelectStartChannel"
472#define CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN (0)
473#define CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX (0xFF)
474#define CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT (0)
475
476#define CFG_SAP_CHANNEL_SELECT_END_CHANNEL "gAPChannelSelectEndChannel"
477#define CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN (0)
478#define CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX (0xFF)
479#define CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT (11)
480
481#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND "gAPChannelSelectOperatingBand"
482#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN (0)
483#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX (0x4)
484#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT (0)
485
486#define CFG_DISABLE_PACKET_FILTER "gDisablePacketFilter"
487#define CFG_DISABLE_PACKET_FILTER_MIN (0)
488#define CFG_DISABLE_PACKET_FILTER_MAX (0x1)
489#define CFG_DISABLE_PACKET_FILTER_DEFAULT (0)
490
491#define CFG_ENABLE_LTE_COEX "gEnableLTECoex"
492#define CFG_ENABLE_LTE_COEX_MIN ( 0 )
493#define CFG_ENABLE_LTE_COEX_MAX ( 1 )
494#define CFG_ENABLE_LTE_COEX_DEFAULT ( 0 )
495
496#define CFG_AP_KEEP_ALIVE_PERIOD_NAME "gApKeepAlivePeriod"
497#define CFG_AP_KEEP_ALIVE_PERIOD_MIN ( 0 )
498#define CFG_AP_KEEP_ALIVE_PERIOD_MAX ( 255)
499#define CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT ( 20 )
500
501#define CFG_GO_KEEP_ALIVE_PERIOD_NAME "gGoKeepAlivePeriod"
502#define CFG_GO_KEEP_ALIVE_PERIOD_MIN ( 0 )
503#define CFG_GO_KEEP_ALIVE_PERIOD_MAX ( 255)
504#define CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT ( 20 )
505
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530506#define CFG_AP_LINK_MONITOR_PERIOD_NAME "gApLinkMonitorPeriod"
507#define CFG_AP_LINK_MONITOR_PERIOD_MIN ( 0 )
508#define CFG_AP_LINK_MONITOR_PERIOD_MAX ( 255)
509#define CFG_AP_LINK_MONITOR_PERIOD_DEFAULT ( 3 )
Jeff Johnson295189b2012-06-20 16:38:30 -0700510
511#define CFG_BEACON_INTERVAL_NAME "gBeaconInterval"
512#define CFG_BEACON_INTERVAL_MIN WNI_CFG_BEACON_INTERVAL_STAMIN
513#define CFG_BEACON_INTERVAL_MAX WNI_CFG_BEACON_INTERVAL_STAMAX
514#define CFG_BEACON_INTERVAL_DEFAULT WNI_CFG_BEACON_INTERVAL_STADEF
515
516//Handoff Configuration Parameters
517#define CFG_ENABLE_HANDOFF_NAME "gEnableHandoff"
518#define CFG_ENABLE_HANDOFF_MIN ( 0 )
519#define CFG_ENABLE_HANDOFF_MAX ( 1 )
520#define CFG_ENABLE_HANDOFF_DEFAULT ( 1 )
521
522
523//Additional Handoff related Parameters
524#define CFG_ENABLE_IDLE_SCAN_NAME "gEnableIdleScan"
525#define CFG_ENABLE_IDLE_SCAN_MIN ( 0 )
526#define CFG_ENABLE_IDLE_SCAN_MAX ( 1 )
527#define CFG_ENABLE_IDLE_SCAN_DEFAULT ( 1 )
528
529#define CFG_ROAMING_TIME_NAME "gRoamingTime"
530#define CFG_ROAMING_TIME_MIN ( 0 )
531#define CFG_ROAMING_TIME_MAX ( 4294967UL )
532#define CFG_ROAMING_TIME_DEFAULT ( 10 )
533
534#define CFG_VCC_RSSI_TRIGGER_NAME "gVccRssiTrigger"
535#define CFG_VCC_RSSI_TRIGGER_MIN ( 0 )
536#define CFG_VCC_RSSI_TRIGGER_MAX ( 80 )
537#define CFG_VCC_RSSI_TRIGGER_DEFAULT ( 80 )
538
539#define CFG_VCC_UL_MAC_LOSS_THRESH_NAME "gVccUlMacLossThresh"
540#define CFG_VCC_UL_MAC_LOSS_THRESH_MIN ( 0 )
541#define CFG_VCC_UL_MAC_LOSS_THRESH_MAX ( 9 )
542#define CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT ( 9 )
543
544#define CFG_PASSIVE_MAX_CHANNEL_TIME_NAME "gPassiveMaxChannelTime"
545#define CFG_PASSIVE_MAX_CHANNEL_TIME_MIN ( 0 )
546#define CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ( 10000 )
547#define CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT ( 110 )
548
549#define CFG_PASSIVE_MIN_CHANNEL_TIME_NAME "gPassiveMinChannelTime"
550#define CFG_PASSIVE_MIN_CHANNEL_TIME_MIN ( 0 )
551#define CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ( 10000 )
552#define CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT ( 60 )
553
554#define CFG_ACTIVE_MAX_CHANNEL_TIME_NAME "gActiveMaxChannelTime"
555#define CFG_ACTIVE_MAX_CHANNEL_TIME_MIN ( 0 )
556#define CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ( 10000 )
557#define CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT ( 40 )
558
559#define CFG_ACTIVE_MIN_CHANNEL_TIME_NAME "gActiveMinChannelTime"
560#define CFG_ACTIVE_MIN_CHANNEL_TIME_MIN ( 0 )
561#define CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ( 10000 )
562#define CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT ( 20 )
563
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800564#define CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME "gActiveMaxChannelTimeBtc"
565#define CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN ( 0 )
566#define CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ( 10000 )
567#define CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT ( 120 )
568
569#define CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME "gActiveMinChannelTimeBtc"
570#define CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN ( 0 )
571#define CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ( 10000 )
572#define CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT ( 60 )
573
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700574#ifdef WLAN_AP_STA_CONCURRENCY
575
576#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME "gPassiveMaxChannelTimeConc"
577#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN ( 0 )
578#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ( 10000 )
579#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT ( 110 )
580
581#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME "gPassiveMinChannelTimeConc"
582#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN ( 0 )
583#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ( 10000 )
584#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT ( 60 )
585
586#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME "gActiveMaxChannelTimeConc"
587#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN ( 0 )
588#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ( 10000 )
Viral Modi0e06f192013-03-05 19:05:04 -0800589#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT ( 40 )
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700590
591#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME "gActiveMinChannelTimeConc"
592#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN ( 0 )
593#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ( 10000 )
594#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT ( 20 )
595
596#define CFG_REST_TIME_CONC_NAME "gRestTimeConc"
597#define CFG_REST_TIME_CONC_MIN ( 0 )
598#define CFG_REST_TIME_CONC_MAX ( 10000 )
Madan Mohan Koyyalamudi4805fa82012-11-09 17:53:39 -0800599#define CFG_REST_TIME_CONC_DEFAULT ( 100 )
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700600
Vinay Malekal05fdc812012-12-17 13:04:30 -0800601#define CFG_NUM_CHAN_COMBINED_CONC_NAME "gNumChanCombinedConc"
602#define CFG_NUM_CHAN_COMBINED_CONC_MIN ( 1 )
603#define CFG_NUM_CHAN_COMBINED_CONC_MAX ( 255 )
604#define CFG_NUM_CHAN_COMBINED_CONC_DEFAULT ( 1 )
605
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700606#endif
607
Jeff Johnson295189b2012-06-20 16:38:30 -0700608#define CFG_MAX_PS_POLL_NAME "gMaxPsPoll"
609#define CFG_MAX_PS_POLL_MIN WNI_CFG_MAX_PS_POLL_STAMIN
610#define CFG_MAX_PS_POLL_MAX WNI_CFG_MAX_PS_POLL_STAMAX
611#define CFG_MAX_PS_POLL_DEFAULT WNI_CFG_MAX_PS_POLL_STADEF
612
613#define CFG_MAX_TX_POWER_NAME "gTxPowerCap"
614#define CFG_MAX_TX_POWER_MIN WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMIN
615#define CFG_MAX_TX_POWER_MAX WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
616//Not to use CFG default because if no registry setting, this is ignored by SME.
617#define CFG_MAX_TX_POWER_DEFAULT WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
618
619
620#define CFG_LOW_GAIN_OVERRIDE_NAME "gLowGainOverride"
621#define CFG_LOW_GAIN_OVERRIDE_MIN WNI_CFG_LOW_GAIN_OVERRIDE_STAMIN
622#define CFG_LOW_GAIN_OVERRIDE_MAX WNI_CFG_LOW_GAIN_OVERRIDE_STAMAX
623#define CFG_LOW_GAIN_OVERRIDE_DEFAULT WNI_CFG_LOW_GAIN_OVERRIDE_STADEF
624
625#define CFG_RSSI_FILTER_PERIOD_NAME "gRssiFilterPeriod"
626#define CFG_RSSI_FILTER_PERIOD_MIN WNI_CFG_RSSI_FILTER_PERIOD_STAMIN
627#define CFG_RSSI_FILTER_PERIOD_MAX WNI_CFG_RSSI_FILTER_PERIOD_STAMAX
628// Increased this value for Non-CCX AP. This is cause FW RSSI Monitoring
629// the consumer of this value is ON by default. So to impact power numbers
630// we are setting this to a high value.
631#define CFG_RSSI_FILTER_PERIOD_DEFAULT WNI_CFG_RSSI_FILTER_PERIOD_STADEF
632
633#define CFG_IGNORE_DTIM_NAME "gIgnoreDtim"
634#define CFG_IGNORE_DTIM_MIN WNI_CFG_IGNORE_DTIM_STAMIN
635#define CFG_IGNORE_DTIM_MAX WNI_CFG_IGNORE_DTIM_STAMAX
636#define CFG_IGNORE_DTIM_DEFAULT WNI_CFG_IGNORE_DTIM_STADEF
637
638#define CFG_RX_ANT_CONFIGURATION_NAME "gNumRxAnt"
639#define CFG_RX_ANT_CONFIGURATION_NAME_MIN ( 1 )
640#define CFG_RX_ANT_CONFIGURATION_NAME_MAX ( 2 )
641#define CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT ( 2 )
642
643#define CFG_FW_HEART_BEAT_MONITORING_NAME "gEnableFWHeartBeatMonitoring"
644#define CFG_FW_HEART_BEAT_MONITORING_MIN ( 0 )
645#define CFG_FW_HEART_BEAT_MONITORING_MAX ( 1 )
646#define CFG_FW_HEART_BEAT_MONITORING_DEFAULT ( 1 )
647
648#define CFG_FW_BEACON_FILTERING_NAME "gEnableFWBeaconFiltering"
649#define CFG_FW_BEACON_FILTERING_MIN ( 0 )
650#define CFG_FW_BEACON_FILTERING_MAX ( 1 )
651#define CFG_FW_BEACON_FILTERING_DEFAULT ( 1 )
652
653#define CFG_FW_RSSI_MONITORING_NAME "gEnableFWRssiMonitoring"
654#define CFG_FW_RSSI_MONITORING_MIN ( 0 )
655#define CFG_FW_RSSI_MONITORING_MAX ( 1 )
656#define CFG_FW_RSSI_MONITORING_DEFAULT WNI_CFG_PS_ENABLE_RSSI_MONITOR_STADEF
657
658#define CFG_DATA_INACTIVITY_TIMEOUT_NAME "gDataInactivityTimeout"
659#define CFG_DATA_INACTIVITY_TIMEOUT_MIN ( 1 )
660#define CFG_DATA_INACTIVITY_TIMEOUT_MAX ( 255 )
661#define CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT ( 20 )
662
663#define CFG_NTH_BEACON_FILTER_NAME "gNthBeaconFilter"
664#define CFG_NTH_BEACON_FILTER_MIN ( WNI_CFG_NTH_BEACON_FILTER_STAMIN )
665#define CFG_NTH_BEACON_FILTER_MAX ( WNI_CFG_NTH_BEACON_FILTER_STAMAX )
666#define CFG_NTH_BEACON_FILTER_DEFAULT ( WNI_CFG_NTH_BEACON_FILTER_STADEF )
667
668#define CFG_RF_SETTLING_TIME_CLK_NAME "rfSettlingTimeUs"
669#define CFG_RF_SETTLING_TIME_CLK_MIN ( 0 )
670#define CFG_RF_SETTLING_TIME_CLK_MAX ( 60000 )
671#define CFG_RF_SETTLING_TIME_CLK_DEFAULT ( 1500 )
672
673#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME "gStaKeepAlivePeriod"
674#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN ( 0 )
675#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX ( 65535)
676#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT ( 0 )
677
678//WMM configuration
679#define CFG_QOS_WMM_MODE_NAME "WmmIsEnabled"
680#define CFG_QOS_WMM_MODE_MIN (0)
681#define CFG_QOS_WMM_MODE_MAX (2) //HDD_WMM_NO_QOS
682#define CFG_QOS_WMM_MODE_DEFAULT (0) //HDD_WMM_AUTO
683
684#define CFG_QOS_WMM_80211E_ENABLED_NAME "80211eIsEnabled"
685#define CFG_QOS_WMM_80211E_ENABLED_MIN (0)
686#define CFG_QOS_WMM_80211E_ENABLED_MAX (1)
687#define CFG_QOS_WMM_80211E_ENABLED_DEFAULT (0)
688
689#define CFG_QOS_WMM_UAPSD_MASK_NAME "UapsdMask" // ACs to setup U-APSD for at assoc
690#define CFG_QOS_WMM_UAPSD_MASK_MIN (0x00)
691#define CFG_QOS_WMM_UAPSD_MASK_MAX (0xFF)
692#define CFG_QOS_WMM_UAPSD_MASK_DEFAULT (0x00)
693
694#define CFG_QOS_WMM_MAX_SP_LEN_NAME "MaxSpLength"
695#define CFG_QOS_WMM_MAX_SP_LEN_MIN (0)
696#define CFG_QOS_WMM_MAX_SP_LEN_MAX (3)
697#define CFG_QOS_WMM_MAX_SP_LEN_DEFAULT (0)
698
699#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME "InfraUapsdVoSrvIntv"
700#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN (0)
701#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX (4294967295UL )
702#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT (20)
703
704#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME "InfraUapsdVoSuspIntv"
705#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN (0)
706#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX (4294967295UL )
707#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT (2000)
708
709#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME "InfraUapsdViSrvIntv"
710#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN (0)
711#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX (4294967295UL)
712#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT (300)
713
714#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME "InfraUapsdViSuspIntv"
715#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN (0)
716#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX (4294967295UL)
717#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT (2000)
718
719#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME "InfraUapsdBeSrvIntv"
720#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN (0)
721#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX (4294967295UL)
722#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT (300)
723
724#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME "InfraUapsdBeSuspIntv"
725#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN (0)
726#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX (4294967295UL)
727#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT (2000)
728
729#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME "InfraUapsdBkSrvIntv"
730#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN (0)
731#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX (4294967295UL)
732#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT (300)
733
734#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME "InfraUapsdBkSuspIntv"
735#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN (0)
736#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX (4294967295UL)
737#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT (2000)
738
739#ifdef FEATURE_WLAN_CCX
740#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME "InfraInactivityInterval"
741#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN (0)
742#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX (4294967295UL)
743#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT (0) //disabled
744
745#define CFG_CCX_FEATURE_ENABLED_NAME "CcxEnabled"
746#define CFG_CCX_FEATURE_ENABLED_MIN (0)
747#define CFG_CCX_FEATURE_ENABLED_MAX (1)
748#define CFG_CCX_FEATURE_ENABLED_DEFAULT (0) //disabled
749#endif // FEATURE_WLAN_CCX
750
Jeff Johnson04dd8a82012-06-29 20:41:40 -0700751#ifdef FEATURE_WLAN_LFR
752#define CFG_LFR_FEATURE_ENABLED_NAME "FastRoamEnabled"
753#define CFG_LFR_FEATURE_ENABLED_MIN (0)
754#define CFG_LFR_FEATURE_ENABLED_MAX (1)
755#define CFG_LFR_FEATURE_ENABLED_DEFAULT (0) //disabled
756#endif // FEATURE_WLAN_LFR
757
758#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -0700759// This flag will control fasttransition in case of 11r and ccx.
760// Basically with this the whole neighbor roam, pre-auth, reassoc
761// can be turned ON/OFF.
762// With this turned OFF 11r will completely not work.
763// For 11r this flag has to be ON.
764// For CCX fastroam will not work.
765#define CFG_FAST_TRANSITION_ENABLED_NAME "FastTransitionEnabled"
766#define CFG_FAST_TRANSITION_ENABLED_NAME_MIN (0)
767#define CFG_FAST_TRANSITION_ENABLED_NAME_MAX (1)
768#define CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT (0) //disabled
Jeff Johnson43971f52012-07-17 12:26:56 -0700769
770/* This parameter is used to decide whether to Roam or not.
771 * AP1 is the currently associated AP and AP2 is chosen for roaming.
772 * The Roaming will happen only if AP2 has better Signal Quality and it has a RSSI better than AP1
773 * in terms of RoamRssiDiff,and RoamRssiDiff is the number of units (typically measured in dB) AP2
774 * is better than AP1.
775 * This check is not done if the value is Zero */
776#define CFG_ROAM_RSSI_DIFF_NAME "RoamRssiDiff"
777#define CFG_ROAM_RSSI_DIFF_MIN (0)
Srinivas Girigowdade697412013-02-14 16:31:48 -0800778#define CFG_ROAM_RSSI_DIFF_MAX (30)
Jeff Johnson43971f52012-07-17 12:26:56 -0700779#define CFG_ROAM_RSSI_DIFF_DEFAULT (0)
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800780
781/*
782 * Following a scan and if potential roam candidate(s) are found,
783 * then determine whether to register for reassoc threshold or roam
784 * immediately based on this configuration parameter. If the RSSI
785 * of any available candidate is better than the currently associated
786 * AP by at least gImmediateRoamRssiDiff, then being to roam
787 * immediately.
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800788 */
789#define CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME "gImmediateRoamRssiDiff"
790#define CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN (0)
791#define CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX (125)
Srikant Kuppa866893f2012-12-27 17:28:14 -0800792#define CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT (3)
Jeff Johnson43971f52012-07-17 12:26:56 -0700793#endif /* (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR) */
Jeff Johnson295189b2012-06-20 16:38:30 -0700794
795#define CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME "PktClassificationBasis" // DSCP or 802.1Q
796#define CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN (0)
797#define CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX (1)
798#define CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT (0) //DSCP
799
800/* default TSPEC parameters for AC_VO */
801#define CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME "InfraDirAcVo"
802#define CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN (0)
803#define CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX (3)
804#define CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT (3) //WLAN_QCT_CUST_WMM_TSDIR_BOTH
805
806#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME "InfraNomMsduSizeAcVo"
807#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN (0x0)
808#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX (0xFFFF)
809#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT (0x80D0)
810
811#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME "InfraMeanDataRateAcVo"
812#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN (0x0)
813#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX (0xFFFFFFFF)
814#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT (0x14500)
815
816#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME "InfraMinPhyRateAcVo"
817#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN (0x0)
818#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX (0xFFFFFFFF)
819#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT (0x5B8D80)
820
821#define CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME "InfraSbaAcVo"
822#define CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN (0x2001)
823#define CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX (0xFFFF)
824#define CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT (0x2001)
825
826/* default TSPEC parameters for AC_VI */
827#define CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME "InfraDirAcVi"
828#define CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN (0)
829#define CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX (3)
830#define CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT (3) //WLAN_QCT_CUST_WMM_TSDIR_BOTH
831
832#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME "InfraNomMsduSizeAcVi"
833#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN (0x0)
834#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX (0xFFFF)
835#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT (0x85DC)
836
837#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME "InfraMeanDataRateAcVi"
838#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN (0x0)
839#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX (0xFFFFFFFF)
840#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT (0x57E40)
841
842#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME "InfraMinPhyRateAcVi"
843#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN (0x0)
844#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX (0xFFFFFFFF)
845#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT (0x5B8D80)
846
847#define CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME "InfraSbaAcVi"
848#define CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN (0x2001)
849#define CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX (0xFFFF)
850#define CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT (0x2001)
851
852/* default TSPEC parameters for AC_BE*/
853#define CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME "InfraDirAcBe"
854#define CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN (0)
855#define CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX (3)
856#define CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT (3) //WLAN_QCT_CUST_WMM_TSDIR_BOTH
857
858#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME "InfraNomMsduSizeAcBe"
859#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN (0x0)
860#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX (0xFFFF)
861#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT (0x85DC)
862
863#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME "InfraMeanDataRateAcBe"
864#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN (0x0)
865#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX (0xFFFFFFFF)
866#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT (0x493E0)
867
868#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME "InfraMinPhyRateAcBe"
869#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN (0x0)
870#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX (0xFFFFFFFF)
871#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT (0x5B8D80)
872
873#define CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME "InfraSbaAcBe"
874#define CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN (0x2001)
875#define CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX (0xFFFF)
876#define CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT (0x2001)
877
878/* default TSPEC parameters for AC_Bk*/
879#define CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME "InfraDirAcBk"
880#define CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN (0)
881#define CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX (3)
882#define CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT (3) //WLAN_QCT_CUST_WMM_TSDIR_BOTH
883
884#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME "InfraNomMsduSizeAcBk"
885#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN (0x0)
886#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX (0xFFFF)
887#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT (0x85DC)
888
889#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME "InfraMeanDataRateAcBk"
890#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN (0x0)
891#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX (0xFFFFFFFF)
892#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT (0x493E0)
893
894#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME "InfraMinPhyRateAcBk"
895#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN (0x0)
896#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX (0xFFFFFFFF)
897#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT (0x5B8D80)
898
899#define CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME "InfraSbaAcBk"
900#define CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN (0x2001)
901#define CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX (0xFFFF)
902#define CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT (0x2001)
903
904// TL configuration
905#define CFG_TL_WFQ_BK_WEIGHT_NAME "WfqBkWeight"
906#define CFG_TL_WFQ_BK_WEIGHT_MIN 1
907#define CFG_TL_WFQ_BK_WEIGHT_MAX 0xFF
908#define CFG_TL_WFQ_BK_WEIGHT_DEFAULT 1
909
910#define CFG_TL_WFQ_BE_WEIGHT_NAME "WfqBeWeight"
911#define CFG_TL_WFQ_BE_WEIGHT_MIN 1
912#define CFG_TL_WFQ_BE_WEIGHT_MAX 0xFF
913#define CFG_TL_WFQ_BE_WEIGHT_DEFAULT 3
914
915#define CFG_TL_WFQ_VI_WEIGHT_NAME "WfqViWeight"
916#define CFG_TL_WFQ_VI_WEIGHT_MIN 1
917#define CFG_TL_WFQ_VI_WEIGHT_MAX 0xFF
918#define CFG_TL_WFQ_VI_WEIGHT_DEFAULT 5
919
920#define CFG_TL_WFQ_VO_WEIGHT_NAME "WfqVoWeight"
921#define CFG_TL_WFQ_VO_WEIGHT_MIN 1
922#define CFG_TL_WFQ_VO_WEIGHT_MAX 0xFF
923#define CFG_TL_WFQ_VO_WEIGHT_DEFAULT 7
924
925#define CFG_TL_DELAYED_TRGR_FRM_INT_NAME "DelayedTriggerFrmInt"
926#define CFG_TL_DELAYED_TRGR_FRM_INT_MIN 1
927#define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL)
928#define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000
929
930#if defined WLAN_FEATURE_VOWIFI
931#define CFG_RRM_ENABLE_NAME "gRrmEnable"
932#define CFG_RRM_ENABLE_MIN (0)
933#define CFG_RRM_ENABLE_MAX (1)
934#define CFG_RRM_ENABLE_DEFAULT (0)
935
936#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME "gRrmOperChanMax" //section 11.10.3 IEEE std. 802.11k-2008
937#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN (0) //Maxduration = 2^(maxDuration - 4) * bcnIntvl.
938#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX (8)
939#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT (3) //max duration = 2^-1 * bcnIntvl (50% of bcn intvl)
940
941#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME "gRrmNonOperChanMax" //Same as above.
942#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN (0)
943#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX (8)
944#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT (3)
945
946#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME "gRrmRandnIntvl"
947#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN (10)
948#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX (100)
949#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT (100)
950#endif
951
952#define CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME "ImplicitQosIsEnabled"
953#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN (0)
954#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX (1)
955#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (1)
956
957#define CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME "19p2MhzPmicClkEnabled"
958#define CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN (0)
959#define CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX (1)
960#define CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT (0)
961
962#define CFG_ENABLE_LOGP_NAME "gEnableLogp"
963#define CFG_ENABLE_LOGP_MIN ( 0 )
964#define CFG_ENABLE_LOGP_MAX ( 1 )
965#define CFG_ENABLE_LOGP_DEFAULT ( 0 )
966
967#define CFG_BTC_EXECUTION_MODE_NAME "BtcExecutionMode"
968#define CFG_BTC_EXECUTION_MODE_MIN ( 0 )
969#define CFG_BTC_EXECUTION_MODE_MAX ( 5 )
970#define CFG_BTC_EXECUTION_MODE_DEFAULT ( 0 )
971
972#define CFG_BTC_DHCP_PROTECTION_NAME "BtcConsBtSlotToBlockDuringDhcp"
973#define CFG_BTC_DHCP_PROTECTION_MIN ( 0 )
974#define CFG_BTC_DHCP_PROTECTION_MAX ( 0xFF )
975#define CFG_BTC_DHCP_PROTECTION_DEFAULT ( 0 )
976
977#define CFG_BTC_A2DP_DHCP_PROTECTION_NAME "BtcA2DPDhcpProtectLevel"
978#define CFG_BTC_A2DP_DHCP_PROTECTION_MIN ( 0 )
979#define CFG_BTC_A2DP_DHCP_PROTECTION_MAX ( 0xFF )
980#define CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT ( 7 )
981
Jeff Johnson32d95a32012-09-10 13:15:23 -0700982#define CFG_BTC_STATIC_LEN_INQ_BT_NAME "btcStaticLenInqBt"
983#define CFG_BTC_STATIC_LEN_INQ_BT_MIN ( 5000 )
984#define CFG_BTC_STATIC_LEN_INQ_BT_MAX ( 500000 )
985#define CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT ( 120000 )
986
987#define CFG_BTC_STATIC_LEN_PAGE_BT_NAME "btcStaticLenPageBt"
988#define CFG_BTC_STATIC_LEN_PAGE_BT_MIN ( 5000 )
989#define CFG_BTC_STATIC_LEN_PAGE_BT_MAX ( 500000 )
990#define CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT ( 10000 )
991
992#define CFG_BTC_STATIC_LEN_CONN_BT_NAME "btcStaticLenConnBt"
993#define CFG_BTC_STATIC_LEN_CONN_BT_MIN ( 5000 )
994#define CFG_BTC_STATIC_LEN_CONN_BT_MAX ( 500000 )
995#define CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT ( 10000 )
996
997#define CFG_BTC_STATIC_LEN_LE_BT_NAME "btcStaticLenLeBt"
998#define CFG_BTC_STATIC_LEN_LE_BT_MIN ( 5000 )
999#define CFG_BTC_STATIC_LEN_LE_BT_MAX ( 500000 )
1000#define CFG_BTC_STATIC_LEN_LE_BT_DEFAULT ( 10000 )
1001
1002#define CFG_BTC_STATIC_LEN_INQ_WLAN_NAME "btcStaticLenInqWlan"
1003#define CFG_BTC_STATIC_LEN_INQ_WLAN_MIN ( 0 )
1004#define CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ( 500000 )
1005#define CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT ( 30000 )
1006
1007#define CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME "btcStaticLenPageWlan"
1008#define CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN ( 0 )
1009#define CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ( 500000 )
1010#define CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT ( 0 )
1011
1012#define CFG_BTC_STATIC_LEN_CONN_WLAN_NAME "btcStaticLenConnWlan"
1013#define CFG_BTC_STATIC_LEN_CONN_WLAN_MIN ( 0 )
1014#define CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ( 500000 )
1015#define CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT ( 0 )
1016
1017#define CFG_BTC_STATIC_LEN_LE_WLAN_NAME "btcStaticLenLeWlan"
1018#define CFG_BTC_STATIC_LEN_LE_WLAN_MIN ( 0 )
1019#define CFG_BTC_STATIC_LEN_LE_WLAN_MAX ( 500000 )
1020#define CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT ( 0 )
1021
1022#define CFG_BTC_DYN_MAX_LEN_BT_NAME "btcDynMaxLenBt"
1023#define CFG_BTC_DYN_MAX_LEN_BT_MIN ( 25000 )
1024#define CFG_BTC_DYN_MAX_LEN_BT_MAX ( 500000 )
1025#define CFG_BTC_DYN_MAX_LEN_BT_DEFAULT ( 250000 )
1026
1027#define CFG_BTC_DYN_MAX_LEN_WLAN_NAME "btcDynMaxLenWlan"
1028#define CFG_BTC_DYN_MAX_LEN_WLAN_MIN ( 15000 )
1029#define CFG_BTC_DYN_MAX_LEN_WLAN_MAX ( 500000 )
1030#define CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT ( 45000 )
1031
1032#define CFG_BTC_MAX_SCO_BLOCK_PERC_NAME "btcMaxScoBlockPerc"
1033#define CFG_BTC_MAX_SCO_BLOCK_PERC_MIN ( 0 )
1034#define CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ( 100 )
1035#define CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT ( 1 )
1036
1037#define CFG_BTC_DHCP_PROT_ON_A2DP_NAME "btcDhcpProtOnA2dp"
1038#define CFG_BTC_DHCP_PROT_ON_A2DP_MIN ( 0 )
1039#define CFG_BTC_DHCP_PROT_ON_A2DP_MAX ( 1 )
1040#define CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT ( 1 )
1041
1042#define CFG_BTC_DHCP_PROT_ON_SCO_NAME "btcDhcpProtOnSco"
1043#define CFG_BTC_DHCP_PROT_ON_SCO_MIN ( 0 )
1044#define CFG_BTC_DHCP_PROT_ON_SCO_MAX ( 1 )
1045#define CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT ( 0 )
1046
Jeff Johnson295189b2012-06-20 16:38:30 -07001047#if defined WLAN_FEATURE_VOWIFI_11R
1048#define CFG_FT_ENABLE_NAME "gFtEnabled"
1049#define CFG_FT_ENABLE_MIN (0)
1050#define CFG_FT_ENABLE_MAX (1)
1051#define CFG_FT_ENABLE_DEFAULT (0)
1052
1053#define CFG_FT_RESOURCE_REQ_NAME "gFTResourceReqSupported"
1054#define CFG_FT_RESOURCE_REQ_MIN (0)
1055#define CFG_FT_RESOURCE_REQ_MAX (1)
1056#define CFG_FT_RESOURCE_REQ_DEFAULT (0)
1057#endif
1058
1059#define CFG_TELE_BCN_TRANS_LI_NAME "telescopicBeaconTransListenInterval"
1060#define CFG_TELE_BCN_TRANS_LI_MIN ( 0 )
1061#define CFG_TELE_BCN_TRANS_LI_MAX ( 7 )
1062#define CFG_TELE_BCN_TRANS_LI_DEFAULT ( 3 )
1063
1064#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME "telescopicBeaconTransListenIntervalNumIdleBcns"
1065#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN ( 5 )
1066#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ( 255 )
1067#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT ( 10 )
1068
1069#define CFG_TELE_BCN_MAX_LI_NAME "telescopicBeaconMaxListenInterval"
1070#define CFG_TELE_BCN_MAX_LI_MIN ( 0 )
1071#define CFG_TELE_BCN_MAX_LI_MAX ( 7 )
1072#define CFG_TELE_BCN_MAX_LI_DEFAULT ( 5 )
1073
1074#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME "telescopicBeaconMaxListenIntervalNumIdleBcns"
1075#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN ( 5 )
1076#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ( 255 )
1077#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT ( 15 )
1078
1079#define CFG_BCN_EARLY_TERM_WAKE_NAME "beaconEarlyTerminationWakeInterval"
1080#define CFG_BCN_EARLY_TERM_WAKE_MIN ( 2 )
1081#define CFG_BCN_EARLY_TERM_WAKE_MAX ( 255 )
1082#define CFG_BCN_EARLY_TERM_WAKE_DEFAULT ( 3 )
1083
1084#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
1085#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME "gNeighborScanTimerPeriod"
1086#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN (0)
1087#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX (1000)
1088#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT (200)
1089
1090#define CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME "gNeighborReassocThreshold"
1091#define CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN (10)
1092#define CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX (125)
1093#define CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT (125)
1094
1095#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME "gNeighborLookupThreshold"
1096#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN (10)
1097#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX (120)
1098#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT (120)
1099
1100#define CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME "gNeighborScanChannelList"
Madan Mohan Koyyalamudi470d2cf2012-09-28 14:43:44 -07001101#define CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ""
Jeff Johnson295189b2012-06-20 16:38:30 -07001102
1103#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME "gNeighborScanChannelMinTime"
1104#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN (10)
1105#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX (40)
1106#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT (20)
1107
1108#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME "gNeighborScanChannelMaxTime"
1109#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN (10)
1110#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX (40)
1111#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT (30)
1112
1113#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME "gMaxNeighborReqTries"
1114#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN (1)
1115#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX (4)
1116#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT (1)
1117
1118
1119#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME "gNeighborScanRefreshPeriod"
1120#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN (1000)
1121#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX (60000)
1122#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT (20000)
Srinivas Girigowdade697412013-02-14 16:31:48 -08001123
1124#define CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME "gEmptyScanRefreshPeriod"
1125#define CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN (1000)
1126#define CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX (60000)
1127#define CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT (0)
Jeff Johnson295189b2012-06-20 16:38:30 -07001128#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1129
1130#define CFG_QOS_WMM_BURST_SIZE_DEFN_NAME "burstSizeDefinition"
1131#define CFG_QOS_WMM_BURST_SIZE_DEFN_MIN (0)
1132#define CFG_QOS_WMM_BURST_SIZE_DEFN_MAX (1)
1133#define CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT (0)
1134
1135#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME "tsInfoAckPolicy"
1136#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN (0x00)
1137#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX (0x01)
1138#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT (0x00)
1139
1140#define CFG_SINGLE_TID_RC_NAME "SingleTIDRC"
1141#define CFG_SINGLE_TID_RC_MIN (0) // Seperate replay counter for all TID
1142#define CFG_SINGLE_TID_RC_MAX (1) // Single replay counter for all TID
1143#define CFG_SINGLE_TID_RC_DEFAULT (1)
1144#define CFG_MCAST_BCAST_FILTER_SETTING_NAME "McastBcastFilter"
1145#define CFG_MCAST_BCAST_FILTER_SETTING_MIN (0)
1146#define CFG_MCAST_BCAST_FILTER_SETTING_MAX (3)
1147#define CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT (0)
1148
1149#define CFG_DYNAMIC_PSPOLL_VALUE_NAME "gDynamicPSPollvalue"
1150#define CFG_DYNAMIC_PSPOLL_VALUE_MIN (0)
1151#define CFG_DYNAMIC_PSPOLL_VALUE_MAX (255)
1152#define CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT (0)
1153
1154#define CFG_TELE_BCN_WAKEUP_EN_NAME "gTelescopicBeaconWakeupEn"
1155#define CFG_TELE_BCN_WAKEUP_EN_MIN (0)
1156#define CFG_TELE_BCN_WAKEUP_EN_MAX (1)
1157#define CFG_TELE_BCN_WAKEUP_EN_DEFAULT (0)
1158
1159#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME "gAddTSWhenACMIsOff"
1160#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN (0)
1161#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX (1) //Send AddTs even when ACM is not set for the AC
1162#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT (0)
1163
1164
1165#define CFG_VALIDATE_SCAN_LIST_NAME "gValidateScanList"
1166#define CFG_VALIDATE_SCAN_LIST_MIN (0)
1167#define CFG_VALIDATE_SCAN_LIST_MAX (1)
1168#define CFG_VALIDATE_SCAN_LIST_DEFAULT (0)
1169
1170#define CFG_NULLDATA_AP_RESP_TIMEOUT_NAME "gNullDataApRespTimeout"
1171#define CFG_NULLDATA_AP_RESP_TIMEOUT_MIN ( WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMIN )
1172#define CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ( WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMAX )
1173#define CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT ( WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STADEF )
1174
1175#define CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME "gApDataAvailPollInterval"
1176#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN ( WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMIN )
1177#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ( WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMAX )
1178#define CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT ( WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STADEF )
1179
1180#define CFG_ENABLE_HOST_ARPOFFLOAD_NAME "hostArpOffload"
1181#define CFG_ENABLE_HOST_ARPOFFLOAD_MIN ( 0 )
1182#define CFG_ENABLE_HOST_ARPOFFLOAD_MAX ( 1 )
1183#define CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT ( 0 )
1184
1185#define CFG_ENABLE_BTAMP_NAME "gEnableBtAmp"
1186#define CFG_ENABLE_BTAMP_MIN ( 0 )
1187#define CFG_ENABLE_BTAMP_MAX ( 1 )
1188#define CFG_ENABLE_BTAMP_DEFAULT ( 0 )
1189
1190#ifdef WLAN_BTAMP_FEATURE
1191#define CFG_BT_AMP_PREFERRED_CHANNEL_NAME "BtAmpPreferredChannel"
1192#define CFG_BT_AMP_PREFERRED_CHANNEL_MIN (1)
1193#define CFG_BT_AMP_PREFERRED_CHANNEL_MAX (11)
1194#define CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT (1)
1195#endif //WLAN_BTAMP_FEATURE
1196
1197#define CFG_BAND_CAPABILITY_NAME "BandCapability"
1198#define CFG_BAND_CAPABILITY_MIN (0)
1199#define CFG_BAND_CAPABILITY_MAX (2)
1200#define CFG_BAND_CAPABILITY_DEFAULT (1)
1201
1202#define CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME "enableBeaconEarlyTermination"
1203#define CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN ( 0 )
1204#define CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ( 1 )
1205#define CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT ( 0 )
1206
1207#define CFG_ENABLE_CLOSE_LOOP_NAME "gEnableCloseLoop"
1208#define CFG_ENABLE_CLOSE_LOOP_MIN WNI_CFG_FIXED_RATE_STAMIN
1209#define CFG_ENABLE_CLOSE_LOOP_MAX WNI_CFG_FIXED_RATE_STAMAX
1210#define CFG_ENABLE_CLOSE_LOOP_DEFAULT WNI_CFG_FIXED_RATE_STADEF
1211
1212#define CFG_ENABLE_BYPASS_11D_NAME "gEnableBypass11d"
1213#define CFG_ENABLE_BYPASS_11D_MIN ( 0 )
1214#define CFG_ENABLE_BYPASS_11D_MAX ( 1 )
1215#define CFG_ENABLE_BYPASS_11D_DEFAULT ( 0 )
1216
1217#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
1218#define CFG_ENABLE_DFS_CHNL_SCAN_MIN ( 0 )
1219#define CFG_ENABLE_DFS_CHNL_SCAN_MAX ( 1 )
1220#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT ( 1 )
1221
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08001222#define CFG_ENABLE_IGNORE_CHAN165 "gIgnore_Chan165"
1223#define CFG_ENABLE_IGNORE_CHAN165_MIN ( 0 )
1224#define CFG_ENABLE_IGNORE_CHAN165_MAX ( 1 )
1225#define CFG_ENABLE_IGNORE_CHAN165_DEFAULT ( 0 )
1226
Jeff Johnson295189b2012-06-20 16:38:30 -07001227typedef enum
1228{
1229 eHDD_LINK_SPEED_REPORT_ACTUAL = 0,
1230 eHDD_LINK_SPEED_REPORT_MAX = 1,
1231 eHDD_LINK_SPEED_REPORT_MAX_SCALED = 2,
1232}eHddLinkSpeedReportType;
Jeff Johnsone7245742012-09-05 17:12:55 -07001233#ifdef WLAN_FEATURE_11AC
1234#define CFG_VHT_CHANNEL_WIDTH "gVhtChannelWidth"
1235#define CFG_VHT_CHANNEL_WIDTH_MIN ( 0 )
1236#define CFG_VHT_CHANNEL_WIDTH_MAX ( 2 )
1237#define CFG_VHT_CHANNEL_WIDTH_DEFAULT ( 2 )
1238
1239#define CFG_VHT_ENABLE_RX_MCS_8_9 "gVhtRxMCS"
1240#define CFG_VHT_ENABLE_RX_MCS_8_9_MIN ( 0 )
1241#define CFG_VHT_ENABLE_RX_MCS_8_9_MAX ( 2 )
1242#define CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT ( 0 )
1243
1244#define CFG_VHT_ENABLE_TX_MCS_8_9 "gVhtTxMCS"
1245#define CFG_VHT_ENABLE_TX_MCS_8_9_MIN ( 0 )
1246#define CFG_VHT_ENABLE_TX_MCS_8_9_MAX ( 2 )
1247#define CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT ( 0 )
1248
1249#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001250
1251#define CFG_REPORT_MAX_LINK_SPEED "gReportMaxLinkSpeed"
1252#define CFG_REPORT_MAX_LINK_SPEED_MIN ( eHDD_LINK_SPEED_REPORT_ACTUAL )
1253#define CFG_REPORT_MAX_LINK_SPEED_MAX ( eHDD_LINK_SPEED_REPORT_MAX_SCALED )
Leela Venkata Kiran Kumar Reddy Chirala911463f2013-02-22 18:01:15 -08001254#define CFG_REPORT_MAX_LINK_SPEED_DEFAULT ( eHDD_LINK_SPEED_REPORT_MAX_SCALED )
Jeff Johnson295189b2012-06-20 16:38:30 -07001255
1256/*
1257 * RSSI Thresholds
1258 * Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
1259 */
1260#define CFG_LINK_SPEED_RSSI_HIGH "gLinkSpeedRssiHigh"
1261#define CFG_LINK_SPEED_RSSI_HIGH_MIN ( -127 )
1262#define CFG_LINK_SPEED_RSSI_HIGH_MAX ( 0 )
1263#define CFG_LINK_SPEED_RSSI_HIGH_DEFAULT ( -55 )
1264
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001265#define CFG_LINK_SPEED_RSSI_MID "gLinkSpeedRssiMed"
1266#define CFG_LINK_SPEED_RSSI_MID_MIN ( -127 )
1267#define CFG_LINK_SPEED_RSSI_MID_MAX ( 0 )
1268#define CFG_LINK_SPEED_RSSI_MID_DEFAULT ( -65 )
1269
Jeff Johnson295189b2012-06-20 16:38:30 -07001270#define CFG_LINK_SPEED_RSSI_LOW "gLinkSpeedRssiLow"
1271#define CFG_LINK_SPEED_RSSI_LOW_MIN ( -127 )
1272#define CFG_LINK_SPEED_RSSI_LOW_MAX ( 0 )
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001273#define CFG_LINK_SPEED_RSSI_LOW_DEFAULT ( -80 )
Jeff Johnson295189b2012-06-20 16:38:30 -07001274
1275#ifdef WLAN_FEATURE_P2P
1276#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME "isP2pDeviceAddrAdministrated"
1277#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN ( 0 )
1278#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ( 1 )
1279#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT ( 0 )
1280#endif
1281
1282#ifdef WLAN_FEATURE_PACKET_FILTERING
1283#define CFG_MC_ADDR_LIST_FILTER_NAME "isMcAddrListFilter"
1284#define CFG_MC_ADDR_LIST_FILTER_MIN ( 0 )
1285#define CFG_MC_ADDR_LIST_FILTER_MAX ( 1 )
1286#define CFG_MC_ADDR_LIST_FILTER_DEFAULT ( 0 )
1287#endif
1288
1289/*
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001290 * VOS Trace Enable Control
1291 * Notes:
1292 * the MIN/MAX/DEFAULT values apply for all modules
1293 * the DEFAULT value is outside the valid range. if the DEFAULT
1294 * value is not overridden, then no change will be made to the
1295 * "built in" default values compiled into the code
1296 * values are a bitmap indicating which log levels are to enabled
1297 * (must match order of vos_trace_level enumerations)
1298 * 00000001 FATAL
1299 * 00000010 ERROR
1300 * 00000100 WARN
1301 * 00001000 INFO
1302 * 00010000 INFO HIGH
1303 * 00100000 INFO MED
1304 * 01000000 INFO LOW
1305 * 10000000 DEBUG
1306 *
1307 * hence a value of 0xFF would set all bits (enable all logs)
1308 */
1309
1310#define CFG_VOS_TRACE_ENABLE_BAP_NAME "vosTraceEnableBAP"
1311#define CFG_VOS_TRACE_ENABLE_TL_NAME "vosTraceEnableTL"
1312#define CFG_VOS_TRACE_ENABLE_WDI_NAME "vosTraceEnableWDI"
1313#define CFG_VOS_TRACE_ENABLE_HDD_NAME "vosTraceEnableHDD"
1314#define CFG_VOS_TRACE_ENABLE_SME_NAME "vosTraceEnableSME"
1315#define CFG_VOS_TRACE_ENABLE_PE_NAME "vosTraceEnablePE"
1316#define CFG_VOS_TRACE_ENABLE_WDA_NAME "vosTraceEnableWDA"
1317#define CFG_VOS_TRACE_ENABLE_SYS_NAME "vosTraceEnableSYS"
1318#define CFG_VOS_TRACE_ENABLE_VOSS_NAME "vosTraceEnableVOSS"
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001319#define CFG_VOS_TRACE_ENABLE_SAP_NAME "vosTraceEnableSAP"
1320#define CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME "vosTraceEnableHDDSAP"
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001321
1322#define CFG_VOS_TRACE_ENABLE_MIN (0)
1323#define CFG_VOS_TRACE_ENABLE_MAX (0xff)
1324#define CFG_VOS_TRACE_ENABLE_DEFAULT (0xffff)
1325
1326/*
Jeff Johnson295189b2012-06-20 16:38:30 -07001327 * WDI Trace Enable Control
1328 * Notes:
1329 * the MIN/MAX/DEFAULT values apply for all modules
1330 * the DEFAULT value is outside the valid range. if the DEFAULT
1331 * value is not overridden, then no change will be made to the
1332 * "built in" default values compiled into the code
1333 * values are a bitmap indicating which log levels are to enabled
1334 * (must match order of wpt_tracelevel enumerations)
1335 * 00000001 FATAL
1336 * 00000010 ERROR
1337 * 00000100 WARN
1338 * 00001000 INFO
1339 * 00010000 INFO HIGH
1340 * 00100000 INFO MED
1341 * 01000000 INFO LOW
1342 *
1343 * hence a value of 0x7F would set all bits (enable all logs)
1344 */
1345#define CFG_WDI_TRACE_ENABLE_DAL_NAME "wdiTraceEnableDAL"
1346#define CFG_WDI_TRACE_ENABLE_CTL_NAME "wdiTraceEnableCTL"
1347#define CFG_WDI_TRACE_ENABLE_DAT_NAME "wdiTraceEnableDAT"
1348#define CFG_WDI_TRACE_ENABLE_PAL_NAME "wdiTraceEnablePAL"
1349#define CFG_WDI_TRACE_ENABLE_MIN (0)
1350#define CFG_WDI_TRACE_ENABLE_MAX (0x7f)
1351#define CFG_WDI_TRACE_ENABLE_DEFAULT (0xffffffff)
1352
1353#define HDD_MCASTBCASTFILTER_FILTER_NONE 0x00
1354#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST 0x01
1355#define HDD_MCASTBCASTFILTER_FILTER_ALL_BROADCAST 0x02
1356#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST_BROADCAST 0x03
Amar Singhalf3a6e762013-02-19 15:06:50 -08001357#define HDD_MULTICAST_FILTER_LIST 0x04
Jeff Johnson295189b2012-06-20 16:38:30 -07001358
1359/*
1360 *
1361 * SAP Auto Channel Enable
1362 * Notes:
1363 * Auto Channel selection for SAP configuration
1364 * 0 - Disable Auto Channel
1365 * 1 - Enable auto channel selection in auto mode.
1366 * When enable auto channel, channel provided by Supplicant will be ignored.
1367 *
1368 * Default configuration: Auto channel is disabled.
1369 */
1370
1371#define CFG_SAP_AUTO_CHANNEL_SELECTION_NAME "gApAutoChannelSelection"
1372
1373#define CFG_SAP_AUTO_CHANNEL_SELECTION_MIN ( 0 )
1374#define CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ( 1 )
1375#define CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT ( 0 )
1376
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05301377/*BMPS Logic
1378 * Notes:
1379 * 1 - Then Host driver and above layers control the PS mechanism
1380 * 0 - Diver/Core Stack internally control the Power saving mechanism
1381 */
1382#define CFG_ANDRIOD_POWER_SAVE_NAME "isAndroidPsEn"
1383#define CFG_ANDRIOD_POWER_SAVE_MIN ( 0 )
1384#define CFG_ANDRIOD_POWER_SAVE_MAX ( 1 )
1385#define CFG_ANDRIOD_POWER_SAVE_DEFAULT ( 0 )
1386
Jeff Johnson295189b2012-06-20 16:38:30 -07001387
1388/*
1389 * Enable Dynamic DTIM
1390 * Options
1391 * 0 -Disable DynamicDTIM
1392 * 1 to 5 - SLM will switch to DTIM specified here when host suspends and
1393 * switch DTIM1 when host resumes */
1394#define CFG_ENABLE_DYNAMIC_DTIM_NAME "gEnableDynamicDTIM"
1395#define CFG_ENABLE_DYNAMIC_DTIM_MIN ( 0 )
1396#define CFG_ENABLE_DYNAMIC_DTIM_MAX ( 5 )
1397#define CFG_ENABLE_DYNAMIC_DTIM_DEFAULT ( 0 )
1398
Jeff Johnsone7245742012-09-05 17:12:55 -07001399/*
1400 * Enable First Scan 2G Only
1401 * Options
1402 * 0 - Disable First Scan 2G Option
1403 * 1 - Enable First Scan 2G Option
1404 */
1405#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME "gEnableFirstScan2GOnly"
1406#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN ( 0 )
1407#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ( 1 )
1408#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT ( 0 )
1409
1410/*
1411 * Skip DFS Channel in case of P2P Search
1412 * Options
1413 * 0 - Don't Skip DFS Channel in case of P2P Search
1414 * 1 - Skip DFS Channel in case of P2P Search
1415 */
1416#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME "gSkipDfsChannelInP2pSearch"
1417#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN ( 0 )
1418#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ( 1 )
Leela Venkata Kiran Kumar Reddy Chirala911463f2013-02-22 18:01:15 -08001419#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT ( 1 )
Jeff Johnsone7245742012-09-05 17:12:55 -07001420
1421/*
1422 * Ignore Dynamic Dtim in case of P2P
1423 * Options
1424 * 0 - Consider Dynamic Dtim incase of P2P
1425 * 1 - Ignore Dynamic Dtim incase of P2P
1426 */
1427#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME "gIgnoreDynamicDtimInP2pMode"
1428#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN ( 0 )
1429#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ( 1 )
1430#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT ( 0 )
1431
1432
Jeff Johnson295189b2012-06-20 16:38:30 -07001433#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME "gEnableAutomaticTxPowerControl"
1434#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN ( 0 )
1435#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ( 1 )
1436#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT ( 1 )
1437
1438#define CFG_SHORT_GI_40MHZ_NAME "gShortGI40Mhz"
1439#define CFG_SHORT_GI_40MHZ_MIN 0
1440#define CFG_SHORT_GI_40MHZ_MAX 1
1441#define CFG_SHORT_GI_40MHZ_DEFAULT 1
1442
1443/*
1444 * Enable / Disable MCC feature
1445 * Default: Enable
1446 */
1447#define CFG_ENABLE_MCC_ENABLED_NAME "gEnableMCCMode"
1448#define CFG_ENABLE_MCC_ENABLED_MIN ( 0 )
1449#define CFG_ENABLE_MCC_ENABLED_MAX ( 1 )
Pratik Bhalgatbe762582012-11-22 16:49:13 +05301450#define CFG_ENABLE_MCC_ENABLED_DEFAULT ( 1 )
Jeff Johnson295189b2012-06-20 16:38:30 -07001451
1452/*
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001453 * Allow GO in MCC mode to accept different beacon interval than STA's.
1454 * Added for Wi-Fi Cert. 5.1.12
1455 * Default: Disable
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08001456 * If gAllowMCCGODiffBI = 1 // Set to 1 for WFA certification. GO Beacon interval is not changed. MCC GO
1457* doesn't work well in optimized way. In worst scenario, it may invite STA
1458* disconnection.
1459 * gAllowMCCGODiffBI = 2 //If set to 2 workaround 1 disassoc all the clients
1460 * and update beacon Interval
1461 * gAllowMCCGODiffBI = 3 //If set to 3 tear down the P2P link in auto/
1462 * Non-autonomous -GO case
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001463 */
1464#define CFG_ALLOW_MCC_GO_DIFF_BI_NAME "gAllowMCCGODiffBI"
1465#define CFG_ALLOW_MCC_GO_DIFF_BI_MIN ( 0 )
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08001466#define CFG_ALLOW_MCC_GO_DIFF_BI_MAX ( 3 )
Madan Mohan Koyyalamudi0e4955a2012-11-28 15:34:59 -08001467#define CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT ( 2 )
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001468
1469/*
Jeff Johnson295189b2012-06-20 16:38:30 -07001470 * Enable/Disable Thermal Mitigation feature
1471 * Default: Disable
1472 */
1473#define CFG_THERMAL_MIGRATION_ENABLE_NAME "gThermalMitigationEnable"
1474#define CFG_THERMAL_MIGRATION_ENABLE_MIN ( 0 )
1475#define CFG_THERMAL_MIGRATION_ENABLE_MAX ( 1 )
1476#define CFG_THERMAL_MIGRATION_ENABLE_DEFAULT ( 0 )
1477
1478/*
1479 * Enable/Disable Modulated DTIM feature
1480 * Default: Disable
1481 */
1482#define CFG_ENABLE_MODULATED_DTIM_NAME "gEnableModulatedDTIM"
1483#define CFG_ENABLE_MODULATED_DTIM_MIN ( 0 )
1484#define CFG_ENABLE_MODULATED_DTIM_MAX ( 5 )
1485#define CFG_ENABLE_MODULATED_DTIM_DEFAULT ( 0 )
1486
Jeff Johnsond13512a2012-07-17 11:42:19 -07001487/*
1488 * Enable/Disable Multicast MAC Address List feature
1489 * Default: Disable
1490 */
1491#define CFG_MC_ADDR_LIST_ENABLE_NAME "gMCAddrListEnable"
1492#define CFG_MC_ADDR_LIST_ENABLE_MIN ( 0 )
1493#define CFG_MC_ADDR_LIST_ENABLE_MAX ( 1 )
1494#define CFG_MC_ADDR_LIST_ENABLE_DEFAULT ( 0 )
1495
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07001496/* Set number of buffers to be advertised during ADDBA negotiation*/
1497#define CFG_NUM_BUFF_ADVERT_NAME "gNumBuffAdvert"
1498#define CFG_NUM_BUFF_ADVERT_MIN ( 0 )
1499#define CFG_NUM_BUFF_ADVERT_MAX ( 128 )
Leela Venkata Kiran Kumar Reddy Chirala911463f2013-02-22 18:01:15 -08001500#define CFG_NUM_BUFF_ADVERT_DEFAULT ( 64 )
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07001501
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08001502/*
1503 * Allow MCC to modify config
1504 */
1505#define CFG_MCC_CONFIG_PARAM_NAME "gMccAllowCfgModify"
1506#define CFG_MCC_CONFIG_PARAM_MIN ( 0x0000 )
1507#define CFG_MCC_CONFIG_PARAM_MAX ( 0x01ff )
1508#define CFG_MCC_CONFIG_PARAM_DEFAULT ( 0x000C )
1509
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05301510#define CFG_ENABLE_RX_STBC "gEnableRXSTBC"
1511#define CFG_ENABLE_RX_STBC_MIN ( 0 )
1512#define CFG_ENABLE_RX_STBC_MAX ( 1 )
1513#define CFG_ENABLE_RX_STBC_DEFAULT ( 1 )
1514
Gopichand Nakkala976e3252013-01-03 15:45:56 -08001515/*
1516 * Enable/Disable vsta based on MAX Assoc limit
1517 * defined in WCNSS_qcom_cfg.ini.
1518 */
1519#ifdef WLAN_SOFTAP_VSTA_FEATURE
1520#define CFG_VSTA_SUPPORT_ENABLE "gEnableVSTASupport"
1521#define CFG_VSTA_SUPPORT_ENABLE_MIN ( 0 )
1522#define CFG_VSTA_SUPPORT_ENABLE_MAX ( 1 )
1523#define CFG_VSTA_SUPPORT_ENABLE_DEFAULT ( 0 )
1524#endif
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05301525
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001526#ifdef FEATURE_WLAN_TDLS
Hoonki Leebf870f32013-01-19 15:53:30 +05301527#define CFG_TDLS_SUPPORT_ENABLE "gEnableTDLSSupport"
1528#define CFG_TDLS_SUPPORT_ENABLE_MIN ( 0 )
1529#define CFG_TDLS_SUPPORT_ENABLE_MAX ( 1 )
1530#define CFG_TDLS_SUPPORT_ENABLE_DEFAULT ( 0 )
1531
1532#define CFG_TDLS_IMPLICIT_TRIGGER "gEnableTDLSImplicitTrigger"
1533#define CFG_TDLS_IMPLICIT_TRIGGER_MIN ( 0 )
1534#define CFG_TDLS_IMPLICIT_TRIGGER_MAX ( 1 )
1535#define CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT ( 0 )
1536
1537#define CFG_TDLS_TX_STATS_PERIOD "gTDLSTxStatsPeriod"
1538#define CFG_TDLS_TX_STATS_PERIOD_MIN ( 0 )
1539#define CFG_TDLS_TX_STATS_PERIOD_MAX ( 4294967295UL )
1540#define CFG_TDLS_TX_STATS_PERIOD_DEFAULT ( 2000 )
1541
1542#define CFG_TDLS_TX_PACKET_THRESHOLD "gTDLSTxPacketThreshold"
1543#define CFG_TDLS_TX_PACKET_THRESHOLD_MIN ( 0 )
1544#define CFG_TDLS_TX_PACKET_THRESHOLD_MAX ( 4294967295UL )
1545#define CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT ( 1000 )
1546
1547#define CFG_TDLS_DISCOVERY_PERIOD "gTDLSDiscoveryPeriod"
1548#define CFG_TDLS_DISCOVERY_PERIOD_MIN ( 0 )
1549#define CFG_TDLS_DISCOVERY_PERIOD_MAX ( 4294967295UL )
1550#define CFG_TDLS_DISCOVERY_PERIOD_DEFAULT ( 60000 )
1551
1552#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT "gTDLSMaxDiscoveryAttempt"
1553#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN ( 0 )
1554#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ( 100 )
Gopichand Nakkala273d5a02013-02-19 15:15:09 -08001555#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT ( 5 )
Hoonki Leebf870f32013-01-19 15:53:30 +05301556
Chilam Ng01120412013-02-19 18:32:21 -08001557#define CFG_TDLS_IDLE_TIMEOUT "gTDLSIdleTimeout"
1558#define CFG_TDLS_IDLE_TIMEOUT_MIN ( 0 )
1559#define CFG_TDLS_IDLE_TIMEOUT_MAX ( 40000 )
1560#define CFG_TDLS_IDLE_TIMEOUT_DEFAULT ( 5000 )
1561
1562#define CFG_TDLS_IDLE_PACKET_THRESHOLD "gTDLSIdlePacketThreshold"
1563#define CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN ( 0 )
1564#define CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ( 40000 )
1565#define CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT ( 5 )
Hoonki Leebf870f32013-01-19 15:53:30 +05301566
1567#define CFG_TDLS_RSSI_HYSTERESIS "gTDLSRssiHysteresis"
1568#define CFG_TDLS_RSSI_HYSTERESIS_MIN ( 0 )
1569#define CFG_TDLS_RSSI_HYSTERESIS_MAX ( 100 )
1570#define CFG_TDLS_RSSI_HYSTERESIS_DEFAULT ( 100 )
Chilam Ng01120412013-02-19 18:32:21 -08001571
1572#define CFG_TDLS_RSSI_TRIGGER_THRESHOLD "gTDLSRSSITriggerThreshold"
1573#define CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN ( -120 )
1574#define CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ( 100 )
1575#define CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT ( 0 )
1576
1577#define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD "gTDLSRSSITeardownThreshold"
1578#define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN ( -120 )
1579#define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ( 0 )
1580#define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT ( -75 )
Gopichand Nakkala31649672013-02-27 12:15:51 -08001581#endif
Gopichand Nakkalafda520a2013-02-26 16:41:58 -08001582
Gopichand Nakkala31649672013-02-27 12:15:51 -08001583#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Leela Venkata Kiran Kumar Reddy Chirala911463f2013-02-22 18:01:15 -08001584#define CFG_ACTIVEMODE_OFFLOAD_ENABLE "gEnableActiveModeOffload"
1585#define CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN ( 0 )
1586#define CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ( 1 )
1587#define CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT ( 1 )
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001588#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08001589
1590/* Enable/Disable LPWR Image(cMEM uBSP) Transition */
1591#define CFG_ENABLE_LPWR_IMG_TRANSITION_NAME "gEnableLpwrImgTransition"
1592#define CFG_ENABLE_LPWR_IMG_TRANSITION_MIN ( 0 )
1593#define CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ( 1 )
1594#define CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT ( 0 )
1595
1596
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08001597/*
1598 * Scan Aging timeout value in seconds
1599 */
1600#define CFG_SCAN_AGING_PARAM_NAME "gScanAgingTime"
1601#define CFG_SCAN_AGING_PARAM_MIN ( 0 )
1602#define CFG_SCAN_AGING_PARAM_MAX ( 200 )
1603#define CFG_SCAN_AGING_PARAM_DEFAULT ( 60 )
1604
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08001605/* Config Param to enable the txLdpc capability
1606 * 0 - disable
1607 * 1 - HT LDPC enable
1608 * 2 - VHT LDPC enable
1609 * 3 - HT & VHT LDPC enable */
1610#define CFG_TX_LDPC_ENABLE_FEATURE "gTxLdpcEnable"
1611#define CFG_TX_LDPC_ENABLE_FEATURE_MIN ( 0 )
1612#define CFG_TX_LDPC_ENABLE_FEATURE_MAX ( 3 )
1613#define CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT ( 0 )
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08001614
1615/*
1616 * Enable / Disable MCC Adaptive Scheduler feature
1617 * Default: Enable
1618 */
1619#define CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME "gEnableMCCAdaptiveScheduler"
1620#define CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN ( 0 )
1621#define CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ( 1 )
1622#define CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT ( 0 )
1623
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001624#ifdef WLAN_FEATURE_11AC
1625#define CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE "gTxBFEnable"
1626#define CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN ( WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STAMIN )
1627#define CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ( WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STAMAX )
1628#define CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT ( WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STADEF )
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08001629
1630#define CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED "gTxBFCsnValue"
1631#define CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN ( WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_STAMIN )
1632#define CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ( WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_STAMAX )
1633#define CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT ( WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_STAMAX - 1)
1634
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001635#endif
1636
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08001637
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05301638/*
1639 * SAP ALLOW All Channels
1640 */
1641#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME "gSapAllowAllChannel"
1642#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN ( 0 )
1643#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ( 1 )
1644#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT ( 0 )
1645
1646
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08001647#ifdef WLAN_FEATURE_11AC
1648#define CFG_DISABLE_LDPC_WITH_TXBF_AP "gDisableLDPCWithTxbfAP"
1649#define CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN ( 0 )
1650#define CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ( 1 )
1651#define CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT ( 1 )
1652#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001653/*---------------------------------------------------------------------------
1654 Type declarations
1655 -------------------------------------------------------------------------*/
1656
1657typedef struct
1658{
1659 //Bitmap to track what is explicitly configured
1660 DECLARE_BITMAP(bExplicitCfg, MAX_CFG_INI_ITEMS);
1661
1662 //Config parameters
1663 v_U32_t RTSThreshold;
1664 v_U32_t FragmentationThreshold;
1665 v_U32_t nCheckForHangTime;
1666 v_U32_t Calibration;
1667 v_U32_t CalibrationPeriod;
1668 v_U8_t OperatingChannel;
1669 v_BOOL_t ShortSlotTimeEnabled;
1670 v_BOOL_t Is11dSupportEnabled;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08001671 v_BOOL_t Is11hSupportEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001672 v_BOOL_t fEnforce11dChannels;
1673 v_BOOL_t fSupplicantCountryCodeHasPriority;
1674 v_BOOL_t fEnforceCountryCodeMatch;
1675 v_BOOL_t fEnforceDefaultDomain;
1676 v_U32_t Cfg1Id;
1677 v_U32_t Cfg2Id;
1678 v_U32_t Cfg3Id;
1679 v_U32_t Cfg4Id;
1680 v_U32_t Cfg5Id;
1681 v_U32_t Cfg1Value;
1682 v_U32_t Cfg2Value;
1683 v_U32_t Cfg3Value;
1684 v_U32_t Cfg4Value;
1685 v_U32_t Cfg5Value;
1686 v_U32_t HeartbeatThresh24;
1687 char PowerUsageControl[4];
1688 v_U8_t nEnableSuspend;
1689 v_U8_t nEnableDriverStop;
1690 v_BOOL_t fIsImpsEnabled;
1691 v_BOOL_t fIsLogpEnabled;
1692 v_U8_t btcExecutionMode;
1693 v_U8_t btcConsBtSlotsToBlockDuringDhcp;
1694 v_U8_t btcA2DPBtSubIntervalsDuringDhcp;
Jeff Johnson32d95a32012-09-10 13:15:23 -07001695 v_U32_t btcStaticLenInqBt;
1696 v_U32_t btcStaticLenPageBt;
1697 v_U32_t btcStaticLenConnBt;
1698 v_U32_t btcStaticLenLeBt;
1699 v_U32_t btcStaticLenInqWlan;
1700 v_U32_t btcStaticLenPageWlan;
1701 v_U32_t btcStaticLenConnWlan;
1702 v_U32_t btcStaticLenLeWlan;
1703 v_U32_t btcDynMaxLenBt;
1704 v_U32_t btcDynMaxLenWlan;
1705 v_U32_t btcMaxScoBlockPerc;
1706 v_U32_t btcDhcpProtOnA2dp;
1707 v_U32_t btcDhcpProtOnSco;
Jeff Johnson295189b2012-06-20 16:38:30 -07001708 v_U32_t nImpsModSleepTime;
1709 v_U32_t nImpsMaxSleepTime;
1710 v_U32_t nImpsMinSleepTime;
1711 v_BOOL_t fIsBmpsEnabled;
1712 v_U32_t nBmpsModListenInterval;
1713 v_U32_t nBmpsMaxListenInterval;
1714 v_U32_t nBmpsMinListenInterval;
1715 v_BOOL_t fIsAutoBmpsTimerEnabled;
1716 v_U32_t nAutoBmpsTimerValue;
1717 eHddDot11Mode dot11Mode;
1718 v_U32_t nChannelBondingMode24GHz;
1719 v_U32_t nChannelBondingMode5GHz;
1720 v_U32_t MaxRxAmpduFactor;
1721 v_U32_t nBAAgingTimerInterval;
1722 v_U16_t TxRate;
1723 v_U32_t AdaptiveThresholdAlgo;
1724 v_U32_t ShortGI20MhzEnable;
1725 v_U32_t BlockAckAutoSetup;
1726 v_U32_t ScanResultAgeCount;
1727 v_U32_t nScanAgeTimeNCNPS;
1728 v_U32_t nScanAgeTimeNCPS;
1729 v_U32_t nScanAgeTimeCNPS;
1730 v_U32_t nScanAgeTimeCPS;
1731 v_U8_t nRssiCatGap;
1732 v_U32_t nStatTimerInterval;
1733 v_BOOL_t fIsShortPreamble;
1734 v_BOOL_t fIsAutoIbssBssid;
1735 v_MACADDR_t IbssBssid;
1736
1737 v_U8_t intfAddrMask;
1738 v_MACADDR_t intfMacAddr[VOS_MAX_CONCURRENCY_PERSONA];
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07001739 v_U8_t crdaDefaultCountryCode [3];
Jeff Johnson295189b2012-06-20 16:38:30 -07001740
Jeff Johnson295189b2012-06-20 16:38:30 -07001741 v_BOOL_t apUapsdEnabled;
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -07001742 v_BOOL_t apRandomBssidEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07001743 v_BOOL_t apProtEnabled;
1744 v_U16_t apProtection;
1745 v_BOOL_t apOBSSProtEnabled;
1746 v_U8_t MinFramesProcThres;
1747 v_U8_t apCntryCode[4];
1748 v_BOOL_t apDisableIntraBssFwd;
1749 v_U8_t nEnableListenMode;
1750 v_U32_t nAPAutoShutOff;
1751 v_U8_t apStartChannelNum;
1752 v_U8_t apEndChannelNum;
1753 v_U8_t apOperatingBand;
1754 v_BOOL_t apAutoChannelSelection;
1755 v_U8_t enableLTECoex;
1756 v_U32_t apKeepAlivePeriod;
1757 v_U32_t goKeepAlivePeriod;
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05301758 v_U32_t apLinkMonitorPeriod;
Jeff Johnson295189b2012-06-20 16:38:30 -07001759 v_U32_t nBeaconInterval;
1760 v_U8_t nTxPowerCap; //In dBm
1761 v_BOOL_t fIsLowGainOverride;
1762 v_U8_t disablePacketFilter;
1763#if defined WLAN_FEATURE_VOWIFI
1764 v_BOOL_t fRrmEnable;
1765 v_U8_t nInChanMeasMaxDuration;
1766 v_U8_t nOutChanMeasMaxDuration;
1767 v_U16_t nRrmRandnIntvl;
1768#endif
1769
1770#ifdef WLAN_FEATURE_VOWIFI_11R
1771 //Vowifi 11r params
1772 v_BOOL_t fFTEnable;
1773 v_BOOL_t fFTResourceReqSupported;
1774#endif
1775
1776#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
1777 v_U16_t nNeighborScanPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08001778 v_U8_t nNeighborReassocRssiThreshold;
1779 v_U8_t nNeighborLookupRssiThreshold;
1780 v_U8_t neighborScanChanList[WNI_CFG_VALID_CHANNEL_LIST_LEN];
Jeff Johnson295189b2012-06-20 16:38:30 -07001781 v_U16_t nNeighborScanMinChanTime;
1782 v_U16_t nNeighborScanMaxChanTime;
1783 v_U16_t nMaxNeighborReqTries;
Srinivas Girigowdade697412013-02-14 16:31:48 -08001784 v_U16_t nNeighborResultsRefreshPeriod;
1785 v_U16_t nEmptyScanRefreshPeriod;
Jeff Johnson295189b2012-06-20 16:38:30 -07001786#endif
1787
1788 //Handoff Parameters
1789 v_BOOL_t fIsHandoffEnabled;
1790
1791 //Additional Handoff params
1792 v_BOOL_t nEnableIdleScan;
1793 v_U32_t nRoamingTime;
1794 v_U16_t nVccRssiTrigger;
1795 v_U32_t nVccUlMacLossThreshold;
1796
1797 v_U32_t nPassiveMinChnTime; //in units of milliseconds
1798 v_U32_t nPassiveMaxChnTime; //in units of milliseconds
1799 v_U32_t nActiveMinChnTime; //in units of milliseconds
1800 v_U32_t nActiveMaxChnTime; //in units of milliseconds
1801
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001802 v_U32_t nActiveMinChnTimeBtc; //in units of milliseconds
1803 v_U32_t nActiveMaxChnTimeBtc; //in units of milliseconds
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07001804#ifdef WLAN_AP_STA_CONCURRENCY
1805 v_U32_t nPassiveMinChnTimeConc; //in units of milliseconds
1806 v_U32_t nPassiveMaxChnTimeConc; //in units of milliseconds
1807 v_U32_t nActiveMinChnTimeConc; //in units of milliseconds
1808 v_U32_t nActiveMaxChnTimeConc; //in units of milliseconds
1809 v_U32_t nRestTimeConc; //in units of milliseconds
Vinay Malekal05fdc812012-12-17 13:04:30 -08001810 v_U8_t nNumChanCombinedConc; //number of channels combined
1811 //in each split scan operation
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07001812#endif
1813
Jeff Johnson295189b2012-06-20 16:38:30 -07001814 v_U8_t nMaxPsPoll;
1815
1816 v_U8_t nRssiFilterPeriod;
1817 v_BOOL_t fIgnoreDtim;
1818
1819 v_U8_t nRxAnt;
1820 v_U8_t fEnableFwHeartBeatMonitoring;
1821 v_U8_t fEnableFwBeaconFiltering;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001822 v_BOOL_t fEnableFwRssiMonitoring;
Jeff Johnson295189b2012-06-20 16:38:30 -07001823 v_U8_t nDataInactivityTimeout;
1824 v_U8_t nthBeaconFilter;
1825
1826 //WMM QoS Configuration
1827 hdd_wmm_user_mode_t WmmMode;
1828 v_BOOL_t b80211eIsEnabled;
1829 v_U8_t UapsdMask; // what ACs to setup U-APSD for at assoc
1830 v_U8_t MaxSpLength;
1831 v_U32_t InfraUapsdVoSrvIntv;
1832 v_U32_t InfraUapsdVoSuspIntv;
1833 v_U32_t InfraUapsdViSrvIntv;
1834 v_U32_t InfraUapsdViSuspIntv;
1835 v_U32_t InfraUapsdBeSrvIntv;
1836 v_U32_t InfraUapsdBeSuspIntv;
1837 v_U32_t InfraUapsdBkSrvIntv;
1838 v_U32_t InfraUapsdBkSuspIntv;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001839#ifdef FEATURE_WLAN_LFR
1840 v_BOOL_t isFastRoamIniFeatureEnabled;
1841#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001842#ifdef FEATURE_WLAN_CCX
1843 v_U32_t InfraInactivityInterval;
1844 v_BOOL_t isCcxIniFeatureEnabled;
1845#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001846#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001847 v_BOOL_t isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07001848 v_U8_t RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001849 v_U8_t nImmediateRoamRssiDiff;
Jeff Johnson295189b2012-06-20 16:38:30 -07001850#endif
1851
1852 hdd_wmm_classification_t PktClassificationBasis; // DSCP or 802.1Q
1853 v_BOOL_t bImplicitQosEnabled;
1854
1855 /* default TSPEC parameters for AC_VO */
1856 sme_QosWmmDirType InfraDirAcVo;
1857 v_U16_t InfraNomMsduSizeAcVo;
1858 v_U32_t InfraMeanDataRateAcVo;
1859 v_U32_t InfraMinPhyRateAcVo;
1860 v_U16_t InfraSbaAcVo;
1861
1862 /* default TSPEC parameters for AC_VI */
1863 sme_QosWmmDirType InfraDirAcVi;
1864 v_U16_t InfraNomMsduSizeAcVi;
1865 v_U32_t InfraMeanDataRateAcVi;
1866 v_U32_t InfraMinPhyRateAcVi;
1867 v_U16_t InfraSbaAcVi;
1868
1869 /* default TSPEC parameters for AC_BE */
1870 sme_QosWmmDirType InfraDirAcBe;
1871 v_U16_t InfraNomMsduSizeAcBe;
1872 v_U32_t InfraMeanDataRateAcBe;
1873 v_U32_t InfraMinPhyRateAcBe;
1874 v_U16_t InfraSbaAcBe;
1875
1876 /* default TSPEC parameters for AC_BK */
1877 sme_QosWmmDirType InfraDirAcBk;
1878 v_U16_t InfraNomMsduSizeAcBk;
1879 v_U32_t InfraMeanDataRateAcBk;
1880 v_U32_t InfraMinPhyRateAcBk;
1881 v_U16_t InfraSbaAcBk;
1882
1883 /* TL related configuration */
1884 v_U8_t WfqBkWeight;
1885 v_U8_t WfqBeWeight;
1886 v_U8_t WfqViWeight;
1887 v_U8_t WfqVoWeight;
1888 v_U32_t DelayedTriggerFrmInt;
1889
1890 /* Wowl pattern */
1891 char wowlPattern[1024];
1892 v_BOOL_t b19p2MhzPmicClkEnabled;
1893
1894 /* Control for Replay counetr. value 1 means
1895 single replay counter for all TID*/
1896 v_BOOL_t bSingleTidRc;
1897 v_U8_t mcastBcastFilterSetting;
1898 v_BOOL_t fhostArpOffload;
1899 v_BOOL_t burstSizeDefinition;
1900 v_U8_t tsInfoAckPolicy;
1901
1902 /* RF Settling Time Clock */
1903 v_U32_t rfSettlingTimeUs;
1904 v_U8_t enableBtAmp;
1905#ifdef WLAN_BTAMP_FEATURE
1906 v_U8_t preferredChannel;
1907#endif //WLAN_BTAMP_FEATURE
1908
1909 v_U8_t dynamicPsPollValue;
1910 v_BOOL_t AddTSWhenACMIsOff;
1911 v_BOOL_t fValidateScanList;
1912
1913 v_U32_t infraStaKeepAlivePeriod;
1914 v_U8_t nNullDataApRespTimeout;
1915 v_U8_t nBandCapability;
1916
1917 v_U32_t apDataAvailPollPeriodInMs;
1918 v_BOOL_t fEnableBeaconEarlyTermination;
1919 v_BOOL_t teleBcnWakeupEn;
1920
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001921/* VOS Trace Control*/
1922 v_U16_t vosTraceEnableBAP;
1923 v_U16_t vosTraceEnableTL;
1924 v_U16_t vosTraceEnableWDI;
1925 v_U16_t vosTraceEnableHDD;
1926 v_U16_t vosTraceEnableSME;
1927 v_U16_t vosTraceEnablePE;
1928 v_U16_t vosTraceEnableWDA;
1929 v_U16_t vosTraceEnableSYS;
1930 v_U16_t vosTraceEnableVOSS;
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001931 v_U16_t vosTraceEnableSAP;
1932 v_U16_t vosTraceEnableHDDSAP;
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001933
Jeff Johnson295189b2012-06-20 16:38:30 -07001934 /* WDI Trace Control */
1935 v_U32_t wdiTraceEnableDAL;
1936 v_U32_t wdiTraceEnableCTL;
1937 v_U32_t wdiTraceEnableDAT;
1938 v_U32_t wdiTraceEnablePAL;
Jeff Johnson295189b2012-06-20 16:38:30 -07001939 v_U16_t nTeleBcnTransListenInterval;
1940 v_U16_t nTeleBcnMaxListenInterval;
1941 v_U16_t nTeleBcnTransLiNumIdleBeacons;
1942 v_U16_t nTeleBcnMaxLiNumIdleBeacons;
1943 v_U8_t bcnEarlyTermWakeInterval;
1944 v_U32_t enableCloseLoop;
1945 v_U8_t enableBypass11d;
1946 v_U8_t enableDFSChnlScan;
1947 v_U8_t enableDynamicDTIM;
1948 v_U8_t enableAutomaticTxPowerControl;
1949 v_U8_t ShortGI40MhzEnable;
1950 eHddLinkSpeedReportType reportMaxLinkSpeed;
1951 v_S31_t linkSpeedRssiHigh;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001952#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
1953 v_BOOL_t nRoamPrefer5GHz;
1954#endif
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001955 v_S31_t linkSpeedRssiMid;
Jeff Johnson295189b2012-06-20 16:38:30 -07001956 v_S31_t linkSpeedRssiLow;
1957 v_U8_t enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001958 v_U8_t allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07001959#ifdef WLAN_FEATURE_P2P
1960 v_BOOL_t isP2pDeviceAddrAdministrated;
1961#endif
1962 v_U8_t thermalMitigationEnable;
1963#ifdef WLAN_FEATURE_PACKET_FILTERING
1964 v_BOOL_t isMcAddrListFilter;
1965#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07001966#ifdef WLAN_FEATURE_11AC
1967 v_U8_t vhtChannelWidth;
1968 v_U8_t vhtRxMCS;
1969 v_U8_t vhtTxMCS;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08001970 v_BOOL_t enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08001971 v_U8_t txBFCsnValue;
Jeff Johnsone7245742012-09-05 17:12:55 -07001972#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001973 v_U8_t enableModulatedDTIM;
Jeff Johnsond13512a2012-07-17 11:42:19 -07001974 v_U32_t fEnableMCAddrList;
Jeff Johnsone7245742012-09-05 17:12:55 -07001975 v_BOOL_t enableFirstScan2GOnly;
1976 v_BOOL_t skipDfsChnlInP2pSearch;
1977 v_BOOL_t ignoreDynamicDtimInP2pMode;
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08001978 v_U16_t configMccParam;
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07001979 v_U32_t numBuffAdvert;
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08001980 v_U8_t ignore_chan165;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05301981 v_BOOL_t enableRxSTBC;
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001982#ifdef FEATURE_WLAN_TDLS
1983 v_BOOL_t fEnableTDLSSupport;
Hoonki Leebf870f32013-01-19 15:53:30 +05301984 v_BOOL_t fEnableTDLSImplicitTrigger;
1985 v_U32_t fTDLSTxStatsPeriod;
1986 v_U32_t fTDLSTxPacketThreshold;
1987 v_U32_t fTDLSDiscoveryPeriod;
1988 v_U32_t fTDLSMaxDiscoveryAttempt;
Chilam Ng01120412013-02-19 18:32:21 -08001989 v_U32_t fTDLSIdleTimeout;
1990 v_U32_t fTDLSIdlePacketThreshold;
1991 v_U32_t fTDLSRSSIHysteresis;
1992 v_S31_t fTDLSRSSITriggerThreshold;
1993 v_S31_t fTDLSRSSITeardownThreshold;
Mohit Khanna698ba2a2012-12-04 15:08:18 -08001994#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08001995 v_U32_t enableLpwrImgTransition;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08001996#ifdef WLAN_SOFTAP_VSTA_FEATURE
1997 v_BOOL_t fEnableVSTASupport;
1998#endif
Yathish9f22e662012-12-10 14:21:35 -08001999#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
2000 v_BOOL_t fEnableActiveModeOffload;
2001#endif
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002002 v_U8_t scanAgingTimeout;
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002003 v_BOOL_t enableTxLdpc;
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002004 v_U8_t disableLDPCWithTxbfAP;
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08002005 v_U8_t enableMCCAdaptiveScheduler;
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302006 v_BOOL_t isAndroidPsEn;
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302007 v_BOOL_t sapAllowAllChannel;
Jeff Johnson295189b2012-06-20 16:38:30 -07002008} hdd_config_t;
2009/*---------------------------------------------------------------------------
2010 Function declarations and documenation
2011 -------------------------------------------------------------------------*/
2012VOS_STATUS hdd_parse_config_ini(hdd_context_t *pHddCtx);
2013VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx );
2014v_BOOL_t hdd_update_config_dat ( hdd_context_t *pHddCtx );
2015VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen);
2016eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode );
2017VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command);
2018
2019#define FIELD_OFFSET(__type, __field) ((unsigned int)(&((__type *)0)->__field))
2020#define VAR_OFFSET( _Struct, _Var ) ( (unsigned int) FIELD_OFFSET(_Struct, _Var ) )
2021#define VAR_SIZE( _Struct, _Var ) sizeof( ((_Struct *)0)->_Var )
2022
2023#define VAR_FLAGS_NONE ( 0 )
2024#define VAR_FLAGS_REQUIRED ( 1 << 0 ) // bit 0 is Required or Optional
2025#define VAR_FLAGS_OPTIONAL ( 0 << 0 )
2026
2027#define VAR_FLAGS_RANGE_CHECK ( 1 << 1 ) // bit 1 tells if range checking is required.
2028 // If less than MIN, assume MIN.
2029 // If greater than MAX, assume MAX.
2030
2031#define VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX ( VAR_FLAGS_RANGE_CHECK )
2032
2033#define VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT ( 1 << 2 ) // bit 2 is range checking that assumes the DEFAULT value
2034 // If less than MIN, assume DEFAULT,
2035 // If grateer than MAX, assume DEFAULT.
2036
2037#define VAR_FLAGS_DYNAMIC_CFG ( 1 << 3 ) // Bit 3 indicates that
2038 // the config item can be
2039 // modified dynamicially
2040 // on a running system
2041
2042typedef enum
2043{
2044 WLAN_PARAM_Integer,
2045 WLAN_PARAM_SignedInteger,
2046 WLAN_PARAM_HexInteger,
2047 WLAN_PARAM_String,
2048 WLAN_PARAM_MacAddr,
2049}WLAN_PARAMETER_TYPE;
2050
2051#define REG_VARIABLE( _Name, _Type, _Struct, _VarName, \
2052 _Flags, _Default, _Min, _Max ) \
2053{ \
2054 ( _Name ), \
2055 ( _Type ), \
2056 ( _Flags ), \
2057 VAR_OFFSET( _Struct, _VarName ), \
2058 VAR_SIZE( _Struct, _VarName ), \
2059 ( _Default ), \
2060 ( _Min ), \
2061 ( _Max ), \
2062 NULL, \
2063 0 \
2064}
2065
2066#define REG_DYNAMIC_VARIABLE( _Name, _Type, _Struct, _VarName, \
2067 _Flags, _Default, _Min, _Max, \
2068 _CBFunc, _CBParam ) \
2069{ \
2070 ( _Name ), \
2071 ( _Type ), \
2072 ( VAR_FLAGS_DYNAMIC_CFG | ( _Flags ) ), \
2073 VAR_OFFSET( _Struct, _VarName ), \
2074 VAR_SIZE( _Struct, _VarName ), \
2075 ( _Default ), \
2076 ( _Min ), \
2077 ( _Max ), \
2078 ( _CBFunc ), \
2079 ( _CBParam ) \
2080}
2081
2082#define REG_VARIABLE_STRING( _Name, _Type, _Struct, _VarName, \
2083 _Flags, _Default ) \
2084{ \
2085 ( _Name ), \
2086 ( _Type ), \
2087 ( _Flags ), \
2088 VAR_OFFSET( _Struct, _VarName ), \
2089 VAR_SIZE( _Struct, _VarName ), \
2090 (unsigned long)( _Default ), \
2091 0, \
2092 0, \
2093 NULL, \
2094 0 \
2095}
2096
2097typedef struct tREG_TABLE_ENTRY {
2098
2099 char* RegName; // variable name in the qcom_cfg.ini file
2100 WLAN_PARAMETER_TYPE RegType; // variable type in the hdd_config_t structure
2101 unsigned long Flags; // Specify optional parms and if RangeCheck is performed
2102 unsigned short VarOffset; // offset to field from the base address of the structure
2103 unsigned short VarSize; // size (in bytes) of the field
2104 unsigned long VarDefault; // default value to use
2105 unsigned long VarMin; // minimum value, for range checking
2106 unsigned long VarMax; // maximum value, for range checking
2107 // Dynamic modification notifier
2108 void (*pfnDynamicNotify)(hdd_context_t *pHddCtx, unsigned long NotifyId);
2109 unsigned long NotifyId; // Dynamic modification identifier
2110} REG_TABLE_ENTRY;
2111
2112static __inline unsigned long utilMin( unsigned long a, unsigned long b )
2113{
2114 return( ( a < b ) ? a : b );
2115}
2116
2117#endif