blob: 554b857d983698b822e9699eb254ef5cf5a2dfad [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
2 * Copyright (c) 2012, Code Aurora Forum. 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
22#if !defined( HDD_CONFIG_H__ )
23#define HDD_CONFIG_H__
24
25/**===========================================================================
26
27 \file hdd_Config.h
28
29 \brief Android WLAN Adapter Configuration functions
30
31 Copyright 2008 (c) Qualcomm, Incorporated.
32 All Rights Reserved.
33 Qualcomm Confidential and Proprietary.
34
35 ==========================================================================*/
36
37/* $HEADER$ */
38
39/*---------------------------------------------------------------------------
40 Include files
41 -------------------------------------------------------------------------*/
42#include <wlan_hdd_includes.h>
43#include <wlan_hdd_wmm.h>
44#include <vos_types.h>
45#include <csrApi.h>
46
47//Number of items that can be configured
48#define MAX_CFG_INI_ITEMS 256
49
50// Defines for all of the things we read from the configuration (registry).
51
52#define CFG_RTS_THRESHOLD_NAME "RTSThreshold"
53#define CFG_RTS_THRESHOLD_MIN WNI_CFG_RTS_THRESHOLD_STAMIN // min is 0, meaning always use RTS.
54#define CFG_RTS_THRESHOLD_MAX WNI_CFG_RTS_THRESHOLD_STAMAX // max is the max frame size
55#define CFG_RTS_THRESHOLD_DEFAULT WNI_CFG_RTS_THRESHOLD_STADEF
56
57#define CFG_FRAG_THRESHOLD_NAME "gFragmentationThreshold"
58#define CFG_FRAG_THRESHOLD_MIN WNI_CFG_FRAGMENTATION_THRESHOLD_STAMIN
59#define CFG_FRAG_THRESHOLD_MAX WNI_CFG_FRAGMENTATION_THRESHOLD_STAMAX
60#define CFG_FRAG_THRESHOLD_DEFAULT WNI_CFG_FRAGMENTATION_THRESHOLD_STADEF
61
62#define CFG_CALIBRATION_NAME "gCalibration"
63#define CFG_CALIBRATION_MIN ( 0 )
64#define CFG_CALIBRATION_MAX ( 1 )
65#define CFG_CALIBRATION_MAC_DEFAULT ( 1 )
66#define CFG_CALIBRATION_DEFAULT CFG_CALIBRATION_MAC_DEFAULT
67
68#define CFG_CALIBRATION_PERIOD_NAME "gCalibrationPeriod"
69#define CFG_CALIBRATION_PERIOD_MIN ( 2 )
70#define CFG_CALIBRATION_PERIOD_MAX ( 10 )
71#define CFG_CALIBRATION_PERIOD_MAC_DEFAULT ( 5 )
72#define CFG_CALIBRATION_PERIOD_DEFAULT CFG_CALIBRATION_PERIOD_MAC_DEFAULT
73
74#define CFG_OPERATING_CHANNEL_NAME "gOperatingChannel"
75#define CFG_OPERATING_CHANNEL_MIN ( 0 )
76#define CFG_OPERATING_CHANNEL_MAX ( 14 )
77#define CFG_OPERATING_CHANNEL_DEFAULT ( 1 )
78
79#define CFG_SHORT_SLOT_TIME_ENABLED_NAME "gShortSlotTimeEnabled"
80#define CFG_SHORT_SLOT_TIME_ENABLED_MIN WNI_CFG_SHORT_SLOT_TIME_STAMIN
81#define CFG_SHORT_SLOT_TIME_ENABLED_MAX WNI_CFG_SHORT_SLOT_TIME_STAMAX
82#define CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT WNI_CFG_SHORT_SLOT_TIME_STADEF
83
84#define CFG_11D_SUPPORT_ENABLED_NAME "g11dSupportEnabled"
85#define CFG_11D_SUPPORT_ENABLED_MIN WNI_CFG_11D_ENABLED_STAMIN
86#define CFG_11D_SUPPORT_ENABLED_MAX WNI_CFG_11D_ENABLED_STAMAX
87#define CFG_11D_SUPPORT_ENABLED_DEFAULT WNI_CFG_11D_ENABLED_STADEF // Default is ON
88
89#define CFG_ENFORCE_11D_CHANNELS_NAME "gEnforce11dChannel"
90#define CFG_ENFORCE_11D_CHANNELS_MIN ( 0 )
91#define CFG_ENFORCE_11D_CHANNELS_MAX ( 1 )
92#define CFG_ENFORCE_11D_CHANNELS_DEFAULT ( 0 )
93
94//COUNTRY Code Priority
95#define CFG_COUNTRY_CODE_PRIORITY_NAME "gCountryCodePriority"
96#define CFG_COUNTRY_CODE_PRIORITY_MIN ( 0 )
97#define CFG_COUNTRY_CODE_PRIORITY_MAX ( 1 )
98#define CFG_COUNTRY_CODE_PRIORITY_DEFAULT ( 0 )
99
100#define CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME "gEnforceCountryCodeMatch"
101#define CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN ( 0 )
102#define CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ( 1 )
103#define CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT ( 0 )
104
105#define CFG_ENFORCE_DEFAULT_DOMAIN_NAME "gEnforceDefaultDomain"
106#define CFG_ENFORCE_DEFAULT_DOMAIN_MIN ( 0 )
107#define CFG_ENFORCE_DEFAULT_DOMAIN_MAX ( 1 )
108#define CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT ( 0 )
109
110#define CFG_GENERIC_ID1_NAME "gCfg1Id"
111#define CFG_GENERIC_ID1_MIN ( 0 )
112#define CFG_GENERIC_ID1_MAX ( 0xffffffff )
113#define CFG_GENERIC_ID1_DEFAULT ( 0 )
114
115#define CFG_GENERIC_ID2_NAME "gCfg2Id"
116#define CFG_GENERIC_ID2_MIN ( 0 )
117#define CFG_GENERIC_ID2_MAX ( 0xffffffff )
118#define CFG_GENERIC_ID2_DEFAULT ( 0 )
119
120#define CFG_GENERIC_ID3_NAME "gCfg3Id"
121#define CFG_GENERIC_ID3_MIN ( 0 )
122#define CFG_GENERIC_ID3_MAX ( 0xffffffff )
123#define CFG_GENERIC_ID3_DEFAULT ( 0 )
124
125#define CFG_GENERIC_ID4_NAME "gCfg4Id"
126#define CFG_GENERIC_ID4_MIN ( 0 )
127#define CFG_GENERIC_ID4_MAX ( 0xffffffff )
128#define CFG_GENERIC_ID4_DEFAULT ( 0 )
129
130#define CFG_GENERIC_ID5_NAME "gCfg5Id"
131#define CFG_GENERIC_ID5_MIN ( 0 )
132#define CFG_GENERIC_ID5_MAX ( 0xffffffff )
133#define CFG_GENERIC_ID5_DEFAULT ( 0 )
134
135#define CFG_GENERIC_VALUE1_NAME "gCfg1Value"
136#define CFG_GENERIC_VALUE1_MIN ( 0 )
137#define CFG_GENERIC_VALUE1_MAX ( 0xffffffff )
138#define CFG_GENERIC_VALUE1_DEFAULT ( 0 )
139
140#define CFG_GENERIC_VALUE2_NAME "gCfg2Value"
141#define CFG_GENERIC_VALUE2_MIN ( 0 )
142#define CFG_GENERIC_VALUE2_MAX ( 0xffffffff )
143#define CFG_GENERIC_VALUE2_DEFAULT ( 0 )
144
145#define CFG_GENERIC_VALUE3_NAME "gCfg3Value"
146#define CFG_GENERIC_VALUE3_MIN ( 0 )
147#define CFG_GENERIC_VALUE3_MAX ( 0xffffffff )
148#define CFG_GENERIC_VALUE3_DEFAULT ( 0 )
149
150#define CFG_GENERIC_VALUE4_NAME "gCfg4Value"
151#define CFG_GENERIC_VALUE4_MIN ( 0 )
152#define CFG_GENERIC_VALUE4_MAX ( 0xffffffff )
153#define CFG_GENERIC_VALUE4_DEFAULT ( 0 )
154
155#define CFG_GENERIC_VALUE5_NAME "gCfg5Value"
156#define CFG_GENERIC_VALUE5_MIN ( 0 )
157#define CFG_GENERIC_VALUE5_MAX ( 0xffffffff )
158#define CFG_GENERIC_VALUE5_DEFAULT ( 0 )
159
160#define CFG_HEARTBEAT_THRESH_24_NAME "gHeartbeat24"
161#define CFG_HEARTBEAT_THRESH_24_MIN WNI_CFG_HEART_BEAT_THRESHOLD_STAMIN
162#define CFG_HEARTBEAT_THRESH_24_MAX WNI_CFG_HEART_BEAT_THRESHOLD_STAMAX
163#define CFG_HEARTBEAT_THRESH_24_DEFAULT WNI_CFG_HEART_BEAT_THRESHOLD_STADEF
164
165#define CFG_POWER_USAGE_NAME "gPowerUsage"
166#define CFG_POWER_USAGE_MIN "Min" //Minimum Power Save
167#define CFG_POWER_USAGE_MAX "Max" //Maximum Power Save
168#define CFG_POWER_USAGE_DEFAULT "Mod" //Moderate Power Save
169
170//Enable suspend on Android
171#define CFG_ENABLE_SUSPEND_NAME "gEnableSuspend"
172#define CFG_ENABLE_SUSPEND_MIN ( 0 ) //No support for suspend
173#define CFG_ENABLE_SUSPEND_MAX ( 3 ) //Map to Deep Sleep
174#define CFG_ENABLE_SUSPEND_DEFAULT ( 1 ) //Map to Standby
175
176//Driver start/stop command mappings
177#define CFG_ENABLE_ENABLE_DRIVER_STOP_NAME "gEnableDriverStop"
178#define CFG_ENABLE_ENABLE_DRIVER_STOP_MIN ( 0 ) //No support for stop
179#define CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ( 2 ) //Map to Deep Sleep
180#define CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT ( 0 )
181
182#define CFG_WOWL_PATTERN_NAME "gWowlPattern"
183#define CFG_WOWL_PATTERN_DEFAULT ""
184
185//IMPS = IdleModePowerSave
186#define CFG_ENABLE_IMPS_NAME "gEnableImps"
187#define CFG_ENABLE_IMPS_MIN ( 0 )
188#define CFG_ENABLE_IMPS_MAX ( 1 )
189#define CFG_ENABLE_IMPS_DEFAULT ( 1 )
190
191#define CFG_IMPS_MINIMUM_SLEEP_TIME_NAME "gImpsMinSleepTime"
192#define CFG_IMPS_MINIMUM_SLEEP_TIME_MIN ( 0 )
193#define CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ( 65535 )
194#define CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT ( 5 )
195
196#define CFG_IMPS_MODERATE_SLEEP_TIME_NAME "gImpsModSleepTime"
197#define CFG_IMPS_MODERATE_SLEEP_TIME_MIN ( 0 )
198#define CFG_IMPS_MODERATE_SLEEP_TIME_MAX ( 65535 )
199#define CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT ( 10)
200
201#define CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME "gImpsMaxSleepTime"
202#define CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN ( 0 )
203#define CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ( 65535 )
204#define CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT ( 15 )
205
206//BMPS = BeaconModePowerSave
207#define CFG_ENABLE_BMPS_NAME "gEnableBmps"
208#define CFG_ENABLE_BMPS_MIN ( 0 )
209#define CFG_ENABLE_BMPS_MAX ( 1 )
210#define CFG_ENABLE_BMPS_DEFAULT ( 1 )
211
212#define CFG_BMPS_MINIMUM_LI_NAME "gBmpsMinListenInterval"
213#define CFG_BMPS_MINIMUM_LI_MIN ( 1 )
214#define CFG_BMPS_MINIMUM_LI_MAX ( 65535 )
215#define CFG_BMPS_MINIMUM_LI_DEFAULT ( 1 )
216
217#define CFG_BMPS_MODERATE_LI_NAME "gBmpsModListenInterval"
218#define CFG_BMPS_MODERATE_LI_MIN ( 1 )
219#define CFG_BMPS_MODERATE_LI_MAX ( 65535 )
220#define CFG_BMPS_MODERATE_LI_DEFAULT ( 1 )
221
222#define CFG_BMPS_MAXIMUM_LI_NAME "gBmpsMaxListenInterval"
223#define CFG_BMPS_MAXIMUM_LI_MIN ( 1 )
224#define CFG_BMPS_MAXIMUM_LI_MAX ( 65535 )
225#define CFG_BMPS_MAXIMUM_LI_DEFAULT ( 1 )
226
227// gEnableAutoBmpsTimer has been previously published as an externally
228// configurable parameter. See analysis of CR 178211 for detailed info
229// on why we want to *always* set this to 1 i.e. we no longer want
230// this parameter to be configurable. the clean solution would be for
231// users to not define this item in winreg so that the default value
232// (which needs to be changed to 1) gets picked up but we cannot rely on that
233// since this item has been published already hence the proposed
234// solution to change the name of the item along with the change in the
235// default value. also we could decide to not read this item from registry
236// but leaving open the option of being able to configure this item for
237// ASW's internal use
238#define CFG_ENABLE_AUTO_BMPS_TIMER_NAME "gEnableAutoBmpsTimer_INTERNAL"
239#define CFG_ENABLE_AUTO_BMPS_TIMER_MIN ( 0 )
240#define CFG_ENABLE_AUTO_BMPS_TIMER_MAX ( 1 )
241#define CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT ( 1 )
242
243#define CFG_AUTO_BMPS_TIMER_VALUE_NAME "gAutoBmpsTimerValue"
244#define CFG_AUTO_BMPS_TIMER_VALUE_MIN ( 1000 )
245#define CFG_AUTO_BMPS_TIMER_VALUE_MAX ( 4294967295UL )
246#define CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT ( 1000 )
247
248#define CFG_MAX_RX_AMPDU_FACTOR_NAME "gMaxRxAmpduFactor"
249#define CFG_MAX_RX_AMPDU_FACTOR_MIN WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMIN
250#define CFG_MAX_RX_AMPDU_FACTOR_MAX WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX
251#define CFG_MAX_RX_AMPDU_FACTOR_DEFAULT WNI_CFG_MAX_RX_AMPDU_FACTOR_STADEF
252
253typedef enum
254{
255 eHDD_DOT11_MODE_AUTO = 0, //covers all things we support
256 eHDD_DOT11_MODE_abg, //11a/b/g only, no HT, no proprietary
257 eHDD_DOT11_MODE_11b,
258 eHDD_DOT11_MODE_11g,
259 eHDD_DOT11_MODE_11n,
260 eHDD_DOT11_MODE_11g_ONLY,
261 eHDD_DOT11_MODE_11n_ONLY,
262 eHDD_DOT11_MODE_11b_ONLY,
Jeff Johnsone7245742012-09-05 17:12:55 -0700263#ifdef WLAN_FEATURE_11AC
264 eHDD_DOT11_MODE_11ac_ONLY,
265 eHDD_DOT11_MODE_11ac,
266#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700267}eHddDot11Mode;
268
269#define CFG_DOT11_MODE_NAME "gDot11Mode"
270#define CFG_DOT11_MODE_MIN eHDD_DOT11_MODE_AUTO
Jeff Johnsone7245742012-09-05 17:12:55 -0700271#ifdef WLAN_FEATURE_11AC
272#define CFG_DOT11_MODE_MAX eHDD_DOT11_MODE_11ac
273#define CFG_DOT11_MODE_DEFAULT eHDD_DOT11_MODE_11ac
274#else
Jeff Johnson295189b2012-06-20 16:38:30 -0700275#define CFG_DOT11_MODE_MAX eHDD_DOT11_MODE_11b_ONLY
276#define CFG_DOT11_MODE_DEFAULT eHDD_DOT11_MODE_11n
Jeff Johnsone7245742012-09-05 17:12:55 -0700277#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700278
279#define CFG_CHANNEL_BONDING_MODE_24GHZ_NAME "gChannelBondingMode24GHz"
280#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
281#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
282#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
283
284#define CFG_CHANNEL_BONDING_MODE_5GHZ_NAME "gChannelBondingMode5GHz"
285#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
286#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
287#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
288
289#define CFG_FIXED_RATE_NAME "gFixedRate"
290#define CFG_FIXED_RATE_MIN WNI_CFG_FIXED_RATE_STAMIN
291#define CFG_FIXED_RATE_MAX WNI_CFG_FIXED_RATE_STAMAX
292#define CFG_FIXED_RATE_DEFAULT WNI_CFG_FIXED_RATE_STADEF
293
294#define CFG_SHORT_GI_20MHZ_NAME "gShortGI20Mhz"
295#define CFG_SHORT_GI_20MHZ_MIN WNI_CFG_SHORT_GI_20MHZ_STAMIN
296#define CFG_SHORT_GI_20MHZ_MAX WNI_CFG_SHORT_GI_20MHZ_STAMAX
297#define CFG_SHORT_GI_20MHZ_DEFAULT WNI_CFG_SHORT_GI_20MHZ_STADEF
298
299#define CFG_BLOCK_ACK_AUTO_SETUP_NAME "gBlockAckAutoSetup"
300#define CFG_BLOCK_ACK_AUTO_SETUP_MIN ( 0 )
301#define CFG_BLOCK_ACK_AUTO_SETUP_MAX ( 1 )
302#define CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT ( 1 )
303
304#define CFG_SCAN_RESULT_AGE_COUNT_NAME "gScanResultAgeCount"
305#define CFG_SCAN_RESULT_AGE_COUNT_MIN ( 1 )
306#define CFG_SCAN_RESULT_AGE_COUNT_MAX ( 100 )
307#define CFG_SCAN_RESULT_AGE_COUNT_DEFAULT ( 3 )
308
309//All in seconds
310//Not Connect, No Power Save
311#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME "gScanResultAgeNCNPS"
312#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN ( 10 )
313#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ( 10000 )
314#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT ( 50 )
315//Not Connect, Power Save
316#define CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME "gScanResultAgeNCPS"
317#define CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN ( 10 )
318#define CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ( 10000 )
319#define CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT ( 300 )
320//Connect, No Power Save
321#define CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME "gScanResultAgeCNPS"
322#define CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN ( 10 )
323#define CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ( 10000 )
324#define CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT ( 150 )
325//Connect, Power Save
326#define CFG_SCAN_RESULT_AGE_TIME_CPS_NAME "gScanResultAgeCPS"
327#define CFG_SCAN_RESULT_AGE_TIME_CPS_MIN ( 10 )
328#define CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ( 10000 )
329#define CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT ( 600 )
330
331#define CFG_RSSI_CATEGORY_GAP_NAME "gRssiCatGap"
332#define CFG_RSSI_CATEGORY_GAP_MIN ( 10 )
333#define CFG_RSSI_CATEGORY_GAP_MAX ( 100 )
334#define CFG_RSSI_CATEGORY_GAP_DEFAULT ( 30 )
335
336#define CFG_STAT_TIMER_INTERVAL_NAME "gStatTimerInterval"
337#define CFG_STAT_TIMER_INTERVAL_MIN ( 50 ) //ms
338#define CFG_STAT_TIMER_INTERVAL_MAX ( 10000 )
339#define CFG_STAT_TIMER_INTERVAL_DEFAULT ( 500 )
340
341#define CFG_SHORT_PREAMBLE_NAME "gShortPreamble"
342#define CFG_SHORT_PREAMBLE_MIN WNI_CFG_SHORT_PREAMBLE_STAMIN
343#define CFG_SHORT_PREAMBLE_MAX WNI_CFG_SHORT_PREAMBLE_STAMAX
344#define CFG_SHORT_PREAMBLE_DEFAULT WNI_CFG_SHORT_PREAMBLE_STADEF
345
346#define CFG_IBSS_AUTO_BSSID_NAME "gAutoIbssBssid"
347#define CFG_IBSS_AUTO_BSSID_MIN WNI_CFG_IBSS_AUTO_BSSID_STAMIN
348#define CFG_IBSS_AUTO_BSSID_MAX WNI_CFG_IBSS_AUTO_BSSID_STAMAX
349#define CFG_IBSS_AUTO_BSSID_DEFAULT WNI_CFG_IBSS_AUTO_BSSID_STADEF
350
351#define CFG_IBSS_BSSID_NAME "gIbssBssid"
352#define CFG_IBSS_BSSID_MIN "000000000000"
353#define CFG_IBSS_BSSID_MAX "ffffffffffff"
354#define CFG_IBSS_BSSID_DEFAULT "000AF5040506"
355
356#define CFG_INTF0_MAC_ADDR_NAME "Intf0MacAddress"
357#define CFG_INTF0_MAC_ADDR_MIN "000000000000"
358#define CFG_INTF0_MAC_ADDR_MAX "ffffffffffff"
359#define CFG_INTF0_MAC_ADDR_DEFAULT "000AF5898980"
360
361#define CFG_INTF1_MAC_ADDR_NAME "Intf1MacAddress"
362#define CFG_INTF1_MAC_ADDR_MIN "000000000000"
363#define CFG_INTF1_MAC_ADDR_MAX "ffffffffffff"
364#define CFG_INTF1_MAC_ADDR_DEFAULT "000AF5898981"
365
366#define CFG_INTF2_MAC_ADDR_NAME "Intf2MacAddress"
367#define CFG_INTF2_MAC_ADDR_MIN "000000000000"
368#define CFG_INTF2_MAC_ADDR_MAX "ffffffffffff"
369#define CFG_INTF2_MAC_ADDR_DEFAULT "000AF5898982"
370
371#define CFG_INTF3_MAC_ADDR_NAME "Intf3MacAddress"
372#define CFG_INTF3_MAC_ADDR_MIN "000000000000"
373#define CFG_INTF3_MAC_ADDR_MAX "ffffffffffff"
374#define CFG_INTF3_MAC_ADDR_DEFAULT "000AF5898983"
375
376#ifdef WLAN_SOFTAP_FEATURE
377#define CFG_AP_QOS_UAPSD_MODE_NAME "gEnableApUapsd" // ACs to setup U-APSD for at assoc
378#define CFG_AP_QOS_UAPSD_MODE_MIN ( 0 )
379#define CFG_AP_QOS_UAPSD_MODE_MAX ( 1 )
380#define CFG_AP_QOS_UAPSD_MODE_DEFAULT ( 1 )
381
382#define CFG_AP_COUNTRY_CODE "gAPCntryCode"
383#define CFG_AP_COUNTRY_CODE_MIN "USI"
384#define CFG_AP_COUNTRY_CODE_MAX "USI"
385#define CFG_AP_COUNTRY_CODE_DEFAULT "FFF"
386
387#define CFG_AP_ENABLE_PROTECTION_MODE_NAME "gEnableApProt"
388#define CFG_AP_ENABLE_PROTECTION_MODE_MIN ( 0 )
389#define CFG_AP_ENABLE_PROTECTION_MODE_MAX ( 1 )
390#define CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT ( 1 )
391
392// Bit map for CFG_AP_PROTECTION_MODE_DEFAULT
393// LOWER byte for associated stations
394// UPPER byte for overlapping stations
395// each byte will have the following info
396// bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
397// OBSS RIFS LSIG_TXOP NON_GF HT20 FROM_11G FROM_11B FROM_11A
398// bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
399// OBSS RIFS LSIG_TXOP NON_GF HT_20 FROM_11G FROM_11B FROM_11A
400#define CFG_AP_PROTECTION_MODE_NAME "gApProtection"
401#define CFG_AP_PROTECTION_MODE_MIN ( 0x0 )
402#define CFG_AP_PROTECTION_MODE_MAX ( 0xFFFF )
403#define CFG_AP_PROTECTION_MODE_DEFAULT ( 0xBFFF )
404
405#define CFG_AP_OBSS_PROTECTION_MODE_NAME "gEnableApOBSSProt"
406#define CFG_AP_OBSS_PROTECTION_MODE_MIN ( 0 )
407#define CFG_AP_OBSS_PROTECTION_MODE_MAX ( 1 )
408#define CFG_AP_OBSS_PROTECTION_MODE_DEFAULT ( 0 )
409
410#define CFG_AP_STA_SECURITY_SEPERATION_NAME "gDisableIntraBssFwd"
411#define CFG_AP_STA_SECURITY_SEPERATION_MIN ( 0 )
412#define CFG_AP_STA_SECURITY_SEPERATION_MAX ( 1 )
413#define CFG_AP_STA_SECURITY_SEPERATION_DEFAULT ( 0 )
414
415#define CFG_AP_LISTEN_MODE_NAME "gEnablePhyAgcListenMode"
416#define CFG_AP_LISTEN_MODE_MIN (0)
417#define CFG_AP_LISTEN_MODE_MAX (128)
418#define CFG_AP_LISTEN_MODE_DEFAULT (128)
419
420#define CFG_AP_AUTO_SHUT_OFF "gAPAutoShutOff"
421#define CFG_AP_AUTO_SHUT_OFF_MIN ( 0 )
422#define CFG_AP_AUTO_SHUT_OFF_MAX ( 4294967295UL )
423#define CFG_AP_AUTO_SHUT_OFF_DEFAULT ( 0 )
424
425#define CFG_FRAMES_PROCESSING_TH_MODE_NAME "gMinFramesProcThres"
426#define CFG_FRAMES_PROCESSING_TH_MIN ( 0 )
427#define CFG_FRAMES_PROCESSING_TH_MAX ( 39 )
428#define CFG_FRAMES_PROCESSING_TH_DEFAULT ( 0 )
429
430#define CFG_SAP_CHANNEL_SELECT_START_CHANNEL "gAPChannelSelectStartChannel"
431#define CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN (0)
432#define CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX (0xFF)
433#define CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT (0)
434
435#define CFG_SAP_CHANNEL_SELECT_END_CHANNEL "gAPChannelSelectEndChannel"
436#define CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN (0)
437#define CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX (0xFF)
438#define CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT (11)
439
440#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND "gAPChannelSelectOperatingBand"
441#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN (0)
442#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX (0x4)
443#define CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT (0)
444
445#define CFG_DISABLE_PACKET_FILTER "gDisablePacketFilter"
446#define CFG_DISABLE_PACKET_FILTER_MIN (0)
447#define CFG_DISABLE_PACKET_FILTER_MAX (0x1)
448#define CFG_DISABLE_PACKET_FILTER_DEFAULT (0)
449
450#define CFG_ENABLE_LTE_COEX "gEnableLTECoex"
451#define CFG_ENABLE_LTE_COEX_MIN ( 0 )
452#define CFG_ENABLE_LTE_COEX_MAX ( 1 )
453#define CFG_ENABLE_LTE_COEX_DEFAULT ( 0 )
454
455#define CFG_AP_KEEP_ALIVE_PERIOD_NAME "gApKeepAlivePeriod"
456#define CFG_AP_KEEP_ALIVE_PERIOD_MIN ( 0 )
457#define CFG_AP_KEEP_ALIVE_PERIOD_MAX ( 255)
458#define CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT ( 20 )
459
460#define CFG_GO_KEEP_ALIVE_PERIOD_NAME "gGoKeepAlivePeriod"
461#define CFG_GO_KEEP_ALIVE_PERIOD_MIN ( 0 )
462#define CFG_GO_KEEP_ALIVE_PERIOD_MAX ( 255)
463#define CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT ( 20 )
464
465#endif
466
467#define CFG_BEACON_INTERVAL_NAME "gBeaconInterval"
468#define CFG_BEACON_INTERVAL_MIN WNI_CFG_BEACON_INTERVAL_STAMIN
469#define CFG_BEACON_INTERVAL_MAX WNI_CFG_BEACON_INTERVAL_STAMAX
470#define CFG_BEACON_INTERVAL_DEFAULT WNI_CFG_BEACON_INTERVAL_STADEF
471
472//Handoff Configuration Parameters
473#define CFG_ENABLE_HANDOFF_NAME "gEnableHandoff"
474#define CFG_ENABLE_HANDOFF_MIN ( 0 )
475#define CFG_ENABLE_HANDOFF_MAX ( 1 )
476#define CFG_ENABLE_HANDOFF_DEFAULT ( 1 )
477
478
479//Additional Handoff related Parameters
480#define CFG_ENABLE_IDLE_SCAN_NAME "gEnableIdleScan"
481#define CFG_ENABLE_IDLE_SCAN_MIN ( 0 )
482#define CFG_ENABLE_IDLE_SCAN_MAX ( 1 )
483#define CFG_ENABLE_IDLE_SCAN_DEFAULT ( 1 )
484
485#define CFG_ROAMING_TIME_NAME "gRoamingTime"
486#define CFG_ROAMING_TIME_MIN ( 0 )
487#define CFG_ROAMING_TIME_MAX ( 4294967UL )
488#define CFG_ROAMING_TIME_DEFAULT ( 10 )
489
490#define CFG_VCC_RSSI_TRIGGER_NAME "gVccRssiTrigger"
491#define CFG_VCC_RSSI_TRIGGER_MIN ( 0 )
492#define CFG_VCC_RSSI_TRIGGER_MAX ( 80 )
493#define CFG_VCC_RSSI_TRIGGER_DEFAULT ( 80 )
494
495#define CFG_VCC_UL_MAC_LOSS_THRESH_NAME "gVccUlMacLossThresh"
496#define CFG_VCC_UL_MAC_LOSS_THRESH_MIN ( 0 )
497#define CFG_VCC_UL_MAC_LOSS_THRESH_MAX ( 9 )
498#define CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT ( 9 )
499
500#define CFG_PASSIVE_MAX_CHANNEL_TIME_NAME "gPassiveMaxChannelTime"
501#define CFG_PASSIVE_MAX_CHANNEL_TIME_MIN ( 0 )
502#define CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ( 10000 )
503#define CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT ( 110 )
504
505#define CFG_PASSIVE_MIN_CHANNEL_TIME_NAME "gPassiveMinChannelTime"
506#define CFG_PASSIVE_MIN_CHANNEL_TIME_MIN ( 0 )
507#define CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ( 10000 )
508#define CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT ( 60 )
509
510#define CFG_ACTIVE_MAX_CHANNEL_TIME_NAME "gActiveMaxChannelTime"
511#define CFG_ACTIVE_MAX_CHANNEL_TIME_MIN ( 0 )
512#define CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ( 10000 )
513#define CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT ( 40 )
514
515#define CFG_ACTIVE_MIN_CHANNEL_TIME_NAME "gActiveMinChannelTime"
516#define CFG_ACTIVE_MIN_CHANNEL_TIME_MIN ( 0 )
517#define CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ( 10000 )
518#define CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT ( 20 )
519
520#define CFG_MAX_PS_POLL_NAME "gMaxPsPoll"
521#define CFG_MAX_PS_POLL_MIN WNI_CFG_MAX_PS_POLL_STAMIN
522#define CFG_MAX_PS_POLL_MAX WNI_CFG_MAX_PS_POLL_STAMAX
523#define CFG_MAX_PS_POLL_DEFAULT WNI_CFG_MAX_PS_POLL_STADEF
524
525#define CFG_MAX_TX_POWER_NAME "gTxPowerCap"
526#define CFG_MAX_TX_POWER_MIN WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMIN
527#define CFG_MAX_TX_POWER_MAX WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
528//Not to use CFG default because if no registry setting, this is ignored by SME.
529#define CFG_MAX_TX_POWER_DEFAULT WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
530
531
532#define CFG_LOW_GAIN_OVERRIDE_NAME "gLowGainOverride"
533#define CFG_LOW_GAIN_OVERRIDE_MIN WNI_CFG_LOW_GAIN_OVERRIDE_STAMIN
534#define CFG_LOW_GAIN_OVERRIDE_MAX WNI_CFG_LOW_GAIN_OVERRIDE_STAMAX
535#define CFG_LOW_GAIN_OVERRIDE_DEFAULT WNI_CFG_LOW_GAIN_OVERRIDE_STADEF
536
537#define CFG_RSSI_FILTER_PERIOD_NAME "gRssiFilterPeriod"
538#define CFG_RSSI_FILTER_PERIOD_MIN WNI_CFG_RSSI_FILTER_PERIOD_STAMIN
539#define CFG_RSSI_FILTER_PERIOD_MAX WNI_CFG_RSSI_FILTER_PERIOD_STAMAX
540// Increased this value for Non-CCX AP. This is cause FW RSSI Monitoring
541// the consumer of this value is ON by default. So to impact power numbers
542// we are setting this to a high value.
543#define CFG_RSSI_FILTER_PERIOD_DEFAULT WNI_CFG_RSSI_FILTER_PERIOD_STADEF
544
545#define CFG_IGNORE_DTIM_NAME "gIgnoreDtim"
546#define CFG_IGNORE_DTIM_MIN WNI_CFG_IGNORE_DTIM_STAMIN
547#define CFG_IGNORE_DTIM_MAX WNI_CFG_IGNORE_DTIM_STAMAX
548#define CFG_IGNORE_DTIM_DEFAULT WNI_CFG_IGNORE_DTIM_STADEF
549
550#define CFG_RX_ANT_CONFIGURATION_NAME "gNumRxAnt"
551#define CFG_RX_ANT_CONFIGURATION_NAME_MIN ( 1 )
552#define CFG_RX_ANT_CONFIGURATION_NAME_MAX ( 2 )
553#define CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT ( 2 )
554
555#define CFG_FW_HEART_BEAT_MONITORING_NAME "gEnableFWHeartBeatMonitoring"
556#define CFG_FW_HEART_BEAT_MONITORING_MIN ( 0 )
557#define CFG_FW_HEART_BEAT_MONITORING_MAX ( 1 )
558#define CFG_FW_HEART_BEAT_MONITORING_DEFAULT ( 1 )
559
560#define CFG_FW_BEACON_FILTERING_NAME "gEnableFWBeaconFiltering"
561#define CFG_FW_BEACON_FILTERING_MIN ( 0 )
562#define CFG_FW_BEACON_FILTERING_MAX ( 1 )
563#define CFG_FW_BEACON_FILTERING_DEFAULT ( 1 )
564
565#define CFG_FW_RSSI_MONITORING_NAME "gEnableFWRssiMonitoring"
566#define CFG_FW_RSSI_MONITORING_MIN ( 0 )
567#define CFG_FW_RSSI_MONITORING_MAX ( 1 )
568#define CFG_FW_RSSI_MONITORING_DEFAULT WNI_CFG_PS_ENABLE_RSSI_MONITOR_STADEF
569
570#define CFG_DATA_INACTIVITY_TIMEOUT_NAME "gDataInactivityTimeout"
571#define CFG_DATA_INACTIVITY_TIMEOUT_MIN ( 1 )
572#define CFG_DATA_INACTIVITY_TIMEOUT_MAX ( 255 )
573#define CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT ( 20 )
574
575#define CFG_NTH_BEACON_FILTER_NAME "gNthBeaconFilter"
576#define CFG_NTH_BEACON_FILTER_MIN ( WNI_CFG_NTH_BEACON_FILTER_STAMIN )
577#define CFG_NTH_BEACON_FILTER_MAX ( WNI_CFG_NTH_BEACON_FILTER_STAMAX )
578#define CFG_NTH_BEACON_FILTER_DEFAULT ( WNI_CFG_NTH_BEACON_FILTER_STADEF )
579
580#define CFG_RF_SETTLING_TIME_CLK_NAME "rfSettlingTimeUs"
581#define CFG_RF_SETTLING_TIME_CLK_MIN ( 0 )
582#define CFG_RF_SETTLING_TIME_CLK_MAX ( 60000 )
583#define CFG_RF_SETTLING_TIME_CLK_DEFAULT ( 1500 )
584
585#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME "gStaKeepAlivePeriod"
586#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN ( 0 )
587#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX ( 65535)
588#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT ( 0 )
589
590//WMM configuration
591#define CFG_QOS_WMM_MODE_NAME "WmmIsEnabled"
592#define CFG_QOS_WMM_MODE_MIN (0)
593#define CFG_QOS_WMM_MODE_MAX (2) //HDD_WMM_NO_QOS
594#define CFG_QOS_WMM_MODE_DEFAULT (0) //HDD_WMM_AUTO
595
596#define CFG_QOS_WMM_80211E_ENABLED_NAME "80211eIsEnabled"
597#define CFG_QOS_WMM_80211E_ENABLED_MIN (0)
598#define CFG_QOS_WMM_80211E_ENABLED_MAX (1)
599#define CFG_QOS_WMM_80211E_ENABLED_DEFAULT (0)
600
601#define CFG_QOS_WMM_UAPSD_MASK_NAME "UapsdMask" // ACs to setup U-APSD for at assoc
602#define CFG_QOS_WMM_UAPSD_MASK_MIN (0x00)
603#define CFG_QOS_WMM_UAPSD_MASK_MAX (0xFF)
604#define CFG_QOS_WMM_UAPSD_MASK_DEFAULT (0x00)
605
606#define CFG_QOS_WMM_MAX_SP_LEN_NAME "MaxSpLength"
607#define CFG_QOS_WMM_MAX_SP_LEN_MIN (0)
608#define CFG_QOS_WMM_MAX_SP_LEN_MAX (3)
609#define CFG_QOS_WMM_MAX_SP_LEN_DEFAULT (0)
610
611#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME "InfraUapsdVoSrvIntv"
612#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN (0)
613#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX (4294967295UL )
614#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT (20)
615
616#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME "InfraUapsdVoSuspIntv"
617#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN (0)
618#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX (4294967295UL )
619#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT (2000)
620
621#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME "InfraUapsdViSrvIntv"
622#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN (0)
623#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX (4294967295UL)
624#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT (300)
625
626#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME "InfraUapsdViSuspIntv"
627#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN (0)
628#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX (4294967295UL)
629#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT (2000)
630
631#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME "InfraUapsdBeSrvIntv"
632#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN (0)
633#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX (4294967295UL)
634#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT (300)
635
636#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME "InfraUapsdBeSuspIntv"
637#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN (0)
638#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX (4294967295UL)
639#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT (2000)
640
641#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME "InfraUapsdBkSrvIntv"
642#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN (0)
643#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX (4294967295UL)
644#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT (300)
645
646#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME "InfraUapsdBkSuspIntv"
647#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN (0)
648#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX (4294967295UL)
649#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT (2000)
650
651#ifdef FEATURE_WLAN_CCX
652#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME "InfraInactivityInterval"
653#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN (0)
654#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX (4294967295UL)
655#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT (0) //disabled
656
657#define CFG_CCX_FEATURE_ENABLED_NAME "CcxEnabled"
658#define CFG_CCX_FEATURE_ENABLED_MIN (0)
659#define CFG_CCX_FEATURE_ENABLED_MAX (1)
660#define CFG_CCX_FEATURE_ENABLED_DEFAULT (0) //disabled
661#endif // FEATURE_WLAN_CCX
662
Jeff Johnson04dd8a82012-06-29 20:41:40 -0700663#ifdef FEATURE_WLAN_LFR
664#define CFG_LFR_FEATURE_ENABLED_NAME "FastRoamEnabled"
665#define CFG_LFR_FEATURE_ENABLED_MIN (0)
666#define CFG_LFR_FEATURE_ENABLED_MAX (1)
667#define CFG_LFR_FEATURE_ENABLED_DEFAULT (0) //disabled
668#endif // FEATURE_WLAN_LFR
669
670#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -0700671#define CFG_FT_RSSI_FILTER_PERIOD_NAME "FTRssiFilterPeriod"
672#define CFG_FT_RSSI_FILTER_PERIOD_MIN WNI_CFG_FT_RSSI_FILTER_PERIOD_STAMIN
673#define CFG_FT_RSSI_FILTER_PERIOD_MAX WNI_CFG_FT_RSSI_FILTER_PERIOD_STAMAX
674#define CFG_FT_RSSI_FILTER_PERIOD_DEFAULT WNI_CFG_FT_RSSI_FILTER_PERIOD_STADEF
675
676// This flag will control fasttransition in case of 11r and ccx.
677// Basically with this the whole neighbor roam, pre-auth, reassoc
678// can be turned ON/OFF.
679// With this turned OFF 11r will completely not work.
680// For 11r this flag has to be ON.
681// For CCX fastroam will not work.
682#define CFG_FAST_TRANSITION_ENABLED_NAME "FastTransitionEnabled"
683#define CFG_FAST_TRANSITION_ENABLED_NAME_MIN (0)
684#define CFG_FAST_TRANSITION_ENABLED_NAME_MAX (1)
685#define CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT (0) //disabled
Jeff Johnson43971f52012-07-17 12:26:56 -0700686
687/* This parameter is used to decide whether to Roam or not.
688 * AP1 is the currently associated AP and AP2 is chosen for roaming.
689 * The Roaming will happen only if AP2 has better Signal Quality and it has a RSSI better than AP1
690 * in terms of RoamRssiDiff,and RoamRssiDiff is the number of units (typically measured in dB) AP2
691 * is better than AP1.
692 * This check is not done if the value is Zero */
693#define CFG_ROAM_RSSI_DIFF_NAME "RoamRssiDiff"
694#define CFG_ROAM_RSSI_DIFF_MIN (0)
695#define CFG_ROAM_RSSI_DIFF_MAX (125)
696#define CFG_ROAM_RSSI_DIFF_DEFAULT (0)
697#endif /* (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR) */
Jeff Johnson295189b2012-06-20 16:38:30 -0700698
699#define CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME "PktClassificationBasis" // DSCP or 802.1Q
700#define CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN (0)
701#define CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX (1)
702#define CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT (0) //DSCP
703
704/* default TSPEC parameters for AC_VO */
705#define CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME "InfraDirAcVo"
706#define CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN (0)
707#define CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX (3)
708#define CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT (3) //WLAN_QCT_CUST_WMM_TSDIR_BOTH
709
710#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME "InfraNomMsduSizeAcVo"
711#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN (0x0)
712#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX (0xFFFF)
713#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT (0x80D0)
714
715#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME "InfraMeanDataRateAcVo"
716#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN (0x0)
717#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX (0xFFFFFFFF)
718#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT (0x14500)
719
720#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME "InfraMinPhyRateAcVo"
721#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN (0x0)
722#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX (0xFFFFFFFF)
723#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT (0x5B8D80)
724
725#define CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME "InfraSbaAcVo"
726#define CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN (0x2001)
727#define CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX (0xFFFF)
728#define CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT (0x2001)
729
730/* default TSPEC parameters for AC_VI */
731#define CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME "InfraDirAcVi"
732#define CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN (0)
733#define CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX (3)
734#define CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT (3) //WLAN_QCT_CUST_WMM_TSDIR_BOTH
735
736#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME "InfraNomMsduSizeAcVi"
737#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN (0x0)
738#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX (0xFFFF)
739#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT (0x85DC)
740
741#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME "InfraMeanDataRateAcVi"
742#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN (0x0)
743#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX (0xFFFFFFFF)
744#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT (0x57E40)
745
746#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME "InfraMinPhyRateAcVi"
747#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN (0x0)
748#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX (0xFFFFFFFF)
749#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT (0x5B8D80)
750
751#define CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME "InfraSbaAcVi"
752#define CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN (0x2001)
753#define CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX (0xFFFF)
754#define CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT (0x2001)
755
756/* default TSPEC parameters for AC_BE*/
757#define CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME "InfraDirAcBe"
758#define CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN (0)
759#define CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX (3)
760#define CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT (3) //WLAN_QCT_CUST_WMM_TSDIR_BOTH
761
762#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME "InfraNomMsduSizeAcBe"
763#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN (0x0)
764#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX (0xFFFF)
765#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT (0x85DC)
766
767#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME "InfraMeanDataRateAcBe"
768#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN (0x0)
769#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX (0xFFFFFFFF)
770#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT (0x493E0)
771
772#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME "InfraMinPhyRateAcBe"
773#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN (0x0)
774#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX (0xFFFFFFFF)
775#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT (0x5B8D80)
776
777#define CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME "InfraSbaAcBe"
778#define CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN (0x2001)
779#define CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX (0xFFFF)
780#define CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT (0x2001)
781
782/* default TSPEC parameters for AC_Bk*/
783#define CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME "InfraDirAcBk"
784#define CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN (0)
785#define CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX (3)
786#define CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT (3) //WLAN_QCT_CUST_WMM_TSDIR_BOTH
787
788#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME "InfraNomMsduSizeAcBk"
789#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN (0x0)
790#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX (0xFFFF)
791#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT (0x85DC)
792
793#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME "InfraMeanDataRateAcBk"
794#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN (0x0)
795#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX (0xFFFFFFFF)
796#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT (0x493E0)
797
798#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME "InfraMinPhyRateAcBk"
799#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN (0x0)
800#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX (0xFFFFFFFF)
801#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT (0x5B8D80)
802
803#define CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME "InfraSbaAcBk"
804#define CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN (0x2001)
805#define CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX (0xFFFF)
806#define CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT (0x2001)
807
808// TL configuration
809#define CFG_TL_WFQ_BK_WEIGHT_NAME "WfqBkWeight"
810#define CFG_TL_WFQ_BK_WEIGHT_MIN 1
811#define CFG_TL_WFQ_BK_WEIGHT_MAX 0xFF
812#define CFG_TL_WFQ_BK_WEIGHT_DEFAULT 1
813
814#define CFG_TL_WFQ_BE_WEIGHT_NAME "WfqBeWeight"
815#define CFG_TL_WFQ_BE_WEIGHT_MIN 1
816#define CFG_TL_WFQ_BE_WEIGHT_MAX 0xFF
817#define CFG_TL_WFQ_BE_WEIGHT_DEFAULT 3
818
819#define CFG_TL_WFQ_VI_WEIGHT_NAME "WfqViWeight"
820#define CFG_TL_WFQ_VI_WEIGHT_MIN 1
821#define CFG_TL_WFQ_VI_WEIGHT_MAX 0xFF
822#define CFG_TL_WFQ_VI_WEIGHT_DEFAULT 5
823
824#define CFG_TL_WFQ_VO_WEIGHT_NAME "WfqVoWeight"
825#define CFG_TL_WFQ_VO_WEIGHT_MIN 1
826#define CFG_TL_WFQ_VO_WEIGHT_MAX 0xFF
827#define CFG_TL_WFQ_VO_WEIGHT_DEFAULT 7
828
829#define CFG_TL_DELAYED_TRGR_FRM_INT_NAME "DelayedTriggerFrmInt"
830#define CFG_TL_DELAYED_TRGR_FRM_INT_MIN 1
831#define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL)
832#define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000
833
834#if defined WLAN_FEATURE_VOWIFI
835#define CFG_RRM_ENABLE_NAME "gRrmEnable"
836#define CFG_RRM_ENABLE_MIN (0)
837#define CFG_RRM_ENABLE_MAX (1)
838#define CFG_RRM_ENABLE_DEFAULT (0)
839
840#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME "gRrmOperChanMax" //section 11.10.3 IEEE std. 802.11k-2008
841#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN (0) //Maxduration = 2^(maxDuration - 4) * bcnIntvl.
842#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX (8)
843#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT (3) //max duration = 2^-1 * bcnIntvl (50% of bcn intvl)
844
845#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME "gRrmNonOperChanMax" //Same as above.
846#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN (0)
847#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX (8)
848#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT (3)
849
850#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME "gRrmRandnIntvl"
851#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN (10)
852#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX (100)
853#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT (100)
854#endif
855
856#define CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME "ImplicitQosIsEnabled"
857#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN (0)
858#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX (1)
859#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (1)
860
861#define CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME "19p2MhzPmicClkEnabled"
862#define CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN (0)
863#define CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX (1)
864#define CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT (0)
865
866#define CFG_ENABLE_LOGP_NAME "gEnableLogp"
867#define CFG_ENABLE_LOGP_MIN ( 0 )
868#define CFG_ENABLE_LOGP_MAX ( 1 )
869#define CFG_ENABLE_LOGP_DEFAULT ( 0 )
870
871#define CFG_BTC_EXECUTION_MODE_NAME "BtcExecutionMode"
872#define CFG_BTC_EXECUTION_MODE_MIN ( 0 )
873#define CFG_BTC_EXECUTION_MODE_MAX ( 5 )
874#define CFG_BTC_EXECUTION_MODE_DEFAULT ( 0 )
875
876#define CFG_BTC_DHCP_PROTECTION_NAME "BtcConsBtSlotToBlockDuringDhcp"
877#define CFG_BTC_DHCP_PROTECTION_MIN ( 0 )
878#define CFG_BTC_DHCP_PROTECTION_MAX ( 0xFF )
879#define CFG_BTC_DHCP_PROTECTION_DEFAULT ( 0 )
880
881#define CFG_BTC_A2DP_DHCP_PROTECTION_NAME "BtcA2DPDhcpProtectLevel"
882#define CFG_BTC_A2DP_DHCP_PROTECTION_MIN ( 0 )
883#define CFG_BTC_A2DP_DHCP_PROTECTION_MAX ( 0xFF )
884#define CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT ( 7 )
885
886#if defined WLAN_FEATURE_VOWIFI_11R
887#define CFG_FT_ENABLE_NAME "gFtEnabled"
888#define CFG_FT_ENABLE_MIN (0)
889#define CFG_FT_ENABLE_MAX (1)
890#define CFG_FT_ENABLE_DEFAULT (0)
891
892#define CFG_FT_RESOURCE_REQ_NAME "gFTResourceReqSupported"
893#define CFG_FT_RESOURCE_REQ_MIN (0)
894#define CFG_FT_RESOURCE_REQ_MAX (1)
895#define CFG_FT_RESOURCE_REQ_DEFAULT (0)
896#endif
897
898#define CFG_TELE_BCN_TRANS_LI_NAME "telescopicBeaconTransListenInterval"
899#define CFG_TELE_BCN_TRANS_LI_MIN ( 0 )
900#define CFG_TELE_BCN_TRANS_LI_MAX ( 7 )
901#define CFG_TELE_BCN_TRANS_LI_DEFAULT ( 3 )
902
903#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME "telescopicBeaconTransListenIntervalNumIdleBcns"
904#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN ( 5 )
905#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ( 255 )
906#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT ( 10 )
907
908#define CFG_TELE_BCN_MAX_LI_NAME "telescopicBeaconMaxListenInterval"
909#define CFG_TELE_BCN_MAX_LI_MIN ( 0 )
910#define CFG_TELE_BCN_MAX_LI_MAX ( 7 )
911#define CFG_TELE_BCN_MAX_LI_DEFAULT ( 5 )
912
913#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME "telescopicBeaconMaxListenIntervalNumIdleBcns"
914#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN ( 5 )
915#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ( 255 )
916#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT ( 15 )
917
918#define CFG_BCN_EARLY_TERM_WAKE_NAME "beaconEarlyTerminationWakeInterval"
919#define CFG_BCN_EARLY_TERM_WAKE_MIN ( 2 )
920#define CFG_BCN_EARLY_TERM_WAKE_MAX ( 255 )
921#define CFG_BCN_EARLY_TERM_WAKE_DEFAULT ( 3 )
922
923#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
924#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME "gNeighborScanTimerPeriod"
925#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN (0)
926#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX (1000)
927#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT (200)
928
929#define CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME "gNeighborReassocThreshold"
930#define CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN (10)
931#define CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX (125)
932#define CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT (125)
933
934#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME "gNeighborLookupThreshold"
935#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN (10)
936#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX (120)
937#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT (120)
938
939#define CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME "gNeighborScanChannelList"
940#define CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT "1,6"
941
942#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME "gNeighborScanChannelMinTime"
943#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN (10)
944#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX (40)
945#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT (20)
946
947#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME "gNeighborScanChannelMaxTime"
948#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN (10)
949#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX (40)
950#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT (30)
951
952#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME "gMaxNeighborReqTries"
953#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN (1)
954#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX (4)
955#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT (1)
956
957
958#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME "gNeighborScanRefreshPeriod"
959#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN (1000)
960#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX (60000)
961#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT (20000)
962#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
963
964#define CFG_QOS_WMM_BURST_SIZE_DEFN_NAME "burstSizeDefinition"
965#define CFG_QOS_WMM_BURST_SIZE_DEFN_MIN (0)
966#define CFG_QOS_WMM_BURST_SIZE_DEFN_MAX (1)
967#define CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT (0)
968
969#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME "tsInfoAckPolicy"
970#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN (0x00)
971#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX (0x01)
972#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT (0x00)
973
974#define CFG_SINGLE_TID_RC_NAME "SingleTIDRC"
975#define CFG_SINGLE_TID_RC_MIN (0) // Seperate replay counter for all TID
976#define CFG_SINGLE_TID_RC_MAX (1) // Single replay counter for all TID
977#define CFG_SINGLE_TID_RC_DEFAULT (1)
978#define CFG_MCAST_BCAST_FILTER_SETTING_NAME "McastBcastFilter"
979#define CFG_MCAST_BCAST_FILTER_SETTING_MIN (0)
980#define CFG_MCAST_BCAST_FILTER_SETTING_MAX (3)
981#define CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT (0)
982
983#define CFG_DYNAMIC_PSPOLL_VALUE_NAME "gDynamicPSPollvalue"
984#define CFG_DYNAMIC_PSPOLL_VALUE_MIN (0)
985#define CFG_DYNAMIC_PSPOLL_VALUE_MAX (255)
986#define CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT (0)
987
988#define CFG_TELE_BCN_WAKEUP_EN_NAME "gTelescopicBeaconWakeupEn"
989#define CFG_TELE_BCN_WAKEUP_EN_MIN (0)
990#define CFG_TELE_BCN_WAKEUP_EN_MAX (1)
991#define CFG_TELE_BCN_WAKEUP_EN_DEFAULT (0)
992
993#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME "gAddTSWhenACMIsOff"
994#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN (0)
995#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX (1) //Send AddTs even when ACM is not set for the AC
996#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT (0)
997
998
999#define CFG_VALIDATE_SCAN_LIST_NAME "gValidateScanList"
1000#define CFG_VALIDATE_SCAN_LIST_MIN (0)
1001#define CFG_VALIDATE_SCAN_LIST_MAX (1)
1002#define CFG_VALIDATE_SCAN_LIST_DEFAULT (0)
1003
1004#define CFG_NULLDATA_AP_RESP_TIMEOUT_NAME "gNullDataApRespTimeout"
1005#define CFG_NULLDATA_AP_RESP_TIMEOUT_MIN ( WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMIN )
1006#define CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ( WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMAX )
1007#define CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT ( WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STADEF )
1008
1009#define CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME "gApDataAvailPollInterval"
1010#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN ( WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMIN )
1011#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ( WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMAX )
1012#define CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT ( WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STADEF )
1013
1014#define CFG_ENABLE_HOST_ARPOFFLOAD_NAME "hostArpOffload"
1015#define CFG_ENABLE_HOST_ARPOFFLOAD_MIN ( 0 )
1016#define CFG_ENABLE_HOST_ARPOFFLOAD_MAX ( 1 )
1017#define CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT ( 0 )
1018
1019#define CFG_ENABLE_BTAMP_NAME "gEnableBtAmp"
1020#define CFG_ENABLE_BTAMP_MIN ( 0 )
1021#define CFG_ENABLE_BTAMP_MAX ( 1 )
1022#define CFG_ENABLE_BTAMP_DEFAULT ( 0 )
1023
1024#ifdef WLAN_BTAMP_FEATURE
1025#define CFG_BT_AMP_PREFERRED_CHANNEL_NAME "BtAmpPreferredChannel"
1026#define CFG_BT_AMP_PREFERRED_CHANNEL_MIN (1)
1027#define CFG_BT_AMP_PREFERRED_CHANNEL_MAX (11)
1028#define CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT (1)
1029#endif //WLAN_BTAMP_FEATURE
1030
1031#define CFG_BAND_CAPABILITY_NAME "BandCapability"
1032#define CFG_BAND_CAPABILITY_MIN (0)
1033#define CFG_BAND_CAPABILITY_MAX (2)
1034#define CFG_BAND_CAPABILITY_DEFAULT (1)
1035
1036#define CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME "enableBeaconEarlyTermination"
1037#define CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN ( 0 )
1038#define CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ( 1 )
1039#define CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT ( 0 )
1040
1041#define CFG_ENABLE_CLOSE_LOOP_NAME "gEnableCloseLoop"
1042#define CFG_ENABLE_CLOSE_LOOP_MIN WNI_CFG_FIXED_RATE_STAMIN
1043#define CFG_ENABLE_CLOSE_LOOP_MAX WNI_CFG_FIXED_RATE_STAMAX
1044#define CFG_ENABLE_CLOSE_LOOP_DEFAULT WNI_CFG_FIXED_RATE_STADEF
1045
1046#define CFG_ENABLE_BYPASS_11D_NAME "gEnableBypass11d"
1047#define CFG_ENABLE_BYPASS_11D_MIN ( 0 )
1048#define CFG_ENABLE_BYPASS_11D_MAX ( 1 )
1049#define CFG_ENABLE_BYPASS_11D_DEFAULT ( 0 )
1050
1051#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
1052#define CFG_ENABLE_DFS_CHNL_SCAN_MIN ( 0 )
1053#define CFG_ENABLE_DFS_CHNL_SCAN_MAX ( 1 )
1054#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT ( 1 )
1055
1056typedef enum
1057{
1058 eHDD_LINK_SPEED_REPORT_ACTUAL = 0,
1059 eHDD_LINK_SPEED_REPORT_MAX = 1,
1060 eHDD_LINK_SPEED_REPORT_MAX_SCALED = 2,
1061}eHddLinkSpeedReportType;
Jeff Johnsone7245742012-09-05 17:12:55 -07001062#ifdef WLAN_FEATURE_11AC
1063#define CFG_VHT_CHANNEL_WIDTH "gVhtChannelWidth"
1064#define CFG_VHT_CHANNEL_WIDTH_MIN ( 0 )
1065#define CFG_VHT_CHANNEL_WIDTH_MAX ( 2 )
1066#define CFG_VHT_CHANNEL_WIDTH_DEFAULT ( 2 )
1067
1068#define CFG_VHT_ENABLE_RX_MCS_8_9 "gVhtRxMCS"
1069#define CFG_VHT_ENABLE_RX_MCS_8_9_MIN ( 0 )
1070#define CFG_VHT_ENABLE_RX_MCS_8_9_MAX ( 2 )
1071#define CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT ( 0 )
1072
1073#define CFG_VHT_ENABLE_TX_MCS_8_9 "gVhtTxMCS"
1074#define CFG_VHT_ENABLE_TX_MCS_8_9_MIN ( 0 )
1075#define CFG_VHT_ENABLE_TX_MCS_8_9_MAX ( 2 )
1076#define CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT ( 0 )
1077
1078#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001079
1080#define CFG_REPORT_MAX_LINK_SPEED "gReportMaxLinkSpeed"
1081#define CFG_REPORT_MAX_LINK_SPEED_MIN ( eHDD_LINK_SPEED_REPORT_ACTUAL )
1082#define CFG_REPORT_MAX_LINK_SPEED_MAX ( eHDD_LINK_SPEED_REPORT_MAX_SCALED )
1083#define CFG_REPORT_MAX_LINK_SPEED_DEFAULT ( eHDD_LINK_SPEED_REPORT_ACTUAL )
1084
1085/*
1086 * RSSI Thresholds
1087 * Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
1088 */
1089#define CFG_LINK_SPEED_RSSI_HIGH "gLinkSpeedRssiHigh"
1090#define CFG_LINK_SPEED_RSSI_HIGH_MIN ( -127 )
1091#define CFG_LINK_SPEED_RSSI_HIGH_MAX ( 0 )
1092#define CFG_LINK_SPEED_RSSI_HIGH_DEFAULT ( -55 )
1093
1094#define CFG_LINK_SPEED_RSSI_LOW "gLinkSpeedRssiLow"
1095#define CFG_LINK_SPEED_RSSI_LOW_MIN ( -127 )
1096#define CFG_LINK_SPEED_RSSI_LOW_MAX ( 0 )
1097#define CFG_LINK_SPEED_RSSI_LOW_DEFAULT ( -65 )
1098
1099#ifdef WLAN_FEATURE_P2P
1100#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME "isP2pDeviceAddrAdministrated"
1101#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN ( 0 )
1102#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ( 1 )
1103#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT ( 0 )
1104#endif
1105
1106#ifdef WLAN_FEATURE_PACKET_FILTERING
1107#define CFG_MC_ADDR_LIST_FILTER_NAME "isMcAddrListFilter"
1108#define CFG_MC_ADDR_LIST_FILTER_MIN ( 0 )
1109#define CFG_MC_ADDR_LIST_FILTER_MAX ( 1 )
1110#define CFG_MC_ADDR_LIST_FILTER_DEFAULT ( 0 )
1111#endif
1112
1113/*
1114 * WDI Trace Enable Control
1115 * Notes:
1116 * the MIN/MAX/DEFAULT values apply for all modules
1117 * the DEFAULT value is outside the valid range. if the DEFAULT
1118 * value is not overridden, then no change will be made to the
1119 * "built in" default values compiled into the code
1120 * values are a bitmap indicating which log levels are to enabled
1121 * (must match order of wpt_tracelevel enumerations)
1122 * 00000001 FATAL
1123 * 00000010 ERROR
1124 * 00000100 WARN
1125 * 00001000 INFO
1126 * 00010000 INFO HIGH
1127 * 00100000 INFO MED
1128 * 01000000 INFO LOW
1129 *
1130 * hence a value of 0x7F would set all bits (enable all logs)
1131 */
1132#define CFG_WDI_TRACE_ENABLE_DAL_NAME "wdiTraceEnableDAL"
1133#define CFG_WDI_TRACE_ENABLE_CTL_NAME "wdiTraceEnableCTL"
1134#define CFG_WDI_TRACE_ENABLE_DAT_NAME "wdiTraceEnableDAT"
1135#define CFG_WDI_TRACE_ENABLE_PAL_NAME "wdiTraceEnablePAL"
1136#define CFG_WDI_TRACE_ENABLE_MIN (0)
1137#define CFG_WDI_TRACE_ENABLE_MAX (0x7f)
1138#define CFG_WDI_TRACE_ENABLE_DEFAULT (0xffffffff)
1139
1140#define HDD_MCASTBCASTFILTER_FILTER_NONE 0x00
1141#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST 0x01
1142#define HDD_MCASTBCASTFILTER_FILTER_ALL_BROADCAST 0x02
1143#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST_BROADCAST 0x03
1144
1145/*
1146 *
1147 * SAP Auto Channel Enable
1148 * Notes:
1149 * Auto Channel selection for SAP configuration
1150 * 0 - Disable Auto Channel
1151 * 1 - Enable auto channel selection in auto mode.
1152 * When enable auto channel, channel provided by Supplicant will be ignored.
1153 *
1154 * Default configuration: Auto channel is disabled.
1155 */
1156
1157#define CFG_SAP_AUTO_CHANNEL_SELECTION_NAME "gApAutoChannelSelection"
1158
1159#define CFG_SAP_AUTO_CHANNEL_SELECTION_MIN ( 0 )
1160#define CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ( 1 )
1161#define CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT ( 0 )
1162
1163
1164/*
1165 * Enable Dynamic DTIM
1166 * Options
1167 * 0 -Disable DynamicDTIM
1168 * 1 to 5 - SLM will switch to DTIM specified here when host suspends and
1169 * switch DTIM1 when host resumes */
1170#define CFG_ENABLE_DYNAMIC_DTIM_NAME "gEnableDynamicDTIM"
1171#define CFG_ENABLE_DYNAMIC_DTIM_MIN ( 0 )
1172#define CFG_ENABLE_DYNAMIC_DTIM_MAX ( 5 )
1173#define CFG_ENABLE_DYNAMIC_DTIM_DEFAULT ( 0 )
1174
Jeff Johnsone7245742012-09-05 17:12:55 -07001175/*
1176 * Enable First Scan 2G Only
1177 * Options
1178 * 0 - Disable First Scan 2G Option
1179 * 1 - Enable First Scan 2G Option
1180 */
1181#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME "gEnableFirstScan2GOnly"
1182#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN ( 0 )
1183#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ( 1 )
1184#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT ( 0 )
1185
1186/*
1187 * Skip DFS Channel in case of P2P Search
1188 * Options
1189 * 0 - Don't Skip DFS Channel in case of P2P Search
1190 * 1 - Skip DFS Channel in case of P2P Search
1191 */
1192#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME "gSkipDfsChannelInP2pSearch"
1193#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN ( 0 )
1194#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ( 1 )
1195#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT ( 0 )
1196
1197/*
1198 * Ignore Dynamic Dtim in case of P2P
1199 * Options
1200 * 0 - Consider Dynamic Dtim incase of P2P
1201 * 1 - Ignore Dynamic Dtim incase of P2P
1202 */
1203#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME "gIgnoreDynamicDtimInP2pMode"
1204#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN ( 0 )
1205#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ( 1 )
1206#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT ( 0 )
1207
1208
Jeff Johnson295189b2012-06-20 16:38:30 -07001209#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME "gEnableAutomaticTxPowerControl"
1210#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN ( 0 )
1211#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ( 1 )
1212#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT ( 1 )
1213
1214#define CFG_SHORT_GI_40MHZ_NAME "gShortGI40Mhz"
1215#define CFG_SHORT_GI_40MHZ_MIN 0
1216#define CFG_SHORT_GI_40MHZ_MAX 1
1217#define CFG_SHORT_GI_40MHZ_DEFAULT 1
1218
1219/*
1220 * Enable / Disable MCC feature
1221 * Default: Enable
1222 */
1223#define CFG_ENABLE_MCC_ENABLED_NAME "gEnableMCCMode"
1224#define CFG_ENABLE_MCC_ENABLED_MIN ( 0 )
1225#define CFG_ENABLE_MCC_ENABLED_MAX ( 1 )
1226#define CFG_ENABLE_MCC_ENABLED_DEFAULT ( 0 )
1227
1228/*
1229 * Enable/Disable Thermal Mitigation feature
1230 * Default: Disable
1231 */
1232#define CFG_THERMAL_MIGRATION_ENABLE_NAME "gThermalMitigationEnable"
1233#define CFG_THERMAL_MIGRATION_ENABLE_MIN ( 0 )
1234#define CFG_THERMAL_MIGRATION_ENABLE_MAX ( 1 )
1235#define CFG_THERMAL_MIGRATION_ENABLE_DEFAULT ( 0 )
1236
1237/*
1238 * Enable/Disable Modulated DTIM feature
1239 * Default: Disable
1240 */
1241#define CFG_ENABLE_MODULATED_DTIM_NAME "gEnableModulatedDTIM"
1242#define CFG_ENABLE_MODULATED_DTIM_MIN ( 0 )
1243#define CFG_ENABLE_MODULATED_DTIM_MAX ( 5 )
1244#define CFG_ENABLE_MODULATED_DTIM_DEFAULT ( 0 )
1245
Jeff Johnsond13512a2012-07-17 11:42:19 -07001246/*
1247 * Enable/Disable Multicast MAC Address List feature
1248 * Default: Disable
1249 */
1250#define CFG_MC_ADDR_LIST_ENABLE_NAME "gMCAddrListEnable"
1251#define CFG_MC_ADDR_LIST_ENABLE_MIN ( 0 )
1252#define CFG_MC_ADDR_LIST_ENABLE_MAX ( 1 )
1253#define CFG_MC_ADDR_LIST_ENABLE_DEFAULT ( 0 )
1254
Jeff Johnson295189b2012-06-20 16:38:30 -07001255/*---------------------------------------------------------------------------
1256 Type declarations
1257 -------------------------------------------------------------------------*/
1258
1259typedef struct
1260{
1261 //Bitmap to track what is explicitly configured
1262 DECLARE_BITMAP(bExplicitCfg, MAX_CFG_INI_ITEMS);
1263
1264 //Config parameters
1265 v_U32_t RTSThreshold;
1266 v_U32_t FragmentationThreshold;
1267 v_U32_t nCheckForHangTime;
1268 v_U32_t Calibration;
1269 v_U32_t CalibrationPeriod;
1270 v_U8_t OperatingChannel;
1271 v_BOOL_t ShortSlotTimeEnabled;
1272 v_BOOL_t Is11dSupportEnabled;
1273 v_BOOL_t fEnforce11dChannels;
1274 v_BOOL_t fSupplicantCountryCodeHasPriority;
1275 v_BOOL_t fEnforceCountryCodeMatch;
1276 v_BOOL_t fEnforceDefaultDomain;
1277 v_U32_t Cfg1Id;
1278 v_U32_t Cfg2Id;
1279 v_U32_t Cfg3Id;
1280 v_U32_t Cfg4Id;
1281 v_U32_t Cfg5Id;
1282 v_U32_t Cfg1Value;
1283 v_U32_t Cfg2Value;
1284 v_U32_t Cfg3Value;
1285 v_U32_t Cfg4Value;
1286 v_U32_t Cfg5Value;
1287 v_U32_t HeartbeatThresh24;
1288 char PowerUsageControl[4];
1289 v_U8_t nEnableSuspend;
1290 v_U8_t nEnableDriverStop;
1291 v_BOOL_t fIsImpsEnabled;
1292 v_BOOL_t fIsLogpEnabled;
1293 v_U8_t btcExecutionMode;
1294 v_U8_t btcConsBtSlotsToBlockDuringDhcp;
1295 v_U8_t btcA2DPBtSubIntervalsDuringDhcp;
1296 v_U32_t nImpsModSleepTime;
1297 v_U32_t nImpsMaxSleepTime;
1298 v_U32_t nImpsMinSleepTime;
1299 v_BOOL_t fIsBmpsEnabled;
1300 v_U32_t nBmpsModListenInterval;
1301 v_U32_t nBmpsMaxListenInterval;
1302 v_U32_t nBmpsMinListenInterval;
1303 v_BOOL_t fIsAutoBmpsTimerEnabled;
1304 v_U32_t nAutoBmpsTimerValue;
1305 eHddDot11Mode dot11Mode;
1306 v_U32_t nChannelBondingMode24GHz;
1307 v_U32_t nChannelBondingMode5GHz;
1308 v_U32_t MaxRxAmpduFactor;
1309 v_U32_t nBAAgingTimerInterval;
1310 v_U16_t TxRate;
1311 v_U32_t AdaptiveThresholdAlgo;
1312 v_U32_t ShortGI20MhzEnable;
1313 v_U32_t BlockAckAutoSetup;
1314 v_U32_t ScanResultAgeCount;
1315 v_U32_t nScanAgeTimeNCNPS;
1316 v_U32_t nScanAgeTimeNCPS;
1317 v_U32_t nScanAgeTimeCNPS;
1318 v_U32_t nScanAgeTimeCPS;
1319 v_U8_t nRssiCatGap;
1320 v_U32_t nStatTimerInterval;
1321 v_BOOL_t fIsShortPreamble;
1322 v_BOOL_t fIsAutoIbssBssid;
1323 v_MACADDR_t IbssBssid;
1324
1325 v_U8_t intfAddrMask;
1326 v_MACADDR_t intfMacAddr[VOS_MAX_CONCURRENCY_PERSONA];
1327
1328#ifdef WLAN_SOFTAP_FEATURE
1329 v_BOOL_t apUapsdEnabled;
1330 v_BOOL_t apProtEnabled;
1331 v_U16_t apProtection;
1332 v_BOOL_t apOBSSProtEnabled;
1333 v_U8_t MinFramesProcThres;
1334 v_U8_t apCntryCode[4];
1335 v_BOOL_t apDisableIntraBssFwd;
1336 v_U8_t nEnableListenMode;
1337 v_U32_t nAPAutoShutOff;
1338 v_U8_t apStartChannelNum;
1339 v_U8_t apEndChannelNum;
1340 v_U8_t apOperatingBand;
1341 v_BOOL_t apAutoChannelSelection;
1342 v_U8_t enableLTECoex;
1343 v_U32_t apKeepAlivePeriod;
1344 v_U32_t goKeepAlivePeriod;
1345#endif
1346 v_U32_t nBeaconInterval;
1347 v_U8_t nTxPowerCap; //In dBm
1348 v_BOOL_t fIsLowGainOverride;
1349 v_U8_t disablePacketFilter;
1350#if defined WLAN_FEATURE_VOWIFI
1351 v_BOOL_t fRrmEnable;
1352 v_U8_t nInChanMeasMaxDuration;
1353 v_U8_t nOutChanMeasMaxDuration;
1354 v_U16_t nRrmRandnIntvl;
1355#endif
1356
1357#ifdef WLAN_FEATURE_VOWIFI_11R
1358 //Vowifi 11r params
1359 v_BOOL_t fFTEnable;
1360 v_BOOL_t fFTResourceReqSupported;
1361#endif
1362
1363#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
1364 v_U16_t nNeighborScanPeriod;
1365 v_U16_t nNeighborReassocRssiThreshold;
1366 v_U16_t nNeighborLookupRssiThreshold;
1367 char neighborScanChanList[100];
1368 v_U16_t nNeighborScanMinChanTime;
1369 v_U16_t nNeighborScanMaxChanTime;
1370 v_U16_t nMaxNeighborReqTries;
1371 v_U16_t nNeighborResultsRefreshPeriod;
1372#endif
1373
1374 //Handoff Parameters
1375 v_BOOL_t fIsHandoffEnabled;
1376
1377 //Additional Handoff params
1378 v_BOOL_t nEnableIdleScan;
1379 v_U32_t nRoamingTime;
1380 v_U16_t nVccRssiTrigger;
1381 v_U32_t nVccUlMacLossThreshold;
1382
1383 v_U32_t nPassiveMinChnTime; //in units of milliseconds
1384 v_U32_t nPassiveMaxChnTime; //in units of milliseconds
1385 v_U32_t nActiveMinChnTime; //in units of milliseconds
1386 v_U32_t nActiveMaxChnTime; //in units of milliseconds
1387
1388 v_U8_t nMaxPsPoll;
1389
1390 v_U8_t nRssiFilterPeriod;
1391 v_BOOL_t fIgnoreDtim;
1392
1393 v_U8_t nRxAnt;
1394 v_U8_t fEnableFwHeartBeatMonitoring;
1395 v_U8_t fEnableFwBeaconFiltering;
1396 v_U8_t fEnableFwRssiMonitoring;
1397 v_U8_t nDataInactivityTimeout;
1398 v_U8_t nthBeaconFilter;
1399
1400 //WMM QoS Configuration
1401 hdd_wmm_user_mode_t WmmMode;
1402 v_BOOL_t b80211eIsEnabled;
1403 v_U8_t UapsdMask; // what ACs to setup U-APSD for at assoc
1404 v_U8_t MaxSpLength;
1405 v_U32_t InfraUapsdVoSrvIntv;
1406 v_U32_t InfraUapsdVoSuspIntv;
1407 v_U32_t InfraUapsdViSrvIntv;
1408 v_U32_t InfraUapsdViSuspIntv;
1409 v_U32_t InfraUapsdBeSrvIntv;
1410 v_U32_t InfraUapsdBeSuspIntv;
1411 v_U32_t InfraUapsdBkSrvIntv;
1412 v_U32_t InfraUapsdBkSuspIntv;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001413#ifdef FEATURE_WLAN_LFR
1414 v_BOOL_t isFastRoamIniFeatureEnabled;
1415#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001416#ifdef FEATURE_WLAN_CCX
1417 v_U32_t InfraInactivityInterval;
1418 v_BOOL_t isCcxIniFeatureEnabled;
1419#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001420#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001421 v_U8_t FTRssiFilterPeriod;
1422 v_BOOL_t isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07001423 v_U8_t RoamRssiDiff;
Jeff Johnson295189b2012-06-20 16:38:30 -07001424#endif
1425
1426 hdd_wmm_classification_t PktClassificationBasis; // DSCP or 802.1Q
1427 v_BOOL_t bImplicitQosEnabled;
1428
1429 /* default TSPEC parameters for AC_VO */
1430 sme_QosWmmDirType InfraDirAcVo;
1431 v_U16_t InfraNomMsduSizeAcVo;
1432 v_U32_t InfraMeanDataRateAcVo;
1433 v_U32_t InfraMinPhyRateAcVo;
1434 v_U16_t InfraSbaAcVo;
1435
1436 /* default TSPEC parameters for AC_VI */
1437 sme_QosWmmDirType InfraDirAcVi;
1438 v_U16_t InfraNomMsduSizeAcVi;
1439 v_U32_t InfraMeanDataRateAcVi;
1440 v_U32_t InfraMinPhyRateAcVi;
1441 v_U16_t InfraSbaAcVi;
1442
1443 /* default TSPEC parameters for AC_BE */
1444 sme_QosWmmDirType InfraDirAcBe;
1445 v_U16_t InfraNomMsduSizeAcBe;
1446 v_U32_t InfraMeanDataRateAcBe;
1447 v_U32_t InfraMinPhyRateAcBe;
1448 v_U16_t InfraSbaAcBe;
1449
1450 /* default TSPEC parameters for AC_BK */
1451 sme_QosWmmDirType InfraDirAcBk;
1452 v_U16_t InfraNomMsduSizeAcBk;
1453 v_U32_t InfraMeanDataRateAcBk;
1454 v_U32_t InfraMinPhyRateAcBk;
1455 v_U16_t InfraSbaAcBk;
1456
1457 /* TL related configuration */
1458 v_U8_t WfqBkWeight;
1459 v_U8_t WfqBeWeight;
1460 v_U8_t WfqViWeight;
1461 v_U8_t WfqVoWeight;
1462 v_U32_t DelayedTriggerFrmInt;
1463
1464 /* Wowl pattern */
1465 char wowlPattern[1024];
1466 v_BOOL_t b19p2MhzPmicClkEnabled;
1467
1468 /* Control for Replay counetr. value 1 means
1469 single replay counter for all TID*/
1470 v_BOOL_t bSingleTidRc;
1471 v_U8_t mcastBcastFilterSetting;
1472 v_BOOL_t fhostArpOffload;
1473 v_BOOL_t burstSizeDefinition;
1474 v_U8_t tsInfoAckPolicy;
1475
1476 /* RF Settling Time Clock */
1477 v_U32_t rfSettlingTimeUs;
1478 v_U8_t enableBtAmp;
1479#ifdef WLAN_BTAMP_FEATURE
1480 v_U8_t preferredChannel;
1481#endif //WLAN_BTAMP_FEATURE
1482
1483 v_U8_t dynamicPsPollValue;
1484 v_BOOL_t AddTSWhenACMIsOff;
1485 v_BOOL_t fValidateScanList;
1486
1487 v_U32_t infraStaKeepAlivePeriod;
1488 v_U8_t nNullDataApRespTimeout;
1489 v_U8_t nBandCapability;
1490
1491 v_U32_t apDataAvailPollPeriodInMs;
1492 v_BOOL_t fEnableBeaconEarlyTermination;
1493 v_BOOL_t teleBcnWakeupEn;
1494
1495#ifdef FEATURE_WLAN_INTEGRATED_SOC
1496 /* WDI Trace Control */
1497 v_U32_t wdiTraceEnableDAL;
1498 v_U32_t wdiTraceEnableCTL;
1499 v_U32_t wdiTraceEnableDAT;
1500 v_U32_t wdiTraceEnablePAL;
1501#endif /* FEATURE_WLAN_INTEGRATED_SOC */
1502 v_U16_t nTeleBcnTransListenInterval;
1503 v_U16_t nTeleBcnMaxListenInterval;
1504 v_U16_t nTeleBcnTransLiNumIdleBeacons;
1505 v_U16_t nTeleBcnMaxLiNumIdleBeacons;
1506 v_U8_t bcnEarlyTermWakeInterval;
1507 v_U32_t enableCloseLoop;
1508 v_U8_t enableBypass11d;
1509 v_U8_t enableDFSChnlScan;
1510 v_U8_t enableDynamicDTIM;
1511 v_U8_t enableAutomaticTxPowerControl;
1512 v_U8_t ShortGI40MhzEnable;
1513 eHddLinkSpeedReportType reportMaxLinkSpeed;
1514 v_S31_t linkSpeedRssiHigh;
1515 v_S31_t linkSpeedRssiLow;
1516 v_U8_t enableMCC;
1517#ifdef WLAN_FEATURE_P2P
1518 v_BOOL_t isP2pDeviceAddrAdministrated;
1519#endif
1520 v_U8_t thermalMitigationEnable;
1521#ifdef WLAN_FEATURE_PACKET_FILTERING
1522 v_BOOL_t isMcAddrListFilter;
1523#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07001524#ifdef WLAN_FEATURE_11AC
1525 v_U8_t vhtChannelWidth;
1526 v_U8_t vhtRxMCS;
1527 v_U8_t vhtTxMCS;
1528#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001529 v_U8_t enableModulatedDTIM;
Jeff Johnsond13512a2012-07-17 11:42:19 -07001530 v_U32_t fEnableMCAddrList;
Jeff Johnsone7245742012-09-05 17:12:55 -07001531 v_BOOL_t enableFirstScan2GOnly;
1532 v_BOOL_t skipDfsChnlInP2pSearch;
1533 v_BOOL_t ignoreDynamicDtimInP2pMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07001534} hdd_config_t;
1535/*---------------------------------------------------------------------------
1536 Function declarations and documenation
1537 -------------------------------------------------------------------------*/
1538VOS_STATUS hdd_parse_config_ini(hdd_context_t *pHddCtx);
1539VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx );
1540v_BOOL_t hdd_update_config_dat ( hdd_context_t *pHddCtx );
1541VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen);
1542eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode );
1543VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command);
1544
1545#define FIELD_OFFSET(__type, __field) ((unsigned int)(&((__type *)0)->__field))
1546#define VAR_OFFSET( _Struct, _Var ) ( (unsigned int) FIELD_OFFSET(_Struct, _Var ) )
1547#define VAR_SIZE( _Struct, _Var ) sizeof( ((_Struct *)0)->_Var )
1548
1549#define VAR_FLAGS_NONE ( 0 )
1550#define VAR_FLAGS_REQUIRED ( 1 << 0 ) // bit 0 is Required or Optional
1551#define VAR_FLAGS_OPTIONAL ( 0 << 0 )
1552
1553#define VAR_FLAGS_RANGE_CHECK ( 1 << 1 ) // bit 1 tells if range checking is required.
1554 // If less than MIN, assume MIN.
1555 // If greater than MAX, assume MAX.
1556
1557#define VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX ( VAR_FLAGS_RANGE_CHECK )
1558
1559#define VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT ( 1 << 2 ) // bit 2 is range checking that assumes the DEFAULT value
1560 // If less than MIN, assume DEFAULT,
1561 // If grateer than MAX, assume DEFAULT.
1562
1563#define VAR_FLAGS_DYNAMIC_CFG ( 1 << 3 ) // Bit 3 indicates that
1564 // the config item can be
1565 // modified dynamicially
1566 // on a running system
1567
1568typedef enum
1569{
1570 WLAN_PARAM_Integer,
1571 WLAN_PARAM_SignedInteger,
1572 WLAN_PARAM_HexInteger,
1573 WLAN_PARAM_String,
1574 WLAN_PARAM_MacAddr,
1575}WLAN_PARAMETER_TYPE;
1576
1577#define REG_VARIABLE( _Name, _Type, _Struct, _VarName, \
1578 _Flags, _Default, _Min, _Max ) \
1579{ \
1580 ( _Name ), \
1581 ( _Type ), \
1582 ( _Flags ), \
1583 VAR_OFFSET( _Struct, _VarName ), \
1584 VAR_SIZE( _Struct, _VarName ), \
1585 ( _Default ), \
1586 ( _Min ), \
1587 ( _Max ), \
1588 NULL, \
1589 0 \
1590}
1591
1592#define REG_DYNAMIC_VARIABLE( _Name, _Type, _Struct, _VarName, \
1593 _Flags, _Default, _Min, _Max, \
1594 _CBFunc, _CBParam ) \
1595{ \
1596 ( _Name ), \
1597 ( _Type ), \
1598 ( VAR_FLAGS_DYNAMIC_CFG | ( _Flags ) ), \
1599 VAR_OFFSET( _Struct, _VarName ), \
1600 VAR_SIZE( _Struct, _VarName ), \
1601 ( _Default ), \
1602 ( _Min ), \
1603 ( _Max ), \
1604 ( _CBFunc ), \
1605 ( _CBParam ) \
1606}
1607
1608#define REG_VARIABLE_STRING( _Name, _Type, _Struct, _VarName, \
1609 _Flags, _Default ) \
1610{ \
1611 ( _Name ), \
1612 ( _Type ), \
1613 ( _Flags ), \
1614 VAR_OFFSET( _Struct, _VarName ), \
1615 VAR_SIZE( _Struct, _VarName ), \
1616 (unsigned long)( _Default ), \
1617 0, \
1618 0, \
1619 NULL, \
1620 0 \
1621}
1622
1623typedef struct tREG_TABLE_ENTRY {
1624
1625 char* RegName; // variable name in the qcom_cfg.ini file
1626 WLAN_PARAMETER_TYPE RegType; // variable type in the hdd_config_t structure
1627 unsigned long Flags; // Specify optional parms and if RangeCheck is performed
1628 unsigned short VarOffset; // offset to field from the base address of the structure
1629 unsigned short VarSize; // size (in bytes) of the field
1630 unsigned long VarDefault; // default value to use
1631 unsigned long VarMin; // minimum value, for range checking
1632 unsigned long VarMax; // maximum value, for range checking
1633 // Dynamic modification notifier
1634 void (*pfnDynamicNotify)(hdd_context_t *pHddCtx, unsigned long NotifyId);
1635 unsigned long NotifyId; // Dynamic modification identifier
1636} REG_TABLE_ENTRY;
1637
1638static __inline unsigned long utilMin( unsigned long a, unsigned long b )
1639{
1640 return( ( a < b ) ? a : b );
1641}
1642
1643#endif