blob: 57c9f9b8b07b3fe433f572199ab69d3aa537c317 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080042/**=========================================================================
Jeff Johnson295189b2012-06-20 16:38:30 -070043
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080044 EDIT HISTORY FOR FILE
45
46
47 This section contains comments describing changes made to the module.
48 Notice that changes are listed in reverse chronological order.
49
50
51 $Header:$ $DateTime: $ $Author: $
52
53
54 when who what, where, why
Jeff Johnson295189b2012-06-20 16:38:30 -070055 -------- --- --------------------------------------------------------
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080056 07/27/09 kanand Created module.
Jeff Johnson295189b2012-06-20 16:38:30 -070057
58 ==========================================================================*/
59
60/*--------------------------------------------------------------------------
61 Include Files
62 ------------------------------------------------------------------------*/
63
64
65#include <linux/firmware.h>
66#include <linux/string.h>
67#include <wlan_hdd_includes.h>
68#include <wlan_hdd_main.h>
69#include <wlan_hdd_assoc.h>
70#include <wlan_hdd_cfg.h>
71#include <linux/string.h>
72#include <vos_types.h>
73#include <csrApi.h>
74#include <pmcApi.h>
75#include <wlan_hdd_misc.h>
76
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080077#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -080078static void cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId)
79{
80 sme_UpdateRoamPrefer5GHz((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamPrefer5GHz);
81}
Jeff Johnson295189b2012-06-20 16:38:30 -070082
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080083static void cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
84{
Srinivas Girigowdade697412013-02-14 16:31:48 -080085 sme_UpdateImmediateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080086 pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
87}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080088
Srinivas Girigowdade697412013-02-14 16:31:48 -080089static void cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
90{
91 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
92 pHddCtx->cfg_ini->RoamRssiDiff);
93}
94
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080095static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
96{
97 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
98}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -070099
100static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
101{
102 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
103}
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700104
105static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
106{
107 // at the point this routine is called, the value in the cfg_ini table has already been updated
108 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
109}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700110#endif
111
112#ifdef FEATURE_WLAN_OKC
113static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
114{
115 // at the point this routine is called, the value in the cfg_ini table has already been updated
116}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800117#endif
118
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800119#ifdef FEATURE_WLAN_LFR
120static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
121{
122 // at the point this routine is called, the value in the cfg_ini table has already been updated
123 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
124}
125#endif
126
127#ifdef FEATURE_WLAN_CCX
128static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
129{
130 // at the point this routine is called, the value in the cfg_ini table has already been updated
131 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
132}
133#endif
134
135static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
136{
137 // at the point this routine is called, the value in the cfg_ini table has already been updated
138 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
139}
140
Srinivas Girigowdade697412013-02-14 16:31:48 -0800141#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
142static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
143{
144 // at the point this routine is called, the value in the cfg_ini table has already been updated
145 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
146}
147
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700148static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
149{
150 // at the point this routine is called, the value in the cfg_ini table has already been updated
151 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
152}
153
Srinivas Girigowdade697412013-02-14 16:31:48 -0800154static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
155{
156 // at the point this routine is called, the value in the cfg_ini table has already been updated
157 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
158}
159
160static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
161{
162 // at the point this routine is called, the value in the cfg_ini table has already been updated
163 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
164}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700165
166static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
167{
168 // at the point this routine is called, the value in the cfg_ini table has already been updated
169 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
170}
171
172static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
173{
174 // at the point this routine is called, the value in the cfg_ini table has already been updated
175 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
176}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800177#endif
178
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700179static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
180{
181 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
182}
183
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700184#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
185static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
186{
187 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
188}
189#endif
190
Jeff Johnson295189b2012-06-20 16:38:30 -0700191REG_TABLE_ENTRY g_registry_table[] =
192{
193 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800194 hdd_config_t, RTSThreshold,
195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
196 CFG_RTS_THRESHOLD_DEFAULT,
197 CFG_RTS_THRESHOLD_MIN,
198 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700199
200 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800201 hdd_config_t, FragmentationThreshold,
202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
203 CFG_FRAG_THRESHOLD_DEFAULT,
204 CFG_FRAG_THRESHOLD_MIN,
205 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700206
207 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800208 hdd_config_t, Calibration,
209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
210 CFG_CALIBRATION_DEFAULT,
211 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700212 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800213
Jeff Johnson295189b2012-06-20 16:38:30 -0700214 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800215 hdd_config_t, CalibrationPeriod,
216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
217 CFG_CALIBRATION_PERIOD_DEFAULT,
218 CFG_CALIBRATION_PERIOD_MIN,
219 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700220
221 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
222 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
224 CFG_OPERATING_CHANNEL_DEFAULT,
225 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700226 CFG_OPERATING_CHANNEL_MAX ),
227
228 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800229 hdd_config_t, ShortSlotTimeEnabled,
230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
231 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
232 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700233 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
234
235 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800236 hdd_config_t, Is11dSupportEnabled,
237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
238 CFG_11D_SUPPORT_ENABLED_DEFAULT,
239 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700240 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800241
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800242 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800243 hdd_config_t, Is11hSupportEnabled,
244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
245 CFG_11H_SUPPORT_ENABLED_DEFAULT,
246 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800247 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700248
249 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800250 hdd_config_t, fEnforce11dChannels,
251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
252 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
253 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700254 CFG_ENFORCE_11D_CHANNELS_MAX ),
255
256 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800257 hdd_config_t, fSupplicantCountryCodeHasPriority,
258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
259 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
260 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700261 CFG_COUNTRY_CODE_PRIORITY_MAX),
262
263 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800264 hdd_config_t, fEnforceCountryCodeMatch,
265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
266 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
267 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700268 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
269
270 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800271 hdd_config_t, fEnforceDefaultDomain,
272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
273 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
274 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700275 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800276
Jeff Johnson295189b2012-06-20 16:38:30 -0700277 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
278 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
280 CFG_GENERIC_ID1_DEFAULT,
281 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700282 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800283
Jeff Johnson295189b2012-06-20 16:38:30 -0700284 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
285 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
287 CFG_GENERIC_ID2_DEFAULT,
288 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700289 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800290
Jeff Johnson295189b2012-06-20 16:38:30 -0700291 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
292 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
294 CFG_GENERIC_ID3_DEFAULT,
295 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700296 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800297
Jeff Johnson295189b2012-06-20 16:38:30 -0700298 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
299 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
301 CFG_GENERIC_ID4_DEFAULT,
302 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700303 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800304
Jeff Johnson295189b2012-06-20 16:38:30 -0700305 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
306 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
308 CFG_GENERIC_ID5_DEFAULT,
309 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 CFG_GENERIC_ID5_MAX ),
311
312 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
313 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
315 CFG_GENERIC_VALUE1_DEFAULT,
316 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700317 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800318
Jeff Johnson295189b2012-06-20 16:38:30 -0700319 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
320 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
322 CFG_GENERIC_VALUE2_DEFAULT,
323 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700324 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800325
Jeff Johnson295189b2012-06-20 16:38:30 -0700326 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
327 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
329 CFG_GENERIC_VALUE3_DEFAULT,
330 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700331 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800332
Jeff Johnson295189b2012-06-20 16:38:30 -0700333 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
334 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
336 CFG_GENERIC_VALUE4_DEFAULT,
337 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700338 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800339
Jeff Johnson295189b2012-06-20 16:38:30 -0700340 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
341 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
343 CFG_GENERIC_VALUE5_DEFAULT,
344 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 CFG_GENERIC_VALUE5_MAX ),
346
347 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800348 hdd_config_t, HeartbeatThresh24,
349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
350 CFG_HEARTBEAT_THRESH_24_DEFAULT,
351 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800353
Jeff Johnson295189b2012-06-20 16:38:30 -0700354 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800355 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700356 VAR_FLAGS_OPTIONAL,
357 (void *)CFG_POWER_USAGE_DEFAULT ),
358
359 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360 hdd_config_t, nEnableSuspend,
361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
362 CFG_ENABLE_SUSPEND_DEFAULT,
363 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700364 CFG_ENABLE_SUSPEND_MAX ),
365
366 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800367 hdd_config_t, nEnableDriverStop,
368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
369 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
370 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700371 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
372
373 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800374 hdd_config_t, fIsImpsEnabled,
375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
376 CFG_ENABLE_IMPS_DEFAULT,
377 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700378 CFG_ENABLE_IMPS_MAX ),
379
380 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800381 hdd_config_t, fIsLogpEnabled,
382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
383 CFG_ENABLE_LOGP_DEFAULT,
384 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700385 CFG_ENABLE_LOGP_MAX ),
386
387 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800388 hdd_config_t, nImpsMinSleepTime,
389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
390 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
391 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700392 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
393
394 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800395 hdd_config_t, nImpsMaxSleepTime,
396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
397 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
398 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
400
401 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
402 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
404 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
405 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700406 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
407
408 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800409 hdd_config_t, fIsBmpsEnabled,
410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
411 CFG_ENABLE_BMPS_DEFAULT,
412 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700413 CFG_ENABLE_BMPS_MAX ),
414
415 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800416 hdd_config_t, nBmpsMinListenInterval,
417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
418 CFG_BMPS_MINIMUM_LI_DEFAULT,
419 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700420 CFG_BMPS_MINIMUM_LI_MAX ),
421
422 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800423 hdd_config_t, nBmpsMaxListenInterval,
424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
425 CFG_BMPS_MAXIMUM_LI_DEFAULT,
426 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700427 CFG_BMPS_MAXIMUM_LI_MAX ),
428
429 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
430 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
432 CFG_BMPS_MODERATE_LI_DEFAULT,
433 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700434 CFG_BMPS_MODERATE_LI_MAX ),
435
436 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800437 hdd_config_t, fIsAutoBmpsTimerEnabled,
438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
439 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
440 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700441 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
442
443 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800444 hdd_config_t, nAutoBmpsTimerValue,
445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
446 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
447 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700448 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
449
450 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800451 hdd_config_t, dot11Mode,
452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
453 CFG_DOT11_MODE_DEFAULT,
454 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700455 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800456
Jeff Johnson295189b2012-06-20 16:38:30 -0700457 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800458 hdd_config_t, nChannelBondingMode24GHz,
459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
460 CFG_CHANNEL_BONDING_MODE_DEFAULT,
461 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700462 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800463
Jeff Johnson295189b2012-06-20 16:38:30 -0700464 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800465 hdd_config_t, nChannelBondingMode5GHz,
466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
467 CFG_CHANNEL_BONDING_MODE_DEFAULT,
468 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700469 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800470
471 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
472 hdd_config_t, MaxRxAmpduFactor,
473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
474 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
475 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700476 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477
Jeff Johnson295189b2012-06-20 16:38:30 -0700478 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800479 hdd_config_t, TxRate,
480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
481 CFG_FIXED_RATE_DEFAULT,
482 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700483 CFG_FIXED_RATE_MAX ),
484
485 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800486 hdd_config_t, ShortGI20MhzEnable,
487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
488 CFG_SHORT_GI_20MHZ_DEFAULT,
489 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700490 CFG_SHORT_GI_20MHZ_MAX ),
491
492 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800493 hdd_config_t, BlockAckAutoSetup,
494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
495 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
496 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700497 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800498
Jeff Johnson295189b2012-06-20 16:38:30 -0700499 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800500 hdd_config_t, ScanResultAgeCount,
501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
502 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
503 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700504 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
505
506 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800507 hdd_config_t, nScanAgeTimeNCNPS,
508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
509 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
510 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700511 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
512
513 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800514 hdd_config_t, nScanAgeTimeNCPS,
515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
516 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
517 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700518 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
519
520 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800521 hdd_config_t, nScanAgeTimeCNPS,
522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
523 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
524 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
526
527 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800528 hdd_config_t, nScanAgeTimeCPS,
529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
530 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
531 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700532 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
533
534 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800535 hdd_config_t, nRssiCatGap,
536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
537 CFG_RSSI_CATEGORY_GAP_DEFAULT,
538 CFG_RSSI_CATEGORY_GAP_MIN,
539 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700540
541 REG_VARIABLE( CFG_STAT_TIMER_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800542 hdd_config_t, nStatTimerInterval,
543 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
544 CFG_STAT_TIMER_INTERVAL_DEFAULT,
545 CFG_STAT_TIMER_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700546 CFG_STAT_TIMER_INTERVAL_MAX ),
547
548 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800549 hdd_config_t, fIsShortPreamble,
550 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
551 CFG_SHORT_PREAMBLE_DEFAULT,
552 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700553 CFG_SHORT_PREAMBLE_MAX ),
554
555 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800556 hdd_config_t, fIsAutoIbssBssid,
557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
558 CFG_IBSS_AUTO_BSSID_DEFAULT,
559 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700560 CFG_IBSS_AUTO_BSSID_MAX ),
561
562 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800563 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700564 VAR_FLAGS_OPTIONAL,
565 (void *)CFG_IBSS_BSSID_DEFAULT ),
566
567 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800568 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700569 VAR_FLAGS_OPTIONAL,
570 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
571
572 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800573 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700574 VAR_FLAGS_OPTIONAL,
575 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
576
577 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800578 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700579 VAR_FLAGS_OPTIONAL,
580 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
581
582 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800583 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700584 VAR_FLAGS_OPTIONAL,
585 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
586
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700587 REG_VARIABLE_STRING( CFG_CRDA_DEFAULT_COUNTRY_CODE, WLAN_PARAM_String,
588 hdd_config_t, crdaDefaultCountryCode,
589 VAR_FLAGS_OPTIONAL,
590 (void *)CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT ),
591
Jeff Johnson295189b2012-06-20 16:38:30 -0700592 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800593 hdd_config_t, apUapsdEnabled,
594 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
595 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
596 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700597 CFG_AP_QOS_UAPSD_MODE_MAX ),
598
599 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800600 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700601 VAR_FLAGS_OPTIONAL,
602 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
603
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700604 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
605 hdd_config_t, apRandomBssidEnabled,
606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
607 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
608 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
609 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
610
Jeff Johnson295189b2012-06-20 16:38:30 -0700611 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800612 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
614 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
615 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
616 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
617
618 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
619 hdd_config_t, apProtection,
620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
621 CFG_AP_PROTECTION_MODE_DEFAULT,
622 CFG_AP_PROTECTION_MODE_MIN,
623 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800624
Jeff Johnson295189b2012-06-20 16:38:30 -0700625 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800626 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
629 CFG_AP_OBSS_PROTECTION_MODE_MIN,
630 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800631
Jeff Johnson295189b2012-06-20 16:38:30 -0700632 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
636 CFG_AP_STA_SECURITY_SEPERATION_MIN,
637 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
638
639 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800640 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
642 CFG_FRAMES_PROCESSING_TH_DEFAULT,
643 CFG_FRAMES_PROCESSING_TH_MIN,
644 CFG_FRAMES_PROCESSING_TH_MAX ),
645
646 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
647 hdd_config_t, apStartChannelNum,
648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
649 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
650 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
651 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
652
653 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
654 hdd_config_t, apEndChannelNum,
655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
656 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
657 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
658 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
659
660 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
661 hdd_config_t, apOperatingBand,
662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
663 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
664 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
665 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
666
667 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
668 hdd_config_t, apAutoChannelSelection,
669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
670 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
671 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
672 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800673
Jeff Johnson295189b2012-06-20 16:38:30 -0700674 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
675 hdd_config_t, enableLTECoex,
676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
677 CFG_ENABLE_LTE_COEX_DEFAULT,
678 CFG_ENABLE_LTE_COEX_MIN,
679 CFG_ENABLE_LTE_COEX_MAX ),
680
681 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
682 hdd_config_t, apKeepAlivePeriod,
683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
684 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
685 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
686 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
687
688 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
689 hdd_config_t, goKeepAlivePeriod,
690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
691 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
692 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
693 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
694
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530695 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
696 hdd_config_t, apLinkMonitorPeriod,
697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
698 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
699 CFG_AP_LINK_MONITOR_PERIOD_MIN,
700 CFG_AP_LINK_MONITOR_PERIOD_MAX),
701
Jeff Johnson295189b2012-06-20 16:38:30 -0700702 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
703 hdd_config_t, disablePacketFilter,
704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
705 CFG_DISABLE_PACKET_FILTER_DEFAULT,
706 CFG_DISABLE_PACKET_FILTER_MIN,
707 CFG_DISABLE_PACKET_FILTER_MAX ),
708
709 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800710 hdd_config_t, nBeaconInterval,
711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
712 CFG_BEACON_INTERVAL_DEFAULT,
713 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700714 CFG_BEACON_INTERVAL_MAX ),
715
716 REG_VARIABLE( CFG_ENABLE_HANDOFF_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800717 hdd_config_t, fIsHandoffEnabled,
718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
719 CFG_ENABLE_HANDOFF_DEFAULT,
720 CFG_ENABLE_HANDOFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700721 CFG_ENABLE_HANDOFF_MAX ),
722
723
724 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800725 hdd_config_t, nEnableIdleScan,
726 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
727 CFG_ENABLE_IDLE_SCAN_DEFAULT,
728 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700729 CFG_ENABLE_IDLE_SCAN_MAX ),
730
731 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800732 hdd_config_t, nRoamingTime,
733 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
734 CFG_ROAMING_TIME_DEFAULT,
735 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700736 CFG_ROAMING_TIME_MAX ),
737
738 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800739 hdd_config_t, nVccRssiTrigger,
740 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
741 CFG_VCC_RSSI_TRIGGER_DEFAULT,
742 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700743 CFG_VCC_RSSI_TRIGGER_MAX ),
744
745 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800746 hdd_config_t, nVccUlMacLossThreshold,
747 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
748 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
749 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700750 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
751
752 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800753 hdd_config_t, nPassiveMaxChnTime,
754 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
755 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
756 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700757 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
758
759 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800760 hdd_config_t, nPassiveMinChnTime,
761 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
762 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
763 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700764 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
765
766 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800767 hdd_config_t, nActiveMaxChnTime,
768 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
769 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
770 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700771 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
772
773 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800774 hdd_config_t, nActiveMinChnTime,
775 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
776 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
777 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700778 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700779
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800780 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
781 hdd_config_t, nActiveMaxChnTimeBtc,
782 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
783 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
784 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
785 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
786
787 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
788 hdd_config_t, nActiveMinChnTimeBtc,
789 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
790 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
791 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
792 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
793
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700794 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
795 hdd_config_t, retryLimitZero,
796 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
797 CFG_RETRY_LIMIT_ZERO_DEFAULT,
798 CFG_RETRY_LIMIT_ZERO_MIN,
799 CFG_RETRY_LIMIT_ZERO_MAX ),
800
801 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
802 hdd_config_t, retryLimitOne,
803 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
804 CFG_RETRY_LIMIT_ONE_DEFAULT,
805 CFG_RETRY_LIMIT_ONE_MIN,
806 CFG_RETRY_LIMIT_ONE_MAX ),
807
808 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
809 hdd_config_t, retryLimitTwo,
810 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
811 CFG_RETRY_LIMIT_TWO_DEFAULT,
812 CFG_RETRY_LIMIT_TWO_MIN,
813 CFG_RETRY_LIMIT_TWO_MAX ),
814
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700815#ifdef WLAN_AP_STA_CONCURRENCY
816 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800817 hdd_config_t, nPassiveMaxChnTimeConc,
818 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
819 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
820 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700821 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
822
823 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800824 hdd_config_t, nPassiveMinChnTimeConc,
825 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
826 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
827 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700828 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
829
830 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800831 hdd_config_t, nActiveMaxChnTimeConc,
832 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
833 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
834 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700835 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
836
837 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800838 hdd_config_t, nActiveMinChnTimeConc,
839 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
840 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
841 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700842 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
843
844 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800845 hdd_config_t, nRestTimeConc,
846 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
847 CFG_REST_TIME_CONC_DEFAULT,
848 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700849 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800850
851 REG_VARIABLE( CFG_NUM_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
852 hdd_config_t, nNumChanCombinedConc,
853 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
854 CFG_NUM_CHAN_COMBINED_CONC_DEFAULT,
855 CFG_NUM_CHAN_COMBINED_CONC_MIN,
856 CFG_NUM_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700857#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800858
Jeff Johnson295189b2012-06-20 16:38:30 -0700859 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800860 hdd_config_t, nMaxPsPoll,
861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
862 CFG_MAX_PS_POLL_DEFAULT,
863 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700864 CFG_MAX_PS_POLL_MAX ),
865
866 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800867 hdd_config_t, nTxPowerCap,
868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
869 CFG_MAX_TX_POWER_DEFAULT,
870 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700871 CFG_MAX_TX_POWER_MAX ),
872
873 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
874 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
876 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
877 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700878 CFG_LOW_GAIN_OVERRIDE_MAX ),
879
880 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
881 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
883 CFG_RSSI_FILTER_PERIOD_DEFAULT,
884 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700885 CFG_RSSI_FILTER_PERIOD_MAX ),
886
887 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
888 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
890 CFG_IGNORE_DTIM_DEFAULT,
891 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700892 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800893
Yue Mac24062f2013-05-13 17:01:29 -0700894 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
895 hdd_config_t, fMaxLIModulatedDTIM,
896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
897 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
898 CFG_MAX_LI_MODULATED_DTIM_MIN,
899 CFG_MAX_LI_MODULATED_DTIM_MAX ),
900
Jeff Johnson295189b2012-06-20 16:38:30 -0700901 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 hdd_config_t, nRxAnt,
903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
904 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
905 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700906 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
907
908 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800909 hdd_config_t, fEnableFwHeartBeatMonitoring,
910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
911 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
912 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700913 CFG_FW_HEART_BEAT_MONITORING_MAX ),
914
915 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800916 hdd_config_t, fEnableFwBeaconFiltering,
917 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
918 CFG_FW_BEACON_FILTERING_DEFAULT,
919 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700920 CFG_FW_BEACON_FILTERING_MAX ),
921
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800922 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800923 hdd_config_t, fEnableFwRssiMonitoring,
924 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
925 CFG_FW_RSSI_MONITORING_DEFAULT,
926 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800927 CFG_FW_RSSI_MONITORING_MAX,
928 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700929
930 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800931 hdd_config_t, nDataInactivityTimeout,
932 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
933 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
934 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700935 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800936
Jeff Johnson295189b2012-06-20 16:38:30 -0700937 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800938 hdd_config_t, nthBeaconFilter,
939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
940 CFG_NTH_BEACON_FILTER_DEFAULT,
941 CFG_NTH_BEACON_FILTER_MIN,
942 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700943
944 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800945 hdd_config_t, WmmMode,
946 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
947 CFG_QOS_WMM_MODE_DEFAULT,
948 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700949 CFG_QOS_WMM_MODE_MAX ),
950
951 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800952 hdd_config_t, b80211eIsEnabled,
953 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
954 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
955 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700956 CFG_QOS_WMM_80211E_ENABLED_MAX ),
957
958 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800959 hdd_config_t, UapsdMask,
960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
961 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
962 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700963 CFG_QOS_WMM_UAPSD_MASK_MAX ),
964
965 REG_VARIABLE( CFG_QOS_WMM_MAX_SP_LEN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800966 hdd_config_t, MaxSpLength,
967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
968 CFG_QOS_WMM_MAX_SP_LEN_DEFAULT,
969 CFG_QOS_WMM_MAX_SP_LEN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700970 CFG_QOS_WMM_MAX_SP_LEN_MAX ),
971
972 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800973 hdd_config_t, InfraUapsdVoSrvIntv,
974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
975 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
976 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700977 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
978
979 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800980 hdd_config_t, InfraUapsdVoSuspIntv,
981 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
982 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
983 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700984 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
985
986 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800987 hdd_config_t, InfraUapsdViSrvIntv,
988 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
989 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
990 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700991 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
992
993 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800994 hdd_config_t, InfraUapsdViSuspIntv,
995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
996 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
997 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700998 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
999
1000 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001001 hdd_config_t, InfraUapsdBeSrvIntv,
1002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1003 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1004 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001005 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1006
1007 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001008 hdd_config_t, InfraUapsdBeSuspIntv,
1009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1010 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1011 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001012 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1013
1014 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001015 hdd_config_t, InfraUapsdBkSrvIntv,
1016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1017 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1018 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001019 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1020
1021 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001022 hdd_config_t, InfraUapsdBkSuspIntv,
1023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1024 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1025 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001026 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1027
1028#ifdef FEATURE_WLAN_CCX
1029 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001030 hdd_config_t, InfraInactivityInterval,
1031 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1032 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1033 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001034 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001035 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001036 hdd_config_t, isCcxIniFeatureEnabled,
1037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1038 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1039 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001040 CFG_CCX_FEATURE_ENABLED_MAX,
1041 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001042#endif // FEATURE_WLAN_CCX
1043
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001044#ifdef FEATURE_WLAN_LFR
1045 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001046 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001047 hdd_config_t, isFastRoamIniFeatureEnabled,
1048 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1049 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1050 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001051 CFG_LFR_FEATURE_ENABLED_MAX,
1052 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001053#endif // FEATURE_WLAN_LFR
1054
1055#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001056 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001057 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001058 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001059 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1060 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1061 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001062 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1063 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001064
Srinivas Girigowdade697412013-02-14 16:31:48 -08001065 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001066 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001067 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1068 hdd_config_t, RoamRssiDiff,
1069 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1070 CFG_ROAM_RSSI_DIFF_DEFAULT,
1071 CFG_ROAM_RSSI_DIFF_MIN,
1072 CFG_ROAM_RSSI_DIFF_MAX,
1073 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001074
1075 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001076 hdd_config_t, nImmediateRoamRssiDiff,
1077 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1078 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1079 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001080 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1081 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001082
1083 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1084 hdd_config_t, isWESModeEnabled,
1085 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1086 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1087 CFG_ENABLE_WES_MODE_NAME_MIN,
1088 CFG_ENABLE_WES_MODE_NAME_MAX,
1089 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001090#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001091#ifdef FEATURE_WLAN_OKC
1092 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1093 hdd_config_t, isOkcIniFeatureEnabled,
1094 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1095 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1096 CFG_OKC_FEATURE_ENABLED_MIN,
1097 CFG_OKC_FEATURE_ENABLED_MAX,
1098 cbNotifySetOkcFeatureEnabled, 0 ),
1099#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001100#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1101 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1102 hdd_config_t, isRoamOffloadScanEnabled,
1103 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1104 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1105 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1106 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1107 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1108#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001109 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001110 hdd_config_t, PktClassificationBasis,
1111 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1112 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1113 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001114 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1115
1116 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001117 hdd_config_t, InfraDirAcVo,
1118 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1119 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1120 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001121 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1122
1123 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001124 hdd_config_t, InfraNomMsduSizeAcVo,
1125 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1126 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1127 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001128 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1129
1130 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001131 hdd_config_t, InfraMeanDataRateAcVo,
1132 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1133 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1134 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001135 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1136
1137 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001138 hdd_config_t, InfraMinPhyRateAcVo,
1139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1140 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1141 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001142 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1143
1144 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001145 hdd_config_t, InfraSbaAcVo,
1146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1147 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1148 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001149 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1150
1151 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001152 hdd_config_t, InfraDirAcVi,
1153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1154 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1155 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001156 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1157
1158 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001159 hdd_config_t, InfraNomMsduSizeAcVi,
1160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1161 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1162 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001163 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1164
1165 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001166 hdd_config_t, InfraMeanDataRateAcVi,
1167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1168 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1169 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001170 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1171
1172 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001173 hdd_config_t, InfraMinPhyRateAcVi,
1174 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1175 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1176 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001177 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1178
1179 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001180 hdd_config_t, InfraSbaAcVi,
1181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1182 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1183 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001184 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1185
1186 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001187 hdd_config_t, InfraDirAcBe,
1188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1189 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1190 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001191 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1192
1193 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001194 hdd_config_t, InfraNomMsduSizeAcBe,
1195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1196 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1197 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001198 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1199
1200 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001201 hdd_config_t, InfraMeanDataRateAcBe,
1202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1203 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1204 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001205 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1206
1207 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001208 hdd_config_t, InfraMinPhyRateAcBe,
1209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1210 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1211 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001212 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1213
1214 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001215 hdd_config_t, InfraSbaAcBe,
1216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1217 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1218 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001219 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1220
1221 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001222 hdd_config_t, InfraDirAcBk,
1223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1224 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1225 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001226 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1227
1228 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001229 hdd_config_t, InfraNomMsduSizeAcBk,
1230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1231 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1232 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001233 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1234
1235 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001236 hdd_config_t, InfraMeanDataRateAcBk,
1237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1238 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1239 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001240 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1241
1242 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001243 hdd_config_t, InfraMinPhyRateAcBk,
1244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1245 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1246 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001247 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1248
1249 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001250 hdd_config_t, InfraSbaAcBk,
1251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1252 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1253 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001254 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1255
1256 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001257 hdd_config_t, WfqBkWeight,
1258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1259 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1260 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001261 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1262
1263 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001264 hdd_config_t, WfqBeWeight,
1265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1266 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1267 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001268 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1269
1270 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001271 hdd_config_t, WfqViWeight,
1272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1273 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1274 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001275 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1276
1277 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001278 hdd_config_t, WfqVoWeight,
1279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1280 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1281 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001282 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1283
1284 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001285 hdd_config_t, DelayedTriggerFrmInt,
1286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1287 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1288 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001289 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1290
1291 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001292 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001293 VAR_FLAGS_OPTIONAL,
1294 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1295
1296 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001297 hdd_config_t, bImplicitQosEnabled,
1298 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1299 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1300 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001301 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1302
1303 REG_VARIABLE( CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001304 hdd_config_t, b19p2MhzPmicClkEnabled,
1305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1306 CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT,
1307 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001308 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX ),
1309
1310 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001311 hdd_config_t, btcExecutionMode,
1312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1313 CFG_BTC_EXECUTION_MODE_DEFAULT,
1314 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001315 CFG_BTC_EXECUTION_MODE_MAX ),
1316
1317 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1318 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1319 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1320 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1321 CFG_BTC_DHCP_PROTECTION_MIN,
1322 CFG_BTC_DHCP_PROTECTION_MAX ),
1323
1324 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1325 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1326 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1327 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1328 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1329 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1330
Jeff Johnson32d95a32012-09-10 13:15:23 -07001331 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1332 hdd_config_t, btcStaticLenInqBt,
1333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1334 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1335 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1336 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1337
1338 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1339 hdd_config_t, btcStaticLenPageBt,
1340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1341 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1342 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1343 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1344
1345 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1346 hdd_config_t, btcStaticLenConnBt,
1347 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1348 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1349 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1350 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1351
1352 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1353 hdd_config_t, btcStaticLenLeBt,
1354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1355 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1356 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1357 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1358
1359 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1360 hdd_config_t, btcStaticLenInqWlan,
1361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1362 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1363 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1364 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1365
1366 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1367 hdd_config_t, btcStaticLenPageWlan,
1368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1369 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1370 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1371 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1372
1373 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1374 hdd_config_t, btcStaticLenConnWlan,
1375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1376 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1377 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1378 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1379
1380 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1381 hdd_config_t, btcStaticLenLeWlan,
1382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1383 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1384 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1385 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1386
1387 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1388 hdd_config_t, btcDynMaxLenBt,
1389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1390 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1391 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1392 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1393
1394 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1395 hdd_config_t, btcDynMaxLenWlan,
1396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1397 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1398 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1399 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1400
1401 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1402 hdd_config_t, btcMaxScoBlockPerc,
1403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1404 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1405 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1406 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1407
1408 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1409 hdd_config_t, btcDhcpProtOnA2dp,
1410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1411 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1412 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1413 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1414
1415 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1416 hdd_config_t, btcDhcpProtOnSco,
1417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1418 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1419 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1420 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1421
Jeff Johnson295189b2012-06-20 16:38:30 -07001422 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001423 hdd_config_t, nEnableListenMode,
1424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1425 CFG_AP_LISTEN_MODE_DEFAULT,
1426 CFG_AP_LISTEN_MODE_MIN,
1427 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001428
1429 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1430 hdd_config_t, nAPAutoShutOff,
1431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1432 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1433 CFG_AP_AUTO_SHUT_OFF_MIN,
1434 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001435
1436#if defined WLAN_FEATURE_VOWIFI
1437 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001438 hdd_config_t, fRrmEnable,
1439 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1440 CFG_RRM_ENABLE_DEFAULT,
1441 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001442 CFG_RRM_ENABLE_MAX ),
1443
1444 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001445 hdd_config_t, nInChanMeasMaxDuration,
1446 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1447 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1448 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001449 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1450
1451 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001452 hdd_config_t, nOutChanMeasMaxDuration,
1453 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1454 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1455 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001456 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1457
1458 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001459 hdd_config_t, nRrmRandnIntvl,
1460 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1461 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1462 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001463 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1464#endif
1465
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001466#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001467 REG_VARIABLE( CFG_FT_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001468 hdd_config_t, fFTEnable,
1469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1470 CFG_FT_ENABLE_DEFAULT,
1471 CFG_FT_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001472 CFG_FT_ENABLE_MAX ),
1473
1474 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001475 hdd_config_t, fFTResourceReqSupported,
1476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1477 CFG_FT_RESOURCE_REQ_DEFAULT,
1478 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001479 CFG_FT_RESOURCE_REQ_MAX ),
1480#endif
1481
1482#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001483 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001484 hdd_config_t, nNeighborScanPeriod,
1485 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1486 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1487 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001488 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1489 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001490
1491 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001492 hdd_config_t, nNeighborReassocRssiThreshold,
1493 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1494 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1495 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001496 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1497
Srinivas Girigowdade697412013-02-14 16:31:48 -08001498 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001499 hdd_config_t, nNeighborLookupRssiThreshold,
1500 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1501 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1502 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001503 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1504 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001505
1506 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001507 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001508 VAR_FLAGS_OPTIONAL,
1509 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1510
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001511 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001512 hdd_config_t, nNeighborScanMinChanTime,
1513 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1514 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1515 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001516 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1517 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001518
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001519 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001520 hdd_config_t, nNeighborScanMaxChanTime,
1521 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1522 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1523 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001524 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1525 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001526
1527 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1528 hdd_config_t, nMaxNeighborReqTries,
1529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1530 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1531 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1532 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1533
Srinivas Girigowdade697412013-02-14 16:31:48 -08001534 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001535 hdd_config_t, nNeighborResultsRefreshPeriod,
1536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1537 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1538 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001539 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1540 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1541
1542 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1543 hdd_config_t, nEmptyScanRefreshPeriod,
1544 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1545 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1546 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1547 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1548 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001549#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1550
1551 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001552 hdd_config_t, burstSizeDefinition,
1553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1554 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1555 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001556 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1557
1558 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1559 hdd_config_t, mcastBcastFilterSetting,
1560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1561 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1562 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1563 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1564
1565 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1566 hdd_config_t, fhostArpOffload,
1567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1568 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1569 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1570 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1571
1572 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001573 hdd_config_t, tsInfoAckPolicy,
1574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1575 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1576 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001577 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1578
1579 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1580 hdd_config_t, bSingleTidRc,
1581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1582 CFG_SINGLE_TID_RC_DEFAULT,
1583 CFG_SINGLE_TID_RC_MIN,
1584 CFG_SINGLE_TID_RC_MAX),
1585
1586 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1587 hdd_config_t, dynamicPsPollValue,
1588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1589 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1590 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1591 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1592
1593 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1594 hdd_config_t, teleBcnWakeupEn,
1595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1596 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1597 CFG_TELE_BCN_WAKEUP_EN_MIN,
1598 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1599
1600 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1601 hdd_config_t, infraStaKeepAlivePeriod,
1602 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1603 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1604 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1605 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1606
1607 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001608 hdd_config_t, AddTSWhenACMIsOff,
1609 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1610 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1611 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001612 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1613
1614
1615 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001616 hdd_config_t, fValidateScanList,
1617 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1618 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1619 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001620 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001621
Jeff Johnson295189b2012-06-20 16:38:30 -07001622 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001623 hdd_config_t, nNullDataApRespTimeout,
1624 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1625 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1626 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001627 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1628
1629 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001630 hdd_config_t, apDataAvailPollPeriodInMs,
1631 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1632 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1633 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001634 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001635
Jeff Johnson295189b2012-06-20 16:38:30 -07001636 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001637 hdd_config_t, enableBtAmp,
1638 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1639 CFG_ENABLE_BTAMP_DEFAULT,
1640 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001641 CFG_ENABLE_BTAMP_MAX ),
1642
1643#ifdef WLAN_BTAMP_FEATURE
1644 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001645 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07001646 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1647 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
1648 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
1649 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
1650#endif //WLAN_BTAMP_FEATURE
1651 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001652 hdd_config_t, nBandCapability,
1653 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1654 CFG_BAND_CAPABILITY_DEFAULT,
1655 CFG_BAND_CAPABILITY_MIN,
1656 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001657
1658 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001659 hdd_config_t, fEnableBeaconEarlyTermination,
1660 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1661 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
1662 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
1663 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001664/* CFG_VOS_TRACE_ENABLE Parameters */
1665 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
1666 hdd_config_t, vosTraceEnableBAP,
1667 VAR_FLAGS_OPTIONAL,
1668 CFG_VOS_TRACE_ENABLE_DEFAULT,
1669 CFG_VOS_TRACE_ENABLE_MIN,
1670 CFG_VOS_TRACE_ENABLE_MAX ),
1671
1672 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
1673 hdd_config_t, vosTraceEnableTL,
1674 VAR_FLAGS_OPTIONAL,
1675 CFG_VOS_TRACE_ENABLE_DEFAULT,
1676 CFG_VOS_TRACE_ENABLE_MIN,
1677 CFG_VOS_TRACE_ENABLE_MAX ),
1678
1679 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1680 hdd_config_t, vosTraceEnableWDI,
1681 VAR_FLAGS_OPTIONAL,
1682 CFG_VOS_TRACE_ENABLE_DEFAULT,
1683 CFG_VOS_TRACE_ENABLE_MIN,
1684 CFG_VOS_TRACE_ENABLE_MAX ),
1685
1686 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1687 hdd_config_t, vosTraceEnableHDD,
1688 VAR_FLAGS_OPTIONAL,
1689 CFG_VOS_TRACE_ENABLE_DEFAULT,
1690 CFG_VOS_TRACE_ENABLE_MIN,
1691 CFG_VOS_TRACE_ENABLE_MAX ),
1692
1693 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1694 hdd_config_t, vosTraceEnableSME,
1695 VAR_FLAGS_OPTIONAL,
1696 CFG_VOS_TRACE_ENABLE_DEFAULT,
1697 CFG_VOS_TRACE_ENABLE_MIN,
1698 CFG_VOS_TRACE_ENABLE_MAX ),
1699
1700 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1701 hdd_config_t, vosTraceEnablePE,
1702 VAR_FLAGS_OPTIONAL,
1703 CFG_VOS_TRACE_ENABLE_DEFAULT,
1704 CFG_VOS_TRACE_ENABLE_MIN,
1705 CFG_VOS_TRACE_ENABLE_MAX ),
1706
1707 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
1708 hdd_config_t, vosTraceEnableWDA,
1709 VAR_FLAGS_OPTIONAL,
1710 CFG_VOS_TRACE_ENABLE_DEFAULT,
1711 CFG_VOS_TRACE_ENABLE_MIN,
1712 CFG_VOS_TRACE_ENABLE_MAX ),
1713
1714 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1715 hdd_config_t, vosTraceEnableSYS,
1716 VAR_FLAGS_OPTIONAL,
1717 CFG_VOS_TRACE_ENABLE_DEFAULT,
1718 CFG_VOS_TRACE_ENABLE_MIN,
1719 CFG_VOS_TRACE_ENABLE_MAX ),
1720
1721 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
1722 hdd_config_t, vosTraceEnableVOSS,
1723 VAR_FLAGS_OPTIONAL,
1724 CFG_VOS_TRACE_ENABLE_DEFAULT,
1725 CFG_VOS_TRACE_ENABLE_MIN,
1726 CFG_VOS_TRACE_ENABLE_MAX ),
1727
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001728 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1729 hdd_config_t, vosTraceEnableSAP,
1730 VAR_FLAGS_OPTIONAL,
1731 CFG_VOS_TRACE_ENABLE_DEFAULT,
1732 CFG_VOS_TRACE_ENABLE_MIN,
1733 CFG_VOS_TRACE_ENABLE_MAX ),
1734
1735 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1736 hdd_config_t, vosTraceEnableHDDSAP,
1737 VAR_FLAGS_OPTIONAL,
1738 CFG_VOS_TRACE_ENABLE_DEFAULT,
1739 CFG_VOS_TRACE_ENABLE_MIN,
1740 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001741
Jeff Johnson295189b2012-06-20 16:38:30 -07001742 /* note that since the default value is out of range we cannot
1743 enable range check, otherwise we get a system log message */
1744 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
1745 hdd_config_t, wdiTraceEnableDAL,
1746 VAR_FLAGS_OPTIONAL,
1747 CFG_WDI_TRACE_ENABLE_DEFAULT,
1748 CFG_WDI_TRACE_ENABLE_MIN,
1749 CFG_WDI_TRACE_ENABLE_MAX ),
1750
1751 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
1752 hdd_config_t, wdiTraceEnableCTL,
1753 VAR_FLAGS_OPTIONAL,
1754 CFG_WDI_TRACE_ENABLE_DEFAULT,
1755 CFG_WDI_TRACE_ENABLE_MIN,
1756 CFG_WDI_TRACE_ENABLE_MAX ),
1757
1758 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
1759 hdd_config_t, wdiTraceEnableDAT,
1760 VAR_FLAGS_OPTIONAL,
1761 CFG_WDI_TRACE_ENABLE_DEFAULT,
1762 CFG_WDI_TRACE_ENABLE_MIN,
1763 CFG_WDI_TRACE_ENABLE_MAX ),
1764
1765 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
1766 hdd_config_t, wdiTraceEnablePAL,
1767 VAR_FLAGS_OPTIONAL,
1768 CFG_WDI_TRACE_ENABLE_DEFAULT,
1769 CFG_WDI_TRACE_ENABLE_MIN,
1770 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001771
1772 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001773 hdd_config_t, nTeleBcnTransListenInterval,
1774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1775 CFG_TELE_BCN_TRANS_LI_DEFAULT,
1776 CFG_TELE_BCN_TRANS_LI_MIN,
1777 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001778
1779 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001780 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
1781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1782 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
1783 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
1784 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001785
1786 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001787 hdd_config_t, nTeleBcnMaxListenInterval,
1788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1789 CFG_TELE_BCN_MAX_LI_DEFAULT,
1790 CFG_TELE_BCN_MAX_LI_MIN,
1791 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001792
1793 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001794 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
1795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1796 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
1797 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
1798 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001799
1800 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001801 hdd_config_t, bcnEarlyTermWakeInterval,
1802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1803 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
1804 CFG_BCN_EARLY_TERM_WAKE_MIN,
1805 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001806
1807 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001808 hdd_config_t, apDataAvailPollPeriodInMs,
1809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1810 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1811 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001812 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
1813
1814 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001815 hdd_config_t, enableCloseLoop,
1816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1817 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
1818 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001819 CFG_ENABLE_CLOSE_LOOP_MAX ),
1820
1821 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001822 hdd_config_t, enableBypass11d,
1823 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1824 CFG_ENABLE_BYPASS_11D_DEFAULT,
1825 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001826 CFG_ENABLE_BYPASS_11D_MAX ),
1827
1828 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001829 hdd_config_t, enableDFSChnlScan,
1830 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1831 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1832 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001833 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
1834
1835 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001836 hdd_config_t, enableDynamicDTIM,
1837 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1838 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1839 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001840 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
1841
1842 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001843 hdd_config_t, enableAutomaticTxPowerControl,
1844 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1845 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
1846 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001847 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
1848
1849 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001850 hdd_config_t, ShortGI40MhzEnable,
1851 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1852 CFG_SHORT_GI_40MHZ_DEFAULT,
1853 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001854 CFG_SHORT_GI_40MHZ_MAX ),
1855
1856 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001857 hdd_config_t, reportMaxLinkSpeed,
1858 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1859 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1860 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001861 CFG_REPORT_MAX_LINK_SPEED_MAX,
1862 NULL, 0 ),
1863
1864 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
1865 hdd_config_t, linkSpeedRssiHigh,
1866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1867 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1868 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1869 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1870 NULL, 0 ),
1871
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001872 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
1873 hdd_config_t, linkSpeedRssiMid,
1874 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1875 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1876 CFG_LINK_SPEED_RSSI_MID_MIN,
1877 CFG_LINK_SPEED_RSSI_MID_MAX,
1878 NULL, 0 ),
1879
Jeff Johnson295189b2012-06-20 16:38:30 -07001880 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
1881 hdd_config_t, linkSpeedRssiLow,
1882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1883 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1884 CFG_LINK_SPEED_RSSI_LOW_MIN,
1885 CFG_LINK_SPEED_RSSI_LOW_MAX,
1886 NULL, 0 ),
1887
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001888#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
1889 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
1890 hdd_config_t, nRoamPrefer5GHz,
1891 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1892 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1893 CFG_ROAM_PREFER_5GHZ_MIN,
1894 CFG_ROAM_PREFER_5GHZ_MAX,
1895 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001896
1897 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
1898 hdd_config_t, nRoamIntraBand,
1899 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1900 CFG_ROAM_INTRA_BAND_DEFAULT,
1901 CFG_ROAM_INTRA_BAND_MIN,
1902 CFG_ROAM_INTRA_BAND_MAX,
1903 cbNotifySetRoamIntraBand, 0 ),
1904
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001905#endif
1906
Jeff Johnson295189b2012-06-20 16:38:30 -07001907 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
1908 hdd_config_t, isP2pDeviceAddrAdministrated,
1909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1910 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1911 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1912 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001913
1914REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001915 hdd_config_t, enableMCC,
1916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1917 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1918 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001919 CFG_ENABLE_MCC_ENABLED_MAX ),
1920
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001921REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001922 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1924 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1925 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1926 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001927
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08001928REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001929 hdd_config_t, thermalMitigationEnable,
1930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1931 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1932 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001933 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
1934#ifdef WLAN_FEATURE_PACKET_FILTERING
1935 REG_VARIABLE( CFG_MC_ADDR_LIST_FILTER_NAME, WLAN_PARAM_Integer,
1936 hdd_config_t, isMcAddrListFilter,
1937 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1938 CFG_MC_ADDR_LIST_FILTER_DEFAULT,
1939 CFG_MC_ADDR_LIST_FILTER_MIN,
1940 CFG_MC_ADDR_LIST_FILTER_MAX ),
1941#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001942
Jeff Johnson295189b2012-06-20 16:38:30 -07001943REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001944 hdd_config_t, enableModulatedDTIM,
1945 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1946 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1947 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001948 CFG_ENABLE_MODULATED_DTIM_MAX ),
1949
Jeff Johnsond13512a2012-07-17 11:42:19 -07001950 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
1951 hdd_config_t, fEnableMCAddrList,
1952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1953 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
1954 CFG_MC_ADDR_LIST_ENABLE_MIN,
1955 CFG_MC_ADDR_LIST_ENABLE_MAX ),
1956
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001957#ifdef WLAN_FEATURE_11AC
Jeff Johnsone7245742012-09-05 17:12:55 -07001958REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001959 hdd_config_t, vhtChannelWidth,
1960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1961 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
1962 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001963 CFG_VHT_CHANNEL_WIDTH_MAX),
1964
1965REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001966 hdd_config_t, vhtRxMCS,
1967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1968 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
1969 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001970 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
1971
1972REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001973 hdd_config_t, vhtTxMCS,
1974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1975 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
1976 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001977 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
1978#endif
1979
1980REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001981 hdd_config_t, enableFirstScan2GOnly,
1982 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1983 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
1984 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001985 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
1986
1987REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001988 hdd_config_t, skipDfsChnlInP2pSearch,
1989 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1990 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
1991 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001992 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
1993
1994REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001995 hdd_config_t, ignoreDynamicDtimInP2pMode,
1996 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1997 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
1998 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001999 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2000
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002001REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002002 hdd_config_t,numBuffAdvert ,
2003 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2004 CFG_NUM_BUFF_ADVERT_DEFAULT,
2005 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002006 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002007
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002008REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
2009 hdd_config_t, configMccParam,
2010 VAR_FLAGS_OPTIONAL,
2011 CFG_MCC_CONFIG_PARAM_DEFAULT,
2012 CFG_MCC_CONFIG_PARAM_MIN,
2013 CFG_MCC_CONFIG_PARAM_MAX ),
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302014REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002015 hdd_config_t, enableRxSTBC,
2016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2017 CFG_ENABLE_RX_STBC_DEFAULT,
2018 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302019 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002020#ifdef FEATURE_WLAN_TDLS
2021REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2022 hdd_config_t, fEnableTDLSSupport,
2023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2024 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2025 CFG_TDLS_SUPPORT_ENABLE_MIN,
2026 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302027
2028REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
2029 hdd_config_t, fEnableTDLSImplicitTrigger,
2030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2031 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2032 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2033 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2034
2035REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
2036 hdd_config_t, fTDLSTxStatsPeriod,
2037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2038 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2039 CFG_TDLS_TX_STATS_PERIOD_MIN,
2040 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2041
2042REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2043 hdd_config_t, fTDLSTxPacketThreshold,
2044 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2045 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2046 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2047 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2048
2049REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
2050 hdd_config_t, fTDLSDiscoveryPeriod,
2051 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2052 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2053 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2054 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2055
2056REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
2057 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2058 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2059 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2060 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2061 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2062
Chilam Ng01120412013-02-19 18:32:21 -08002063REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2064 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302065 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002066 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2067 CFG_TDLS_IDLE_TIMEOUT_MIN,
2068 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2069
2070REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2071 hdd_config_t, fTDLSIdlePacketThreshold,
2072 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2073 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2074 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2075 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302076
2077REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002078 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302079 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2080 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2081 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2082 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002083
2084REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
2085 hdd_config_t, fTDLSRSSITriggerThreshold,
2086 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2087 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2088 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2089 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2090
2091REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
2092 hdd_config_t, fTDLSRSSITeardownThreshold,
2093 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2094 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2095 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2096 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002097#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002098
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002099#ifdef WLAN_SOFTAP_VSTA_FEATURE
2100REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2101 hdd_config_t, fEnableVSTASupport,
2102 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2103 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2104 CFG_VSTA_SUPPORT_ENABLE_MIN,
2105 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2106#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002107REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002108 hdd_config_t, enableLpwrImgTransition,
2109 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2110 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2111 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002112 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2113
Yathish9f22e662012-12-10 14:21:35 -08002114#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
2115REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
2116 hdd_config_t, fEnableActiveModeOffload,
2117 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2118 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2119 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2120 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2121#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002122REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
2123 hdd_config_t, enableLpwrImgTransition,
2124 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2125 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2126 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2127 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2128
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002129
2130REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
2131 hdd_config_t, scanAgingTimeout,
2132 VAR_FLAGS_OPTIONAL,
2133 CFG_SCAN_AGING_PARAM_DEFAULT,
2134 CFG_SCAN_AGING_PARAM_MIN,
2135 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002136
2137REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
2138 hdd_config_t, enableTxLdpc,
2139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2140 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2141 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2142 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2143
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08002144REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302145 hdd_config_t, enableMCCAdaptiveScheduler,
2146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2147 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2148 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2149 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2150
2151REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
2152 hdd_config_t, isAndroidPsEn,
2153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2154 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2155 CFG_ANDRIOD_POWER_SAVE_MIN,
2156 CFG_ANDRIOD_POWER_SAVE_MAX),
2157
Shailender Karmuchia734f332013-04-19 14:02:48 -07002158REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
2159 hdd_config_t, AdHocChannel5G,
2160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2161 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2162 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2163 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2164
2165REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
2166 hdd_config_t, AdHocChannel24G,
2167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2168 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2169 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2170 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2171
2172
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002173#ifdef WLAN_FEATURE_11AC
2174REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2175 hdd_config_t, enableTxBF,
2176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2177 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2178 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2179 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002180
2181REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
2182 hdd_config_t, txBFCsnValue,
2183 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2184 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2185 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2186 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2187
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002188#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302189
2190REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
2191 hdd_config_t, sapAllowAllChannel,
2192 VAR_FLAGS_OPTIONAL,
2193 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2194 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2195 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002196#ifdef WLAN_FEATURE_11AC
2197REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
2198 hdd_config_t, disableLDPCWithTxbfAP,
2199 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2200 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2201 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2202 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2203#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002204
2205REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
2206 hdd_config_t, listOfNonDfsCountryCode,
2207 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2208 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2209
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002210 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2211 hdd_config_t, enableSSR,
2212 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2213 CFG_ENABLE_SSR_DEFAULT,
2214 CFG_ENABLE_SSR_MIN,
2215 CFG_ENABLE_SSR_MAX,
2216 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302217
2218REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
2219 hdd_config_t, listOfNon11acCountryCode,
2220 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2221 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2222
Jeff Johnson295189b2012-06-20 16:38:30 -07002223};
2224
2225/*
2226 * This function returns a pointer to the character after the occurence
2227 * of a new line character. It also modifies the original string by replacing
2228 * the '\n' character with the null character.
2229 * Function returns NULL if no new line character was found before end of
2230 * string was reached
2231 */
2232static char* get_next_line(char* str)
2233{
2234 char c;
2235
2236 if( str == NULL || *str == '\0') {
2237 return NULL;
2238 }
2239
2240 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002241 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002242 str = str + 1;
2243 c = *str;
2244 }
2245
2246 if (c == '\0' ) {
2247 return NULL;
2248 }
2249 else
2250 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002251 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002252 return (str+1);
2253 }
2254
2255 return NULL;
2256}
2257
2258// look for space. Ascii values to look are -
2259// 0x09 == horizontal tab
2260// 0x0a == Newline ("\n")
2261// 0x0b == vertical tab
2262// 0x0c == Newpage or feed form.
2263// 0x0d == carriage return (CR or "\r")
2264// Null ('\0') should not considered as space.
2265#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2266
2267/*
2268 * This function trims any leading and trailing white spaces
2269 */
2270static char *i_trim(char *str)
2271
2272{
2273 char *ptr;
2274
2275 if(*str == '\0') return str;
2276
2277 /* Find the first non white-space*/
2278 for (ptr = str; i_isspace(*ptr); ptr++);
2279 if (*ptr == '\0')
2280 return str;
2281
2282 /* This is the new start of the string*/
2283 str = ptr;
2284
2285 /* Find the last non white-space */
2286 ptr += strlen(ptr) - 1;
2287 for (; ptr != str && i_isspace(*ptr); ptr--);
2288 /* Null terminate the following character */
2289 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002290
Jeff Johnson295189b2012-06-20 16:38:30 -07002291 return str;
2292}
2293
2294
2295//Structure to store each entry in qcom_cfg.ini file
2296typedef struct
2297{
2298 char *name;
2299 char *value;
2300}tCfgIniEntry;
2301
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002302static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002303 tCfgIniEntry* iniTable, unsigned long entries);
2304
2305#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002306void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002307{
2308 unsigned long i;
2309
2310 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002311 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002312 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2313 }
2314}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002315#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002316
2317/*
2318 * This function reads the qcom_cfg.ini file and
2319 * parses each 'Name=Value' pair in the ini file
2320 */
2321VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2322{
2323 int status, i=0;
2324 /** Pointer for firmware image data */
2325 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002326 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002327 size_t size;
2328 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002329 /* cfgIniTable is static to avoid excess stack usage */
2330 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002331 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2332
2333 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2334
2335 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002336
Jeff Johnson295189b2012-06-20 16:38:30 -07002337 if(status)
2338 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002339 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002340 vos_status = VOS_STATUS_E_FAILURE;
2341 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002342 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002343 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002344 {
2345 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002346 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002347 vos_status = VOS_STATUS_E_FAILURE;
2348 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002349 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002350
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002351 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002352
2353 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002354
Jeff Johnson295189b2012-06-20 16:38:30 -07002355 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002356 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002357 release_firmware(fw);
2358 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002359 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002360 pTemp = buffer;
2361
2362 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2363 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002364
Jeff Johnson295189b2012-06-20 16:38:30 -07002365 while (buffer != NULL)
2366 {
2367 line = get_next_line(buffer);
2368 buffer = i_trim(buffer);
2369
2370 hddLog(LOG1, "%s: item", buffer);
2371
2372 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2373 buffer = line;
2374 continue;
2375 }
2376 else if(strncmp(buffer, "END", 3) == 0 ) {
2377 break;
2378 }
2379 else
2380 {
2381 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002382 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002383 buffer++;
2384 if(*buffer != '\0') {
2385 *buffer++ = '\0';
2386 i_trim(name);
2387 if(strlen (name) != 0) {
2388 buffer = i_trim(buffer);
2389 if(strlen(buffer)>0) {
2390 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002391 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002392 buffer++;
2393 *buffer = '\0';
2394 cfgIniTable[i].name= name;
2395 cfgIniTable[i++].value= value;
2396 if(i >= MAX_CFG_INI_ITEMS) {
2397 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002398 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002399 break;
2400 }
2401 }
2402 }
2403 }
2404 }
2405 buffer = line;
2406 }
2407
2408 //Loop through the registry table and apply all these configs
2409 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2410
Jeff Johnson4416a782013-03-25 14:17:50 -07002411config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002412 release_firmware(fw);
2413 vos_mem_free(pTemp);
2414 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002415}
Jeff Johnson295189b2012-06-20 16:38:30 -07002416
2417
2418static void print_hdd_cfg(hdd_context_t *pHddCtx)
2419{
2420 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2421 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2422 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2423 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2424 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2425 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2426 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2427 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2428 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]",
2429 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2430 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2431 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2432
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002433 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002434 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2435 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2436 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2437 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2438 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2439 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2440 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2441
2442
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002443 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002444 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2445 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2446 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2447 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2448 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2449 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2450 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2451
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002452 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002453 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2454 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2455 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2456 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2457 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2458 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2459 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2460
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002461 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002462 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2463 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2464 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2465 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2466 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2467 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2468 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2469
Jeff Johnson295189b2012-06-20 16:38:30 -07002470
2471 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2472
2473 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2474 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2475 pHddCtx->cfg_ini->apCntryCode[2]);
2476 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2477 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2478
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002479 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 -07002480 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2481 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2482 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 -08002483
Jeff Johnson295189b2012-06-20 16:38:30 -07002484 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2485 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2486 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2487 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2488 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
2489 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
2490 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
2491
2492 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
2493 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
2494
2495 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
2496 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
2497
2498 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
2499 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
2500
2501 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
2502 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
2503#ifdef FEATURE_WLAN_CCX
2504 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
2505 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
2506 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
2507 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 -08002508#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002509#ifdef FEATURE_WLAN_LFR
2510 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 -08002511#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07002512#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2513 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 -08002514 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 -07002515 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 -07002516#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002517#ifdef FEATURE_WLAN_OKC
2518 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
2519#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002520 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
2521 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
2522 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
2523 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
2524 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
2525
2526 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
2527 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
2528 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
2529 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
2530 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
2531
2532 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
2533 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
2534 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
2535 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
2536 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
2537
2538 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
2539 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
2540 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
2541 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
2542 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
2543
2544 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
2545 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
2546 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
2547 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
2548 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
2549 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
2550 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 -08002551#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07002552 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTEnable] Value = [%lu] ",pHddCtx->cfg_ini->fFTEnable);
2553 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
2554#endif
2555
2556#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
2557 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
2558 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
2559 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
2560 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
2561 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
2562 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
2563 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 -08002564 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 -07002565#endif
2566 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
2567 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
2568 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
2569 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
2570 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
2571 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
2572 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
2573
2574 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
2575 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2576 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
2577#ifdef WLAN_BTAMP_FEATURE
2578 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
2579#endif //WLAN_BTAMP_FEATURE
2580 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
2581 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
2582 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
2583 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
2584 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
2585 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
2586 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
2587 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
2588 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2589 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
2590 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
2591 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
2592 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 -07002593#ifdef WLAN_FEATURE_11AC
2594 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
2595#endif
2596 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
2597 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
2598 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 +05302599 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 -08002600 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 -07002601 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableSSR] Value = [%u] ",pHddCtx->cfg_ini->enableSSR);
2602
Jeff Johnson295189b2012-06-20 16:38:30 -07002603}
2604
2605
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002606
Jeff Johnson295189b2012-06-20 16:38:30 -07002607#define CFG_VALUE_MAX_LEN 256
2608#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
2609VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
2610{
2611 unsigned int idx;
2612 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2613 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2614 v_U32_t value;
2615 char valueStr[CFG_VALUE_MAX_LEN];
2616 char configStr[CFG_ENTRY_MAX_LEN];
2617 char *fmt;
2618 void *pField;
2619 v_MACADDR_t *pMacAddr;
2620 char *pCur = pBuf;
2621 int curlen;
2622
2623 // start with an empty string
2624 *pCur = '\0';
2625
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002626 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07002627 {
2628 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
2629
2630 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2631 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002632 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07002633 {
2634 value = 0;
2635 memcpy( &value, pField, pRegEntry->VarSize );
2636 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
2637 {
2638 fmt = "%x";
2639 }
2640 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2641 {
2642 fmt = "%d";
2643 }
2644 else
2645 {
2646 fmt = "%u";
2647 }
2648 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
2649 }
2650 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2651 {
2652 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
2653 }
2654 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2655 {
2656 pMacAddr = (v_MACADDR_t *) pField;
2657 snprintf(valueStr, CFG_VALUE_MAX_LEN,
2658 "%02x:%02x:%02x:%02x:%02x:%02x",
2659 pMacAddr->bytes[0],
2660 pMacAddr->bytes[1],
2661 pMacAddr->bytes[2],
2662 pMacAddr->bytes[3],
2663 pMacAddr->bytes[4],
2664 pMacAddr->bytes[5]);
2665 }
2666 else
2667 {
2668 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
2669 }
2670 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
2671 "%s=[%s]%s\n",
2672 pRegEntry->RegName,
2673 valueStr,
2674 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
2675 "*" : "");
2676
2677 // ideally we want to return the config to the application
2678 // however the config is too big so we just printk() for now
2679#ifdef RETURN_IN_BUFFER
2680 if (curlen <= buflen)
2681 {
2682 // copy string + '\0'
2683 memcpy(pCur, configStr, curlen+1);
2684
2685 // account for addition;
2686 pCur += curlen;
2687 buflen -= curlen;
2688 }
2689 else
2690 {
2691 // buffer space exhausted, return what we have
2692 return VOS_STATUS_E_RESOURCES;
2693 }
2694#else
2695 printk(KERN_CRIT "%s", configStr);
2696#endif // RETURN_IN_BUFFER
2697
2698}
2699
2700#ifndef RETURN_IN_BUFFER
2701 // notify application that output is in system log
2702 snprintf(pCur, buflen, "WLAN configuration written to system log");
2703#endif // RETURN_IN_BUFFER
2704
2705 return VOS_STATUS_SUCCESS;
2706}
2707
2708static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002709 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07002710{
2711 VOS_STATUS status = VOS_STATUS_E_FAILURE;
2712 unsigned long i;
2713
2714 for (i = 0; i < entries; i++) {
2715 if (strcmp(iniTable[i].name, name) == 0) {
2716 *value = iniTable[i].value;
2717 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
2718 WLAN_INI_FILE, name, *value);
2719 return VOS_STATUS_SUCCESS;
2720 }
2721 }
2722
2723 return status;
2724}
2725
2726static int parseHexDigit(char c)
2727{
2728 if (c >= '0' && c <= '9')
2729 return c-'0';
2730 if (c >= 'a' && c <= 'f')
2731 return c-'a'+10;
2732 if (c >= 'A' && c <= 'F')
2733 return c-'A'+10;
2734
2735 return 0;
2736}
2737
2738
2739static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
2740{
2741 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
2742 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
2743 unsigned int idx;
2744 void *pField;
2745 char *value_str = NULL;
2746 unsigned long len_value_str;
2747 char *candidate;
2748 v_U32_t value;
2749 v_S31_t svalue;
2750 void *pStructBase = pHddCtx->cfg_ini;
2751 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2752 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2753 v_U32_t cbOutString;
2754 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002755 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07002756
2757 // sanity test
2758 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
2759 {
2760 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002761 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07002762 }
2763
2764 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
2765 {
2766 //Calculate the address of the destination field in the structure.
2767 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
2768
2769 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
2770
2771 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
2772 {
2773 // If we could not read the cfg item and it is required, this is an error.
2774 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002775 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002776 ret_status = VOS_STATUS_E_FAILURE;
2777 break;
2778 }
2779
2780 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2781 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
2782 {
2783 // If successfully read from the registry, use the value read.
2784 // If not, use the default value.
2785 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002786 rv = kstrtoul(value_str, 10, &value);
2787 if (rv < 0) {
2788 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
2789 __func__, pRegEntry->RegName);
2790 value = pRegEntry->VarDefault;
2791 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002792 }
2793 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002794 rv = kstrtoul(value_str, 16, &value);
2795 if (rv < 0) {
2796 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
2797 __func__, pRegEntry->RegName);
2798 value = pRegEntry->VarDefault;
2799 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002800 }
2801 else {
2802 value = pRegEntry->VarDefault;
2803 }
2804
2805 // If this parameter needs range checking, do it here.
2806 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2807 {
2808 if ( value > pRegEntry->VarMax )
2809 {
2810 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002811 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07002812 value = pRegEntry->VarMax;
2813 }
2814
2815 if ( value < pRegEntry->VarMin )
2816 {
2817 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002818 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07002819 value = pRegEntry->VarMin;
2820 }
2821 }
2822 // If this parameter needs range checking, do it here.
2823 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2824 {
2825 if ( value > pRegEntry->VarMax )
2826 {
2827 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002828 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002829 value = pRegEntry->VarDefault;
2830 }
2831
2832 if ( value < pRegEntry->VarMin )
2833 {
2834 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002835 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002836 value = pRegEntry->VarDefault;
2837 }
2838 }
2839
2840 // Move the variable into the output field.
2841 memcpy( pField, &value, pRegEntry->VarSize );
2842 }
2843 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2844 {
2845 // If successfully read from the registry, use the value read.
2846 // If not, use the default value.
2847 if (VOS_STATUS_SUCCESS == match_status)
2848 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002849 rv = kstrtol(value_str, 10, &svalue);
2850 if (rv < 0) {
2851 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
2852 __func__, pRegEntry->RegName);
2853 svalue = (v_S31_t)pRegEntry->VarDefault;
2854 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002855 }
2856 else
2857 {
2858 svalue = (v_S31_t)pRegEntry->VarDefault;
2859 }
2860
2861 // If this parameter needs range checking, do it here.
2862 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2863 {
2864 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2865 {
2866 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002867 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002868 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
2869 svalue = (v_S31_t)pRegEntry->VarMax;
2870 }
2871
2872 if ( svalue < (v_S31_t)pRegEntry->VarMin )
2873 {
2874 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002875 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002876 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
2877 svalue = (v_S31_t)pRegEntry->VarMin;
2878 }
2879 }
2880 // If this parameter needs range checking, do it here.
2881 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2882 {
2883 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2884 {
2885 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
2886 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002887 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07002888 (int)pRegEntry->VarMax,
2889 (int)pRegEntry->VarDefault );
2890 svalue = (v_S31_t)pRegEntry->VarDefault;
2891 }
2892
2893 if ( svalue < (v_S31_t)pRegEntry->VarMin )
2894 {
2895 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
2896 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002897 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07002898 (int)pRegEntry->VarMin,
2899 (int)pRegEntry->VarDefault);
2900 svalue = pRegEntry->VarDefault;
2901 }
2902 }
2903
2904 // Move the variable into the output field.
2905 memcpy( pField, &svalue, pRegEntry->VarSize );
2906 }
2907 // Handle string parameters
2908 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2909 {
2910#ifdef WLAN_CFG_DEBUG
2911 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 -08002912 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07002913#endif
2914
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002915 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07002916 {
2917 len_value_str = strlen(value_str);
2918
2919 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002920 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002921 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07002922 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
2923 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
2924 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
2925 }
2926 else
2927 {
2928 memcpy( pField, (void *)(value_str), len_value_str);
2929 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
2930 }
2931 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002932 else
Jeff Johnson295189b2012-06-20 16:38:30 -07002933 {
2934 // Failed to read the string parameter from the registry. Use the default.
2935 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
2936 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002937 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002938 }
2939 }
2940 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2941 {
2942 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002943 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
2944 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002945 continue;
2946 }
2947 candidate = (char*)pRegEntry->VarDefault;
2948 if ( match_status == VOS_STATUS_SUCCESS) {
2949 len_value_str = strlen(value_str);
2950 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002951 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002952 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07002953 }
2954 else
2955 candidate = value_str;
2956 }
2957 //parse the string and store it in the byte array
2958 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
2959 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002960 ((char*)pField)[i] =
2961 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07002962 }
2963 }
2964 else
2965 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002966 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002967 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002968 }
2969
2970 // did we successfully parse a cfg item for this parameter?
2971 if( (match_status == VOS_STATUS_SUCCESS) &&
2972 (idx < MAX_CFG_INI_ITEMS) )
2973 {
2974 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
2975 }
2976 }
2977
2978 print_hdd_cfg(pHddCtx);
2979
2980 return( ret_status );
2981}
2982
2983eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
2984{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002985 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07002986 {
2987 case (eHDD_DOT11_MODE_abg):
2988 return eCSR_DOT11_MODE_abg;
2989 case (eHDD_DOT11_MODE_11b):
2990 return eCSR_DOT11_MODE_11b;
2991 case (eHDD_DOT11_MODE_11g):
2992 return eCSR_DOT11_MODE_11g;
2993 default:
2994 case (eHDD_DOT11_MODE_11n):
2995 return eCSR_DOT11_MODE_11n;
2996 case (eHDD_DOT11_MODE_11g_ONLY):
2997 return eCSR_DOT11_MODE_11g_ONLY;
2998 case (eHDD_DOT11_MODE_11n_ONLY):
2999 return eCSR_DOT11_MODE_11n_ONLY;
3000 case (eHDD_DOT11_MODE_11b_ONLY):
3001 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003002#ifdef WLAN_FEATURE_11AC
3003 case (eHDD_DOT11_MODE_11ac_ONLY):
3004 return eCSR_DOT11_MODE_11ac_ONLY;
3005 case (eHDD_DOT11_MODE_11ac):
3006 return eCSR_DOT11_MODE_11ac;
3007#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003008 case (eHDD_DOT11_MODE_AUTO):
3009 return eCSR_DOT11_MODE_AUTO;
3010 }
3011
3012}
3013
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003014static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003015{
3016 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3017 tSmeBtcConfig btcParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003018
Jeff Johnson295189b2012-06-20 16:38:30 -07003019 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3020
3021 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003022 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003023 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3024
Jeff Johnson32d95a32012-09-10 13:15:23 -07003025 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3026 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3027 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3028 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3029 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3030 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3031 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3032 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3033 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3034 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3035 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3036 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3037 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3038
Jeff Johnson295189b2012-06-20 16:38:30 -07003039 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3040}
3041
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003042static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003043{
3044 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3045
3046 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003047
Jeff Johnson295189b2012-06-20 16:38:30 -07003048 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003049
Jeff Johnson295189b2012-06-20 16:38:30 -07003050 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3051 {
3052 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3053 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3054 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3055 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3056 }
3057 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3058 {
3059 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3060 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3061 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3062 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3063 }
3064 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3065 {
3066 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3067 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3068 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3069 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3070 }
3071
3072 if (pConfig->fIsImpsEnabled)
3073 {
3074 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3075 }
3076 else
3077 {
3078 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3079 }
3080
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303081 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3082 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3083 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3084
Jeff Johnson295189b2012-06-20 16:38:30 -07003085 if (pConfig->fIsBmpsEnabled)
3086 {
3087 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3088 }
3089 else
3090 {
3091 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3092 }
3093
3094 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3095
3096 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3097 {
3098 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3099 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003100
Jeff Johnson295189b2012-06-20 16:38:30 -07003101 if(pConfig->fIsAutoBmpsTimerEnabled)
3102 {
3103 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3104 }
3105
3106}
3107
3108#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3109static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3110{
3111 char *s = str;
3112
3113 if( str == NULL || intArray == NULL || len == NULL )
3114 {
3115 return VOS_STATUS_E_INVAL;
3116 }
3117 *len = 0;
3118
Jeff Johnson295189b2012-06-20 16:38:30 -07003119 while ( (s != NULL) && (*len < intArrayMaxLen) )
3120 {
3121 int val;
3122 //Increment length only if sscanf succesfully extracted one element.
3123 //Any other return value means error. Ignore it.
3124 if( sscanf(s, "%d", &val ) == 1 )
3125 {
3126 intArray[*len] = (tANI_U8) val;
3127 *len += 1;
3128 }
3129 s = strpbrk( s, "," );
3130 if( s )
3131 s++;
3132 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003133
3134 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003135
Jeff Johnson295189b2012-06-20 16:38:30 -07003136}
3137#endif
3138
3139
3140v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3141{
3142 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003143#ifdef WLAN_SOFTAP_VSTA_FEATURE
3144 tANI_U32 val;
3145#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003146
3147 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303148 tSirMacHTCapabilityInfo htCapInfo;
3149
Jeff Johnson295189b2012-06-20 16:38:30 -07003150
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003151 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003152 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3153 {
3154 fStatus = FALSE;
3155 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3156 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003157
3158 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003159 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3160 {
3161 fStatus = FALSE;
3162 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3163 }
3164
3165 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3166 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3167 {
3168 fStatus = FALSE;
3169 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3170 }
3171
3172 if ( 0 != pConfig->Cfg1Id )
3173 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003174 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003175 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3176 {
3177 fStatus = FALSE;
3178 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3179 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003180
Jeff Johnson295189b2012-06-20 16:38:30 -07003181 }
3182
3183 if ( 0 != pConfig->Cfg2Id )
3184 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003185 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003186 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3187 {
3188 fStatus = FALSE;
3189 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3190 }
3191 }
3192
3193 if ( 0 != pConfig->Cfg3Id )
3194 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003195 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003196 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3197 {
3198 fStatus = FALSE;
3199 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3200 }
3201 }
3202
3203 if ( 0 != pConfig->Cfg4Id )
3204 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003205 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003206 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3207 {
3208 fStatus = FALSE;
3209 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3210 }
3211 }
3212
3213 if ( 0 != pConfig->Cfg5Id )
3214 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003215 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003216 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3217 {
3218 fStatus = FALSE;
3219 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3220 }
3221 }
3222
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003223 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003224 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3225 {
3226 fStatus = FALSE;
3227 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3228 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003229
3230 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003231 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3232 {
3233 fStatus = FALSE;
3234 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3235 }
3236
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003237 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003238 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3239 {
3240 fStatus = FALSE;
3241 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3242 }
3243
3244 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3245 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3246 {
3247 fStatus = FALSE;
3248 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3249 }
3250
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003251 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003252 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003253 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003254 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3255 {
3256 fStatus = FALSE;
3257 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3258 }
3259 }
3260 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003261 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003262 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3263 {
3264 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3265 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003266 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003267 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003268 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003269 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3270 {
3271 fStatus = FALSE;
3272 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3273 }
3274 }
3275 else
3276 {
3277 fStatus = FALSE;
3278 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3279 }
3280 }
3281
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003282 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003283 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3284 {
3285 fStatus = FALSE;
3286 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3287 }
3288
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003289 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003290 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3291 {
3292 fStatus = FALSE;
3293 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3294 }
3295
3296 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3297 {
3298 fStatus = FALSE;
3299 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3300 }
3301
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003302 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003303 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3304 {
3305 fStatus = FALSE;
3306 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3307 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003308
Jeff Johnson295189b2012-06-20 16:38:30 -07003309 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3310 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3311 {
3312 fStatus = FALSE;
3313 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3314 }
3315
Jeff Johnson295189b2012-06-20 16:38:30 -07003316 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3317 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3318 {
3319 fStatus = FALSE;
3320 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3321 }
3322
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003323 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003324 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3325 {
3326 fStatus = FALSE;
3327 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3328 }
3329
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003330 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003331 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3332 {
3333 fStatus = FALSE;
3334 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3335 }
3336
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003337#ifdef FEATURE_WLAN_LFR
3338 if (pConfig->isFastRoamIniFeatureEnabled)
3339 {
3340 pConfig->fEnableFwRssiMonitoring = TRUE;
3341 }
3342#endif
3343#ifdef FEATURE_WLAN_CCX
3344 if (pConfig->isCcxIniFeatureEnabled)
3345 {
3346 pConfig->fEnableFwRssiMonitoring = TRUE;
3347 }
3348#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003349 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003350 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3351 {
3352 fStatus = FALSE;
3353 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3354 }
3355
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003356 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003357 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3358 {
3359 fStatus = FALSE;
3360 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3361 }
3362
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003363 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003364 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3365 {
3366 fStatus = FALSE;
3367 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3368 }
3369
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003370 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003371 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3372 {
3373 fStatus = FALSE;
3374 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3375 }
3376
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003377 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003378 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3379 {
3380 fStatus = FALSE;
3381 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3382 }
3383
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003384 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003385 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3386 {
3387 fStatus = FALSE;
3388 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003389 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003390
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003391 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003392 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3393 {
3394 fStatus = FALSE;
3395 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3396 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003397
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303398 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3399 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3400 {
3401 fStatus = FALSE;
3402 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3403 }
3404
Jeff Johnson295189b2012-06-20 16:38:30 -07003405#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003406 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003407 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3408 {
3409 fStatus = FALSE;
3410 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3411 }
3412
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003413 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003414 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3415 {
3416 fStatus = FALSE;
3417 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3418 }
3419
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003420 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003421 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3422 {
3423 fStatus = FALSE;
3424 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3425 }
3426
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003427 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003428 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3429#endif
3430
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003431 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
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_SINGLE_TID_RC configuration info to CCM\n");
3436 }
3437
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003438 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003439 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3440 {
3441 fStatus = FALSE;
3442 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3443 }
3444
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003445 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003446 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3447 {
3448 fStatus = FALSE;
3449 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3450 }
3451
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003452 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003453 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3454 {
3455 fStatus = FALSE;
3456 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3457 }
3458
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003459 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003460 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3461 {
3462 fStatus = FALSE;
3463 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3464 }
3465
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003466 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003467 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3468 {
3469 fStatus = FALSE;
3470 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
3471 }
3472
3473 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
3474 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3475 {
3476 fStatus = FALSE;
3477 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
3478 }
3479
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003480 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003481 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3482 {
3483 fStatus = FALSE;
3484 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
3485 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003486 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003487 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3488 {
3489 fStatus = FALSE;
3490 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
3491 }
3492
3493 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
3494 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3495 {
3496 fStatus = FALSE;
3497 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 -08003498 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003499
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003500 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07003501 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003502 {
3503 fStatus = FALSE;
3504 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3505 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003506 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003507 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3508 {
3509 fStatus = FALSE;
3510 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
3511 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003512 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003513 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3514 {
3515 fStatus = FALSE;
3516 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
3517 }
3518
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003519 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07003520 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3521 {
3522 fStatus = FALSE;
3523 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
3524 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003525 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07003526 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3527 {
3528 fStatus = FALSE;
3529 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
3530 }
3531
Jeff Johnson295189b2012-06-20 16:38:30 -07003532 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
3533 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3534 {
3535 fStatus = FALSE;
3536 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3537 }
3538
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003539 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07003540 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
3541 ==eHAL_STATUS_FAILURE)
3542 {
3543 fStatus = FALSE;
3544 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
3545 }
3546
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003547 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07003548 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
3549 ==eHAL_STATUS_FAILURE)
3550 {
3551 fStatus = FALSE;
3552 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
3553 }
3554
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003555 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003556 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3557 {
3558 fStatus = FALSE;
3559 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
3560 }
3561
Jeff Johnsond13512a2012-07-17 11:42:19 -07003562
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003563 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07003564 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3565 {
3566 fStatus = FALSE;
3567 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
3568 }
3569
Jeff Johnsone7245742012-09-05 17:12:55 -07003570#ifdef WLAN_FEATURE_11AC
3571 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
3572 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
3573 /* we update only the least significant 2 bits in the corresponding fields */
3574 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
3575 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
3576 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
3577 {
3578 {
3579 tANI_U32 temp = 0;
3580
3581 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003582 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003583
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003584 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07003585 temp, NULL, eANI_BOOLEAN_FALSE)
3586 ==eHAL_STATUS_FAILURE)
3587 {
3588 fStatus = FALSE;
3589 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
3590 }
3591
3592 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003593 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003594
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003595 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003596 temp, NULL, eANI_BOOLEAN_FALSE)
3597 ==eHAL_STATUS_FAILURE)
3598 {
3599 fStatus = FALSE;
3600 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
3601 }
3602
3603 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003604 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003605
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003606 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003607 temp, NULL, eANI_BOOLEAN_FALSE)
3608 ==eHAL_STATUS_FAILURE)
3609 {
3610 fStatus = FALSE;
3611 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
3612 }
3613 }
3614 }
3615#endif
3616
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003617 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07003618 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3619 {
3620 fStatus = FALSE;
3621 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
3622 }
3623
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003624 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303625 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3626 ==eHAL_STATUS_FAILURE)
3627 {
3628 fStatus = FALSE;
3629 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
3630 }
3631
3632 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
3633 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
3634
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003635 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303636 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
3637 ==eHAL_STATUS_FAILURE)
3638 {
3639 fStatus = FALSE;
3640 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
3641 }
3642
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003643 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303644 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3645 ==eHAL_STATUS_FAILURE)
3646 {
3647 fStatus = FALSE;
3648 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
3649 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003650
3651#ifdef WLAN_SOFTAP_VSTA_FEATURE
3652 if(pConfig->fEnableVSTASupport)
3653 {
3654 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
3655 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
3656 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
3657 }
3658 else
3659 {
3660 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
3661 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003662 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003663 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3664 {
3665 fStatus = FALSE;
3666 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
3667 }
3668#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003669 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003670 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
3671 ==eHAL_STATUS_FAILURE)
3672 {
3673 fStatus = FALSE;
3674 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
3675 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303676
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08003677 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
3678 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3679 {
3680 fStatus = FALSE;
3681 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
3682 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003683 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
3684 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3685 {
3686 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003687 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 -08003688 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003689
3690 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
3691 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3692 {
3693 fStatus = FALSE;
3694 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
3695 }
3696
3697 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
3698 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3699 {
3700 fStatus = FALSE;
3701 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
3702 }
3703
3704 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
3705 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3706 {
3707 fStatus = FALSE;
3708 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
3709 }
3710
Jeff Johnson295189b2012-06-20 16:38:30 -07003711 return fStatus;
3712}
3713
3714
3715/**---------------------------------------------------------------------------
3716
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003717 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07003718
3719 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003720
Jeff Johnson295189b2012-06-20 16:38:30 -07003721 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003722
Jeff Johnson295189b2012-06-20 16:38:30 -07003723 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003724
Jeff Johnson295189b2012-06-20 16:38:30 -07003725 --------------------------------------------------------------------------*/
3726
3727VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
3728{
3729 VOS_STATUS status = VOS_STATUS_SUCCESS;
3730 eHalStatus halStatus;
3731 tSmeConfigParams smeConfig;
3732
3733 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3734
3735 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
3736
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003737 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003738 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
3739 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
3740
3741 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07003742 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
3743 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003744 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
3745 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
3746 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
3747 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
3748 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
3749
3750 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
3751
3752 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
3753 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
3754 smeConfig.csrConfig.TxRate = pConfig->TxRate;
3755 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
3756 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
3757 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
3758 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
3759 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
3760 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
3761 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
3762 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
3763 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
3764 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
3765 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
3766 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
3767 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
3768 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003769 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07003770 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
3771 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
3772 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
3773 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003774 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
3775 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003776#ifdef WLAN_AP_STA_CONCURRENCY
3777 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
3778 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
3779 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
3780 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
3781 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Vinay Malekal05fdc812012-12-17 13:04:30 -08003782 smeConfig.csrConfig.nNumChanCombinedConc = pConfig->nNumChanCombinedConc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003783#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003784 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
3785 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
3786
3787#if defined WLAN_FEATURE_VOWIFI
3788 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
3789 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
3790#endif
3791 //Remaining config params not obtained from registry
3792 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07003793#ifdef WLAN_FEATURE_11AC
3794 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08003795 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08003796 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Jeff Johnsone7245742012-09-05 17:12:55 -07003797#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07003798 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
3799 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003800 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
3801 smeConfig.csrConfig.HeartbeatThresh50 = 40;
3802 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08003803 if (pConfig->nBandCapability == eCSR_BAND_24)
3804 {
3805 smeConfig.csrConfig.Is11hSupportEnabled = 0;
3806 } else {
3807 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
3808 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003809 smeConfig.csrConfig.cbChoice = 0;
3810 smeConfig.csrConfig.bgScanInterval = 0;
3811 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07003812 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
3813 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
3814 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003815#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3816 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003817 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003818#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07003819 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
3820
Jeff Johnson295189b2012-06-20 16:38:30 -07003821 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08003822 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
3823 {
3824 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07003825
Jeff Johnson7dda7772013-02-27 08:36:13 -08003826 /* if there is a requirement that HDD will control the default
3827 * channel list & country code (say from .ini file) we need to
3828 * add some logic here. Otherwise the default 11d info should
3829 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07003830 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08003831 else
3832 {
3833 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
3834 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003835
Jeff Johnson7dda7772013-02-27 08:36:13 -08003836 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
3837 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
3838 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
3839 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003840 hdd_set_power_save_config(pHddCtx, &smeConfig);
3841 hdd_set_btc_config(pHddCtx);
3842
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003843#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07003844 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
3845#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003846#ifdef FEATURE_WLAN_LFR
3847 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003848 if( pConfig->isFastRoamIniFeatureEnabled )
3849 {
3850 pConfig->isFastTransitionEnabled = TRUE;
3851 }
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003852#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003853#ifdef FEATURE_WLAN_CCX
3854 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003855 if( pConfig->isCcxIniFeatureEnabled )
3856 {
3857 pConfig->isFastTransitionEnabled = TRUE;
3858 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003859#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003860#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07003861 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07003862 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08003863 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowda100eb322013-03-15 16:48:20 -07003864 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07003865#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07003866#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
3867 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
3868#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003869#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3870 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
3871 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003872 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
3873 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07003874 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003875 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07003876 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08003877 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003878 hdd_string_to_u8_array( pConfig->neighborScanChanList,
3879 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
3880 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07003881 WNI_CFG_VALID_CHANNEL_LIST_LEN );
3882#endif
3883
3884 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
3885 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
3886
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003887 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07003888 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07003889 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07003890
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08003891 //Scan Results Aging Time out value
3892 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
3893
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08003894 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
3895
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003896 /* update SSR config */
3897 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
3898
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003899 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07003900 if ( !HAL_STATUS_SUCCESS( halStatus ) )
3901 {
3902 status = VOS_STATUS_E_FAILURE;
3903 }
3904
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003905
3906 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07003907}
3908
3909
3910/**---------------------------------------------------------------------------
3911
3912 \brief hdd_execute_config_command() -
3913
3914 This function executes an arbitrary configuration set command
3915
3916 \param - pHddCtx - Pointer to the HDD Adapter.
3917 \parmm - command - a configuration command of the form:
3918 <name>=<value>
3919
3920 \return - 0 for success, non zero for failure
3921
3922 --------------------------------------------------------------------------*/
3923
3924VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
3925{
3926 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
3927 REG_TABLE_ENTRY *pRegEntry;
3928 char *clone;
3929 char *pCmd;
3930 void *pField;
3931 char *name;
3932 char *value_str;
3933 v_U32_t value;
3934 v_S31_t svalue;
3935 size_t len_value_str;
3936 unsigned int idx;
3937 unsigned int i;
3938 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003939 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003940
3941 // assume failure until proven otherwise
3942 vstatus = VOS_STATUS_E_FAILURE;
3943
3944 // clone the command so that we can manipulate it
3945 clone = kstrdup(command, GFP_ATOMIC);
3946 if (NULL == clone)
3947 {
3948 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003949 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003950 return vstatus;
3951 }
3952
3953 // 'clone' will point to the beginning of the string so it can be freed
3954 // 'pCmd' will be used to walk/parse the command
3955 pCmd = clone;
3956
3957 // get rid of leading/trailing whitespace
3958 pCmd = i_trim(pCmd);
3959 if ('\0' == *pCmd)
3960 {
3961 // only whitespace
3962 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003963 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003964 goto done;
3965 }
3966
3967 // parse the <name> = <value>
3968 name = pCmd;
3969 while (('=' != *pCmd) && ('\0' != *pCmd))
3970 {
3971 pCmd++;
3972 }
3973 if ('\0' == *pCmd)
3974 {
3975 // did not find '='
3976 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003977 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003978 goto done;
3979 }
3980
3981 // replace '=' with NUL to terminate the <name>
3982 *pCmd++ = '\0';
3983 name = i_trim(name);
3984 if ('\0' == *name)
3985 {
3986 // did not find a name
3987 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003988 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003989 goto done;
3990 }
3991
3992 value_str = i_trim(pCmd);
3993 if ('\0' == *value_str)
3994 {
3995 // did not find a value
3996 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003997 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003998 goto done;
3999 }
4000
4001 // lookup the configuration item
4002 for (idx = 0; idx < tableSize; idx++)
4003 {
4004 if (0 == strcmp(name, g_registry_table[idx].RegName))
4005 {
4006 // found a match
4007 break;
4008 }
4009 }
4010 if (tableSize == idx)
4011 {
4012 // did not match the name
4013 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004014 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004015 goto done;
4016 }
4017
4018 pRegEntry = &g_registry_table[idx];
4019 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4020 {
4021 // does not support dynamic configuration
4022 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004023 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004024 goto done;
4025 }
4026
4027 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4028
4029 switch (pRegEntry->RegType)
4030 {
4031 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004032 rv = kstrtoul(value_str, 10, &value);
4033 if (rv < 0)
4034 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004035 if (value < pRegEntry->VarMin)
4036 {
4037 // out of range
4038 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004039 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004040 goto done;
4041 }
4042 if (value > pRegEntry->VarMax)
4043 {
4044 // out of range
4045 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004046 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004047 goto done;
4048 }
4049 memcpy(pField, &value, pRegEntry->VarSize);
4050 break;
4051
4052 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004053 rv = kstrtoul(value_str, 16, &value);
4054 if (rv < 0)
4055 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004056 if (value < pRegEntry->VarMin)
4057 {
4058 // out of range
4059 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004060 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004061 goto done;
4062 }
4063 if (value > pRegEntry->VarMax)
4064 {
4065 // out of range
4066 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004067 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004068 goto done;
4069 }
4070 memcpy(pField, &value, pRegEntry->VarSize);
4071 break;
4072
4073 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004074 rv = kstrtol(value_str, 10, &svalue);
4075 if (rv < 0)
4076 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004077 if (svalue < (v_S31_t)pRegEntry->VarMin)
4078 {
4079 // out of range
4080 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004081 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004082 goto done;
4083 }
4084 if (svalue > (v_S31_t)pRegEntry->VarMax)
4085 {
4086 // out of range
4087 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004088 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004089 goto done;
4090 }
4091 memcpy(pField, &svalue, pRegEntry->VarSize);
4092 break;
4093
4094 case WLAN_PARAM_String:
4095 len_value_str = strlen(value_str);
4096 if (len_value_str > (pRegEntry->VarSize - 1))
4097 {
4098 // too big
4099 hddLog(LOGE,
4100 "%s: invalid command, string [%s] length "
4101 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004102 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004103 len_value_str, (pRegEntry->VarSize - 1));
4104 goto done;
4105 }
4106 // copy string plus NUL
4107 memcpy(pField, value_str, (len_value_str + 1));
4108 break;
4109
4110 case WLAN_PARAM_MacAddr:
4111 len_value_str = strlen(value_str);
4112 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4113 {
4114 // out of range
4115 hddLog(LOGE,
4116 "%s: invalid command, MAC address [%s] length "
4117 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004118 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004119 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4120 goto done;
4121 }
4122 //parse the string and store it in the byte array
4123 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4124 {
4125 ((char*)pField)[i] = (char)
4126 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4127 parseHexDigit(value_str[(i * 2) + 1]));
4128 }
4129 break;
4130
4131 default:
4132 goto done;
4133 }
4134
4135 // if we get here, we had a successful modification
4136 vstatus = VOS_STATUS_SUCCESS;
4137
4138 // config table has been modified, is there a notifier?
4139 if (NULL != pRegEntry->pfnDynamicNotify)
4140 {
4141 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4142 }
4143
4144 // note that this item was explicitly configured
4145 if (idx < MAX_CFG_INI_ITEMS)
4146 {
4147 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4148 }
4149 done:
4150 kfree(clone);
4151 return vstatus;
4152}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004153
4154/**---------------------------------------------------------------------------
4155
4156 \brief hdd_is_okc_mode_enabled() -
4157
4158 This function returns whether OKC mode is enabled or not
4159
4160 \param - pHddCtx - Pointer to the HDD Adapter.
4161
4162 \return - 1 for enabled, zero for disabled
4163
4164 --------------------------------------------------------------------------*/
4165
4166tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4167{
4168 if (NULL == pHddCtx)
4169 {
4170 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4171 return -EINVAL;
4172 }
4173
4174#ifdef FEATURE_WLAN_OKC
4175 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4176#else
4177 return eANI_BOOLEAN_FALSE;
4178#endif
4179}