blob: 10a3a6f72f5694dd533f5c3d1e95cf06ba18df2a [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}
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700110
111static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
112{
113 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
114}
115
116static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
117{
118 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime);
119}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700120#endif
121
122#ifdef FEATURE_WLAN_OKC
123static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
124{
125 // at the point this routine is called, the value in the cfg_ini table has already been updated
126}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800127#endif
128
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800129#ifdef FEATURE_WLAN_LFR
130static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
131{
132 // at the point this routine is called, the value in the cfg_ini table has already been updated
133 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
134}
135#endif
136
137#ifdef FEATURE_WLAN_CCX
138static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
139{
140 // at the point this routine is called, the value in the cfg_ini table has already been updated
141 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
142}
143#endif
144
145static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
146{
147 // at the point this routine is called, the value in the cfg_ini table has already been updated
148 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
149}
150
Srinivas Girigowdade697412013-02-14 16:31:48 -0800151#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
152static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
153{
154 // at the point this routine is called, the value in the cfg_ini table has already been updated
155 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
156}
157
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700158static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
159{
160 // at the point this routine is called, the value in the cfg_ini table has already been updated
161 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
162}
163
Srinivas Girigowdade697412013-02-14 16:31:48 -0800164static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
165{
166 // at the point this routine is called, the value in the cfg_ini table has already been updated
167 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
168}
169
170static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
171{
172 // at the point this routine is called, the value in the cfg_ini table has already been updated
173 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
174}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700175
176static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
177{
178 // at the point this routine is called, the value in the cfg_ini table has already been updated
179 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
180}
181
182static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
183{
184 // at the point this routine is called, the value in the cfg_ini table has already been updated
185 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
186}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800187#endif
188
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700189static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
190{
191 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
192}
193
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700194#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
195static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
196{
197 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
198}
199#endif
200
Jeff Johnson295189b2012-06-20 16:38:30 -0700201REG_TABLE_ENTRY g_registry_table[] =
202{
203 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800204 hdd_config_t, RTSThreshold,
205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
206 CFG_RTS_THRESHOLD_DEFAULT,
207 CFG_RTS_THRESHOLD_MIN,
208 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700209
210 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800211 hdd_config_t, FragmentationThreshold,
212 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
213 CFG_FRAG_THRESHOLD_DEFAULT,
214 CFG_FRAG_THRESHOLD_MIN,
215 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700216
217 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800218 hdd_config_t, Calibration,
219 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
220 CFG_CALIBRATION_DEFAULT,
221 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700222 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800223
Jeff Johnson295189b2012-06-20 16:38:30 -0700224 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800225 hdd_config_t, CalibrationPeriod,
226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
227 CFG_CALIBRATION_PERIOD_DEFAULT,
228 CFG_CALIBRATION_PERIOD_MIN,
229 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700230
231 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
232 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
234 CFG_OPERATING_CHANNEL_DEFAULT,
235 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700236 CFG_OPERATING_CHANNEL_MAX ),
237
238 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800239 hdd_config_t, ShortSlotTimeEnabled,
240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
241 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
242 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700243 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
244
245 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800246 hdd_config_t, Is11dSupportEnabled,
247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
248 CFG_11D_SUPPORT_ENABLED_DEFAULT,
249 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700250 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800251
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800252 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800253 hdd_config_t, Is11hSupportEnabled,
254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
255 CFG_11H_SUPPORT_ENABLED_DEFAULT,
256 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800257 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700258
259 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800260 hdd_config_t, fEnforce11dChannels,
261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
262 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
263 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700264 CFG_ENFORCE_11D_CHANNELS_MAX ),
265
266 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800267 hdd_config_t, fSupplicantCountryCodeHasPriority,
268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
269 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
270 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700271 CFG_COUNTRY_CODE_PRIORITY_MAX),
272
273 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800274 hdd_config_t, fEnforceCountryCodeMatch,
275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
276 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
277 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700278 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
279
280 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800281 hdd_config_t, fEnforceDefaultDomain,
282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
283 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
284 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700285 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800286
Jeff Johnson295189b2012-06-20 16:38:30 -0700287 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
288 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
290 CFG_GENERIC_ID1_DEFAULT,
291 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700292 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800293
Jeff Johnson295189b2012-06-20 16:38:30 -0700294 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
295 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
297 CFG_GENERIC_ID2_DEFAULT,
298 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700299 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800300
Jeff Johnson295189b2012-06-20 16:38:30 -0700301 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
302 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
304 CFG_GENERIC_ID3_DEFAULT,
305 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700306 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800307
Jeff Johnson295189b2012-06-20 16:38:30 -0700308 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
309 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
311 CFG_GENERIC_ID4_DEFAULT,
312 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700313 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800314
Jeff Johnson295189b2012-06-20 16:38:30 -0700315 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
316 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
318 CFG_GENERIC_ID5_DEFAULT,
319 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700320 CFG_GENERIC_ID5_MAX ),
321
322 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
323 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
325 CFG_GENERIC_VALUE1_DEFAULT,
326 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700327 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328
Jeff Johnson295189b2012-06-20 16:38:30 -0700329 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
330 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
332 CFG_GENERIC_VALUE2_DEFAULT,
333 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700334 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335
Jeff Johnson295189b2012-06-20 16:38:30 -0700336 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
337 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800338 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
339 CFG_GENERIC_VALUE3_DEFAULT,
340 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700341 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342
Jeff Johnson295189b2012-06-20 16:38:30 -0700343 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
344 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800345 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
346 CFG_GENERIC_VALUE4_DEFAULT,
347 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700348 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800349
Jeff Johnson295189b2012-06-20 16:38:30 -0700350 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
351 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
353 CFG_GENERIC_VALUE5_DEFAULT,
354 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700355 CFG_GENERIC_VALUE5_MAX ),
356
357 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800358 hdd_config_t, HeartbeatThresh24,
359 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
360 CFG_HEARTBEAT_THRESH_24_DEFAULT,
361 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700362 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800363
Jeff Johnson295189b2012-06-20 16:38:30 -0700364 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800365 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700366 VAR_FLAGS_OPTIONAL,
367 (void *)CFG_POWER_USAGE_DEFAULT ),
368
369 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800370 hdd_config_t, nEnableSuspend,
371 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
372 CFG_ENABLE_SUSPEND_DEFAULT,
373 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700374 CFG_ENABLE_SUSPEND_MAX ),
375
376 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800377 hdd_config_t, nEnableDriverStop,
378 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
379 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
380 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700381 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
382
383 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800384 hdd_config_t, fIsImpsEnabled,
385 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
386 CFG_ENABLE_IMPS_DEFAULT,
387 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700388 CFG_ENABLE_IMPS_MAX ),
389
390 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800391 hdd_config_t, fIsLogpEnabled,
392 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
393 CFG_ENABLE_LOGP_DEFAULT,
394 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700395 CFG_ENABLE_LOGP_MAX ),
396
397 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800398 hdd_config_t, nImpsMinSleepTime,
399 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
400 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
401 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700402 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
403
404 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800405 hdd_config_t, nImpsMaxSleepTime,
406 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
407 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
408 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700409 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
410
411 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
412 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
414 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
415 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700416 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
417
418 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800419 hdd_config_t, fIsBmpsEnabled,
420 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
421 CFG_ENABLE_BMPS_DEFAULT,
422 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700423 CFG_ENABLE_BMPS_MAX ),
424
425 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800426 hdd_config_t, nBmpsMinListenInterval,
427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
428 CFG_BMPS_MINIMUM_LI_DEFAULT,
429 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700430 CFG_BMPS_MINIMUM_LI_MAX ),
431
432 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800433 hdd_config_t, nBmpsMaxListenInterval,
434 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
435 CFG_BMPS_MAXIMUM_LI_DEFAULT,
436 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700437 CFG_BMPS_MAXIMUM_LI_MAX ),
438
439 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
440 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
442 CFG_BMPS_MODERATE_LI_DEFAULT,
443 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700444 CFG_BMPS_MODERATE_LI_MAX ),
445
446 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800447 hdd_config_t, fIsAutoBmpsTimerEnabled,
448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
449 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
450 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700451 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
452
453 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800454 hdd_config_t, nAutoBmpsTimerValue,
455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
456 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
457 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700458 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
459
460 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800461 hdd_config_t, dot11Mode,
462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
463 CFG_DOT11_MODE_DEFAULT,
464 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700465 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800466
Jeff Johnson295189b2012-06-20 16:38:30 -0700467 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800468 hdd_config_t, nChannelBondingMode24GHz,
469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
470 CFG_CHANNEL_BONDING_MODE_DEFAULT,
471 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700472 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800473
Jeff Johnson295189b2012-06-20 16:38:30 -0700474 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800475 hdd_config_t, nChannelBondingMode5GHz,
476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
477 CFG_CHANNEL_BONDING_MODE_DEFAULT,
478 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700479 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800480
481 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
482 hdd_config_t, MaxRxAmpduFactor,
483 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
484 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
485 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700486 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800487
Jeff Johnson295189b2012-06-20 16:38:30 -0700488 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800489 hdd_config_t, TxRate,
490 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
491 CFG_FIXED_RATE_DEFAULT,
492 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700493 CFG_FIXED_RATE_MAX ),
494
495 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800496 hdd_config_t, ShortGI20MhzEnable,
497 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
498 CFG_SHORT_GI_20MHZ_DEFAULT,
499 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700500 CFG_SHORT_GI_20MHZ_MAX ),
501
502 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800503 hdd_config_t, BlockAckAutoSetup,
504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
505 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
506 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700507 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800508
Jeff Johnson295189b2012-06-20 16:38:30 -0700509 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800510 hdd_config_t, ScanResultAgeCount,
511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
512 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
513 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700514 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
515
516 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800517 hdd_config_t, nScanAgeTimeNCNPS,
518 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
519 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
520 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700521 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
522
523 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800524 hdd_config_t, nScanAgeTimeNCPS,
525 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
526 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
527 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700528 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
529
530 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800531 hdd_config_t, nScanAgeTimeCNPS,
532 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
533 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
534 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700535 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
536
537 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800538 hdd_config_t, nScanAgeTimeCPS,
539 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
540 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
541 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700542 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
543
544 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800545 hdd_config_t, nRssiCatGap,
546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
547 CFG_RSSI_CATEGORY_GAP_DEFAULT,
548 CFG_RSSI_CATEGORY_GAP_MIN,
549 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700550
551 REG_VARIABLE( CFG_STAT_TIMER_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800552 hdd_config_t, nStatTimerInterval,
553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
554 CFG_STAT_TIMER_INTERVAL_DEFAULT,
555 CFG_STAT_TIMER_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700556 CFG_STAT_TIMER_INTERVAL_MAX ),
557
558 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800559 hdd_config_t, fIsShortPreamble,
560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
561 CFG_SHORT_PREAMBLE_DEFAULT,
562 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700563 CFG_SHORT_PREAMBLE_MAX ),
564
565 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800566 hdd_config_t, fIsAutoIbssBssid,
567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
568 CFG_IBSS_AUTO_BSSID_DEFAULT,
569 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700570 CFG_IBSS_AUTO_BSSID_MAX ),
571
572 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800573 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700574 VAR_FLAGS_OPTIONAL,
575 (void *)CFG_IBSS_BSSID_DEFAULT ),
576
577 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800578 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700579 VAR_FLAGS_OPTIONAL,
580 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
581
582 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800583 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700584 VAR_FLAGS_OPTIONAL,
585 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
586
587 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800588 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700589 VAR_FLAGS_OPTIONAL,
590 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
591
592 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800593 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700594 VAR_FLAGS_OPTIONAL,
595 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
596
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700597 REG_VARIABLE_STRING( CFG_CRDA_DEFAULT_COUNTRY_CODE, WLAN_PARAM_String,
598 hdd_config_t, crdaDefaultCountryCode,
599 VAR_FLAGS_OPTIONAL,
600 (void *)CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT ),
601
Jeff Johnson295189b2012-06-20 16:38:30 -0700602 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800603 hdd_config_t, apUapsdEnabled,
604 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
605 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
606 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700607 CFG_AP_QOS_UAPSD_MODE_MAX ),
608
609 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800610 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700611 VAR_FLAGS_OPTIONAL,
612 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
613
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700614 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
615 hdd_config_t, apRandomBssidEnabled,
616 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
617 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
618 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
619 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
620
Jeff Johnson295189b2012-06-20 16:38:30 -0700621 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800622 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700623 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
624 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
625 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
626 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
627
628 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
629 hdd_config_t, apProtection,
630 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
631 CFG_AP_PROTECTION_MODE_DEFAULT,
632 CFG_AP_PROTECTION_MODE_MIN,
633 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800634
Jeff Johnson295189b2012-06-20 16:38:30 -0700635 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800636 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700637 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
638 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
639 CFG_AP_OBSS_PROTECTION_MODE_MIN,
640 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800641
Jeff Johnson295189b2012-06-20 16:38:30 -0700642 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800643 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700644 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
645 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
646 CFG_AP_STA_SECURITY_SEPERATION_MIN,
647 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
648
649 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800650 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700651 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
652 CFG_FRAMES_PROCESSING_TH_DEFAULT,
653 CFG_FRAMES_PROCESSING_TH_MIN,
654 CFG_FRAMES_PROCESSING_TH_MAX ),
655
656 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
657 hdd_config_t, apStartChannelNum,
658 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
659 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
660 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
661 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
662
663 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
664 hdd_config_t, apEndChannelNum,
665 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
666 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
667 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
668 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
669
670 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
671 hdd_config_t, apOperatingBand,
672 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
673 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
674 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
675 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
676
677 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
678 hdd_config_t, apAutoChannelSelection,
679 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
680 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
681 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
682 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800683
Jeff Johnson295189b2012-06-20 16:38:30 -0700684 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
685 hdd_config_t, enableLTECoex,
686 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
687 CFG_ENABLE_LTE_COEX_DEFAULT,
688 CFG_ENABLE_LTE_COEX_MIN,
689 CFG_ENABLE_LTE_COEX_MAX ),
690
691 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
692 hdd_config_t, apKeepAlivePeriod,
693 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
694 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
695 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
696 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
697
698 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
699 hdd_config_t, goKeepAlivePeriod,
700 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
701 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
702 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
703 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
704
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530705 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
706 hdd_config_t, apLinkMonitorPeriod,
707 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
708 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
709 CFG_AP_LINK_MONITOR_PERIOD_MIN,
710 CFG_AP_LINK_MONITOR_PERIOD_MAX),
711
Jeff Johnson295189b2012-06-20 16:38:30 -0700712 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
713 hdd_config_t, disablePacketFilter,
714 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
715 CFG_DISABLE_PACKET_FILTER_DEFAULT,
716 CFG_DISABLE_PACKET_FILTER_MIN,
717 CFG_DISABLE_PACKET_FILTER_MAX ),
718
719 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800720 hdd_config_t, nBeaconInterval,
721 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
722 CFG_BEACON_INTERVAL_DEFAULT,
723 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700724 CFG_BEACON_INTERVAL_MAX ),
725
726 REG_VARIABLE( CFG_ENABLE_HANDOFF_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800727 hdd_config_t, fIsHandoffEnabled,
728 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
729 CFG_ENABLE_HANDOFF_DEFAULT,
730 CFG_ENABLE_HANDOFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700731 CFG_ENABLE_HANDOFF_MAX ),
732
733
734 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800735 hdd_config_t, nEnableIdleScan,
736 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
737 CFG_ENABLE_IDLE_SCAN_DEFAULT,
738 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700739 CFG_ENABLE_IDLE_SCAN_MAX ),
740
741 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800742 hdd_config_t, nRoamingTime,
743 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
744 CFG_ROAMING_TIME_DEFAULT,
745 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700746 CFG_ROAMING_TIME_MAX ),
747
748 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800749 hdd_config_t, nVccRssiTrigger,
750 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
751 CFG_VCC_RSSI_TRIGGER_DEFAULT,
752 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700753 CFG_VCC_RSSI_TRIGGER_MAX ),
754
755 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800756 hdd_config_t, nVccUlMacLossThreshold,
757 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
758 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
759 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700760 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
761
762 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800763 hdd_config_t, nPassiveMaxChnTime,
764 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
765 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
766 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700767 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
768
769 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800770 hdd_config_t, nPassiveMinChnTime,
771 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
772 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
773 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700774 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
775
776 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800777 hdd_config_t, nActiveMaxChnTime,
778 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
779 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
780 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700781 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
782
783 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800784 hdd_config_t, nActiveMinChnTime,
785 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
786 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
787 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700788 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700789
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800790 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
791 hdd_config_t, nActiveMaxChnTimeBtc,
792 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
793 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
794 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
795 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
796
797 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
798 hdd_config_t, nActiveMinChnTimeBtc,
799 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
800 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
801 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
802 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
803
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700804 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
805 hdd_config_t, retryLimitZero,
806 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
807 CFG_RETRY_LIMIT_ZERO_DEFAULT,
808 CFG_RETRY_LIMIT_ZERO_MIN,
809 CFG_RETRY_LIMIT_ZERO_MAX ),
810
811 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
812 hdd_config_t, retryLimitOne,
813 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
814 CFG_RETRY_LIMIT_ONE_DEFAULT,
815 CFG_RETRY_LIMIT_ONE_MIN,
816 CFG_RETRY_LIMIT_ONE_MAX ),
817
818 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
819 hdd_config_t, retryLimitTwo,
820 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
821 CFG_RETRY_LIMIT_TWO_DEFAULT,
822 CFG_RETRY_LIMIT_TWO_MIN,
823 CFG_RETRY_LIMIT_TWO_MAX ),
824
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700825 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
826 hdd_config_t, disableAggWithBtc,
827 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
828 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
829 CFG_DISABLE_AGG_WITH_BTC_MIN,
830 CFG_DISABLE_AGG_WITH_BTC_MAX ),
831
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700832#ifdef WLAN_AP_STA_CONCURRENCY
833 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800834 hdd_config_t, nPassiveMaxChnTimeConc,
835 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
836 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
837 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700838 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
839
840 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800841 hdd_config_t, nPassiveMinChnTimeConc,
842 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
843 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
844 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700845 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
846
847 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800848 hdd_config_t, nActiveMaxChnTimeConc,
849 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
850 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
851 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700852 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
853
854 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800855 hdd_config_t, nActiveMinChnTimeConc,
856 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
857 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
858 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700859 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
860
861 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800862 hdd_config_t, nRestTimeConc,
863 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
864 CFG_REST_TIME_CONC_DEFAULT,
865 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700866 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800867
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700868 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
869 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800870 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700871 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
872 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
873 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
874
875 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
876 hdd_config_t, nNumP2PChanCombinedConc,
877 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
878 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
879 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
880 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700881#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800882
Jeff Johnson295189b2012-06-20 16:38:30 -0700883 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800884 hdd_config_t, nMaxPsPoll,
885 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
886 CFG_MAX_PS_POLL_DEFAULT,
887 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700888 CFG_MAX_PS_POLL_MAX ),
889
890 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800891 hdd_config_t, nTxPowerCap,
892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
893 CFG_MAX_TX_POWER_DEFAULT,
894 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700895 CFG_MAX_TX_POWER_MAX ),
896
897 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
898 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800899 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
900 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
901 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700902 CFG_LOW_GAIN_OVERRIDE_MAX ),
903
904 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
905 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800906 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
907 CFG_RSSI_FILTER_PERIOD_DEFAULT,
908 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700909 CFG_RSSI_FILTER_PERIOD_MAX ),
910
911 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
912 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800913 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
914 CFG_IGNORE_DTIM_DEFAULT,
915 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700916 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800917
Yue Mac24062f2013-05-13 17:01:29 -0700918 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
919 hdd_config_t, fMaxLIModulatedDTIM,
920 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
921 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
922 CFG_MAX_LI_MODULATED_DTIM_MIN,
923 CFG_MAX_LI_MODULATED_DTIM_MAX ),
924
Jeff Johnson295189b2012-06-20 16:38:30 -0700925 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800926 hdd_config_t, nRxAnt,
927 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
928 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
929 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700930 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
931
932 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800933 hdd_config_t, fEnableFwHeartBeatMonitoring,
934 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
935 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
936 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700937 CFG_FW_HEART_BEAT_MONITORING_MAX ),
938
939 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800940 hdd_config_t, fEnableFwBeaconFiltering,
941 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
942 CFG_FW_BEACON_FILTERING_DEFAULT,
943 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700944 CFG_FW_BEACON_FILTERING_MAX ),
945
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800946 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800947 hdd_config_t, fEnableFwRssiMonitoring,
948 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
949 CFG_FW_RSSI_MONITORING_DEFAULT,
950 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800951 CFG_FW_RSSI_MONITORING_MAX,
952 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700953
954 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800955 hdd_config_t, nDataInactivityTimeout,
956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
957 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
958 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700959 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800960
Jeff Johnson295189b2012-06-20 16:38:30 -0700961 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800962 hdd_config_t, nthBeaconFilter,
963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
964 CFG_NTH_BEACON_FILTER_DEFAULT,
965 CFG_NTH_BEACON_FILTER_MIN,
966 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700967
968 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800969 hdd_config_t, WmmMode,
970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
971 CFG_QOS_WMM_MODE_DEFAULT,
972 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700973 CFG_QOS_WMM_MODE_MAX ),
974
975 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800976 hdd_config_t, b80211eIsEnabled,
977 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
978 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
979 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700980 CFG_QOS_WMM_80211E_ENABLED_MAX ),
981
982 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800983 hdd_config_t, UapsdMask,
984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
985 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
986 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700987 CFG_QOS_WMM_UAPSD_MASK_MAX ),
988
989 REG_VARIABLE( CFG_QOS_WMM_MAX_SP_LEN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800990 hdd_config_t, MaxSpLength,
991 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
992 CFG_QOS_WMM_MAX_SP_LEN_DEFAULT,
993 CFG_QOS_WMM_MAX_SP_LEN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700994 CFG_QOS_WMM_MAX_SP_LEN_MAX ),
995
996 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800997 hdd_config_t, InfraUapsdVoSrvIntv,
998 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
999 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1000 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001001 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1002
1003 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001004 hdd_config_t, InfraUapsdVoSuspIntv,
1005 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1006 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1007 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001008 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1009
1010 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001011 hdd_config_t, InfraUapsdViSrvIntv,
1012 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1013 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1014 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001015 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1016
1017 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001018 hdd_config_t, InfraUapsdViSuspIntv,
1019 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1020 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1021 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001022 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1023
1024 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001025 hdd_config_t, InfraUapsdBeSrvIntv,
1026 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1027 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1028 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001029 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1030
1031 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001032 hdd_config_t, InfraUapsdBeSuspIntv,
1033 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1034 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1035 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001036 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1037
1038 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001039 hdd_config_t, InfraUapsdBkSrvIntv,
1040 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1041 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1042 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001043 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1044
1045 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001046 hdd_config_t, InfraUapsdBkSuspIntv,
1047 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1048 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1049 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001050 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1051
1052#ifdef FEATURE_WLAN_CCX
1053 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001054 hdd_config_t, InfraInactivityInterval,
1055 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1056 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1057 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001058 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001059 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001060 hdd_config_t, isCcxIniFeatureEnabled,
1061 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1062 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1063 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001064 CFG_CCX_FEATURE_ENABLED_MAX,
1065 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001066#endif // FEATURE_WLAN_CCX
1067
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001068#ifdef FEATURE_WLAN_LFR
1069 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001070 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001071 hdd_config_t, isFastRoamIniFeatureEnabled,
1072 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1073 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1074 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001075 CFG_LFR_FEATURE_ENABLED_MAX,
1076 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001077#endif // FEATURE_WLAN_LFR
1078
1079#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001080 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001081 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001082 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001083 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1084 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1085 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001086 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1087 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001088
Srinivas Girigowdade697412013-02-14 16:31:48 -08001089 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001090 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001091 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1092 hdd_config_t, RoamRssiDiff,
1093 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1094 CFG_ROAM_RSSI_DIFF_DEFAULT,
1095 CFG_ROAM_RSSI_DIFF_MIN,
1096 CFG_ROAM_RSSI_DIFF_MAX,
1097 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001098
1099 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001100 hdd_config_t, nImmediateRoamRssiDiff,
1101 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1102 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1103 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001104 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1105 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001106
1107 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1108 hdd_config_t, isWESModeEnabled,
1109 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1110 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1111 CFG_ENABLE_WES_MODE_NAME_MIN,
1112 CFG_ENABLE_WES_MODE_NAME_MAX,
1113 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001114#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001115#ifdef FEATURE_WLAN_OKC
1116 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1117 hdd_config_t, isOkcIniFeatureEnabled,
1118 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1119 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1120 CFG_OKC_FEATURE_ENABLED_MIN,
1121 CFG_OKC_FEATURE_ENABLED_MAX,
1122 cbNotifySetOkcFeatureEnabled, 0 ),
1123#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001124#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1125 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1126 hdd_config_t, isRoamOffloadScanEnabled,
1127 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1128 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1129 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1130 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1131 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1132#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001133 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001134 hdd_config_t, PktClassificationBasis,
1135 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1136 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1137 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001138 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1139
1140 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001141 hdd_config_t, InfraDirAcVo,
1142 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1143 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1144 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001145 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1146
1147 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001148 hdd_config_t, InfraNomMsduSizeAcVo,
1149 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1150 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1151 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001152 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1153
1154 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001155 hdd_config_t, InfraMeanDataRateAcVo,
1156 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1157 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1158 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001159 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1160
1161 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001162 hdd_config_t, InfraMinPhyRateAcVo,
1163 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1164 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1165 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001166 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1167
1168 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001169 hdd_config_t, InfraSbaAcVo,
1170 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1171 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1172 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001173 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1174
1175 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001176 hdd_config_t, InfraDirAcVi,
1177 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1178 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1179 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001180 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1181
1182 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001183 hdd_config_t, InfraNomMsduSizeAcVi,
1184 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1185 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1186 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001187 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1188
1189 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001190 hdd_config_t, InfraMeanDataRateAcVi,
1191 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1192 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1193 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001194 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1195
1196 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001197 hdd_config_t, InfraMinPhyRateAcVi,
1198 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1199 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1200 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001201 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1202
1203 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001204 hdd_config_t, InfraSbaAcVi,
1205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1206 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1207 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001208 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1209
1210 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001211 hdd_config_t, InfraDirAcBe,
1212 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1213 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1214 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001215 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1216
1217 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001218 hdd_config_t, InfraNomMsduSizeAcBe,
1219 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1220 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1221 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001222 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1223
1224 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001225 hdd_config_t, InfraMeanDataRateAcBe,
1226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1227 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1228 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001229 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1230
1231 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001232 hdd_config_t, InfraMinPhyRateAcBe,
1233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1234 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1235 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001236 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1237
1238 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001239 hdd_config_t, InfraSbaAcBe,
1240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1241 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1242 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001243 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1244
1245 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001246 hdd_config_t, InfraDirAcBk,
1247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1248 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1249 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001250 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1251
1252 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001253 hdd_config_t, InfraNomMsduSizeAcBk,
1254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1255 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1256 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001257 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1258
1259 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001260 hdd_config_t, InfraMeanDataRateAcBk,
1261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1262 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1263 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001264 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1265
1266 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001267 hdd_config_t, InfraMinPhyRateAcBk,
1268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1269 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1270 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001271 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1272
1273 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001274 hdd_config_t, InfraSbaAcBk,
1275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1276 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1277 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001278 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1279
1280 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001281 hdd_config_t, WfqBkWeight,
1282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1283 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1284 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001285 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1286
1287 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001288 hdd_config_t, WfqBeWeight,
1289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1290 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1291 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001292 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1293
1294 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001295 hdd_config_t, WfqViWeight,
1296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1297 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1298 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001299 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1300
1301 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001302 hdd_config_t, WfqVoWeight,
1303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1304 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1305 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001306 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1307
1308 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001309 hdd_config_t, DelayedTriggerFrmInt,
1310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1311 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1312 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001313 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1314
1315 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001316 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001317 VAR_FLAGS_OPTIONAL,
1318 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1319
1320 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001321 hdd_config_t, bImplicitQosEnabled,
1322 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1323 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1324 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001325 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1326
1327 REG_VARIABLE( CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001328 hdd_config_t, b19p2MhzPmicClkEnabled,
1329 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1330 CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT,
1331 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001332 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX ),
1333
1334 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001335 hdd_config_t, btcExecutionMode,
1336 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1337 CFG_BTC_EXECUTION_MODE_DEFAULT,
1338 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001339 CFG_BTC_EXECUTION_MODE_MAX ),
1340
1341 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1342 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1343 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1344 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1345 CFG_BTC_DHCP_PROTECTION_MIN,
1346 CFG_BTC_DHCP_PROTECTION_MAX ),
1347
1348 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1349 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1350 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1351 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1352 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1353 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1354
Jeff Johnson32d95a32012-09-10 13:15:23 -07001355 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1356 hdd_config_t, btcStaticLenInqBt,
1357 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1358 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1359 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1360 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1361
1362 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1363 hdd_config_t, btcStaticLenPageBt,
1364 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1365 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1366 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1367 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1368
1369 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1370 hdd_config_t, btcStaticLenConnBt,
1371 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1372 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1373 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1374 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1375
1376 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1377 hdd_config_t, btcStaticLenLeBt,
1378 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1379 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1380 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1381 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1382
1383 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1384 hdd_config_t, btcStaticLenInqWlan,
1385 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1386 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1387 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1388 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1389
1390 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1391 hdd_config_t, btcStaticLenPageWlan,
1392 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1393 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1394 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1395 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1396
1397 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1398 hdd_config_t, btcStaticLenConnWlan,
1399 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1400 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1401 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1402 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1403
1404 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1405 hdd_config_t, btcStaticLenLeWlan,
1406 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1407 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1408 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1409 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1410
1411 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1412 hdd_config_t, btcDynMaxLenBt,
1413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1414 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1415 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1416 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1417
1418 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1419 hdd_config_t, btcDynMaxLenWlan,
1420 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1421 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1422 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1423 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1424
1425 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1426 hdd_config_t, btcMaxScoBlockPerc,
1427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1428 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1429 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1430 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1431
1432 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1433 hdd_config_t, btcDhcpProtOnA2dp,
1434 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1435 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1436 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1437 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1438
1439 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1440 hdd_config_t, btcDhcpProtOnSco,
1441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1442 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1443 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1444 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1445
Jeff Johnson295189b2012-06-20 16:38:30 -07001446 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001447 hdd_config_t, nEnableListenMode,
1448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1449 CFG_AP_LISTEN_MODE_DEFAULT,
1450 CFG_AP_LISTEN_MODE_MIN,
1451 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001452
1453 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1454 hdd_config_t, nAPAutoShutOff,
1455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1456 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1457 CFG_AP_AUTO_SHUT_OFF_MIN,
1458 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001459
1460#if defined WLAN_FEATURE_VOWIFI
1461 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001462 hdd_config_t, fRrmEnable,
1463 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1464 CFG_RRM_ENABLE_DEFAULT,
1465 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001466 CFG_RRM_ENABLE_MAX ),
1467
1468 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001469 hdd_config_t, nInChanMeasMaxDuration,
1470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1471 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1472 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001473 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1474
1475 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001476 hdd_config_t, nOutChanMeasMaxDuration,
1477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1478 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1479 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001480 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1481
1482 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001483 hdd_config_t, nRrmRandnIntvl,
1484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1485 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1486 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001487 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1488#endif
1489
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001490#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001491 REG_VARIABLE( CFG_FT_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001492 hdd_config_t, fFTEnable,
1493 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1494 CFG_FT_ENABLE_DEFAULT,
1495 CFG_FT_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001496 CFG_FT_ENABLE_MAX ),
1497
1498 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001499 hdd_config_t, fFTResourceReqSupported,
1500 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1501 CFG_FT_RESOURCE_REQ_DEFAULT,
1502 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001503 CFG_FT_RESOURCE_REQ_MAX ),
1504#endif
1505
1506#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001507 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001508 hdd_config_t, nNeighborScanPeriod,
1509 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1510 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1511 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001512 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1513 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001514
1515 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001516 hdd_config_t, nNeighborReassocRssiThreshold,
1517 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1518 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1519 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001520 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1521
Srinivas Girigowdade697412013-02-14 16:31:48 -08001522 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001523 hdd_config_t, nNeighborLookupRssiThreshold,
1524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1525 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1526 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001527 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1528 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001529
1530 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001531 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001532 VAR_FLAGS_OPTIONAL,
1533 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1534
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001535 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001536 hdd_config_t, nNeighborScanMinChanTime,
1537 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1538 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1539 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001540 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1541 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001542
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001543 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001544 hdd_config_t, nNeighborScanMaxChanTime,
1545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1546 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1547 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001548 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1549 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001550
1551 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1552 hdd_config_t, nMaxNeighborReqTries,
1553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1554 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1555 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1556 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1557
Srinivas Girigowdade697412013-02-14 16:31:48 -08001558 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001559 hdd_config_t, nNeighborResultsRefreshPeriod,
1560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1561 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1562 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001563 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1564 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1565
1566 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1567 hdd_config_t, nEmptyScanRefreshPeriod,
1568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1569 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1570 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1571 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1572 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001573#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1574
1575 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001576 hdd_config_t, burstSizeDefinition,
1577 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1578 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1579 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001580 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1581
1582 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1583 hdd_config_t, mcastBcastFilterSetting,
1584 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1585 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1586 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1587 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1588
1589 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1590 hdd_config_t, fhostArpOffload,
1591 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1592 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1593 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1594 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1595
1596 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001597 hdd_config_t, tsInfoAckPolicy,
1598 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1599 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1600 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001601 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1602
1603 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1604 hdd_config_t, bSingleTidRc,
1605 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1606 CFG_SINGLE_TID_RC_DEFAULT,
1607 CFG_SINGLE_TID_RC_MIN,
1608 CFG_SINGLE_TID_RC_MAX),
1609
1610 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1611 hdd_config_t, dynamicPsPollValue,
1612 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1613 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1614 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1615 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1616
1617 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1618 hdd_config_t, teleBcnWakeupEn,
1619 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1620 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1621 CFG_TELE_BCN_WAKEUP_EN_MIN,
1622 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1623
1624 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1625 hdd_config_t, infraStaKeepAlivePeriod,
1626 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1627 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1628 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1629 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1630
1631 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001632 hdd_config_t, AddTSWhenACMIsOff,
1633 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1634 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1635 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001636 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1637
1638
1639 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001640 hdd_config_t, fValidateScanList,
1641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1642 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1643 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001644 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001645
Jeff Johnson295189b2012-06-20 16:38:30 -07001646 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001647 hdd_config_t, nNullDataApRespTimeout,
1648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1649 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1650 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001651 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1652
1653 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001654 hdd_config_t, apDataAvailPollPeriodInMs,
1655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1656 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1657 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001658 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001659
Jeff Johnson295189b2012-06-20 16:38:30 -07001660 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001661 hdd_config_t, enableBtAmp,
1662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1663 CFG_ENABLE_BTAMP_DEFAULT,
1664 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001665 CFG_ENABLE_BTAMP_MAX ),
1666
1667#ifdef WLAN_BTAMP_FEATURE
1668 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001669 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07001670 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1671 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
1672 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
1673 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
1674#endif //WLAN_BTAMP_FEATURE
1675 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001676 hdd_config_t, nBandCapability,
1677 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1678 CFG_BAND_CAPABILITY_DEFAULT,
1679 CFG_BAND_CAPABILITY_MIN,
1680 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001681
1682 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001683 hdd_config_t, fEnableBeaconEarlyTermination,
1684 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1685 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
1686 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
1687 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001688/* CFG_VOS_TRACE_ENABLE Parameters */
1689 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
1690 hdd_config_t, vosTraceEnableBAP,
1691 VAR_FLAGS_OPTIONAL,
1692 CFG_VOS_TRACE_ENABLE_DEFAULT,
1693 CFG_VOS_TRACE_ENABLE_MIN,
1694 CFG_VOS_TRACE_ENABLE_MAX ),
1695
1696 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
1697 hdd_config_t, vosTraceEnableTL,
1698 VAR_FLAGS_OPTIONAL,
1699 CFG_VOS_TRACE_ENABLE_DEFAULT,
1700 CFG_VOS_TRACE_ENABLE_MIN,
1701 CFG_VOS_TRACE_ENABLE_MAX ),
1702
1703 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1704 hdd_config_t, vosTraceEnableWDI,
1705 VAR_FLAGS_OPTIONAL,
1706 CFG_VOS_TRACE_ENABLE_DEFAULT,
1707 CFG_VOS_TRACE_ENABLE_MIN,
1708 CFG_VOS_TRACE_ENABLE_MAX ),
1709
1710 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1711 hdd_config_t, vosTraceEnableHDD,
1712 VAR_FLAGS_OPTIONAL,
1713 CFG_VOS_TRACE_ENABLE_DEFAULT,
1714 CFG_VOS_TRACE_ENABLE_MIN,
1715 CFG_VOS_TRACE_ENABLE_MAX ),
1716
1717 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1718 hdd_config_t, vosTraceEnableSME,
1719 VAR_FLAGS_OPTIONAL,
1720 CFG_VOS_TRACE_ENABLE_DEFAULT,
1721 CFG_VOS_TRACE_ENABLE_MIN,
1722 CFG_VOS_TRACE_ENABLE_MAX ),
1723
1724 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1725 hdd_config_t, vosTraceEnablePE,
1726 VAR_FLAGS_OPTIONAL,
1727 CFG_VOS_TRACE_ENABLE_DEFAULT,
1728 CFG_VOS_TRACE_ENABLE_MIN,
1729 CFG_VOS_TRACE_ENABLE_MAX ),
1730
1731 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
1732 hdd_config_t, vosTraceEnableWDA,
1733 VAR_FLAGS_OPTIONAL,
1734 CFG_VOS_TRACE_ENABLE_DEFAULT,
1735 CFG_VOS_TRACE_ENABLE_MIN,
1736 CFG_VOS_TRACE_ENABLE_MAX ),
1737
1738 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1739 hdd_config_t, vosTraceEnableSYS,
1740 VAR_FLAGS_OPTIONAL,
1741 CFG_VOS_TRACE_ENABLE_DEFAULT,
1742 CFG_VOS_TRACE_ENABLE_MIN,
1743 CFG_VOS_TRACE_ENABLE_MAX ),
1744
1745 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
1746 hdd_config_t, vosTraceEnableVOSS,
1747 VAR_FLAGS_OPTIONAL,
1748 CFG_VOS_TRACE_ENABLE_DEFAULT,
1749 CFG_VOS_TRACE_ENABLE_MIN,
1750 CFG_VOS_TRACE_ENABLE_MAX ),
1751
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001752 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1753 hdd_config_t, vosTraceEnableSAP,
1754 VAR_FLAGS_OPTIONAL,
1755 CFG_VOS_TRACE_ENABLE_DEFAULT,
1756 CFG_VOS_TRACE_ENABLE_MIN,
1757 CFG_VOS_TRACE_ENABLE_MAX ),
1758
1759 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1760 hdd_config_t, vosTraceEnableHDDSAP,
1761 VAR_FLAGS_OPTIONAL,
1762 CFG_VOS_TRACE_ENABLE_DEFAULT,
1763 CFG_VOS_TRACE_ENABLE_MIN,
1764 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001765
Jeff Johnson295189b2012-06-20 16:38:30 -07001766 /* note that since the default value is out of range we cannot
1767 enable range check, otherwise we get a system log message */
1768 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
1769 hdd_config_t, wdiTraceEnableDAL,
1770 VAR_FLAGS_OPTIONAL,
1771 CFG_WDI_TRACE_ENABLE_DEFAULT,
1772 CFG_WDI_TRACE_ENABLE_MIN,
1773 CFG_WDI_TRACE_ENABLE_MAX ),
1774
1775 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
1776 hdd_config_t, wdiTraceEnableCTL,
1777 VAR_FLAGS_OPTIONAL,
1778 CFG_WDI_TRACE_ENABLE_DEFAULT,
1779 CFG_WDI_TRACE_ENABLE_MIN,
1780 CFG_WDI_TRACE_ENABLE_MAX ),
1781
1782 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
1783 hdd_config_t, wdiTraceEnableDAT,
1784 VAR_FLAGS_OPTIONAL,
1785 CFG_WDI_TRACE_ENABLE_DEFAULT,
1786 CFG_WDI_TRACE_ENABLE_MIN,
1787 CFG_WDI_TRACE_ENABLE_MAX ),
1788
1789 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
1790 hdd_config_t, wdiTraceEnablePAL,
1791 VAR_FLAGS_OPTIONAL,
1792 CFG_WDI_TRACE_ENABLE_DEFAULT,
1793 CFG_WDI_TRACE_ENABLE_MIN,
1794 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001795
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001796 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001797 hdd_config_t, nTeleBcnTransListenInterval,
1798 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1799 CFG_TELE_BCN_TRANS_LI_DEFAULT,
1800 CFG_TELE_BCN_TRANS_LI_MIN,
1801 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001802
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001803 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001804 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
1805 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1806 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
1807 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
1808 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001809
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001810 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001811 hdd_config_t, nTeleBcnMaxListenInterval,
1812 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1813 CFG_TELE_BCN_MAX_LI_DEFAULT,
1814 CFG_TELE_BCN_MAX_LI_MIN,
1815 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001816
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001817 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001818 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
1819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1820 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
1821 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
1822 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001823
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001824 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001825 hdd_config_t, bcnEarlyTermWakeInterval,
1826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1827 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
1828 CFG_BCN_EARLY_TERM_WAKE_MIN,
1829 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001830
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001831 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001832 hdd_config_t, apDataAvailPollPeriodInMs,
1833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1834 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1835 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001836 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
1837
1838 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001839 hdd_config_t, enableCloseLoop,
1840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1841 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
1842 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001843 CFG_ENABLE_CLOSE_LOOP_MAX ),
1844
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001845 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001846 hdd_config_t, enableBypass11d,
1847 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1848 CFG_ENABLE_BYPASS_11D_DEFAULT,
1849 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001850 CFG_ENABLE_BYPASS_11D_MAX ),
1851
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001852 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001853 hdd_config_t, enableDFSChnlScan,
1854 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1855 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1856 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001857 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
1858
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001859 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001860 hdd_config_t, enableDynamicDTIM,
1861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1862 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1863 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001864 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
1865
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001866 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001867 hdd_config_t, enableAutomaticTxPowerControl,
1868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1869 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
1870 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001871 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
1872
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001873 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001874 hdd_config_t, ShortGI40MhzEnable,
1875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1876 CFG_SHORT_GI_40MHZ_DEFAULT,
1877 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001878 CFG_SHORT_GI_40MHZ_MAX ),
1879
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001880 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001881 hdd_config_t, reportMaxLinkSpeed,
1882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1883 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1884 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001885 CFG_REPORT_MAX_LINK_SPEED_MAX,
1886 NULL, 0 ),
1887
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001888 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001889 hdd_config_t, linkSpeedRssiHigh,
1890 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1891 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1892 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1893 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1894 NULL, 0 ),
1895
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001896 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001897 hdd_config_t, linkSpeedRssiMid,
1898 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1899 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1900 CFG_LINK_SPEED_RSSI_MID_MIN,
1901 CFG_LINK_SPEED_RSSI_MID_MAX,
1902 NULL, 0 ),
1903
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001904 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001905 hdd_config_t, linkSpeedRssiLow,
1906 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1907 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1908 CFG_LINK_SPEED_RSSI_LOW_MIN,
1909 CFG_LINK_SPEED_RSSI_LOW_MAX,
1910 NULL, 0 ),
1911
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001912#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001913 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001914 hdd_config_t, nRoamPrefer5GHz,
1915 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1916 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1917 CFG_ROAM_PREFER_5GHZ_MIN,
1918 CFG_ROAM_PREFER_5GHZ_MAX,
1919 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001920
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001921 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001922 hdd_config_t, nRoamIntraBand,
1923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1924 CFG_ROAM_INTRA_BAND_DEFAULT,
1925 CFG_ROAM_INTRA_BAND_MIN,
1926 CFG_ROAM_INTRA_BAND_MAX,
1927 cbNotifySetRoamIntraBand, 0 ),
1928
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07001929 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
1930 hdd_config_t, nProbes,
1931 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1932 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
1933 CFG_ROAM_SCAN_N_PROBES_MIN,
1934 CFG_ROAM_SCAN_N_PROBES_MAX,
1935 cbNotifySetRoamScanNProbes, 0 ),
1936
1937 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
1938 hdd_config_t, nRoamScanHomeAwayTime,
1939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1940 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
1941 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
1942 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
1943 cbNotifySetRoamScanHomeAwayTime, 0 ),
1944
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001945#endif
1946
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001947 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001948 hdd_config_t, isP2pDeviceAddrAdministrated,
1949 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1950 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1951 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1952 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001953
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001954 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001955 hdd_config_t, enableMCC,
1956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1957 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1958 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001959 CFG_ENABLE_MCC_ENABLED_MAX ),
1960
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001961 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001962 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1964 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1965 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1966 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001967
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001968 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001969 hdd_config_t, thermalMitigationEnable,
1970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1971 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1972 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001973 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
1974#ifdef WLAN_FEATURE_PACKET_FILTERING
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001975 REG_VARIABLE( CFG_MC_ADDR_LIST_FILTER_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001976 hdd_config_t, isMcAddrListFilter,
1977 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1978 CFG_MC_ADDR_LIST_FILTER_DEFAULT,
1979 CFG_MC_ADDR_LIST_FILTER_MIN,
1980 CFG_MC_ADDR_LIST_FILTER_MAX ),
1981#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001982
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001983 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001984 hdd_config_t, enableModulatedDTIM,
1985 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1986 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1987 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001988 CFG_ENABLE_MODULATED_DTIM_MAX ),
1989
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001990 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07001991 hdd_config_t, fEnableMCAddrList,
1992 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1993 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
1994 CFG_MC_ADDR_LIST_ENABLE_MIN,
1995 CFG_MC_ADDR_LIST_ENABLE_MAX ),
1996
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001997#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001998 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001999 hdd_config_t, vhtChannelWidth,
2000 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2001 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2002 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002003 CFG_VHT_CHANNEL_WIDTH_MAX),
2004
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002005 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002006 hdd_config_t, vhtRxMCS,
2007 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2008 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2009 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002010 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2011
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002012 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002013 hdd_config_t, vhtTxMCS,
2014 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2015 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2016 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002017 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2018#endif
2019
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002020 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002021 hdd_config_t, enableFirstScan2GOnly,
2022 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2023 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2024 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002025 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2026
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002027 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002028 hdd_config_t, skipDfsChnlInP2pSearch,
2029 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2030 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2031 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002032 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2033
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002034 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002035 hdd_config_t, ignoreDynamicDtimInP2pMode,
2036 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2037 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2038 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002039 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2040
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002041 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002042 hdd_config_t,numBuffAdvert ,
2043 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2044 CFG_NUM_BUFF_ADVERT_DEFAULT,
2045 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002046 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002047
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002048 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002049 hdd_config_t, configMccParam,
2050 VAR_FLAGS_OPTIONAL,
2051 CFG_MCC_CONFIG_PARAM_DEFAULT,
2052 CFG_MCC_CONFIG_PARAM_MIN,
2053 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002054 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002055 hdd_config_t, enableRxSTBC,
2056 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2057 CFG_ENABLE_RX_STBC_DEFAULT,
2058 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302059 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002060#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002061 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002062 hdd_config_t, fEnableTDLSSupport,
2063 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2064 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2065 CFG_TDLS_SUPPORT_ENABLE_MIN,
2066 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302067
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002068 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302069 hdd_config_t, fEnableTDLSImplicitTrigger,
2070 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2071 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2072 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2073 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2074
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002075 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302076 hdd_config_t, fTDLSTxStatsPeriod,
2077 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2078 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2079 CFG_TDLS_TX_STATS_PERIOD_MIN,
2080 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2081
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002082 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302083 hdd_config_t, fTDLSTxPacketThreshold,
2084 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2085 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2086 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2087 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2088
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002089 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302090 hdd_config_t, fTDLSDiscoveryPeriod,
2091 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2092 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2093 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2094 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2095
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002096 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302097 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2098 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2099 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2100 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2101 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2102
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002103 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002104 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302105 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002106 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2107 CFG_TDLS_IDLE_TIMEOUT_MIN,
2108 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2109
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002110 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002111 hdd_config_t, fTDLSIdlePacketThreshold,
2112 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2113 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2114 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2115 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302116
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002117 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002118 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302119 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2120 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2121 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2122 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002123
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002124 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002125 hdd_config_t, fTDLSRSSITriggerThreshold,
2126 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2127 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2128 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2129 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2130
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002131 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002132 hdd_config_t, fTDLSRSSITeardownThreshold,
2133 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2134 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2135 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2136 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302137
2138REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2139 hdd_config_t, fTDLSUapsdMask,
2140 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2141 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2142 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2143 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2144
2145REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2146 hdd_config_t, fEnableTDLSBufferSta,
2147 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2148 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2149 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2150 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2151
2152REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2153 hdd_config_t, fTDLSPuapsdInactivityTimer,
2154 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2155 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2156 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2157 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2158
2159REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2160 hdd_config_t, fTDLSRxFrameThreshold,
2161 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2162 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2163 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2164 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002165#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002166
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002167#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002168 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002169 hdd_config_t, fEnableVSTASupport,
2170 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2171 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2172 CFG_VSTA_SUPPORT_ENABLE_MIN,
2173 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2174#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002175 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002176 hdd_config_t, enableLpwrImgTransition,
2177 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2178 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2179 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002180 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2181
Yathish9f22e662012-12-10 14:21:35 -08002182#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002183 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002184 hdd_config_t, fEnableActiveModeOffload,
2185 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2186 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2187 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2188 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2189#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002190 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002191 hdd_config_t, enableLpwrImgTransition,
2192 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2193 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2194 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2195 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2196
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002197
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002198 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002199 hdd_config_t, scanAgingTimeout,
2200 VAR_FLAGS_OPTIONAL,
2201 CFG_SCAN_AGING_PARAM_DEFAULT,
2202 CFG_SCAN_AGING_PARAM_MIN,
2203 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002204
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002205 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002206 hdd_config_t, enableTxLdpc,
2207 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2208 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2209 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2210 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2211
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002212 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302213 hdd_config_t, enableMCCAdaptiveScheduler,
2214 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2215 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2216 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2217 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2218
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002219 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302220 hdd_config_t, isAndroidPsEn,
2221 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2222 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2223 CFG_ANDRIOD_POWER_SAVE_MIN,
2224 CFG_ANDRIOD_POWER_SAVE_MAX),
2225
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002226 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002227 hdd_config_t, AdHocChannel5G,
2228 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2229 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2230 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2231 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2232
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002233 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002234 hdd_config_t, AdHocChannel24G,
2235 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2236 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2237 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2238 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2239
2240
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002241#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002242 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002243 hdd_config_t, enableTxBF,
2244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2245 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2246 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2247 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002248
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002249 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002250 hdd_config_t, txBFCsnValue,
2251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2252 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2253 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2254 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2255
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002256#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302257
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002258 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302259 hdd_config_t, sapAllowAllChannel,
2260 VAR_FLAGS_OPTIONAL,
2261 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2262 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2263 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002264
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002265#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002266 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002267 hdd_config_t, disableLDPCWithTxbfAP,
2268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2269 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2270 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2271 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2272#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002273
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002274 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002275 hdd_config_t, listOfNonDfsCountryCode,
2276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2277 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2278
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002279 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2280 hdd_config_t, enableSSR,
2281 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2282 CFG_ENABLE_SSR_DEFAULT,
2283 CFG_ENABLE_SSR_MIN,
2284 CFG_ENABLE_SSR_MAX,
2285 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302286
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002287 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302288 hdd_config_t, listOfNon11acCountryCode,
2289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2290 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2291
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002292 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302293 hdd_config_t, cfgMaxMediumTime,
2294 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2295 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2296 CFG_MAX_MEDIUM_TIME_STAMIN,
2297 CFG_MAX_MEDIUM_TIME_STAMAX ),
2298
Leo Chang64d68bc2013-06-04 15:40:52 -07002299 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2300 hdd_config_t, enableTrafficMonitor,
2301 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2302 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2303 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2304 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2305
2306 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2307 hdd_config_t, trafficIdleTimeout,
2308 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2309 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2310 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2311 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002312
2313#ifdef WLAN_FEATURE_11AC
2314 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2315 hdd_config_t, enableVhtFor24GHzBand,
2316 VAR_FLAGS_OPTIONAL,
2317 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2318 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2319 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2320#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302321
2322 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2323 hdd_config_t, fScanOffload,
2324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2325 CFG_SCAN_OFFLOAD_DEFAULT,
2326 CFG_SCAN_OFFLOAD_DISABLE,
2327 CFG_SCAN_OFFLOAD_ENABLE ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002328};
2329
2330/*
2331 * This function returns a pointer to the character after the occurence
2332 * of a new line character. It also modifies the original string by replacing
2333 * the '\n' character with the null character.
2334 * Function returns NULL if no new line character was found before end of
2335 * string was reached
2336 */
2337static char* get_next_line(char* str)
2338{
2339 char c;
2340
2341 if( str == NULL || *str == '\0') {
2342 return NULL;
2343 }
2344
2345 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002346 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002347 str = str + 1;
2348 c = *str;
2349 }
2350
2351 if (c == '\0' ) {
2352 return NULL;
2353 }
2354 else
2355 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002356 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002357 return (str+1);
2358 }
2359
2360 return NULL;
2361}
2362
2363// look for space. Ascii values to look are -
2364// 0x09 == horizontal tab
2365// 0x0a == Newline ("\n")
2366// 0x0b == vertical tab
2367// 0x0c == Newpage or feed form.
2368// 0x0d == carriage return (CR or "\r")
2369// Null ('\0') should not considered as space.
2370#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2371
2372/*
2373 * This function trims any leading and trailing white spaces
2374 */
2375static char *i_trim(char *str)
2376
2377{
2378 char *ptr;
2379
2380 if(*str == '\0') return str;
2381
2382 /* Find the first non white-space*/
2383 for (ptr = str; i_isspace(*ptr); ptr++);
2384 if (*ptr == '\0')
2385 return str;
2386
2387 /* This is the new start of the string*/
2388 str = ptr;
2389
2390 /* Find the last non white-space */
2391 ptr += strlen(ptr) - 1;
2392 for (; ptr != str && i_isspace(*ptr); ptr--);
2393 /* Null terminate the following character */
2394 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002395
Jeff Johnson295189b2012-06-20 16:38:30 -07002396 return str;
2397}
2398
2399
2400//Structure to store each entry in qcom_cfg.ini file
2401typedef struct
2402{
2403 char *name;
2404 char *value;
2405}tCfgIniEntry;
2406
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002407static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002408 tCfgIniEntry* iniTable, unsigned long entries);
2409
2410#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002411void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002412{
2413 unsigned long i;
2414
2415 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002416 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002417 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2418 }
2419}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002420#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002421
2422/*
2423 * This function reads the qcom_cfg.ini file and
2424 * parses each 'Name=Value' pair in the ini file
2425 */
2426VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2427{
2428 int status, i=0;
2429 /** Pointer for firmware image data */
2430 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002431 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002432 size_t size;
2433 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002434 /* cfgIniTable is static to avoid excess stack usage */
2435 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002436 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2437
2438 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2439
2440 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002441
Jeff Johnson295189b2012-06-20 16:38:30 -07002442 if(status)
2443 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002444 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002445 vos_status = VOS_STATUS_E_FAILURE;
2446 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002447 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002448 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002449 {
2450 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002451 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002452 vos_status = VOS_STATUS_E_FAILURE;
2453 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002454 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002455
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002456 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002457
2458 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002459
Jeff Johnson295189b2012-06-20 16:38:30 -07002460 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002461 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002462 release_firmware(fw);
2463 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002464 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002465 pTemp = buffer;
2466
2467 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2468 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002469
Jeff Johnson295189b2012-06-20 16:38:30 -07002470 while (buffer != NULL)
2471 {
2472 line = get_next_line(buffer);
2473 buffer = i_trim(buffer);
2474
2475 hddLog(LOG1, "%s: item", buffer);
2476
2477 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2478 buffer = line;
2479 continue;
2480 }
2481 else if(strncmp(buffer, "END", 3) == 0 ) {
2482 break;
2483 }
2484 else
2485 {
2486 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002487 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002488 buffer++;
2489 if(*buffer != '\0') {
2490 *buffer++ = '\0';
2491 i_trim(name);
2492 if(strlen (name) != 0) {
2493 buffer = i_trim(buffer);
2494 if(strlen(buffer)>0) {
2495 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002496 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002497 buffer++;
2498 *buffer = '\0';
2499 cfgIniTable[i].name= name;
2500 cfgIniTable[i++].value= value;
2501 if(i >= MAX_CFG_INI_ITEMS) {
2502 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002503 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002504 break;
2505 }
2506 }
2507 }
2508 }
2509 }
2510 buffer = line;
2511 }
2512
2513 //Loop through the registry table and apply all these configs
2514 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2515
Jeff Johnson4416a782013-03-25 14:17:50 -07002516config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002517 release_firmware(fw);
2518 vos_mem_free(pTemp);
2519 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002520}
Jeff Johnson295189b2012-06-20 16:38:30 -07002521
2522
2523static void print_hdd_cfg(hdd_context_t *pHddCtx)
2524{
2525 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2526 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2527 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2528 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2529 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2530 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2531 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2532 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2533 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]",
2534 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2535 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2536 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2537
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002538 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002539 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2540 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2541 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2542 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2543 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2544 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2545 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2546
2547
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002548 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002549 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2550 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2551 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2552 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2553 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2554 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2555 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2556
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002557 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002558 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2559 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2560 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2561 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2562 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2563 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2564 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2565
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002566 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002567 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2568 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2569 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2570 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2571 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2572 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2573 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2574
Jeff Johnson295189b2012-06-20 16:38:30 -07002575
2576 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2577
2578 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2579 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2580 pHddCtx->cfg_ini->apCntryCode[2]);
2581 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2582 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2583
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002584 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 -07002585 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2586 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2587 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 -08002588
Jeff Johnson295189b2012-06-20 16:38:30 -07002589 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2590 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2591 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2592 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2593 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
2594 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
2595 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
2596
2597 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
2598 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
2599
2600 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
2601 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
2602
2603 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
2604 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
2605
2606 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
2607 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
2608#ifdef FEATURE_WLAN_CCX
2609 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
2610 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
2611 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
2612 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 -08002613#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002614#ifdef FEATURE_WLAN_LFR
2615 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 -08002616#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07002617#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2618 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 -08002619 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 -07002620 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 -07002621#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002622#ifdef FEATURE_WLAN_OKC
2623 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
2624#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002625 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
2626 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
2627 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
2628 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
2629 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
2630
2631 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
2632 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
2633 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
2634 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
2635 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
2636
2637 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
2638 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
2639 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
2640 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
2641 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
2642
2643 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
2644 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
2645 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
2646 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
2647 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
2648
2649 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
2650 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
2651 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
2652 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
2653 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
2654 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
2655 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 -08002656#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07002657 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTEnable] Value = [%lu] ",pHddCtx->cfg_ini->fFTEnable);
2658 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
2659#endif
2660
2661#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
2662 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
2663 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
2664 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
2665 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
2666 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
2667 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
2668 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 -08002669 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 -07002670#endif
2671 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
2672 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
2673 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
2674 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
2675 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
2676 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
2677 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
2678
2679 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
2680 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2681 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
2682#ifdef WLAN_BTAMP_FEATURE
2683 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
2684#endif //WLAN_BTAMP_FEATURE
2685 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
2686 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
2687 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
2688 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
2689 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
2690 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
2691 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
2692 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
2693 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2694 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
2695 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
2696 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
2697 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 -07002698#ifdef WLAN_FEATURE_11AC
2699 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
2700#endif
2701 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
2702 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
2703 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 +05302704 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 -08002705 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 -07002706 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableSSR] Value = [%u] ",pHddCtx->cfg_ini->enableSSR);
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002707 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableVhtFor24GHzBand] Value = [%u] ",pHddCtx->cfg_ini->enableVhtFor24GHzBand);
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002708
Leo Chang64d68bc2013-06-04 15:40:52 -07002709 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
2710 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout);
Jeff Johnson295189b2012-06-20 16:38:30 -07002711}
2712
2713
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002714
Jeff Johnson295189b2012-06-20 16:38:30 -07002715#define CFG_VALUE_MAX_LEN 256
2716#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
2717VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
2718{
2719 unsigned int idx;
2720 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2721 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2722 v_U32_t value;
2723 char valueStr[CFG_VALUE_MAX_LEN];
2724 char configStr[CFG_ENTRY_MAX_LEN];
2725 char *fmt;
2726 void *pField;
2727 v_MACADDR_t *pMacAddr;
2728 char *pCur = pBuf;
2729 int curlen;
2730
2731 // start with an empty string
2732 *pCur = '\0';
2733
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002734 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07002735 {
2736 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
2737
2738 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2739 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002740 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07002741 {
2742 value = 0;
2743 memcpy( &value, pField, pRegEntry->VarSize );
2744 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
2745 {
2746 fmt = "%x";
2747 }
2748 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2749 {
2750 fmt = "%d";
2751 }
2752 else
2753 {
2754 fmt = "%u";
2755 }
2756 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
2757 }
2758 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2759 {
2760 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
2761 }
2762 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2763 {
2764 pMacAddr = (v_MACADDR_t *) pField;
2765 snprintf(valueStr, CFG_VALUE_MAX_LEN,
2766 "%02x:%02x:%02x:%02x:%02x:%02x",
2767 pMacAddr->bytes[0],
2768 pMacAddr->bytes[1],
2769 pMacAddr->bytes[2],
2770 pMacAddr->bytes[3],
2771 pMacAddr->bytes[4],
2772 pMacAddr->bytes[5]);
2773 }
2774 else
2775 {
2776 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
2777 }
2778 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
2779 "%s=[%s]%s\n",
2780 pRegEntry->RegName,
2781 valueStr,
2782 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
2783 "*" : "");
2784
2785 // ideally we want to return the config to the application
2786 // however the config is too big so we just printk() for now
2787#ifdef RETURN_IN_BUFFER
2788 if (curlen <= buflen)
2789 {
2790 // copy string + '\0'
2791 memcpy(pCur, configStr, curlen+1);
2792
2793 // account for addition;
2794 pCur += curlen;
2795 buflen -= curlen;
2796 }
2797 else
2798 {
2799 // buffer space exhausted, return what we have
2800 return VOS_STATUS_E_RESOURCES;
2801 }
2802#else
2803 printk(KERN_CRIT "%s", configStr);
2804#endif // RETURN_IN_BUFFER
2805
2806}
2807
2808#ifndef RETURN_IN_BUFFER
2809 // notify application that output is in system log
2810 snprintf(pCur, buflen, "WLAN configuration written to system log");
2811#endif // RETURN_IN_BUFFER
2812
2813 return VOS_STATUS_SUCCESS;
2814}
2815
2816static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002817 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07002818{
2819 VOS_STATUS status = VOS_STATUS_E_FAILURE;
2820 unsigned long i;
2821
2822 for (i = 0; i < entries; i++) {
2823 if (strcmp(iniTable[i].name, name) == 0) {
2824 *value = iniTable[i].value;
2825 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
2826 WLAN_INI_FILE, name, *value);
2827 return VOS_STATUS_SUCCESS;
2828 }
2829 }
2830
2831 return status;
2832}
2833
2834static int parseHexDigit(char c)
2835{
2836 if (c >= '0' && c <= '9')
2837 return c-'0';
2838 if (c >= 'a' && c <= 'f')
2839 return c-'a'+10;
2840 if (c >= 'A' && c <= 'F')
2841 return c-'A'+10;
2842
2843 return 0;
2844}
2845
2846
2847static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
2848{
2849 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
2850 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
2851 unsigned int idx;
2852 void *pField;
2853 char *value_str = NULL;
2854 unsigned long len_value_str;
2855 char *candidate;
2856 v_U32_t value;
2857 v_S31_t svalue;
2858 void *pStructBase = pHddCtx->cfg_ini;
2859 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2860 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2861 v_U32_t cbOutString;
2862 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002863 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07002864
2865 // sanity test
2866 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
2867 {
2868 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002869 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07002870 }
2871
2872 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
2873 {
2874 //Calculate the address of the destination field in the structure.
2875 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
2876
2877 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
2878
2879 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
2880 {
2881 // If we could not read the cfg item and it is required, this is an error.
2882 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002883 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002884 ret_status = VOS_STATUS_E_FAILURE;
2885 break;
2886 }
2887
2888 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2889 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
2890 {
2891 // If successfully read from the registry, use the value read.
2892 // If not, use the default value.
2893 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002894 rv = kstrtoul(value_str, 10, &value);
2895 if (rv < 0) {
2896 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
2897 __func__, pRegEntry->RegName);
2898 value = pRegEntry->VarDefault;
2899 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002900 }
2901 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002902 rv = kstrtoul(value_str, 16, &value);
2903 if (rv < 0) {
2904 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
2905 __func__, pRegEntry->RegName);
2906 value = pRegEntry->VarDefault;
2907 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002908 }
2909 else {
2910 value = pRegEntry->VarDefault;
2911 }
2912
2913 // If this parameter needs range checking, do it here.
2914 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2915 {
2916 if ( value > pRegEntry->VarMax )
2917 {
2918 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002919 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07002920 value = pRegEntry->VarMax;
2921 }
2922
2923 if ( value < pRegEntry->VarMin )
2924 {
2925 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002926 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07002927 value = pRegEntry->VarMin;
2928 }
2929 }
2930 // If this parameter needs range checking, do it here.
2931 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2932 {
2933 if ( value > pRegEntry->VarMax )
2934 {
2935 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002936 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002937 value = pRegEntry->VarDefault;
2938 }
2939
2940 if ( value < pRegEntry->VarMin )
2941 {
2942 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002943 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002944 value = pRegEntry->VarDefault;
2945 }
2946 }
2947
2948 // Move the variable into the output field.
2949 memcpy( pField, &value, pRegEntry->VarSize );
2950 }
2951 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2952 {
2953 // If successfully read from the registry, use the value read.
2954 // If not, use the default value.
2955 if (VOS_STATUS_SUCCESS == match_status)
2956 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002957 rv = kstrtol(value_str, 10, &svalue);
2958 if (rv < 0) {
2959 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
2960 __func__, pRegEntry->RegName);
2961 svalue = (v_S31_t)pRegEntry->VarDefault;
2962 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002963 }
2964 else
2965 {
2966 svalue = (v_S31_t)pRegEntry->VarDefault;
2967 }
2968
2969 // If this parameter needs range checking, do it here.
2970 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2971 {
2972 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2973 {
2974 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002975 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002976 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
2977 svalue = (v_S31_t)pRegEntry->VarMax;
2978 }
2979
2980 if ( svalue < (v_S31_t)pRegEntry->VarMin )
2981 {
2982 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002983 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002984 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
2985 svalue = (v_S31_t)pRegEntry->VarMin;
2986 }
2987 }
2988 // If this parameter needs range checking, do it here.
2989 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2990 {
2991 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2992 {
2993 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
2994 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002995 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07002996 (int)pRegEntry->VarMax,
2997 (int)pRegEntry->VarDefault );
2998 svalue = (v_S31_t)pRegEntry->VarDefault;
2999 }
3000
3001 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3002 {
3003 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
3004 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003005 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003006 (int)pRegEntry->VarMin,
3007 (int)pRegEntry->VarDefault);
3008 svalue = pRegEntry->VarDefault;
3009 }
3010 }
3011
3012 // Move the variable into the output field.
3013 memcpy( pField, &svalue, pRegEntry->VarSize );
3014 }
3015 // Handle string parameters
3016 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3017 {
3018#ifdef WLAN_CFG_DEBUG
3019 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 -08003020 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003021#endif
3022
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003023 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003024 {
3025 len_value_str = strlen(value_str);
3026
3027 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003028 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003029 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003030 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3031 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3032 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3033 }
3034 else
3035 {
3036 memcpy( pField, (void *)(value_str), len_value_str);
3037 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3038 }
3039 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003040 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003041 {
3042 // Failed to read the string parameter from the registry. Use the default.
3043 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3044 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003045 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003046 }
3047 }
3048 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3049 {
3050 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003051 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3052 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003053 continue;
3054 }
3055 candidate = (char*)pRegEntry->VarDefault;
3056 if ( match_status == VOS_STATUS_SUCCESS) {
3057 len_value_str = strlen(value_str);
3058 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003059 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003060 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003061 }
3062 else
3063 candidate = value_str;
3064 }
3065 //parse the string and store it in the byte array
3066 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3067 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003068 ((char*)pField)[i] =
3069 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003070 }
3071 }
3072 else
3073 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003074 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003075 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003076 }
3077
3078 // did we successfully parse a cfg item for this parameter?
3079 if( (match_status == VOS_STATUS_SUCCESS) &&
3080 (idx < MAX_CFG_INI_ITEMS) )
3081 {
3082 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3083 }
3084 }
3085
3086 print_hdd_cfg(pHddCtx);
3087
3088 return( ret_status );
3089}
3090
3091eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3092{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003093 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003094 {
3095 case (eHDD_DOT11_MODE_abg):
3096 return eCSR_DOT11_MODE_abg;
3097 case (eHDD_DOT11_MODE_11b):
3098 return eCSR_DOT11_MODE_11b;
3099 case (eHDD_DOT11_MODE_11g):
3100 return eCSR_DOT11_MODE_11g;
3101 default:
3102 case (eHDD_DOT11_MODE_11n):
3103 return eCSR_DOT11_MODE_11n;
3104 case (eHDD_DOT11_MODE_11g_ONLY):
3105 return eCSR_DOT11_MODE_11g_ONLY;
3106 case (eHDD_DOT11_MODE_11n_ONLY):
3107 return eCSR_DOT11_MODE_11n_ONLY;
3108 case (eHDD_DOT11_MODE_11b_ONLY):
3109 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003110#ifdef WLAN_FEATURE_11AC
3111 case (eHDD_DOT11_MODE_11ac_ONLY):
3112 return eCSR_DOT11_MODE_11ac_ONLY;
3113 case (eHDD_DOT11_MODE_11ac):
3114 return eCSR_DOT11_MODE_11ac;
3115#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003116 case (eHDD_DOT11_MODE_AUTO):
3117 return eCSR_DOT11_MODE_AUTO;
3118 }
3119
3120}
3121
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003122static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003123{
3124 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3125 tSmeBtcConfig btcParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003126
Jeff Johnson295189b2012-06-20 16:38:30 -07003127 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3128
3129 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003130 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003131 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3132
Jeff Johnson32d95a32012-09-10 13:15:23 -07003133 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3134 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3135 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3136 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3137 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3138 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3139 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3140 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3141 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3142 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3143 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3144 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3145 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3146
Jeff Johnson295189b2012-06-20 16:38:30 -07003147 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3148}
3149
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003150static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003151{
3152 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3153
3154 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003155
Jeff Johnson295189b2012-06-20 16:38:30 -07003156 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003157
Jeff Johnson295189b2012-06-20 16:38:30 -07003158 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3159 {
3160 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3161 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3162 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3163 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3164 }
3165 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3166 {
3167 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3168 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3169 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3170 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3171 }
3172 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3173 {
3174 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3175 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3176 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3177 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3178 }
3179
3180 if (pConfig->fIsImpsEnabled)
3181 {
3182 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3183 }
3184 else
3185 {
3186 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3187 }
3188
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303189 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3190 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3191 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3192
Jeff Johnson295189b2012-06-20 16:38:30 -07003193 if (pConfig->fIsBmpsEnabled)
3194 {
3195 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3196 }
3197 else
3198 {
3199 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3200 }
3201
3202 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3203
3204 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3205 {
3206 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3207 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003208
Jeff Johnson295189b2012-06-20 16:38:30 -07003209 if(pConfig->fIsAutoBmpsTimerEnabled)
3210 {
3211 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3212 }
3213
3214}
3215
3216#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3217static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3218{
3219 char *s = str;
3220
3221 if( str == NULL || intArray == NULL || len == NULL )
3222 {
3223 return VOS_STATUS_E_INVAL;
3224 }
3225 *len = 0;
3226
Jeff Johnson295189b2012-06-20 16:38:30 -07003227 while ( (s != NULL) && (*len < intArrayMaxLen) )
3228 {
3229 int val;
3230 //Increment length only if sscanf succesfully extracted one element.
3231 //Any other return value means error. Ignore it.
3232 if( sscanf(s, "%d", &val ) == 1 )
3233 {
3234 intArray[*len] = (tANI_U8) val;
3235 *len += 1;
3236 }
3237 s = strpbrk( s, "," );
3238 if( s )
3239 s++;
3240 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003241
3242 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003243
Jeff Johnson295189b2012-06-20 16:38:30 -07003244}
3245#endif
3246
3247
3248v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3249{
3250 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003251#ifdef WLAN_SOFTAP_VSTA_FEATURE
3252 tANI_U32 val;
3253#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003254
3255 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303256 tSirMacHTCapabilityInfo htCapInfo;
3257
Jeff Johnson295189b2012-06-20 16:38:30 -07003258
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003259 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003260 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3261 {
3262 fStatus = FALSE;
3263 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3264 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003265
3266 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003267 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3268 {
3269 fStatus = FALSE;
3270 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3271 }
3272
3273 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3274 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3275 {
3276 fStatus = FALSE;
3277 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3278 }
3279
3280 if ( 0 != pConfig->Cfg1Id )
3281 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003282 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003283 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3284 {
3285 fStatus = FALSE;
3286 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3287 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003288
Jeff Johnson295189b2012-06-20 16:38:30 -07003289 }
3290
3291 if ( 0 != pConfig->Cfg2Id )
3292 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003293 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003294 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3295 {
3296 fStatus = FALSE;
3297 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3298 }
3299 }
3300
3301 if ( 0 != pConfig->Cfg3Id )
3302 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003303 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003304 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3305 {
3306 fStatus = FALSE;
3307 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3308 }
3309 }
3310
3311 if ( 0 != pConfig->Cfg4Id )
3312 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003313 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003314 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3315 {
3316 fStatus = FALSE;
3317 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3318 }
3319 }
3320
3321 if ( 0 != pConfig->Cfg5Id )
3322 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003323 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003324 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3325 {
3326 fStatus = FALSE;
3327 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3328 }
3329 }
3330
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003331 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003332 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3333 {
3334 fStatus = FALSE;
3335 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3336 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003337
3338 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003339 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3340 {
3341 fStatus = FALSE;
3342 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3343 }
3344
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003345 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003346 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3347 {
3348 fStatus = FALSE;
3349 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3350 }
3351
3352 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3353 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3354 {
3355 fStatus = FALSE;
3356 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3357 }
3358
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003359 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003360 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003361 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003362 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3363 {
3364 fStatus = FALSE;
3365 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3366 }
3367 }
3368 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003369 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003370 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3371 {
3372 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3373 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003374 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003375 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003376 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003377 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3378 {
3379 fStatus = FALSE;
3380 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3381 }
3382 }
3383 else
3384 {
3385 fStatus = FALSE;
3386 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3387 }
3388 }
3389
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003390 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003391 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3392 {
3393 fStatus = FALSE;
3394 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3395 }
3396
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003397 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003398 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3399 {
3400 fStatus = FALSE;
3401 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3402 }
3403
3404 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3405 {
3406 fStatus = FALSE;
3407 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3408 }
3409
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003410 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003411 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3412 {
3413 fStatus = FALSE;
3414 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3415 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003416
Jeff Johnson295189b2012-06-20 16:38:30 -07003417 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3418 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3419 {
3420 fStatus = FALSE;
3421 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3422 }
3423
Jeff Johnson295189b2012-06-20 16:38:30 -07003424 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3425 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3426 {
3427 fStatus = FALSE;
3428 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3429 }
3430
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003431 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
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_PS_HEART_BEAT configuration info to CCM\n");
3436 }
3437
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003438 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
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_PS_BCN_FILTER configuration info to CCM\n");
3443 }
3444
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003445#ifdef FEATURE_WLAN_LFR
3446 if (pConfig->isFastRoamIniFeatureEnabled)
3447 {
3448 pConfig->fEnableFwRssiMonitoring = TRUE;
3449 }
3450#endif
3451#ifdef FEATURE_WLAN_CCX
3452 if (pConfig->isCcxIniFeatureEnabled)
3453 {
3454 pConfig->fEnableFwRssiMonitoring = TRUE;
3455 }
3456#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003457 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003458 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3459 {
3460 fStatus = FALSE;
3461 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3462 }
3463
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003464 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003465 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3466 {
3467 fStatus = FALSE;
3468 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3469 }
3470
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003471 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003472 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3473 {
3474 fStatus = FALSE;
3475 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3476 }
3477
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003478 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003479 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3480 {
3481 fStatus = FALSE;
3482 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3483 }
3484
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003485 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003486 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3487 {
3488 fStatus = FALSE;
3489 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3490 }
3491
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003492 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003493 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3494 {
3495 fStatus = FALSE;
3496 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003497 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003498
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003499 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003500 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3501 {
3502 fStatus = FALSE;
3503 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3504 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003505
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303506 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3507 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3508 {
3509 fStatus = FALSE;
3510 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3511 }
3512
Jeff Johnson295189b2012-06-20 16:38:30 -07003513#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003514 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003515 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3516 {
3517 fStatus = FALSE;
3518 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3519 }
3520
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003521 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003522 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3523 {
3524 fStatus = FALSE;
3525 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3526 }
3527
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003528 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003529 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3530 {
3531 fStatus = FALSE;
3532 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3533 }
3534
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003535 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003536 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3537#endif
3538
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003539 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003540 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3541 {
3542 fStatus = FALSE;
3543 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3544 }
3545
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003546 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003547 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3548 {
3549 fStatus = FALSE;
3550 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3551 }
3552
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003553 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003554 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3555 {
3556 fStatus = FALSE;
3557 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3558 }
3559
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003560 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003561 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3562 {
3563 fStatus = FALSE;
3564 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3565 }
3566
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003567 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003568 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3569 {
3570 fStatus = FALSE;
3571 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3572 }
3573
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003574 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003575 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3576 {
3577 fStatus = FALSE;
3578 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
3579 }
3580
3581 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
3582 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3583 {
3584 fStatus = FALSE;
3585 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
3586 }
3587
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003588 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003589 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3590 {
3591 fStatus = FALSE;
3592 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
3593 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003594 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003595 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3596 {
3597 fStatus = FALSE;
3598 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
3599 }
3600
3601 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
3602 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3603 {
3604 fStatus = FALSE;
3605 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 -08003606 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003607
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003608 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07003609 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003610 {
3611 fStatus = FALSE;
3612 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3613 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003614 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003615 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3616 {
3617 fStatus = FALSE;
3618 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
3619 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003620 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003621 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3622 {
3623 fStatus = FALSE;
3624 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
3625 }
3626
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003627 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07003628 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3629 {
3630 fStatus = FALSE;
3631 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
3632 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003633 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07003634 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3635 {
3636 fStatus = FALSE;
3637 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
3638 }
3639
Jeff Johnson295189b2012-06-20 16:38:30 -07003640 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
3641 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3642 {
3643 fStatus = FALSE;
3644 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3645 }
3646
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003647 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07003648 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
3649 ==eHAL_STATUS_FAILURE)
3650 {
3651 fStatus = FALSE;
3652 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
3653 }
3654
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003655 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07003656 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
3657 ==eHAL_STATUS_FAILURE)
3658 {
3659 fStatus = FALSE;
3660 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
3661 }
3662
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003663 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003664 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3665 {
3666 fStatus = FALSE;
3667 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
3668 }
3669
Jeff Johnsond13512a2012-07-17 11:42:19 -07003670
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003671 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07003672 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3673 {
3674 fStatus = FALSE;
3675 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
3676 }
3677
Jeff Johnsone7245742012-09-05 17:12:55 -07003678#ifdef WLAN_FEATURE_11AC
3679 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
3680 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
3681 /* we update only the least significant 2 bits in the corresponding fields */
3682 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
3683 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
3684 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
3685 {
3686 {
3687 tANI_U32 temp = 0;
3688
3689 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003690 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003691
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003692 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07003693 temp, NULL, eANI_BOOLEAN_FALSE)
3694 ==eHAL_STATUS_FAILURE)
3695 {
3696 fStatus = FALSE;
3697 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
3698 }
3699
3700 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003701 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003702
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003703 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003704 temp, NULL, eANI_BOOLEAN_FALSE)
3705 ==eHAL_STATUS_FAILURE)
3706 {
3707 fStatus = FALSE;
3708 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
3709 }
3710
3711 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003712 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003713
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003714 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003715 temp, NULL, eANI_BOOLEAN_FALSE)
3716 ==eHAL_STATUS_FAILURE)
3717 {
3718 fStatus = FALSE;
3719 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
3720 }
3721 }
3722 }
3723#endif
3724
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003725 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07003726 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3727 {
3728 fStatus = FALSE;
3729 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
3730 }
3731
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003732 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303733 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3734 ==eHAL_STATUS_FAILURE)
3735 {
3736 fStatus = FALSE;
3737 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
3738 }
3739
3740 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
3741 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
3742
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003743 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303744 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
3745 ==eHAL_STATUS_FAILURE)
3746 {
3747 fStatus = FALSE;
3748 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
3749 }
3750
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003751 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303752 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3753 ==eHAL_STATUS_FAILURE)
3754 {
3755 fStatus = FALSE;
3756 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
3757 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003758
3759#ifdef WLAN_SOFTAP_VSTA_FEATURE
3760 if(pConfig->fEnableVSTASupport)
3761 {
3762 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
3763 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
3764 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
3765 }
3766 else
3767 {
3768 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
3769 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003770 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003771 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3772 {
3773 fStatus = FALSE;
3774 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
3775 }
3776#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003777 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003778 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
3779 ==eHAL_STATUS_FAILURE)
3780 {
3781 fStatus = FALSE;
3782 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
3783 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303784
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08003785 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
3786 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3787 {
3788 fStatus = FALSE;
3789 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
3790 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003791 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
3792 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3793 {
3794 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003795 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 -08003796 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003797
3798 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
3799 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3800 {
3801 fStatus = FALSE;
3802 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
3803 }
3804
3805 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
3806 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3807 {
3808 fStatus = FALSE;
3809 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
3810 }
3811
3812 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
3813 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3814 {
3815 fStatus = FALSE;
3816 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
3817 }
3818
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05303819 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
3820 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3821 {
3822 fStatus = FALSE;
3823 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
3824 }
3825
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303826#ifdef FEATURE_WLAN_TDLS
3827
3828 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK, pConfig->fTDLSUapsdMask,
3829 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3830 {
3831 fStatus = FALSE;
3832 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM\n");
3833 }
3834 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED, pConfig->fEnableTDLSBufferSta,
3835 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3836 {
3837 fStatus = FALSE;
3838 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM\n");
3839 }
3840 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME, pConfig->fTDLSPuapsdInactivityTimer,
3841 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3842 {
3843 fStatus = FALSE;
3844 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM\n");
3845 }
3846 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD, pConfig->fTDLSRxFrameThreshold,
3847 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3848 {
3849 fStatus = FALSE;
3850 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM\n");
3851 }
3852#endif
3853
Jeff Johnson295189b2012-06-20 16:38:30 -07003854 return fStatus;
3855}
3856
3857
3858/**---------------------------------------------------------------------------
3859
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003860 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07003861
3862 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003863
Jeff Johnson295189b2012-06-20 16:38:30 -07003864 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003865
Jeff Johnson295189b2012-06-20 16:38:30 -07003866 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003867
Jeff Johnson295189b2012-06-20 16:38:30 -07003868 --------------------------------------------------------------------------*/
3869
3870VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
3871{
3872 VOS_STATUS status = VOS_STATUS_SUCCESS;
3873 eHalStatus halStatus;
3874 tSmeConfigParams smeConfig;
3875
3876 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3877
3878 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
3879
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003880 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003881 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
3882 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
3883
3884 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07003885 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
3886 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003887 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
3888 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
3889 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
3890 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
3891 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
3892
3893 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
3894
3895 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
3896 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
3897 smeConfig.csrConfig.TxRate = pConfig->TxRate;
3898 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
3899 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
3900 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
3901 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
3902 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
3903 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
3904 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
3905 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
3906 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
3907 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
3908 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
3909 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
3910 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
3911 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003912 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07003913 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
3914 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
3915 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
3916 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003917 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
3918 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07003919 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003920#ifdef WLAN_AP_STA_CONCURRENCY
3921 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
3922 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
3923 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
3924 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
3925 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07003926 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
3927 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
3928
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003929#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003930 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
3931 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
3932
3933#if defined WLAN_FEATURE_VOWIFI
3934 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
3935 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
3936#endif
3937 //Remaining config params not obtained from registry
3938 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07003939#ifdef WLAN_FEATURE_11AC
3940 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08003941 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08003942 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07003943 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07003944#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07003945 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
3946 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003947 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
3948 smeConfig.csrConfig.HeartbeatThresh50 = 40;
3949 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08003950 if (pConfig->nBandCapability == eCSR_BAND_24)
3951 {
3952 smeConfig.csrConfig.Is11hSupportEnabled = 0;
3953 } else {
3954 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
3955 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003956 smeConfig.csrConfig.cbChoice = 0;
3957 smeConfig.csrConfig.bgScanInterval = 0;
3958 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07003959 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
3960 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
3961 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003962#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3963 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003964 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07003965 smeConfig.csrConfig.nProbes = pConfig->nProbes;
3966 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003967#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07003968 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
3969
Jeff Johnson295189b2012-06-20 16:38:30 -07003970 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08003971 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
3972 {
3973 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07003974
Jeff Johnson7dda7772013-02-27 08:36:13 -08003975 /* if there is a requirement that HDD will control the default
3976 * channel list & country code (say from .ini file) we need to
3977 * add some logic here. Otherwise the default 11d info should
3978 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07003979 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08003980 else
3981 {
3982 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
3983 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003984
Jeff Johnson7dda7772013-02-27 08:36:13 -08003985 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
3986 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
3987 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
3988 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003989 hdd_set_power_save_config(pHddCtx, &smeConfig);
3990 hdd_set_btc_config(pHddCtx);
3991
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003992#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07003993 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
3994#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003995#ifdef FEATURE_WLAN_LFR
3996 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003997 if( pConfig->isFastRoamIniFeatureEnabled )
3998 {
3999 pConfig->isFastTransitionEnabled = TRUE;
4000 }
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004001#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004002#ifdef FEATURE_WLAN_CCX
4003 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004004 if( pConfig->isCcxIniFeatureEnabled )
4005 {
4006 pConfig->isFastTransitionEnabled = TRUE;
4007 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004008#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004009#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004010 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07004011 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004012 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowda100eb322013-03-15 16:48:20 -07004013 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07004014#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004015#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4016 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
4017#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004018#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4019 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4020 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004021 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4022 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004023 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004024 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004025 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004026 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004027 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4028 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4029 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004030 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4031#endif
4032
4033 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4034 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4035
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004036 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004037 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004038 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004039
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004040 //Scan Results Aging Time out value
4041 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4042
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004043 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4044
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004045 /* update SSR config */
4046 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304047 /* Update the Directed scan offload setting */
4048 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004049
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004050 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004051 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4052 {
4053 status = VOS_STATUS_E_FAILURE;
4054 }
4055
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004056
4057 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004058}
4059
4060
4061/**---------------------------------------------------------------------------
4062
4063 \brief hdd_execute_config_command() -
4064
4065 This function executes an arbitrary configuration set command
4066
4067 \param - pHddCtx - Pointer to the HDD Adapter.
4068 \parmm - command - a configuration command of the form:
4069 <name>=<value>
4070
4071 \return - 0 for success, non zero for failure
4072
4073 --------------------------------------------------------------------------*/
4074
4075VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4076{
4077 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4078 REG_TABLE_ENTRY *pRegEntry;
4079 char *clone;
4080 char *pCmd;
4081 void *pField;
4082 char *name;
4083 char *value_str;
4084 v_U32_t value;
4085 v_S31_t svalue;
4086 size_t len_value_str;
4087 unsigned int idx;
4088 unsigned int i;
4089 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004090 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004091
4092 // assume failure until proven otherwise
4093 vstatus = VOS_STATUS_E_FAILURE;
4094
4095 // clone the command so that we can manipulate it
4096 clone = kstrdup(command, GFP_ATOMIC);
4097 if (NULL == clone)
4098 {
4099 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004100 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004101 return vstatus;
4102 }
4103
4104 // 'clone' will point to the beginning of the string so it can be freed
4105 // 'pCmd' will be used to walk/parse the command
4106 pCmd = clone;
4107
4108 // get rid of leading/trailing whitespace
4109 pCmd = i_trim(pCmd);
4110 if ('\0' == *pCmd)
4111 {
4112 // only whitespace
4113 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004114 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004115 goto done;
4116 }
4117
4118 // parse the <name> = <value>
4119 name = pCmd;
4120 while (('=' != *pCmd) && ('\0' != *pCmd))
4121 {
4122 pCmd++;
4123 }
4124 if ('\0' == *pCmd)
4125 {
4126 // did not find '='
4127 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004128 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004129 goto done;
4130 }
4131
4132 // replace '=' with NUL to terminate the <name>
4133 *pCmd++ = '\0';
4134 name = i_trim(name);
4135 if ('\0' == *name)
4136 {
4137 // did not find a name
4138 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004139 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004140 goto done;
4141 }
4142
4143 value_str = i_trim(pCmd);
4144 if ('\0' == *value_str)
4145 {
4146 // did not find a value
4147 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004148 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004149 goto done;
4150 }
4151
4152 // lookup the configuration item
4153 for (idx = 0; idx < tableSize; idx++)
4154 {
4155 if (0 == strcmp(name, g_registry_table[idx].RegName))
4156 {
4157 // found a match
4158 break;
4159 }
4160 }
4161 if (tableSize == idx)
4162 {
4163 // did not match the name
4164 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004165 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004166 goto done;
4167 }
4168
4169 pRegEntry = &g_registry_table[idx];
4170 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4171 {
4172 // does not support dynamic configuration
4173 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004174 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004175 goto done;
4176 }
4177
4178 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4179
4180 switch (pRegEntry->RegType)
4181 {
4182 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004183 rv = kstrtoul(value_str, 10, &value);
4184 if (rv < 0)
4185 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004186 if (value < pRegEntry->VarMin)
4187 {
4188 // out of range
4189 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004190 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004191 goto done;
4192 }
4193 if (value > pRegEntry->VarMax)
4194 {
4195 // out of range
4196 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004197 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004198 goto done;
4199 }
4200 memcpy(pField, &value, pRegEntry->VarSize);
4201 break;
4202
4203 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004204 rv = kstrtoul(value_str, 16, &value);
4205 if (rv < 0)
4206 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004207 if (value < pRegEntry->VarMin)
4208 {
4209 // out of range
4210 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004211 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004212 goto done;
4213 }
4214 if (value > pRegEntry->VarMax)
4215 {
4216 // out of range
4217 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004218 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004219 goto done;
4220 }
4221 memcpy(pField, &value, pRegEntry->VarSize);
4222 break;
4223
4224 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004225 rv = kstrtol(value_str, 10, &svalue);
4226 if (rv < 0)
4227 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004228 if (svalue < (v_S31_t)pRegEntry->VarMin)
4229 {
4230 // out of range
4231 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004232 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004233 goto done;
4234 }
4235 if (svalue > (v_S31_t)pRegEntry->VarMax)
4236 {
4237 // out of range
4238 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004239 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004240 goto done;
4241 }
4242 memcpy(pField, &svalue, pRegEntry->VarSize);
4243 break;
4244
4245 case WLAN_PARAM_String:
4246 len_value_str = strlen(value_str);
4247 if (len_value_str > (pRegEntry->VarSize - 1))
4248 {
4249 // too big
4250 hddLog(LOGE,
4251 "%s: invalid command, string [%s] length "
4252 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004253 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004254 len_value_str, (pRegEntry->VarSize - 1));
4255 goto done;
4256 }
4257 // copy string plus NUL
4258 memcpy(pField, value_str, (len_value_str + 1));
4259 break;
4260
4261 case WLAN_PARAM_MacAddr:
4262 len_value_str = strlen(value_str);
4263 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4264 {
4265 // out of range
4266 hddLog(LOGE,
4267 "%s: invalid command, MAC address [%s] length "
4268 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004269 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004270 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4271 goto done;
4272 }
4273 //parse the string and store it in the byte array
4274 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4275 {
4276 ((char*)pField)[i] = (char)
4277 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4278 parseHexDigit(value_str[(i * 2) + 1]));
4279 }
4280 break;
4281
4282 default:
4283 goto done;
4284 }
4285
4286 // if we get here, we had a successful modification
4287 vstatus = VOS_STATUS_SUCCESS;
4288
4289 // config table has been modified, is there a notifier?
4290 if (NULL != pRegEntry->pfnDynamicNotify)
4291 {
4292 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4293 }
4294
4295 // note that this item was explicitly configured
4296 if (idx < MAX_CFG_INI_ITEMS)
4297 {
4298 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4299 }
4300 done:
4301 kfree(clone);
4302 return vstatus;
4303}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004304
4305/**---------------------------------------------------------------------------
4306
4307 \brief hdd_is_okc_mode_enabled() -
4308
4309 This function returns whether OKC mode is enabled or not
4310
4311 \param - pHddCtx - Pointer to the HDD Adapter.
4312
4313 \return - 1 for enabled, zero for disabled
4314
4315 --------------------------------------------------------------------------*/
4316
4317tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4318{
4319 if (NULL == pHddCtx)
4320 {
4321 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4322 return -EINVAL;
4323 }
4324
4325#ifdef FEATURE_WLAN_OKC
4326 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4327#else
4328 return eANI_BOOLEAN_FALSE;
4329#endif
4330}