blob: 08babb2c307897cb7fa991b344d6e9a8c1922612 [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
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080042/**=========================================================================
Jeff Johnson295189b2012-06-20 16:38:30 -070043
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080044 EDIT HISTORY FOR FILE
45
46
47 This section contains comments describing changes made to the module.
48 Notice that changes are listed in reverse chronological order.
49
50
51 $Header:$ $DateTime: $ $Author: $
52
53
54 when who what, where, why
Jeff Johnson295189b2012-06-20 16:38:30 -070055 -------- --- --------------------------------------------------------
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080056 07/27/09 kanand Created module.
Jeff Johnson295189b2012-06-20 16:38:30 -070057
58 ==========================================================================*/
59
60/*--------------------------------------------------------------------------
61 Include Files
62 ------------------------------------------------------------------------*/
63
64
65#include <linux/firmware.h>
66#include <linux/string.h>
67#include <wlan_hdd_includes.h>
68#include <wlan_hdd_main.h>
69#include <wlan_hdd_assoc.h>
70#include <wlan_hdd_cfg.h>
71#include <linux/string.h>
72#include <vos_types.h>
73#include <csrApi.h>
74#include <pmcApi.h>
75#include <wlan_hdd_misc.h>
76
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080077#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -080078static void cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId)
79{
80 sme_UpdateRoamPrefer5GHz((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamPrefer5GHz);
81}
Jeff Johnson295189b2012-06-20 16:38:30 -070082
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080083static void cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
84{
Srinivas Girigowdade697412013-02-14 16:31:48 -080085 sme_UpdateImmediateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080086 pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
87}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080088
Srinivas Girigowdade697412013-02-14 16:31:48 -080089static void cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
90{
91 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
92 pHddCtx->cfg_ini->RoamRssiDiff);
93}
94
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080095static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
96{
97 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
98}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -070099
100static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
101{
102 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
103}
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700104
105static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
106{
107 // at the point this routine is called, the value in the cfg_ini table has already been updated
108 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
109}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700110#endif
111
112#ifdef FEATURE_WLAN_OKC
113static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
114{
115 // at the point this routine is called, the value in the cfg_ini table has already been updated
116}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800117#endif
118
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800119#ifdef FEATURE_WLAN_LFR
120static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
121{
122 // at the point this routine is called, the value in the cfg_ini table has already been updated
123 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
124}
125#endif
126
127#ifdef FEATURE_WLAN_CCX
128static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
129{
130 // at the point this routine is called, the value in the cfg_ini table has already been updated
131 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
132}
133#endif
134
135static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
136{
137 // at the point this routine is called, the value in the cfg_ini table has already been updated
138 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
139}
140
Srinivas Girigowdade697412013-02-14 16:31:48 -0800141#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
142static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
143{
144 // at the point this routine is called, the value in the cfg_ini table has already been updated
145 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
146}
147
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700148static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
149{
150 // at the point this routine is called, the value in the cfg_ini table has already been updated
151 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
152}
153
Srinivas Girigowdade697412013-02-14 16:31:48 -0800154static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
155{
156 // at the point this routine is called, the value in the cfg_ini table has already been updated
157 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
158}
159
160static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
161{
162 // at the point this routine is called, the value in the cfg_ini table has already been updated
163 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
164}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700165
166static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
167{
168 // at the point this routine is called, the value in the cfg_ini table has already been updated
169 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
170}
171
172static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
173{
174 // at the point this routine is called, the value in the cfg_ini table has already been updated
175 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
176}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800177#endif
178
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700179static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
180{
181 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
182}
183
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700184#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
185static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
186{
187 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
188}
189#endif
190
Jeff Johnson295189b2012-06-20 16:38:30 -0700191REG_TABLE_ENTRY g_registry_table[] =
192{
193 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800194 hdd_config_t, RTSThreshold,
195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
196 CFG_RTS_THRESHOLD_DEFAULT,
197 CFG_RTS_THRESHOLD_MIN,
198 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700199
200 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800201 hdd_config_t, FragmentationThreshold,
202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
203 CFG_FRAG_THRESHOLD_DEFAULT,
204 CFG_FRAG_THRESHOLD_MIN,
205 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700206
207 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800208 hdd_config_t, Calibration,
209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
210 CFG_CALIBRATION_DEFAULT,
211 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700212 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800213
Jeff Johnson295189b2012-06-20 16:38:30 -0700214 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800215 hdd_config_t, CalibrationPeriod,
216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
217 CFG_CALIBRATION_PERIOD_DEFAULT,
218 CFG_CALIBRATION_PERIOD_MIN,
219 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700220
221 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
222 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
224 CFG_OPERATING_CHANNEL_DEFAULT,
225 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700226 CFG_OPERATING_CHANNEL_MAX ),
227
228 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800229 hdd_config_t, ShortSlotTimeEnabled,
230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
231 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
232 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700233 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
234
235 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800236 hdd_config_t, Is11dSupportEnabled,
237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
238 CFG_11D_SUPPORT_ENABLED_DEFAULT,
239 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700240 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800241
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800242 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800243 hdd_config_t, Is11hSupportEnabled,
244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
245 CFG_11H_SUPPORT_ENABLED_DEFAULT,
246 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800247 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700248
249 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800250 hdd_config_t, fEnforce11dChannels,
251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
252 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
253 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700254 CFG_ENFORCE_11D_CHANNELS_MAX ),
255
256 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800257 hdd_config_t, fSupplicantCountryCodeHasPriority,
258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
259 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
260 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700261 CFG_COUNTRY_CODE_PRIORITY_MAX),
262
263 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800264 hdd_config_t, fEnforceCountryCodeMatch,
265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
266 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
267 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700268 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
269
270 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800271 hdd_config_t, fEnforceDefaultDomain,
272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
273 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
274 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700275 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800276
Jeff Johnson295189b2012-06-20 16:38:30 -0700277 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
278 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
280 CFG_GENERIC_ID1_DEFAULT,
281 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700282 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800283
Jeff Johnson295189b2012-06-20 16:38:30 -0700284 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
285 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
287 CFG_GENERIC_ID2_DEFAULT,
288 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700289 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800290
Jeff Johnson295189b2012-06-20 16:38:30 -0700291 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
292 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
294 CFG_GENERIC_ID3_DEFAULT,
295 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700296 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800297
Jeff Johnson295189b2012-06-20 16:38:30 -0700298 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
299 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
301 CFG_GENERIC_ID4_DEFAULT,
302 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700303 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800304
Jeff Johnson295189b2012-06-20 16:38:30 -0700305 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
306 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
308 CFG_GENERIC_ID5_DEFAULT,
309 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 CFG_GENERIC_ID5_MAX ),
311
312 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
313 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
315 CFG_GENERIC_VALUE1_DEFAULT,
316 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700317 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800318
Jeff Johnson295189b2012-06-20 16:38:30 -0700319 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
320 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
322 CFG_GENERIC_VALUE2_DEFAULT,
323 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700324 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800325
Jeff Johnson295189b2012-06-20 16:38:30 -0700326 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
327 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
329 CFG_GENERIC_VALUE3_DEFAULT,
330 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700331 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800332
Jeff Johnson295189b2012-06-20 16:38:30 -0700333 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
334 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
336 CFG_GENERIC_VALUE4_DEFAULT,
337 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700338 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800339
Jeff Johnson295189b2012-06-20 16:38:30 -0700340 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
341 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
343 CFG_GENERIC_VALUE5_DEFAULT,
344 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 CFG_GENERIC_VALUE5_MAX ),
346
347 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800348 hdd_config_t, HeartbeatThresh24,
349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
350 CFG_HEARTBEAT_THRESH_24_DEFAULT,
351 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800353
Jeff Johnson295189b2012-06-20 16:38:30 -0700354 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800355 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700356 VAR_FLAGS_OPTIONAL,
357 (void *)CFG_POWER_USAGE_DEFAULT ),
358
359 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360 hdd_config_t, nEnableSuspend,
361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
362 CFG_ENABLE_SUSPEND_DEFAULT,
363 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700364 CFG_ENABLE_SUSPEND_MAX ),
365
366 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800367 hdd_config_t, nEnableDriverStop,
368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
369 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
370 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700371 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
372
373 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800374 hdd_config_t, fIsImpsEnabled,
375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
376 CFG_ENABLE_IMPS_DEFAULT,
377 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700378 CFG_ENABLE_IMPS_MAX ),
379
380 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800381 hdd_config_t, fIsLogpEnabled,
382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
383 CFG_ENABLE_LOGP_DEFAULT,
384 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700385 CFG_ENABLE_LOGP_MAX ),
386
387 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800388 hdd_config_t, nImpsMinSleepTime,
389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
390 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
391 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700392 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
393
394 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800395 hdd_config_t, nImpsMaxSleepTime,
396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
397 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
398 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
400
401 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
402 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
404 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
405 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700406 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
407
408 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800409 hdd_config_t, fIsBmpsEnabled,
410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
411 CFG_ENABLE_BMPS_DEFAULT,
412 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700413 CFG_ENABLE_BMPS_MAX ),
414
415 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800416 hdd_config_t, nBmpsMinListenInterval,
417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
418 CFG_BMPS_MINIMUM_LI_DEFAULT,
419 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700420 CFG_BMPS_MINIMUM_LI_MAX ),
421
422 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800423 hdd_config_t, nBmpsMaxListenInterval,
424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
425 CFG_BMPS_MAXIMUM_LI_DEFAULT,
426 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700427 CFG_BMPS_MAXIMUM_LI_MAX ),
428
429 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
430 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
432 CFG_BMPS_MODERATE_LI_DEFAULT,
433 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700434 CFG_BMPS_MODERATE_LI_MAX ),
435
436 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800437 hdd_config_t, fIsAutoBmpsTimerEnabled,
438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
439 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
440 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700441 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
442
443 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800444 hdd_config_t, nAutoBmpsTimerValue,
445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
446 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
447 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700448 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
449
450 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800451 hdd_config_t, dot11Mode,
452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
453 CFG_DOT11_MODE_DEFAULT,
454 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700455 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800456
Jeff Johnson295189b2012-06-20 16:38:30 -0700457 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800458 hdd_config_t, nChannelBondingMode24GHz,
459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
460 CFG_CHANNEL_BONDING_MODE_DEFAULT,
461 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700462 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800463
Jeff Johnson295189b2012-06-20 16:38:30 -0700464 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800465 hdd_config_t, nChannelBondingMode5GHz,
466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
467 CFG_CHANNEL_BONDING_MODE_DEFAULT,
468 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700469 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800470
471 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
472 hdd_config_t, MaxRxAmpduFactor,
473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
474 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
475 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700476 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477
Jeff Johnson295189b2012-06-20 16:38:30 -0700478 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800479 hdd_config_t, TxRate,
480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
481 CFG_FIXED_RATE_DEFAULT,
482 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700483 CFG_FIXED_RATE_MAX ),
484
485 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800486 hdd_config_t, ShortGI20MhzEnable,
487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
488 CFG_SHORT_GI_20MHZ_DEFAULT,
489 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700490 CFG_SHORT_GI_20MHZ_MAX ),
491
492 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800493 hdd_config_t, BlockAckAutoSetup,
494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
495 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
496 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700497 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800498
Jeff Johnson295189b2012-06-20 16:38:30 -0700499 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800500 hdd_config_t, ScanResultAgeCount,
501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
502 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
503 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700504 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
505
506 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800507 hdd_config_t, nScanAgeTimeNCNPS,
508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
509 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
510 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700511 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
512
513 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800514 hdd_config_t, nScanAgeTimeNCPS,
515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
516 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
517 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700518 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
519
520 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800521 hdd_config_t, nScanAgeTimeCNPS,
522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
523 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
524 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
526
527 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800528 hdd_config_t, nScanAgeTimeCPS,
529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
530 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
531 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700532 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
533
534 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800535 hdd_config_t, nRssiCatGap,
536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
537 CFG_RSSI_CATEGORY_GAP_DEFAULT,
538 CFG_RSSI_CATEGORY_GAP_MIN,
539 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700540
541 REG_VARIABLE( CFG_STAT_TIMER_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800542 hdd_config_t, nStatTimerInterval,
543 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
544 CFG_STAT_TIMER_INTERVAL_DEFAULT,
545 CFG_STAT_TIMER_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700546 CFG_STAT_TIMER_INTERVAL_MAX ),
547
548 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800549 hdd_config_t, fIsShortPreamble,
550 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
551 CFG_SHORT_PREAMBLE_DEFAULT,
552 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700553 CFG_SHORT_PREAMBLE_MAX ),
554
555 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800556 hdd_config_t, fIsAutoIbssBssid,
557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
558 CFG_IBSS_AUTO_BSSID_DEFAULT,
559 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700560 CFG_IBSS_AUTO_BSSID_MAX ),
561
562 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800563 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700564 VAR_FLAGS_OPTIONAL,
565 (void *)CFG_IBSS_BSSID_DEFAULT ),
566
567 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800568 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700569 VAR_FLAGS_OPTIONAL,
570 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
571
572 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800573 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700574 VAR_FLAGS_OPTIONAL,
575 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
576
577 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800578 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700579 VAR_FLAGS_OPTIONAL,
580 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
581
582 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800583 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700584 VAR_FLAGS_OPTIONAL,
585 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
586
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700587 REG_VARIABLE_STRING( CFG_CRDA_DEFAULT_COUNTRY_CODE, WLAN_PARAM_String,
588 hdd_config_t, crdaDefaultCountryCode,
589 VAR_FLAGS_OPTIONAL,
590 (void *)CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT ),
591
Jeff Johnson295189b2012-06-20 16:38:30 -0700592 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800593 hdd_config_t, apUapsdEnabled,
594 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
595 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
596 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700597 CFG_AP_QOS_UAPSD_MODE_MAX ),
598
599 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800600 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700601 VAR_FLAGS_OPTIONAL,
602 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
603
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700604 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
605 hdd_config_t, apRandomBssidEnabled,
606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
607 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
608 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
609 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
610
Jeff Johnson295189b2012-06-20 16:38:30 -0700611 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800612 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
614 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
615 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
616 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
617
618 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
619 hdd_config_t, apProtection,
620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
621 CFG_AP_PROTECTION_MODE_DEFAULT,
622 CFG_AP_PROTECTION_MODE_MIN,
623 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800624
Jeff Johnson295189b2012-06-20 16:38:30 -0700625 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800626 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
629 CFG_AP_OBSS_PROTECTION_MODE_MIN,
630 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800631
Jeff Johnson295189b2012-06-20 16:38:30 -0700632 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
636 CFG_AP_STA_SECURITY_SEPERATION_MIN,
637 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
638
639 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800640 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
642 CFG_FRAMES_PROCESSING_TH_DEFAULT,
643 CFG_FRAMES_PROCESSING_TH_MIN,
644 CFG_FRAMES_PROCESSING_TH_MAX ),
645
646 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
647 hdd_config_t, apStartChannelNum,
648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
649 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
650 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
651 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
652
653 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
654 hdd_config_t, apEndChannelNum,
655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
656 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
657 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
658 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
659
660 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
661 hdd_config_t, apOperatingBand,
662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
663 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
664 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
665 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
666
667 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
668 hdd_config_t, apAutoChannelSelection,
669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
670 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
671 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
672 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800673
Jeff Johnson295189b2012-06-20 16:38:30 -0700674 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
675 hdd_config_t, enableLTECoex,
676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
677 CFG_ENABLE_LTE_COEX_DEFAULT,
678 CFG_ENABLE_LTE_COEX_MIN,
679 CFG_ENABLE_LTE_COEX_MAX ),
680
681 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
682 hdd_config_t, apKeepAlivePeriod,
683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
684 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
685 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
686 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
687
688 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
689 hdd_config_t, goKeepAlivePeriod,
690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
691 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
692 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
693 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
694
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530695 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
696 hdd_config_t, apLinkMonitorPeriod,
697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
698 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
699 CFG_AP_LINK_MONITOR_PERIOD_MIN,
700 CFG_AP_LINK_MONITOR_PERIOD_MAX),
701
Jeff Johnson295189b2012-06-20 16:38:30 -0700702 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
703 hdd_config_t, disablePacketFilter,
704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
705 CFG_DISABLE_PACKET_FILTER_DEFAULT,
706 CFG_DISABLE_PACKET_FILTER_MIN,
707 CFG_DISABLE_PACKET_FILTER_MAX ),
708
709 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800710 hdd_config_t, nBeaconInterval,
711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
712 CFG_BEACON_INTERVAL_DEFAULT,
713 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700714 CFG_BEACON_INTERVAL_MAX ),
715
716 REG_VARIABLE( CFG_ENABLE_HANDOFF_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800717 hdd_config_t, fIsHandoffEnabled,
718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
719 CFG_ENABLE_HANDOFF_DEFAULT,
720 CFG_ENABLE_HANDOFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700721 CFG_ENABLE_HANDOFF_MAX ),
722
723
724 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800725 hdd_config_t, nEnableIdleScan,
726 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
727 CFG_ENABLE_IDLE_SCAN_DEFAULT,
728 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700729 CFG_ENABLE_IDLE_SCAN_MAX ),
730
731 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800732 hdd_config_t, nRoamingTime,
733 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
734 CFG_ROAMING_TIME_DEFAULT,
735 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700736 CFG_ROAMING_TIME_MAX ),
737
738 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800739 hdd_config_t, nVccRssiTrigger,
740 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
741 CFG_VCC_RSSI_TRIGGER_DEFAULT,
742 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700743 CFG_VCC_RSSI_TRIGGER_MAX ),
744
745 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800746 hdd_config_t, nVccUlMacLossThreshold,
747 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
748 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
749 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700750 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
751
752 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800753 hdd_config_t, nPassiveMaxChnTime,
754 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
755 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
756 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700757 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
758
759 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800760 hdd_config_t, nPassiveMinChnTime,
761 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
762 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
763 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700764 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
765
766 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800767 hdd_config_t, nActiveMaxChnTime,
768 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
769 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
770 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700771 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
772
773 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800774 hdd_config_t, nActiveMinChnTime,
775 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
776 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
777 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700778 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700779
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800780 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
781 hdd_config_t, nActiveMaxChnTimeBtc,
782 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
783 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
784 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
785 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
786
787 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
788 hdd_config_t, nActiveMinChnTimeBtc,
789 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
790 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
791 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
792 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
793
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700794 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
795 hdd_config_t, retryLimitZero,
796 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
797 CFG_RETRY_LIMIT_ZERO_DEFAULT,
798 CFG_RETRY_LIMIT_ZERO_MIN,
799 CFG_RETRY_LIMIT_ZERO_MAX ),
800
801 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
802 hdd_config_t, retryLimitOne,
803 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
804 CFG_RETRY_LIMIT_ONE_DEFAULT,
805 CFG_RETRY_LIMIT_ONE_MIN,
806 CFG_RETRY_LIMIT_ONE_MAX ),
807
808 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
809 hdd_config_t, retryLimitTwo,
810 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
811 CFG_RETRY_LIMIT_TWO_DEFAULT,
812 CFG_RETRY_LIMIT_TWO_MIN,
813 CFG_RETRY_LIMIT_TWO_MAX ),
814
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700815#ifdef WLAN_AP_STA_CONCURRENCY
816 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800817 hdd_config_t, nPassiveMaxChnTimeConc,
818 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
819 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
820 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700821 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
822
823 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800824 hdd_config_t, nPassiveMinChnTimeConc,
825 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
826 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
827 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700828 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
829
830 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800831 hdd_config_t, nActiveMaxChnTimeConc,
832 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
833 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
834 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700835 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
836
837 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800838 hdd_config_t, nActiveMinChnTimeConc,
839 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
840 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
841 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700842 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
843
844 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800845 hdd_config_t, nRestTimeConc,
846 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
847 CFG_REST_TIME_CONC_DEFAULT,
848 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700849 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800850
851 REG_VARIABLE( CFG_NUM_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
852 hdd_config_t, nNumChanCombinedConc,
853 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
854 CFG_NUM_CHAN_COMBINED_CONC_DEFAULT,
855 CFG_NUM_CHAN_COMBINED_CONC_MIN,
856 CFG_NUM_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700857#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800858
Jeff Johnson295189b2012-06-20 16:38:30 -0700859 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800860 hdd_config_t, nMaxPsPoll,
861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
862 CFG_MAX_PS_POLL_DEFAULT,
863 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700864 CFG_MAX_PS_POLL_MAX ),
865
866 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800867 hdd_config_t, nTxPowerCap,
868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
869 CFG_MAX_TX_POWER_DEFAULT,
870 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700871 CFG_MAX_TX_POWER_MAX ),
872
873 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
874 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
876 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
877 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700878 CFG_LOW_GAIN_OVERRIDE_MAX ),
879
880 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
881 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
883 CFG_RSSI_FILTER_PERIOD_DEFAULT,
884 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700885 CFG_RSSI_FILTER_PERIOD_MAX ),
886
887 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
888 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
890 CFG_IGNORE_DTIM_DEFAULT,
891 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700892 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800893
Jeff Johnson295189b2012-06-20 16:38:30 -0700894 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800895 hdd_config_t, nRxAnt,
896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
897 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
898 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700899 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
900
901 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 hdd_config_t, fEnableFwHeartBeatMonitoring,
903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
904 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
905 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700906 CFG_FW_HEART_BEAT_MONITORING_MAX ),
907
908 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800909 hdd_config_t, fEnableFwBeaconFiltering,
910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
911 CFG_FW_BEACON_FILTERING_DEFAULT,
912 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700913 CFG_FW_BEACON_FILTERING_MAX ),
914
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800915 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800916 hdd_config_t, fEnableFwRssiMonitoring,
917 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
918 CFG_FW_RSSI_MONITORING_DEFAULT,
919 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800920 CFG_FW_RSSI_MONITORING_MAX,
921 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700922
923 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800924 hdd_config_t, nDataInactivityTimeout,
925 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
926 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
927 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700928 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800929
Jeff Johnson295189b2012-06-20 16:38:30 -0700930 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800931 hdd_config_t, nthBeaconFilter,
932 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
933 CFG_NTH_BEACON_FILTER_DEFAULT,
934 CFG_NTH_BEACON_FILTER_MIN,
935 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700936
937 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800938 hdd_config_t, WmmMode,
939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
940 CFG_QOS_WMM_MODE_DEFAULT,
941 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700942 CFG_QOS_WMM_MODE_MAX ),
943
944 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800945 hdd_config_t, b80211eIsEnabled,
946 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
947 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
948 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700949 CFG_QOS_WMM_80211E_ENABLED_MAX ),
950
951 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800952 hdd_config_t, UapsdMask,
953 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
954 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
955 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700956 CFG_QOS_WMM_UAPSD_MASK_MAX ),
957
958 REG_VARIABLE( CFG_QOS_WMM_MAX_SP_LEN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800959 hdd_config_t, MaxSpLength,
960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
961 CFG_QOS_WMM_MAX_SP_LEN_DEFAULT,
962 CFG_QOS_WMM_MAX_SP_LEN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700963 CFG_QOS_WMM_MAX_SP_LEN_MAX ),
964
965 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800966 hdd_config_t, InfraUapsdVoSrvIntv,
967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
968 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
969 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700970 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
971
972 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800973 hdd_config_t, InfraUapsdVoSuspIntv,
974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
975 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
976 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700977 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
978
979 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800980 hdd_config_t, InfraUapsdViSrvIntv,
981 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
982 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
983 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700984 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
985
986 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800987 hdd_config_t, InfraUapsdViSuspIntv,
988 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
989 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
990 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700991 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
992
993 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800994 hdd_config_t, InfraUapsdBeSrvIntv,
995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
996 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
997 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700998 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
999
1000 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001001 hdd_config_t, InfraUapsdBeSuspIntv,
1002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1003 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1004 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001005 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1006
1007 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001008 hdd_config_t, InfraUapsdBkSrvIntv,
1009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1010 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1011 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001012 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1013
1014 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001015 hdd_config_t, InfraUapsdBkSuspIntv,
1016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1017 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1018 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001019 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1020
1021#ifdef FEATURE_WLAN_CCX
1022 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001023 hdd_config_t, InfraInactivityInterval,
1024 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1025 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1026 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001027 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001028 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001029 hdd_config_t, isCcxIniFeatureEnabled,
1030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1031 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1032 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001033 CFG_CCX_FEATURE_ENABLED_MAX,
1034 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001035#endif // FEATURE_WLAN_CCX
1036
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001037#ifdef FEATURE_WLAN_LFR
1038 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001039 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001040 hdd_config_t, isFastRoamIniFeatureEnabled,
1041 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1042 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1043 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001044 CFG_LFR_FEATURE_ENABLED_MAX,
1045 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001046#endif // FEATURE_WLAN_LFR
1047
1048#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001049 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001050 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001051 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001052 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1053 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1054 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001055 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1056 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001057
Srinivas Girigowdade697412013-02-14 16:31:48 -08001058 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001059 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001060 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1061 hdd_config_t, RoamRssiDiff,
1062 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1063 CFG_ROAM_RSSI_DIFF_DEFAULT,
1064 CFG_ROAM_RSSI_DIFF_MIN,
1065 CFG_ROAM_RSSI_DIFF_MAX,
1066 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001067
1068 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001069 hdd_config_t, nImmediateRoamRssiDiff,
1070 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1071 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1072 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001073 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1074 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001075
1076 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1077 hdd_config_t, isWESModeEnabled,
1078 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1079 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1080 CFG_ENABLE_WES_MODE_NAME_MIN,
1081 CFG_ENABLE_WES_MODE_NAME_MAX,
1082 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001083#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001084#ifdef FEATURE_WLAN_OKC
1085 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1086 hdd_config_t, isOkcIniFeatureEnabled,
1087 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1088 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1089 CFG_OKC_FEATURE_ENABLED_MIN,
1090 CFG_OKC_FEATURE_ENABLED_MAX,
1091 cbNotifySetOkcFeatureEnabled, 0 ),
1092#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001093#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1094 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1095 hdd_config_t, isRoamOffloadScanEnabled,
1096 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1097 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1098 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1099 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1100 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1101#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001102 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001103 hdd_config_t, PktClassificationBasis,
1104 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1105 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1106 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001107 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1108
1109 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001110 hdd_config_t, InfraDirAcVo,
1111 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1112 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1113 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001114 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1115
1116 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001117 hdd_config_t, InfraNomMsduSizeAcVo,
1118 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1119 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1120 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001121 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1122
1123 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001124 hdd_config_t, InfraMeanDataRateAcVo,
1125 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1126 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1127 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001128 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1129
1130 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001131 hdd_config_t, InfraMinPhyRateAcVo,
1132 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1133 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1134 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001135 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1136
1137 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001138 hdd_config_t, InfraSbaAcVo,
1139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1140 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1141 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001142 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1143
1144 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001145 hdd_config_t, InfraDirAcVi,
1146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1147 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1148 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001149 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1150
1151 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001152 hdd_config_t, InfraNomMsduSizeAcVi,
1153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1154 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1155 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001156 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1157
1158 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001159 hdd_config_t, InfraMeanDataRateAcVi,
1160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1161 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1162 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001163 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1164
1165 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001166 hdd_config_t, InfraMinPhyRateAcVi,
1167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1168 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1169 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001170 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1171
1172 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001173 hdd_config_t, InfraSbaAcVi,
1174 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1175 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1176 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001177 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1178
1179 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001180 hdd_config_t, InfraDirAcBe,
1181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1182 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1183 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001184 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1185
1186 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001187 hdd_config_t, InfraNomMsduSizeAcBe,
1188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1189 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1190 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001191 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1192
1193 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001194 hdd_config_t, InfraMeanDataRateAcBe,
1195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1196 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1197 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001198 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1199
1200 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001201 hdd_config_t, InfraMinPhyRateAcBe,
1202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1203 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1204 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001205 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1206
1207 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001208 hdd_config_t, InfraSbaAcBe,
1209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1210 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1211 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001212 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1213
1214 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001215 hdd_config_t, InfraDirAcBk,
1216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1217 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1218 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001219 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1220
1221 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001222 hdd_config_t, InfraNomMsduSizeAcBk,
1223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1224 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1225 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001226 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1227
1228 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001229 hdd_config_t, InfraMeanDataRateAcBk,
1230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1231 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1232 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001233 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1234
1235 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001236 hdd_config_t, InfraMinPhyRateAcBk,
1237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1238 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1239 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001240 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1241
1242 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001243 hdd_config_t, InfraSbaAcBk,
1244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1245 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1246 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001247 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1248
1249 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001250 hdd_config_t, WfqBkWeight,
1251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1252 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1253 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001254 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1255
1256 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001257 hdd_config_t, WfqBeWeight,
1258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1259 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1260 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001261 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1262
1263 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001264 hdd_config_t, WfqViWeight,
1265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1266 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1267 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001268 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1269
1270 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001271 hdd_config_t, WfqVoWeight,
1272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1273 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1274 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001275 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1276
1277 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001278 hdd_config_t, DelayedTriggerFrmInt,
1279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1280 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1281 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001282 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1283
1284 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001285 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001286 VAR_FLAGS_OPTIONAL,
1287 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1288
1289 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001290 hdd_config_t, bImplicitQosEnabled,
1291 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1292 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1293 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001294 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1295
1296 REG_VARIABLE( CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001297 hdd_config_t, b19p2MhzPmicClkEnabled,
1298 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1299 CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT,
1300 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001301 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX ),
1302
1303 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001304 hdd_config_t, btcExecutionMode,
1305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1306 CFG_BTC_EXECUTION_MODE_DEFAULT,
1307 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001308 CFG_BTC_EXECUTION_MODE_MAX ),
1309
1310 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1311 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1313 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1314 CFG_BTC_DHCP_PROTECTION_MIN,
1315 CFG_BTC_DHCP_PROTECTION_MAX ),
1316
1317 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1318 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1319 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1320 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1321 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1322 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1323
Jeff Johnson32d95a32012-09-10 13:15:23 -07001324 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1325 hdd_config_t, btcStaticLenInqBt,
1326 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1327 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1328 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1329 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1330
1331 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1332 hdd_config_t, btcStaticLenPageBt,
1333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1334 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1335 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1336 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1337
1338 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1339 hdd_config_t, btcStaticLenConnBt,
1340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1341 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1342 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1343 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1344
1345 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1346 hdd_config_t, btcStaticLenLeBt,
1347 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1348 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1349 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1350 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1351
1352 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1353 hdd_config_t, btcStaticLenInqWlan,
1354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1355 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1356 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1357 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1358
1359 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1360 hdd_config_t, btcStaticLenPageWlan,
1361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1362 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1363 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1364 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1365
1366 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1367 hdd_config_t, btcStaticLenConnWlan,
1368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1369 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1370 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1371 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1372
1373 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1374 hdd_config_t, btcStaticLenLeWlan,
1375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1376 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1377 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1378 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1379
1380 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1381 hdd_config_t, btcDynMaxLenBt,
1382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1383 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1384 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1385 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1386
1387 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1388 hdd_config_t, btcDynMaxLenWlan,
1389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1390 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1391 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1392 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1393
1394 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1395 hdd_config_t, btcMaxScoBlockPerc,
1396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1397 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1398 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1399 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1400
1401 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1402 hdd_config_t, btcDhcpProtOnA2dp,
1403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1404 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1405 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1406 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1407
1408 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1409 hdd_config_t, btcDhcpProtOnSco,
1410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1411 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1412 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1413 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1414
Jeff Johnson295189b2012-06-20 16:38:30 -07001415 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001416 hdd_config_t, nEnableListenMode,
1417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1418 CFG_AP_LISTEN_MODE_DEFAULT,
1419 CFG_AP_LISTEN_MODE_MIN,
1420 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001421
1422 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1423 hdd_config_t, nAPAutoShutOff,
1424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1425 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1426 CFG_AP_AUTO_SHUT_OFF_MIN,
1427 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001428
1429#if defined WLAN_FEATURE_VOWIFI
1430 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001431 hdd_config_t, fRrmEnable,
1432 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1433 CFG_RRM_ENABLE_DEFAULT,
1434 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001435 CFG_RRM_ENABLE_MAX ),
1436
1437 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001438 hdd_config_t, nInChanMeasMaxDuration,
1439 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1440 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1441 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001442 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1443
1444 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001445 hdd_config_t, nOutChanMeasMaxDuration,
1446 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1447 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1448 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001449 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1450
1451 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001452 hdd_config_t, nRrmRandnIntvl,
1453 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1454 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1455 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001456 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1457#endif
1458
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001459#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001460 REG_VARIABLE( CFG_FT_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001461 hdd_config_t, fFTEnable,
1462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1463 CFG_FT_ENABLE_DEFAULT,
1464 CFG_FT_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001465 CFG_FT_ENABLE_MAX ),
1466
1467 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001468 hdd_config_t, fFTResourceReqSupported,
1469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1470 CFG_FT_RESOURCE_REQ_DEFAULT,
1471 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001472 CFG_FT_RESOURCE_REQ_MAX ),
1473#endif
1474
1475#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001476 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001477 hdd_config_t, nNeighborScanPeriod,
1478 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1479 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1480 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001481 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1482 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001483
1484 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001485 hdd_config_t, nNeighborReassocRssiThreshold,
1486 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1487 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1488 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001489 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1490
Srinivas Girigowdade697412013-02-14 16:31:48 -08001491 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001492 hdd_config_t, nNeighborLookupRssiThreshold,
1493 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1494 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1495 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001496 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1497 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001498
1499 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001500 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001501 VAR_FLAGS_OPTIONAL,
1502 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1503
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001504 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001505 hdd_config_t, nNeighborScanMinChanTime,
1506 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1507 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1508 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001509 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1510 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001511
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001512 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001513 hdd_config_t, nNeighborScanMaxChanTime,
1514 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1515 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1516 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001517 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1518 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001519
1520 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1521 hdd_config_t, nMaxNeighborReqTries,
1522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1523 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1524 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1525 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1526
Srinivas Girigowdade697412013-02-14 16:31:48 -08001527 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001528 hdd_config_t, nNeighborResultsRefreshPeriod,
1529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1530 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1531 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001532 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1533 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1534
1535 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1536 hdd_config_t, nEmptyScanRefreshPeriod,
1537 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1538 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1539 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1540 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1541 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001542#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1543
1544 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001545 hdd_config_t, burstSizeDefinition,
1546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1547 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1548 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001549 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1550
1551 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1552 hdd_config_t, mcastBcastFilterSetting,
1553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1554 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1555 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1556 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1557
1558 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1559 hdd_config_t, fhostArpOffload,
1560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1561 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1562 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1563 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1564
1565 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001566 hdd_config_t, tsInfoAckPolicy,
1567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1568 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1569 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001570 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1571
1572 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1573 hdd_config_t, bSingleTidRc,
1574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1575 CFG_SINGLE_TID_RC_DEFAULT,
1576 CFG_SINGLE_TID_RC_MIN,
1577 CFG_SINGLE_TID_RC_MAX),
1578
1579 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1580 hdd_config_t, dynamicPsPollValue,
1581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1582 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1583 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1584 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1585
1586 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1587 hdd_config_t, teleBcnWakeupEn,
1588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1589 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1590 CFG_TELE_BCN_WAKEUP_EN_MIN,
1591 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1592
1593 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1594 hdd_config_t, infraStaKeepAlivePeriod,
1595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1596 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1597 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1598 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1599
1600 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001601 hdd_config_t, AddTSWhenACMIsOff,
1602 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1603 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1604 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001605 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1606
1607
1608 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001609 hdd_config_t, fValidateScanList,
1610 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1611 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1612 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001613 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001614
Jeff Johnson295189b2012-06-20 16:38:30 -07001615 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001616 hdd_config_t, nNullDataApRespTimeout,
1617 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1618 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1619 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001620 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1621
1622 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001623 hdd_config_t, apDataAvailPollPeriodInMs,
1624 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1625 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1626 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001627 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001628
Jeff Johnson295189b2012-06-20 16:38:30 -07001629 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001630 hdd_config_t, enableBtAmp,
1631 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1632 CFG_ENABLE_BTAMP_DEFAULT,
1633 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001634 CFG_ENABLE_BTAMP_MAX ),
1635
1636#ifdef WLAN_BTAMP_FEATURE
1637 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001638 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07001639 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1640 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
1641 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
1642 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
1643#endif //WLAN_BTAMP_FEATURE
1644 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001645 hdd_config_t, nBandCapability,
1646 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1647 CFG_BAND_CAPABILITY_DEFAULT,
1648 CFG_BAND_CAPABILITY_MIN,
1649 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001650
1651 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001652 hdd_config_t, fEnableBeaconEarlyTermination,
1653 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1654 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
1655 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
1656 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001657/* CFG_VOS_TRACE_ENABLE Parameters */
1658 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
1659 hdd_config_t, vosTraceEnableBAP,
1660 VAR_FLAGS_OPTIONAL,
1661 CFG_VOS_TRACE_ENABLE_DEFAULT,
1662 CFG_VOS_TRACE_ENABLE_MIN,
1663 CFG_VOS_TRACE_ENABLE_MAX ),
1664
1665 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
1666 hdd_config_t, vosTraceEnableTL,
1667 VAR_FLAGS_OPTIONAL,
1668 CFG_VOS_TRACE_ENABLE_DEFAULT,
1669 CFG_VOS_TRACE_ENABLE_MIN,
1670 CFG_VOS_TRACE_ENABLE_MAX ),
1671
1672 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1673 hdd_config_t, vosTraceEnableWDI,
1674 VAR_FLAGS_OPTIONAL,
1675 CFG_VOS_TRACE_ENABLE_DEFAULT,
1676 CFG_VOS_TRACE_ENABLE_MIN,
1677 CFG_VOS_TRACE_ENABLE_MAX ),
1678
1679 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1680 hdd_config_t, vosTraceEnableHDD,
1681 VAR_FLAGS_OPTIONAL,
1682 CFG_VOS_TRACE_ENABLE_DEFAULT,
1683 CFG_VOS_TRACE_ENABLE_MIN,
1684 CFG_VOS_TRACE_ENABLE_MAX ),
1685
1686 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1687 hdd_config_t, vosTraceEnableSME,
1688 VAR_FLAGS_OPTIONAL,
1689 CFG_VOS_TRACE_ENABLE_DEFAULT,
1690 CFG_VOS_TRACE_ENABLE_MIN,
1691 CFG_VOS_TRACE_ENABLE_MAX ),
1692
1693 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1694 hdd_config_t, vosTraceEnablePE,
1695 VAR_FLAGS_OPTIONAL,
1696 CFG_VOS_TRACE_ENABLE_DEFAULT,
1697 CFG_VOS_TRACE_ENABLE_MIN,
1698 CFG_VOS_TRACE_ENABLE_MAX ),
1699
1700 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
1701 hdd_config_t, vosTraceEnableWDA,
1702 VAR_FLAGS_OPTIONAL,
1703 CFG_VOS_TRACE_ENABLE_DEFAULT,
1704 CFG_VOS_TRACE_ENABLE_MIN,
1705 CFG_VOS_TRACE_ENABLE_MAX ),
1706
1707 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1708 hdd_config_t, vosTraceEnableSYS,
1709 VAR_FLAGS_OPTIONAL,
1710 CFG_VOS_TRACE_ENABLE_DEFAULT,
1711 CFG_VOS_TRACE_ENABLE_MIN,
1712 CFG_VOS_TRACE_ENABLE_MAX ),
1713
1714 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
1715 hdd_config_t, vosTraceEnableVOSS,
1716 VAR_FLAGS_OPTIONAL,
1717 CFG_VOS_TRACE_ENABLE_DEFAULT,
1718 CFG_VOS_TRACE_ENABLE_MIN,
1719 CFG_VOS_TRACE_ENABLE_MAX ),
1720
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001721 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1722 hdd_config_t, vosTraceEnableSAP,
1723 VAR_FLAGS_OPTIONAL,
1724 CFG_VOS_TRACE_ENABLE_DEFAULT,
1725 CFG_VOS_TRACE_ENABLE_MIN,
1726 CFG_VOS_TRACE_ENABLE_MAX ),
1727
1728 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1729 hdd_config_t, vosTraceEnableHDDSAP,
1730 VAR_FLAGS_OPTIONAL,
1731 CFG_VOS_TRACE_ENABLE_DEFAULT,
1732 CFG_VOS_TRACE_ENABLE_MIN,
1733 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001734
Jeff Johnson295189b2012-06-20 16:38:30 -07001735 /* note that since the default value is out of range we cannot
1736 enable range check, otherwise we get a system log message */
1737 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
1738 hdd_config_t, wdiTraceEnableDAL,
1739 VAR_FLAGS_OPTIONAL,
1740 CFG_WDI_TRACE_ENABLE_DEFAULT,
1741 CFG_WDI_TRACE_ENABLE_MIN,
1742 CFG_WDI_TRACE_ENABLE_MAX ),
1743
1744 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
1745 hdd_config_t, wdiTraceEnableCTL,
1746 VAR_FLAGS_OPTIONAL,
1747 CFG_WDI_TRACE_ENABLE_DEFAULT,
1748 CFG_WDI_TRACE_ENABLE_MIN,
1749 CFG_WDI_TRACE_ENABLE_MAX ),
1750
1751 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
1752 hdd_config_t, wdiTraceEnableDAT,
1753 VAR_FLAGS_OPTIONAL,
1754 CFG_WDI_TRACE_ENABLE_DEFAULT,
1755 CFG_WDI_TRACE_ENABLE_MIN,
1756 CFG_WDI_TRACE_ENABLE_MAX ),
1757
1758 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
1759 hdd_config_t, wdiTraceEnablePAL,
1760 VAR_FLAGS_OPTIONAL,
1761 CFG_WDI_TRACE_ENABLE_DEFAULT,
1762 CFG_WDI_TRACE_ENABLE_MIN,
1763 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001764
1765 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001766 hdd_config_t, nTeleBcnTransListenInterval,
1767 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1768 CFG_TELE_BCN_TRANS_LI_DEFAULT,
1769 CFG_TELE_BCN_TRANS_LI_MIN,
1770 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001771
1772 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001773 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
1774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1775 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
1776 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
1777 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001778
1779 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001780 hdd_config_t, nTeleBcnMaxListenInterval,
1781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1782 CFG_TELE_BCN_MAX_LI_DEFAULT,
1783 CFG_TELE_BCN_MAX_LI_MIN,
1784 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001785
1786 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001787 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
1788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1789 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
1790 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
1791 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001792
1793 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001794 hdd_config_t, bcnEarlyTermWakeInterval,
1795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1796 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
1797 CFG_BCN_EARLY_TERM_WAKE_MIN,
1798 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001799
1800 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001801 hdd_config_t, apDataAvailPollPeriodInMs,
1802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1803 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1804 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001805 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
1806
1807 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001808 hdd_config_t, enableCloseLoop,
1809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1810 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
1811 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001812 CFG_ENABLE_CLOSE_LOOP_MAX ),
1813
1814 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001815 hdd_config_t, enableBypass11d,
1816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1817 CFG_ENABLE_BYPASS_11D_DEFAULT,
1818 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001819 CFG_ENABLE_BYPASS_11D_MAX ),
1820
1821 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001822 hdd_config_t, enableDFSChnlScan,
1823 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1824 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1825 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001826 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
1827
1828 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001829 hdd_config_t, enableDynamicDTIM,
1830 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1831 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1832 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001833 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
1834
1835 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001836 hdd_config_t, enableAutomaticTxPowerControl,
1837 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1838 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
1839 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001840 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
1841
1842 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001843 hdd_config_t, ShortGI40MhzEnable,
1844 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1845 CFG_SHORT_GI_40MHZ_DEFAULT,
1846 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001847 CFG_SHORT_GI_40MHZ_MAX ),
1848
1849 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001850 hdd_config_t, reportMaxLinkSpeed,
1851 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1852 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1853 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001854 CFG_REPORT_MAX_LINK_SPEED_MAX,
1855 NULL, 0 ),
1856
1857 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
1858 hdd_config_t, linkSpeedRssiHigh,
1859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1860 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1861 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1862 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1863 NULL, 0 ),
1864
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001865 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
1866 hdd_config_t, linkSpeedRssiMid,
1867 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1868 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1869 CFG_LINK_SPEED_RSSI_MID_MIN,
1870 CFG_LINK_SPEED_RSSI_MID_MAX,
1871 NULL, 0 ),
1872
Jeff Johnson295189b2012-06-20 16:38:30 -07001873 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
1874 hdd_config_t, linkSpeedRssiLow,
1875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1876 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1877 CFG_LINK_SPEED_RSSI_LOW_MIN,
1878 CFG_LINK_SPEED_RSSI_LOW_MAX,
1879 NULL, 0 ),
1880
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001881#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
1882 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
1883 hdd_config_t, nRoamPrefer5GHz,
1884 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1885 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1886 CFG_ROAM_PREFER_5GHZ_MIN,
1887 CFG_ROAM_PREFER_5GHZ_MAX,
1888 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001889
1890 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
1891 hdd_config_t, nRoamIntraBand,
1892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1893 CFG_ROAM_INTRA_BAND_DEFAULT,
1894 CFG_ROAM_INTRA_BAND_MIN,
1895 CFG_ROAM_INTRA_BAND_MAX,
1896 cbNotifySetRoamIntraBand, 0 ),
1897
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001898#endif
1899
Jeff Johnson295189b2012-06-20 16:38:30 -07001900 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
1901 hdd_config_t, isP2pDeviceAddrAdministrated,
1902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1903 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1904 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1905 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001906
1907REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001908 hdd_config_t, enableMCC,
1909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1910 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1911 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001912 CFG_ENABLE_MCC_ENABLED_MAX ),
1913
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001914REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001915 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1917 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1918 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1919 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001920
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08001921REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001922 hdd_config_t, thermalMitigationEnable,
1923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1924 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1925 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001926 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
1927#ifdef WLAN_FEATURE_PACKET_FILTERING
1928 REG_VARIABLE( CFG_MC_ADDR_LIST_FILTER_NAME, WLAN_PARAM_Integer,
1929 hdd_config_t, isMcAddrListFilter,
1930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1931 CFG_MC_ADDR_LIST_FILTER_DEFAULT,
1932 CFG_MC_ADDR_LIST_FILTER_MIN,
1933 CFG_MC_ADDR_LIST_FILTER_MAX ),
1934#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001935
Jeff Johnson295189b2012-06-20 16:38:30 -07001936REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001937 hdd_config_t, enableModulatedDTIM,
1938 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1939 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1940 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001941 CFG_ENABLE_MODULATED_DTIM_MAX ),
1942
Jeff Johnsond13512a2012-07-17 11:42:19 -07001943 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
1944 hdd_config_t, fEnableMCAddrList,
1945 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1946 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
1947 CFG_MC_ADDR_LIST_ENABLE_MIN,
1948 CFG_MC_ADDR_LIST_ENABLE_MAX ),
1949
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001950#ifdef WLAN_FEATURE_11AC
Jeff Johnsone7245742012-09-05 17:12:55 -07001951REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001952 hdd_config_t, vhtChannelWidth,
1953 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1954 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
1955 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001956 CFG_VHT_CHANNEL_WIDTH_MAX),
1957
1958REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001959 hdd_config_t, vhtRxMCS,
1960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1961 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
1962 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001963 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
1964
1965REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001966 hdd_config_t, vhtTxMCS,
1967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1968 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
1969 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001970 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
1971#endif
1972
1973REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001974 hdd_config_t, enableFirstScan2GOnly,
1975 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1976 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
1977 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001978 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
1979
1980REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001981 hdd_config_t, skipDfsChnlInP2pSearch,
1982 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1983 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
1984 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001985 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
1986
1987REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001988 hdd_config_t, ignoreDynamicDtimInP2pMode,
1989 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1990 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
1991 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001992 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
1993
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07001994REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001995 hdd_config_t,numBuffAdvert ,
1996 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1997 CFG_NUM_BUFF_ADVERT_DEFAULT,
1998 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07001999 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002000
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002001REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
2002 hdd_config_t, configMccParam,
2003 VAR_FLAGS_OPTIONAL,
2004 CFG_MCC_CONFIG_PARAM_DEFAULT,
2005 CFG_MCC_CONFIG_PARAM_MIN,
2006 CFG_MCC_CONFIG_PARAM_MAX ),
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302007REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002008 hdd_config_t, enableRxSTBC,
2009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2010 CFG_ENABLE_RX_STBC_DEFAULT,
2011 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302012 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002013#ifdef FEATURE_WLAN_TDLS
2014REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2015 hdd_config_t, fEnableTDLSSupport,
2016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2017 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2018 CFG_TDLS_SUPPORT_ENABLE_MIN,
2019 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302020
2021REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
2022 hdd_config_t, fEnableTDLSImplicitTrigger,
2023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2024 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2025 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2026 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2027
2028REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
2029 hdd_config_t, fTDLSTxStatsPeriod,
2030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2031 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2032 CFG_TDLS_TX_STATS_PERIOD_MIN,
2033 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2034
2035REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2036 hdd_config_t, fTDLSTxPacketThreshold,
2037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2038 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2039 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2040 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2041
2042REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
2043 hdd_config_t, fTDLSDiscoveryPeriod,
2044 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2045 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2046 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2047 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2048
2049REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
2050 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2051 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2052 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2053 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2054 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2055
Chilam Ng01120412013-02-19 18:32:21 -08002056REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2057 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302058 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002059 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2060 CFG_TDLS_IDLE_TIMEOUT_MIN,
2061 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2062
2063REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2064 hdd_config_t, fTDLSIdlePacketThreshold,
2065 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2066 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2067 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2068 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302069
2070REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002071 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302072 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2073 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2074 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2075 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002076
2077REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
2078 hdd_config_t, fTDLSRSSITriggerThreshold,
2079 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2080 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2081 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2082 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2083
2084REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
2085 hdd_config_t, fTDLSRSSITeardownThreshold,
2086 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2087 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2088 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2089 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002090#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002091
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002092#ifdef WLAN_SOFTAP_VSTA_FEATURE
2093REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2094 hdd_config_t, fEnableVSTASupport,
2095 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2096 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2097 CFG_VSTA_SUPPORT_ENABLE_MIN,
2098 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2099#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002100REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002101 hdd_config_t, enableLpwrImgTransition,
2102 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2103 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2104 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002105 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2106
Yathish9f22e662012-12-10 14:21:35 -08002107#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
2108REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
2109 hdd_config_t, fEnableActiveModeOffload,
2110 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2111 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2112 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2113 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2114#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002115REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
2116 hdd_config_t, enableLpwrImgTransition,
2117 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2118 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2119 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2120 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2121
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002122
2123REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
2124 hdd_config_t, scanAgingTimeout,
2125 VAR_FLAGS_OPTIONAL,
2126 CFG_SCAN_AGING_PARAM_DEFAULT,
2127 CFG_SCAN_AGING_PARAM_MIN,
2128 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002129
2130REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
2131 hdd_config_t, enableTxLdpc,
2132 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2133 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2134 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2135 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2136
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08002137REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302138 hdd_config_t, enableMCCAdaptiveScheduler,
2139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2140 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2141 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2142 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2143
2144REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
2145 hdd_config_t, isAndroidPsEn,
2146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2147 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2148 CFG_ANDRIOD_POWER_SAVE_MIN,
2149 CFG_ANDRIOD_POWER_SAVE_MAX),
2150
Shailender Karmuchia734f332013-04-19 14:02:48 -07002151REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
2152 hdd_config_t, AdHocChannel5G,
2153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2154 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2155 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2156 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2157
2158REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
2159 hdd_config_t, AdHocChannel24G,
2160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2161 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2162 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2163 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2164
2165
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002166#ifdef WLAN_FEATURE_11AC
2167REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2168 hdd_config_t, enableTxBF,
2169 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2170 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2171 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2172 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002173
2174REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
2175 hdd_config_t, txBFCsnValue,
2176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2177 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2178 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2179 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2180
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002181#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302182
2183REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
2184 hdd_config_t, sapAllowAllChannel,
2185 VAR_FLAGS_OPTIONAL,
2186 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2187 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2188 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002189#ifdef WLAN_FEATURE_11AC
2190REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
2191 hdd_config_t, disableLDPCWithTxbfAP,
2192 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2193 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2194 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2195 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2196#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002197
2198REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
2199 hdd_config_t, listOfNonDfsCountryCode,
2200 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2201 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2202
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002203 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2204 hdd_config_t, enableSSR,
2205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2206 CFG_ENABLE_SSR_DEFAULT,
2207 CFG_ENABLE_SSR_MIN,
2208 CFG_ENABLE_SSR_MAX,
2209 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkalad86a14e2013-04-18 16:41:54 +05302210
2211REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
2212 hdd_config_t, listOfNon11acCountryCode,
2213 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2214 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2215
Jeff Johnson295189b2012-06-20 16:38:30 -07002216};
2217
2218/*
2219 * This function returns a pointer to the character after the occurence
2220 * of a new line character. It also modifies the original string by replacing
2221 * the '\n' character with the null character.
2222 * Function returns NULL if no new line character was found before end of
2223 * string was reached
2224 */
2225static char* get_next_line(char* str)
2226{
2227 char c;
2228
2229 if( str == NULL || *str == '\0') {
2230 return NULL;
2231 }
2232
2233 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002234 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002235 str = str + 1;
2236 c = *str;
2237 }
2238
2239 if (c == '\0' ) {
2240 return NULL;
2241 }
2242 else
2243 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002244 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002245 return (str+1);
2246 }
2247
2248 return NULL;
2249}
2250
2251// look for space. Ascii values to look are -
2252// 0x09 == horizontal tab
2253// 0x0a == Newline ("\n")
2254// 0x0b == vertical tab
2255// 0x0c == Newpage or feed form.
2256// 0x0d == carriage return (CR or "\r")
2257// Null ('\0') should not considered as space.
2258#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2259
2260/*
2261 * This function trims any leading and trailing white spaces
2262 */
2263static char *i_trim(char *str)
2264
2265{
2266 char *ptr;
2267
2268 if(*str == '\0') return str;
2269
2270 /* Find the first non white-space*/
2271 for (ptr = str; i_isspace(*ptr); ptr++);
2272 if (*ptr == '\0')
2273 return str;
2274
2275 /* This is the new start of the string*/
2276 str = ptr;
2277
2278 /* Find the last non white-space */
2279 ptr += strlen(ptr) - 1;
2280 for (; ptr != str && i_isspace(*ptr); ptr--);
2281 /* Null terminate the following character */
2282 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002283
Jeff Johnson295189b2012-06-20 16:38:30 -07002284 return str;
2285}
2286
2287
2288//Structure to store each entry in qcom_cfg.ini file
2289typedef struct
2290{
2291 char *name;
2292 char *value;
2293}tCfgIniEntry;
2294
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002295static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002296 tCfgIniEntry* iniTable, unsigned long entries);
2297
2298#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002299void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002300{
2301 unsigned long i;
2302
2303 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002304 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002305 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2306 }
2307}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002308#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002309
2310/*
2311 * This function reads the qcom_cfg.ini file and
2312 * parses each 'Name=Value' pair in the ini file
2313 */
2314VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2315{
2316 int status, i=0;
2317 /** Pointer for firmware image data */
2318 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002319 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002320 size_t size;
2321 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002322 /* cfgIniTable is static to avoid excess stack usage */
2323 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002324 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2325
2326 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2327
2328 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002329
Jeff Johnson295189b2012-06-20 16:38:30 -07002330 if(status)
2331 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002332 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002333 vos_status = VOS_STATUS_E_FAILURE;
2334 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002335 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002336 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002337 {
2338 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002339 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002340 vos_status = VOS_STATUS_E_FAILURE;
2341 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002342 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002343
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002344 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002345
2346 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002347
Jeff Johnson295189b2012-06-20 16:38:30 -07002348 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002349 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002350 release_firmware(fw);
2351 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002352 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002353 pTemp = buffer;
2354
2355 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2356 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002357
Jeff Johnson295189b2012-06-20 16:38:30 -07002358 while (buffer != NULL)
2359 {
2360 line = get_next_line(buffer);
2361 buffer = i_trim(buffer);
2362
2363 hddLog(LOG1, "%s: item", buffer);
2364
2365 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2366 buffer = line;
2367 continue;
2368 }
2369 else if(strncmp(buffer, "END", 3) == 0 ) {
2370 break;
2371 }
2372 else
2373 {
2374 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002375 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002376 buffer++;
2377 if(*buffer != '\0') {
2378 *buffer++ = '\0';
2379 i_trim(name);
2380 if(strlen (name) != 0) {
2381 buffer = i_trim(buffer);
2382 if(strlen(buffer)>0) {
2383 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002384 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002385 buffer++;
2386 *buffer = '\0';
2387 cfgIniTable[i].name= name;
2388 cfgIniTable[i++].value= value;
2389 if(i >= MAX_CFG_INI_ITEMS) {
2390 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002391 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002392 break;
2393 }
2394 }
2395 }
2396 }
2397 }
2398 buffer = line;
2399 }
2400
2401 //Loop through the registry table and apply all these configs
2402 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2403
Jeff Johnson4416a782013-03-25 14:17:50 -07002404config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002405 release_firmware(fw);
2406 vos_mem_free(pTemp);
2407 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002408}
Jeff Johnson295189b2012-06-20 16:38:30 -07002409
2410
2411static void print_hdd_cfg(hdd_context_t *pHddCtx)
2412{
2413 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2414 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2415 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2416 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2417 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2418 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2419 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2420 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2421 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssBssid] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2422 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2423 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2424 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2425
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002426 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002427 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2428 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2429 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2430 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2431 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2432 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2433 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2434
2435
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002436 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002437 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2438 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2439 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2440 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2441 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2442 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2443 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2444
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002445 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002446 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2447 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2448 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2449 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2450 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2451 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2452 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2453
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002454 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002455 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2456 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2457 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2458 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2459 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2460 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2461 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2462
Jeff Johnson295189b2012-06-20 16:38:30 -07002463
2464 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2465
2466 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2467 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2468 pHddCtx->cfg_ini->apCntryCode[2]);
2469 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2470 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2471
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002472 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableListenMode] Value = [%u]\n", pHddCtx->cfg_ini->nEnableListenMode);
Jeff Johnson295189b2012-06-20 16:38:30 -07002473 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2474 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2475 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApAutoChannelSelection] value = [%u]\n",pHddCtx->cfg_ini->apAutoChannelSelection);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002476
Jeff Johnson295189b2012-06-20 16:38:30 -07002477 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2478 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2479 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2480 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2481 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
2482 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
2483 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
2484
2485 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
2486 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
2487
2488 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
2489 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
2490
2491 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
2492 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
2493
2494 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
2495 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
2496#ifdef FEATURE_WLAN_CCX
2497 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
2498 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
2499 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
2500 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTxPowerCap] Value = [%lu] dBm ",pHddCtx->cfg_ini->nTxPowerCap);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002501#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002502#ifdef FEATURE_WLAN_LFR
2503 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastRoamEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002504#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07002505#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2506 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%lu] ",pHddCtx->cfg_ini->RoamRssiDiff);
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08002507 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%lu] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
Srinivas Girigowda100eb322013-03-15 16:48:20 -07002508 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [isWESModeEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isWESModeEnabled);
Jeff Johnson43971f52012-07-17 12:26:56 -07002509#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002510#ifdef FEATURE_WLAN_OKC
2511 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
2512#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002513 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
2514 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
2515 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
2516 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
2517 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
2518
2519 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
2520 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
2521 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
2522 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
2523 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
2524
2525 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
2526 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
2527 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
2528 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
2529 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
2530
2531 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
2532 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
2533 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
2534 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
2535 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
2536
2537 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
2538 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
2539 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
2540 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
2541 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
2542 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
2543 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fhostArpOffload] Value = [%u] ",pHddCtx->cfg_ini->fhostArpOffload);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002544#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07002545 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTEnable] Value = [%lu] ",pHddCtx->cfg_ini->fFTEnable);
2546 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
2547#endif
2548
2549#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
2550 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
2551 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
2552 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
2553 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
2554 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
2555 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
2556 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
Srinivas Girigowdade697412013-02-14 16:31:48 -08002557 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nEmptyScanRefreshPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
Jeff Johnson295189b2012-06-20 16:38:30 -07002558#endif
2559 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
2560 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
2561 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
2562 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
2563 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
2564 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
2565 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
2566
2567 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
2568 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2569 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
2570#ifdef WLAN_BTAMP_FEATURE
2571 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
2572#endif //WLAN_BTAMP_FEATURE
2573 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
2574 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
2575 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
2576 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
2577 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
2578 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
2579 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
2580 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
2581 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2582 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
2583 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
2584 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
2585 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [thermalMitigationEnable] Value = [%u] ",pHddCtx->cfg_ini->thermalMitigationEnable);
Jeff Johnsone7245742012-09-05 17:12:55 -07002586#ifdef WLAN_FEATURE_11AC
2587 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
2588#endif
2589 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
2590 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
2591 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ignoreDynamicDtimInP2pMode] Value = [%u] ",pHddCtx->cfg_ini->ignoreDynamicDtimInP2pMode);
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302592 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableRxSTBC] Value = [%u] ",pHddCtx->cfg_ini->enableRxSTBC);
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002593 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableLpwrImgTransition] Value = [%u] ",pHddCtx->cfg_ini->enableLpwrImgTransition);
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002594 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableSSR] Value = [%u] ",pHddCtx->cfg_ini->enableSSR);
2595
Jeff Johnson295189b2012-06-20 16:38:30 -07002596}
2597
2598
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002599
Jeff Johnson295189b2012-06-20 16:38:30 -07002600#define CFG_VALUE_MAX_LEN 256
2601#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
2602VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
2603{
2604 unsigned int idx;
2605 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2606 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2607 v_U32_t value;
2608 char valueStr[CFG_VALUE_MAX_LEN];
2609 char configStr[CFG_ENTRY_MAX_LEN];
2610 char *fmt;
2611 void *pField;
2612 v_MACADDR_t *pMacAddr;
2613 char *pCur = pBuf;
2614 int curlen;
2615
2616 // start with an empty string
2617 *pCur = '\0';
2618
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002619 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07002620 {
2621 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
2622
2623 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2624 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002625 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07002626 {
2627 value = 0;
2628 memcpy( &value, pField, pRegEntry->VarSize );
2629 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
2630 {
2631 fmt = "%x";
2632 }
2633 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2634 {
2635 fmt = "%d";
2636 }
2637 else
2638 {
2639 fmt = "%u";
2640 }
2641 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
2642 }
2643 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2644 {
2645 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
2646 }
2647 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2648 {
2649 pMacAddr = (v_MACADDR_t *) pField;
2650 snprintf(valueStr, CFG_VALUE_MAX_LEN,
2651 "%02x:%02x:%02x:%02x:%02x:%02x",
2652 pMacAddr->bytes[0],
2653 pMacAddr->bytes[1],
2654 pMacAddr->bytes[2],
2655 pMacAddr->bytes[3],
2656 pMacAddr->bytes[4],
2657 pMacAddr->bytes[5]);
2658 }
2659 else
2660 {
2661 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
2662 }
2663 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
2664 "%s=[%s]%s\n",
2665 pRegEntry->RegName,
2666 valueStr,
2667 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
2668 "*" : "");
2669
2670 // ideally we want to return the config to the application
2671 // however the config is too big so we just printk() for now
2672#ifdef RETURN_IN_BUFFER
2673 if (curlen <= buflen)
2674 {
2675 // copy string + '\0'
2676 memcpy(pCur, configStr, curlen+1);
2677
2678 // account for addition;
2679 pCur += curlen;
2680 buflen -= curlen;
2681 }
2682 else
2683 {
2684 // buffer space exhausted, return what we have
2685 return VOS_STATUS_E_RESOURCES;
2686 }
2687#else
2688 printk(KERN_CRIT "%s", configStr);
2689#endif // RETURN_IN_BUFFER
2690
2691}
2692
2693#ifndef RETURN_IN_BUFFER
2694 // notify application that output is in system log
2695 snprintf(pCur, buflen, "WLAN configuration written to system log");
2696#endif // RETURN_IN_BUFFER
2697
2698 return VOS_STATUS_SUCCESS;
2699}
2700
2701static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002702 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07002703{
2704 VOS_STATUS status = VOS_STATUS_E_FAILURE;
2705 unsigned long i;
2706
2707 for (i = 0; i < entries; i++) {
2708 if (strcmp(iniTable[i].name, name) == 0) {
2709 *value = iniTable[i].value;
2710 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
2711 WLAN_INI_FILE, name, *value);
2712 return VOS_STATUS_SUCCESS;
2713 }
2714 }
2715
2716 return status;
2717}
2718
2719static int parseHexDigit(char c)
2720{
2721 if (c >= '0' && c <= '9')
2722 return c-'0';
2723 if (c >= 'a' && c <= 'f')
2724 return c-'a'+10;
2725 if (c >= 'A' && c <= 'F')
2726 return c-'A'+10;
2727
2728 return 0;
2729}
2730
2731
2732static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
2733{
2734 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
2735 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
2736 unsigned int idx;
2737 void *pField;
2738 char *value_str = NULL;
2739 unsigned long len_value_str;
2740 char *candidate;
2741 v_U32_t value;
2742 v_S31_t svalue;
2743 void *pStructBase = pHddCtx->cfg_ini;
2744 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2745 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2746 v_U32_t cbOutString;
2747 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002748 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07002749
2750 // sanity test
2751 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
2752 {
2753 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002754 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07002755 }
2756
2757 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
2758 {
2759 //Calculate the address of the destination field in the structure.
2760 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
2761
2762 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
2763
2764 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
2765 {
2766 // If we could not read the cfg item and it is required, this is an error.
2767 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002768 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002769 ret_status = VOS_STATUS_E_FAILURE;
2770 break;
2771 }
2772
2773 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2774 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
2775 {
2776 // If successfully read from the registry, use the value read.
2777 // If not, use the default value.
2778 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002779 rv = kstrtoul(value_str, 10, &value);
2780 if (rv < 0) {
2781 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
2782 __func__, pRegEntry->RegName);
2783 value = pRegEntry->VarDefault;
2784 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002785 }
2786 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002787 rv = kstrtoul(value_str, 16, &value);
2788 if (rv < 0) {
2789 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
2790 __func__, pRegEntry->RegName);
2791 value = pRegEntry->VarDefault;
2792 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002793 }
2794 else {
2795 value = pRegEntry->VarDefault;
2796 }
2797
2798 // If this parameter needs range checking, do it here.
2799 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2800 {
2801 if ( value > pRegEntry->VarMax )
2802 {
2803 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002804 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07002805 value = pRegEntry->VarMax;
2806 }
2807
2808 if ( value < pRegEntry->VarMin )
2809 {
2810 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002811 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07002812 value = pRegEntry->VarMin;
2813 }
2814 }
2815 // If this parameter needs range checking, do it here.
2816 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2817 {
2818 if ( value > pRegEntry->VarMax )
2819 {
2820 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002821 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002822 value = pRegEntry->VarDefault;
2823 }
2824
2825 if ( value < pRegEntry->VarMin )
2826 {
2827 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002828 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002829 value = pRegEntry->VarDefault;
2830 }
2831 }
2832
2833 // Move the variable into the output field.
2834 memcpy( pField, &value, pRegEntry->VarSize );
2835 }
2836 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2837 {
2838 // If successfully read from the registry, use the value read.
2839 // If not, use the default value.
2840 if (VOS_STATUS_SUCCESS == match_status)
2841 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002842 rv = kstrtol(value_str, 10, &svalue);
2843 if (rv < 0) {
2844 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
2845 __func__, pRegEntry->RegName);
2846 svalue = (v_S31_t)pRegEntry->VarDefault;
2847 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002848 }
2849 else
2850 {
2851 svalue = (v_S31_t)pRegEntry->VarDefault;
2852 }
2853
2854 // If this parameter needs range checking, do it here.
2855 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2856 {
2857 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2858 {
2859 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002860 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002861 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
2862 svalue = (v_S31_t)pRegEntry->VarMax;
2863 }
2864
2865 if ( svalue < (v_S31_t)pRegEntry->VarMin )
2866 {
2867 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002868 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002869 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
2870 svalue = (v_S31_t)pRegEntry->VarMin;
2871 }
2872 }
2873 // If this parameter needs range checking, do it here.
2874 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2875 {
2876 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2877 {
2878 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
2879 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002880 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07002881 (int)pRegEntry->VarMax,
2882 (int)pRegEntry->VarDefault );
2883 svalue = (v_S31_t)pRegEntry->VarDefault;
2884 }
2885
2886 if ( svalue < (v_S31_t)pRegEntry->VarMin )
2887 {
2888 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
2889 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002890 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07002891 (int)pRegEntry->VarMin,
2892 (int)pRegEntry->VarDefault);
2893 svalue = pRegEntry->VarDefault;
2894 }
2895 }
2896
2897 // Move the variable into the output field.
2898 memcpy( pField, &svalue, pRegEntry->VarSize );
2899 }
2900 // Handle string parameters
2901 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2902 {
2903#ifdef WLAN_CFG_DEBUG
2904 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "RegName = %s, VarOffset %u VarSize %u VarDefault %s\n",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002905 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07002906#endif
2907
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002908 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07002909 {
2910 len_value_str = strlen(value_str);
2911
2912 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002913 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002914 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07002915 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
2916 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
2917 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
2918 }
2919 else
2920 {
2921 memcpy( pField, (void *)(value_str), len_value_str);
2922 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
2923 }
2924 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002925 else
Jeff Johnson295189b2012-06-20 16:38:30 -07002926 {
2927 // Failed to read the string parameter from the registry. Use the default.
2928 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
2929 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002930 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002931 }
2932 }
2933 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2934 {
2935 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002936 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
2937 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002938 continue;
2939 }
2940 candidate = (char*)pRegEntry->VarDefault;
2941 if ( match_status == VOS_STATUS_SUCCESS) {
2942 len_value_str = strlen(value_str);
2943 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002944 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002945 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07002946 }
2947 else
2948 candidate = value_str;
2949 }
2950 //parse the string and store it in the byte array
2951 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
2952 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002953 ((char*)pField)[i] =
2954 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07002955 }
2956 }
2957 else
2958 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002959 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002960 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002961 }
2962
2963 // did we successfully parse a cfg item for this parameter?
2964 if( (match_status == VOS_STATUS_SUCCESS) &&
2965 (idx < MAX_CFG_INI_ITEMS) )
2966 {
2967 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
2968 }
2969 }
2970
2971 print_hdd_cfg(pHddCtx);
2972
2973 return( ret_status );
2974}
2975
2976eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
2977{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002978 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07002979 {
2980 case (eHDD_DOT11_MODE_abg):
2981 return eCSR_DOT11_MODE_abg;
2982 case (eHDD_DOT11_MODE_11b):
2983 return eCSR_DOT11_MODE_11b;
2984 case (eHDD_DOT11_MODE_11g):
2985 return eCSR_DOT11_MODE_11g;
2986 default:
2987 case (eHDD_DOT11_MODE_11n):
2988 return eCSR_DOT11_MODE_11n;
2989 case (eHDD_DOT11_MODE_11g_ONLY):
2990 return eCSR_DOT11_MODE_11g_ONLY;
2991 case (eHDD_DOT11_MODE_11n_ONLY):
2992 return eCSR_DOT11_MODE_11n_ONLY;
2993 case (eHDD_DOT11_MODE_11b_ONLY):
2994 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07002995#ifdef WLAN_FEATURE_11AC
2996 case (eHDD_DOT11_MODE_11ac_ONLY):
2997 return eCSR_DOT11_MODE_11ac_ONLY;
2998 case (eHDD_DOT11_MODE_11ac):
2999 return eCSR_DOT11_MODE_11ac;
3000#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003001 case (eHDD_DOT11_MODE_AUTO):
3002 return eCSR_DOT11_MODE_AUTO;
3003 }
3004
3005}
3006
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003007static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003008{
3009 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3010 tSmeBtcConfig btcParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003011
Jeff Johnson295189b2012-06-20 16:38:30 -07003012 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3013
3014 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003015 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003016 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3017
Jeff Johnson32d95a32012-09-10 13:15:23 -07003018 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3019 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3020 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3021 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3022 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3023 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3024 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3025 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3026 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3027 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3028 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3029 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3030 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3031
Jeff Johnson295189b2012-06-20 16:38:30 -07003032 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3033}
3034
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003035static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003036{
3037 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3038
3039 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003040
Jeff Johnson295189b2012-06-20 16:38:30 -07003041 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003042
Jeff Johnson295189b2012-06-20 16:38:30 -07003043 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3044 {
3045 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3046 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3047 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3048 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3049 }
3050 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3051 {
3052 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3053 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3054 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3055 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3056 }
3057 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3058 {
3059 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3060 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3061 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3062 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3063 }
3064
3065 if (pConfig->fIsImpsEnabled)
3066 {
3067 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3068 }
3069 else
3070 {
3071 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3072 }
3073
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303074 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3075 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3076 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3077
Jeff Johnson295189b2012-06-20 16:38:30 -07003078 if (pConfig->fIsBmpsEnabled)
3079 {
3080 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3081 }
3082 else
3083 {
3084 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3085 }
3086
3087 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3088
3089 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3090 {
3091 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3092 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003093
Jeff Johnson295189b2012-06-20 16:38:30 -07003094 if(pConfig->fIsAutoBmpsTimerEnabled)
3095 {
3096 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3097 }
3098
3099}
3100
3101#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3102static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3103{
3104 char *s = str;
3105
3106 if( str == NULL || intArray == NULL || len == NULL )
3107 {
3108 return VOS_STATUS_E_INVAL;
3109 }
3110 *len = 0;
3111
Jeff Johnson295189b2012-06-20 16:38:30 -07003112 while ( (s != NULL) && (*len < intArrayMaxLen) )
3113 {
3114 int val;
3115 //Increment length only if sscanf succesfully extracted one element.
3116 //Any other return value means error. Ignore it.
3117 if( sscanf(s, "%d", &val ) == 1 )
3118 {
3119 intArray[*len] = (tANI_U8) val;
3120 *len += 1;
3121 }
3122 s = strpbrk( s, "," );
3123 if( s )
3124 s++;
3125 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003126
3127 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003128
Jeff Johnson295189b2012-06-20 16:38:30 -07003129}
3130#endif
3131
3132
3133v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3134{
3135 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003136#ifdef WLAN_SOFTAP_VSTA_FEATURE
3137 tANI_U32 val;
3138#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003139
3140 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303141 tSirMacHTCapabilityInfo htCapInfo;
3142
Jeff Johnson295189b2012-06-20 16:38:30 -07003143
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003144 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003145 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3146 {
3147 fStatus = FALSE;
3148 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3149 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003150
3151 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003152 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3153 {
3154 fStatus = FALSE;
3155 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3156 }
3157
3158 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3159 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3160 {
3161 fStatus = FALSE;
3162 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3163 }
3164
3165 if ( 0 != pConfig->Cfg1Id )
3166 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003167 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003168 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3169 {
3170 fStatus = FALSE;
3171 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3172 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003173
Jeff Johnson295189b2012-06-20 16:38:30 -07003174 }
3175
3176 if ( 0 != pConfig->Cfg2Id )
3177 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003178 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003179 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3180 {
3181 fStatus = FALSE;
3182 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3183 }
3184 }
3185
3186 if ( 0 != pConfig->Cfg3Id )
3187 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003188 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003189 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3190 {
3191 fStatus = FALSE;
3192 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3193 }
3194 }
3195
3196 if ( 0 != pConfig->Cfg4Id )
3197 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003198 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003199 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3200 {
3201 fStatus = FALSE;
3202 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3203 }
3204 }
3205
3206 if ( 0 != pConfig->Cfg5Id )
3207 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003208 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003209 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3210 {
3211 fStatus = FALSE;
3212 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3213 }
3214 }
3215
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003216 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003217 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3218 {
3219 fStatus = FALSE;
3220 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3221 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003222
3223 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003224 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3225 {
3226 fStatus = FALSE;
3227 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3228 }
3229
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003230 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003231 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3232 {
3233 fStatus = FALSE;
3234 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3235 }
3236
3237 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3238 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3239 {
3240 fStatus = FALSE;
3241 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3242 }
3243
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003244 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003245 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003246 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003247 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3248 {
3249 fStatus = FALSE;
3250 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3251 }
3252 }
3253 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003254 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003255 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3256 {
3257 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3258 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003259 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003260 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003261 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003262 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3263 {
3264 fStatus = FALSE;
3265 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3266 }
3267 }
3268 else
3269 {
3270 fStatus = FALSE;
3271 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3272 }
3273 }
3274
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003275 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003276 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3277 {
3278 fStatus = FALSE;
3279 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3280 }
3281
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003282 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003283 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3284 {
3285 fStatus = FALSE;
3286 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3287 }
3288
3289 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3290 {
3291 fStatus = FALSE;
3292 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3293 }
3294
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003295 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003296 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3297 {
3298 fStatus = FALSE;
3299 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3300 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003301
Jeff Johnson295189b2012-06-20 16:38:30 -07003302 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3303 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3304 {
3305 fStatus = FALSE;
3306 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3307 }
3308
Jeff Johnson295189b2012-06-20 16:38:30 -07003309 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3310 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3311 {
3312 fStatus = FALSE;
3313 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3314 }
3315
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003316 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003317 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3318 {
3319 fStatus = FALSE;
3320 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3321 }
3322
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003323 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003324 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3325 {
3326 fStatus = FALSE;
3327 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3328 }
3329
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003330#ifdef FEATURE_WLAN_LFR
3331 if (pConfig->isFastRoamIniFeatureEnabled)
3332 {
3333 pConfig->fEnableFwRssiMonitoring = TRUE;
3334 }
3335#endif
3336#ifdef FEATURE_WLAN_CCX
3337 if (pConfig->isCcxIniFeatureEnabled)
3338 {
3339 pConfig->fEnableFwRssiMonitoring = TRUE;
3340 }
3341#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003342 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003343 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3344 {
3345 fStatus = FALSE;
3346 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3347 }
3348
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003349 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003350 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3351 {
3352 fStatus = FALSE;
3353 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3354 }
3355
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003356 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003357 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3358 {
3359 fStatus = FALSE;
3360 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3361 }
3362
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003363 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003364 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3365 {
3366 fStatus = FALSE;
3367 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3368 }
3369
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003370 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003371 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3372 {
3373 fStatus = FALSE;
3374 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3375 }
3376
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003377 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003378 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3379 {
3380 fStatus = FALSE;
3381 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003382 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003383
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003384 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003385 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3386 {
3387 fStatus = FALSE;
3388 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3389 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003390
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303391 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3392 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3393 {
3394 fStatus = FALSE;
3395 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3396 }
3397
Jeff Johnson295189b2012-06-20 16:38:30 -07003398#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003399 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003400 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3401 {
3402 fStatus = FALSE;
3403 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3404 }
3405
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003406 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003407 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3408 {
3409 fStatus = FALSE;
3410 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3411 }
3412
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003413 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003414 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3415 {
3416 fStatus = FALSE;
3417 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3418 }
3419
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003420 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003421 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3422#endif
3423
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003424 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003425 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3426 {
3427 fStatus = FALSE;
3428 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3429 }
3430
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003431 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003432 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3433 {
3434 fStatus = FALSE;
3435 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3436 }
3437
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003438 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003439 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3440 {
3441 fStatus = FALSE;
3442 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3443 }
3444
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003445 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003446 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3447 {
3448 fStatus = FALSE;
3449 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3450 }
3451
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003452 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003453 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3454 {
3455 fStatus = FALSE;
3456 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3457 }
3458
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003459 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003460 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3461 {
3462 fStatus = FALSE;
3463 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
3464 }
3465
3466 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
3467 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3468 {
3469 fStatus = FALSE;
3470 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
3471 }
3472
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003473 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003474 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3475 {
3476 fStatus = FALSE;
3477 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
3478 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003479 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003480 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3481 {
3482 fStatus = FALSE;
3483 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
3484 }
3485
3486 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
3487 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3488 {
3489 fStatus = FALSE;
3490 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_NULLDATA_DELAY_TIMEOUT configuration info to CCM\n" );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003491 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003492
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003493 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07003494 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003495 {
3496 fStatus = FALSE;
3497 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3498 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003499 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003500 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3501 {
3502 fStatus = FALSE;
3503 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
3504 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003505 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003506 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3507 {
3508 fStatus = FALSE;
3509 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
3510 }
3511
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003512 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07003513 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3514 {
3515 fStatus = FALSE;
3516 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
3517 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003518 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07003519 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3520 {
3521 fStatus = FALSE;
3522 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
3523 }
3524
Jeff Johnson295189b2012-06-20 16:38:30 -07003525 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
3526 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3527 {
3528 fStatus = FALSE;
3529 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3530 }
3531
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003532 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07003533 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
3534 ==eHAL_STATUS_FAILURE)
3535 {
3536 fStatus = FALSE;
3537 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
3538 }
3539
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003540 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07003541 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
3542 ==eHAL_STATUS_FAILURE)
3543 {
3544 fStatus = FALSE;
3545 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
3546 }
3547
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003548 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003549 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3550 {
3551 fStatus = FALSE;
3552 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
3553 }
3554
Jeff Johnsond13512a2012-07-17 11:42:19 -07003555
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003556 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07003557 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3558 {
3559 fStatus = FALSE;
3560 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
3561 }
3562
Jeff Johnsone7245742012-09-05 17:12:55 -07003563#ifdef WLAN_FEATURE_11AC
3564 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
3565 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
3566 /* we update only the least significant 2 bits in the corresponding fields */
3567 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
3568 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
3569 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
3570 {
3571 {
3572 tANI_U32 temp = 0;
3573
3574 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003575 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003576
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003577 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07003578 temp, NULL, eANI_BOOLEAN_FALSE)
3579 ==eHAL_STATUS_FAILURE)
3580 {
3581 fStatus = FALSE;
3582 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
3583 }
3584
3585 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003586 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003587
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003588 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003589 temp, NULL, eANI_BOOLEAN_FALSE)
3590 ==eHAL_STATUS_FAILURE)
3591 {
3592 fStatus = FALSE;
3593 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
3594 }
3595
3596 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003597 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003598
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003599 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003600 temp, NULL, eANI_BOOLEAN_FALSE)
3601 ==eHAL_STATUS_FAILURE)
3602 {
3603 fStatus = FALSE;
3604 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
3605 }
3606 }
3607 }
3608#endif
3609
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003610 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07003611 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3612 {
3613 fStatus = FALSE;
3614 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
3615 }
3616
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003617 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303618 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3619 ==eHAL_STATUS_FAILURE)
3620 {
3621 fStatus = FALSE;
3622 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
3623 }
3624
3625 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
3626 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
3627
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003628 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303629 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
3630 ==eHAL_STATUS_FAILURE)
3631 {
3632 fStatus = FALSE;
3633 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
3634 }
3635
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003636 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303637 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3638 ==eHAL_STATUS_FAILURE)
3639 {
3640 fStatus = FALSE;
3641 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
3642 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003643
3644#ifdef WLAN_SOFTAP_VSTA_FEATURE
3645 if(pConfig->fEnableVSTASupport)
3646 {
3647 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
3648 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
3649 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
3650 }
3651 else
3652 {
3653 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
3654 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003655 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003656 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3657 {
3658 fStatus = FALSE;
3659 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
3660 }
3661#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003662 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003663 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
3664 ==eHAL_STATUS_FAILURE)
3665 {
3666 fStatus = FALSE;
3667 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
3668 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303669
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08003670 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
3671 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3672 {
3673 fStatus = FALSE;
3674 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
3675 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003676 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
3677 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3678 {
3679 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003680 hddLog(LOGE, "Could not pass on WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP to CCM");
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003681 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003682
3683 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
3684 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3685 {
3686 fStatus = FALSE;
3687 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
3688 }
3689
3690 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
3691 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3692 {
3693 fStatus = FALSE;
3694 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
3695 }
3696
3697 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
3698 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3699 {
3700 fStatus = FALSE;
3701 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
3702 }
3703
Jeff Johnson295189b2012-06-20 16:38:30 -07003704 return fStatus;
3705}
3706
3707
3708/**---------------------------------------------------------------------------
3709
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003710 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07003711
3712 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003713
Jeff Johnson295189b2012-06-20 16:38:30 -07003714 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003715
Jeff Johnson295189b2012-06-20 16:38:30 -07003716 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003717
Jeff Johnson295189b2012-06-20 16:38:30 -07003718 --------------------------------------------------------------------------*/
3719
3720VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
3721{
3722 VOS_STATUS status = VOS_STATUS_SUCCESS;
3723 eHalStatus halStatus;
3724 tSmeConfigParams smeConfig;
3725
3726 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3727
3728 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
3729
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003730 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003731 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
3732 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
3733
3734 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07003735 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
3736 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003737 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
3738 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
3739 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
3740 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
3741 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
3742
3743 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
3744
3745 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
3746 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
3747 smeConfig.csrConfig.TxRate = pConfig->TxRate;
3748 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
3749 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
3750 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
3751 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
3752 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
3753 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
3754 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
3755 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
3756 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
3757 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
3758 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
3759 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
3760 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
3761 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003762 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07003763 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
3764 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
3765 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
3766 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003767 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
3768 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003769#ifdef WLAN_AP_STA_CONCURRENCY
3770 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
3771 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
3772 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
3773 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
3774 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Vinay Malekal05fdc812012-12-17 13:04:30 -08003775 smeConfig.csrConfig.nNumChanCombinedConc = pConfig->nNumChanCombinedConc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003776#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003777 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
3778 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
3779
3780#if defined WLAN_FEATURE_VOWIFI
3781 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
3782 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
3783#endif
3784 //Remaining config params not obtained from registry
3785 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07003786#ifdef WLAN_FEATURE_11AC
3787 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08003788 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08003789 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Jeff Johnsone7245742012-09-05 17:12:55 -07003790#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07003791 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
3792 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003793 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
3794 smeConfig.csrConfig.HeartbeatThresh50 = 40;
3795 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08003796 if (pConfig->nBandCapability == eCSR_BAND_24)
3797 {
3798 smeConfig.csrConfig.Is11hSupportEnabled = 0;
3799 } else {
3800 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
3801 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003802 smeConfig.csrConfig.cbChoice = 0;
3803 smeConfig.csrConfig.bgScanInterval = 0;
3804 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07003805 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
3806 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
3807 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003808#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3809 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003810 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003811#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07003812 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
3813
Jeff Johnson295189b2012-06-20 16:38:30 -07003814 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08003815 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
3816 {
3817 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07003818
Jeff Johnson7dda7772013-02-27 08:36:13 -08003819 /* if there is a requirement that HDD will control the default
3820 * channel list & country code (say from .ini file) we need to
3821 * add some logic here. Otherwise the default 11d info should
3822 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07003823 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08003824 else
3825 {
3826 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
3827 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003828
Jeff Johnson7dda7772013-02-27 08:36:13 -08003829 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
3830 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
3831 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
3832 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003833 hdd_set_power_save_config(pHddCtx, &smeConfig);
3834 hdd_set_btc_config(pHddCtx);
3835
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003836#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07003837 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
3838#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003839#ifdef FEATURE_WLAN_LFR
3840 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003841 if( pConfig->isFastRoamIniFeatureEnabled )
3842 {
3843 pConfig->isFastTransitionEnabled = TRUE;
3844 }
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003845#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003846#ifdef FEATURE_WLAN_CCX
3847 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003848 if( pConfig->isCcxIniFeatureEnabled )
3849 {
3850 pConfig->isFastTransitionEnabled = TRUE;
3851 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003852#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003853#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07003854 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07003855 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08003856 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowda100eb322013-03-15 16:48:20 -07003857 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07003858#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07003859#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
3860 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
3861#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003862#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3863 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
3864 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003865 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
3866 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07003867 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003868 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07003869 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08003870 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003871 hdd_string_to_u8_array( pConfig->neighborScanChanList,
3872 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
3873 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07003874 WNI_CFG_VALID_CHANNEL_LIST_LEN );
3875#endif
3876
3877 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
3878 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
3879
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003880 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07003881 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07003882 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07003883
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08003884 //Scan Results Aging Time out value
3885 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
3886
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08003887 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
3888
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003889 /* update SSR config */
3890 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
3891
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003892 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07003893 if ( !HAL_STATUS_SUCCESS( halStatus ) )
3894 {
3895 status = VOS_STATUS_E_FAILURE;
3896 }
3897
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003898
3899 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07003900}
3901
3902
3903/**---------------------------------------------------------------------------
3904
3905 \brief hdd_execute_config_command() -
3906
3907 This function executes an arbitrary configuration set command
3908
3909 \param - pHddCtx - Pointer to the HDD Adapter.
3910 \parmm - command - a configuration command of the form:
3911 <name>=<value>
3912
3913 \return - 0 for success, non zero for failure
3914
3915 --------------------------------------------------------------------------*/
3916
3917VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
3918{
3919 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
3920 REG_TABLE_ENTRY *pRegEntry;
3921 char *clone;
3922 char *pCmd;
3923 void *pField;
3924 char *name;
3925 char *value_str;
3926 v_U32_t value;
3927 v_S31_t svalue;
3928 size_t len_value_str;
3929 unsigned int idx;
3930 unsigned int i;
3931 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003932 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003933
3934 // assume failure until proven otherwise
3935 vstatus = VOS_STATUS_E_FAILURE;
3936
3937 // clone the command so that we can manipulate it
3938 clone = kstrdup(command, GFP_ATOMIC);
3939 if (NULL == clone)
3940 {
3941 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003942 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003943 return vstatus;
3944 }
3945
3946 // 'clone' will point to the beginning of the string so it can be freed
3947 // 'pCmd' will be used to walk/parse the command
3948 pCmd = clone;
3949
3950 // get rid of leading/trailing whitespace
3951 pCmd = i_trim(pCmd);
3952 if ('\0' == *pCmd)
3953 {
3954 // only whitespace
3955 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003956 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003957 goto done;
3958 }
3959
3960 // parse the <name> = <value>
3961 name = pCmd;
3962 while (('=' != *pCmd) && ('\0' != *pCmd))
3963 {
3964 pCmd++;
3965 }
3966 if ('\0' == *pCmd)
3967 {
3968 // did not find '='
3969 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003970 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003971 goto done;
3972 }
3973
3974 // replace '=' with NUL to terminate the <name>
3975 *pCmd++ = '\0';
3976 name = i_trim(name);
3977 if ('\0' == *name)
3978 {
3979 // did not find a name
3980 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003981 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003982 goto done;
3983 }
3984
3985 value_str = i_trim(pCmd);
3986 if ('\0' == *value_str)
3987 {
3988 // did not find a value
3989 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003990 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003991 goto done;
3992 }
3993
3994 // lookup the configuration item
3995 for (idx = 0; idx < tableSize; idx++)
3996 {
3997 if (0 == strcmp(name, g_registry_table[idx].RegName))
3998 {
3999 // found a match
4000 break;
4001 }
4002 }
4003 if (tableSize == idx)
4004 {
4005 // did not match the name
4006 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004007 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004008 goto done;
4009 }
4010
4011 pRegEntry = &g_registry_table[idx];
4012 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4013 {
4014 // does not support dynamic configuration
4015 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004016 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004017 goto done;
4018 }
4019
4020 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4021
4022 switch (pRegEntry->RegType)
4023 {
4024 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004025 rv = kstrtoul(value_str, 10, &value);
4026 if (rv < 0)
4027 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004028 if (value < pRegEntry->VarMin)
4029 {
4030 // out of range
4031 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004032 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004033 goto done;
4034 }
4035 if (value > pRegEntry->VarMax)
4036 {
4037 // out of range
4038 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004039 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004040 goto done;
4041 }
4042 memcpy(pField, &value, pRegEntry->VarSize);
4043 break;
4044
4045 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004046 rv = kstrtoul(value_str, 16, &value);
4047 if (rv < 0)
4048 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004049 if (value < pRegEntry->VarMin)
4050 {
4051 // out of range
4052 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004053 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004054 goto done;
4055 }
4056 if (value > pRegEntry->VarMax)
4057 {
4058 // out of range
4059 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004060 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004061 goto done;
4062 }
4063 memcpy(pField, &value, pRegEntry->VarSize);
4064 break;
4065
4066 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004067 rv = kstrtol(value_str, 10, &svalue);
4068 if (rv < 0)
4069 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004070 if (svalue < (v_S31_t)pRegEntry->VarMin)
4071 {
4072 // out of range
4073 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004074 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004075 goto done;
4076 }
4077 if (svalue > (v_S31_t)pRegEntry->VarMax)
4078 {
4079 // out of range
4080 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004081 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004082 goto done;
4083 }
4084 memcpy(pField, &svalue, pRegEntry->VarSize);
4085 break;
4086
4087 case WLAN_PARAM_String:
4088 len_value_str = strlen(value_str);
4089 if (len_value_str > (pRegEntry->VarSize - 1))
4090 {
4091 // too big
4092 hddLog(LOGE,
4093 "%s: invalid command, string [%s] length "
4094 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004095 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004096 len_value_str, (pRegEntry->VarSize - 1));
4097 goto done;
4098 }
4099 // copy string plus NUL
4100 memcpy(pField, value_str, (len_value_str + 1));
4101 break;
4102
4103 case WLAN_PARAM_MacAddr:
4104 len_value_str = strlen(value_str);
4105 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4106 {
4107 // out of range
4108 hddLog(LOGE,
4109 "%s: invalid command, MAC address [%s] length "
4110 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004111 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004112 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4113 goto done;
4114 }
4115 //parse the string and store it in the byte array
4116 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4117 {
4118 ((char*)pField)[i] = (char)
4119 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4120 parseHexDigit(value_str[(i * 2) + 1]));
4121 }
4122 break;
4123
4124 default:
4125 goto done;
4126 }
4127
4128 // if we get here, we had a successful modification
4129 vstatus = VOS_STATUS_SUCCESS;
4130
4131 // config table has been modified, is there a notifier?
4132 if (NULL != pRegEntry->pfnDynamicNotify)
4133 {
4134 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4135 }
4136
4137 // note that this item was explicitly configured
4138 if (idx < MAX_CFG_INI_ITEMS)
4139 {
4140 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4141 }
4142 done:
4143 kfree(clone);
4144 return vstatus;
4145}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004146
4147/**---------------------------------------------------------------------------
4148
4149 \brief hdd_is_okc_mode_enabled() -
4150
4151 This function returns whether OKC mode is enabled or not
4152
4153 \param - pHddCtx - Pointer to the HDD Adapter.
4154
4155 \return - 1 for enabled, zero for disabled
4156
4157 --------------------------------------------------------------------------*/
4158
4159tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4160{
4161 if (NULL == pHddCtx)
4162 {
4163 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4164 return -EINVAL;
4165 }
4166
4167#ifdef FEATURE_WLAN_OKC
4168 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4169#else
4170 return eANI_BOOLEAN_FALSE;
4171#endif
4172}