blob: 5e1baafbfb7c5b995b91e88bc192897bc1882ae6 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080042/**=========================================================================
Jeff Johnson295189b2012-06-20 16:38:30 -070043
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080044 EDIT HISTORY FOR FILE
45
46
47 This section contains comments describing changes made to the module.
48 Notice that changes are listed in reverse chronological order.
49
50
51 $Header:$ $DateTime: $ $Author: $
52
53
54 when who what, where, why
Jeff Johnson295189b2012-06-20 16:38:30 -070055 -------- --- --------------------------------------------------------
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080056 07/27/09 kanand Created module.
Jeff Johnson295189b2012-06-20 16:38:30 -070057
58 ==========================================================================*/
59
60/*--------------------------------------------------------------------------
61 Include Files
62 ------------------------------------------------------------------------*/
63
64
65#include <linux/firmware.h>
66#include <linux/string.h>
67#include <wlan_hdd_includes.h>
68#include <wlan_hdd_main.h>
69#include <wlan_hdd_assoc.h>
70#include <wlan_hdd_cfg.h>
71#include <linux/string.h>
72#include <vos_types.h>
73#include <csrApi.h>
74#include <pmcApi.h>
75#include <wlan_hdd_misc.h>
76
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080077#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -080078static void cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId)
79{
80 sme_UpdateRoamPrefer5GHz((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamPrefer5GHz);
81}
Jeff Johnson295189b2012-06-20 16:38:30 -070082
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080083static void cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
84{
Srinivas Girigowdade697412013-02-14 16:31:48 -080085 sme_UpdateImmediateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080086 pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
87}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080088
Srinivas Girigowdade697412013-02-14 16:31:48 -080089static void cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
90{
91 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
92 pHddCtx->cfg_ini->RoamRssiDiff);
93}
94
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080095static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
96{
97 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
98}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -070099
100static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
101{
102 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
103}
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700104
105static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
106{
107 // at the point this routine is called, the value in the cfg_ini table has already been updated
108 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
109}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700110#endif
111
112#ifdef FEATURE_WLAN_OKC
113static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
114{
115 // at the point this routine is called, the value in the cfg_ini table has already been updated
116}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800117#endif
118
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800119#ifdef FEATURE_WLAN_LFR
120static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
121{
122 // at the point this routine is called, the value in the cfg_ini table has already been updated
123 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
124}
125#endif
126
127#ifdef FEATURE_WLAN_CCX
128static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
129{
130 // at the point this routine is called, the value in the cfg_ini table has already been updated
131 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
132}
133#endif
134
135static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
136{
137 // at the point this routine is called, the value in the cfg_ini table has already been updated
138 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
139}
140
Srinivas Girigowdade697412013-02-14 16:31:48 -0800141#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
142static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
143{
144 // at the point this routine is called, the value in the cfg_ini table has already been updated
145 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
146}
147
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700148static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
149{
150 // at the point this routine is called, the value in the cfg_ini table has already been updated
151 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
152}
153
Srinivas Girigowdade697412013-02-14 16:31:48 -0800154static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
155{
156 // at the point this routine is called, the value in the cfg_ini table has already been updated
157 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
158}
159
160static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
161{
162 // at the point this routine is called, the value in the cfg_ini table has already been updated
163 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
164}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700165
166static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
167{
168 // at the point this routine is called, the value in the cfg_ini table has already been updated
169 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
170}
171
172static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
173{
174 // at the point this routine is called, the value in the cfg_ini table has already been updated
175 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
176}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800177#endif
178
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700179static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
180{
181 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
182}
183
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700184#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
185static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
186{
187 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
188}
189#endif
190
Jeff Johnson295189b2012-06-20 16:38:30 -0700191REG_TABLE_ENTRY g_registry_table[] =
192{
193 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800194 hdd_config_t, RTSThreshold,
195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
196 CFG_RTS_THRESHOLD_DEFAULT,
197 CFG_RTS_THRESHOLD_MIN,
198 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700199
200 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800201 hdd_config_t, FragmentationThreshold,
202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
203 CFG_FRAG_THRESHOLD_DEFAULT,
204 CFG_FRAG_THRESHOLD_MIN,
205 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700206
207 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800208 hdd_config_t, Calibration,
209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
210 CFG_CALIBRATION_DEFAULT,
211 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700212 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800213
Jeff Johnson295189b2012-06-20 16:38:30 -0700214 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800215 hdd_config_t, CalibrationPeriod,
216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
217 CFG_CALIBRATION_PERIOD_DEFAULT,
218 CFG_CALIBRATION_PERIOD_MIN,
219 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700220
221 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
222 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
224 CFG_OPERATING_CHANNEL_DEFAULT,
225 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700226 CFG_OPERATING_CHANNEL_MAX ),
227
228 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800229 hdd_config_t, ShortSlotTimeEnabled,
230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
231 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
232 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700233 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
234
235 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800236 hdd_config_t, Is11dSupportEnabled,
237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
238 CFG_11D_SUPPORT_ENABLED_DEFAULT,
239 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700240 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800241
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800242 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800243 hdd_config_t, Is11hSupportEnabled,
244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
245 CFG_11H_SUPPORT_ENABLED_DEFAULT,
246 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800247 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700248
249 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800250 hdd_config_t, fEnforce11dChannels,
251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
252 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
253 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700254 CFG_ENFORCE_11D_CHANNELS_MAX ),
255
256 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800257 hdd_config_t, fSupplicantCountryCodeHasPriority,
258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
259 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
260 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700261 CFG_COUNTRY_CODE_PRIORITY_MAX),
262
263 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800264 hdd_config_t, fEnforceCountryCodeMatch,
265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
266 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
267 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700268 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
269
270 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800271 hdd_config_t, fEnforceDefaultDomain,
272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
273 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
274 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700275 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800276
Jeff Johnson295189b2012-06-20 16:38:30 -0700277 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
278 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
280 CFG_GENERIC_ID1_DEFAULT,
281 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700282 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800283
Jeff Johnson295189b2012-06-20 16:38:30 -0700284 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
285 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
287 CFG_GENERIC_ID2_DEFAULT,
288 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700289 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800290
Jeff Johnson295189b2012-06-20 16:38:30 -0700291 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
292 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
294 CFG_GENERIC_ID3_DEFAULT,
295 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700296 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800297
Jeff Johnson295189b2012-06-20 16:38:30 -0700298 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
299 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
301 CFG_GENERIC_ID4_DEFAULT,
302 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700303 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800304
Jeff Johnson295189b2012-06-20 16:38:30 -0700305 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
306 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
308 CFG_GENERIC_ID5_DEFAULT,
309 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 CFG_GENERIC_ID5_MAX ),
311
312 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
313 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
315 CFG_GENERIC_VALUE1_DEFAULT,
316 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700317 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800318
Jeff Johnson295189b2012-06-20 16:38:30 -0700319 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
320 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
322 CFG_GENERIC_VALUE2_DEFAULT,
323 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700324 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800325
Jeff Johnson295189b2012-06-20 16:38:30 -0700326 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
327 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
329 CFG_GENERIC_VALUE3_DEFAULT,
330 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700331 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800332
Jeff Johnson295189b2012-06-20 16:38:30 -0700333 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
334 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
336 CFG_GENERIC_VALUE4_DEFAULT,
337 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700338 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800339
Jeff Johnson295189b2012-06-20 16:38:30 -0700340 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
341 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
343 CFG_GENERIC_VALUE5_DEFAULT,
344 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 CFG_GENERIC_VALUE5_MAX ),
346
347 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800348 hdd_config_t, HeartbeatThresh24,
349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
350 CFG_HEARTBEAT_THRESH_24_DEFAULT,
351 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800353
Jeff Johnson295189b2012-06-20 16:38:30 -0700354 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800355 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700356 VAR_FLAGS_OPTIONAL,
357 (void *)CFG_POWER_USAGE_DEFAULT ),
358
359 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360 hdd_config_t, nEnableSuspend,
361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
362 CFG_ENABLE_SUSPEND_DEFAULT,
363 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700364 CFG_ENABLE_SUSPEND_MAX ),
365
366 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800367 hdd_config_t, nEnableDriverStop,
368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
369 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
370 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700371 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
372
373 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800374 hdd_config_t, fIsImpsEnabled,
375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
376 CFG_ENABLE_IMPS_DEFAULT,
377 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700378 CFG_ENABLE_IMPS_MAX ),
379
380 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800381 hdd_config_t, fIsLogpEnabled,
382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
383 CFG_ENABLE_LOGP_DEFAULT,
384 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700385 CFG_ENABLE_LOGP_MAX ),
386
387 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800388 hdd_config_t, nImpsMinSleepTime,
389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
390 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
391 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700392 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
393
394 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800395 hdd_config_t, nImpsMaxSleepTime,
396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
397 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
398 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
400
401 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
402 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
404 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
405 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700406 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
407
408 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800409 hdd_config_t, fIsBmpsEnabled,
410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
411 CFG_ENABLE_BMPS_DEFAULT,
412 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700413 CFG_ENABLE_BMPS_MAX ),
414
415 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800416 hdd_config_t, nBmpsMinListenInterval,
417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
418 CFG_BMPS_MINIMUM_LI_DEFAULT,
419 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700420 CFG_BMPS_MINIMUM_LI_MAX ),
421
422 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800423 hdd_config_t, nBmpsMaxListenInterval,
424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
425 CFG_BMPS_MAXIMUM_LI_DEFAULT,
426 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700427 CFG_BMPS_MAXIMUM_LI_MAX ),
428
429 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
430 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
432 CFG_BMPS_MODERATE_LI_DEFAULT,
433 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700434 CFG_BMPS_MODERATE_LI_MAX ),
435
436 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800437 hdd_config_t, fIsAutoBmpsTimerEnabled,
438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
439 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
440 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700441 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
442
443 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800444 hdd_config_t, nAutoBmpsTimerValue,
445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
446 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
447 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700448 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
449
450 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800451 hdd_config_t, dot11Mode,
452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
453 CFG_DOT11_MODE_DEFAULT,
454 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700455 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800456
Jeff Johnson295189b2012-06-20 16:38:30 -0700457 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800458 hdd_config_t, nChannelBondingMode24GHz,
459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
460 CFG_CHANNEL_BONDING_MODE_DEFAULT,
461 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700462 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800463
Jeff Johnson295189b2012-06-20 16:38:30 -0700464 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800465 hdd_config_t, nChannelBondingMode5GHz,
466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
467 CFG_CHANNEL_BONDING_MODE_DEFAULT,
468 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700469 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800470
471 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
472 hdd_config_t, MaxRxAmpduFactor,
473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
474 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
475 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700476 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477
Jeff Johnson295189b2012-06-20 16:38:30 -0700478 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800479 hdd_config_t, TxRate,
480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
481 CFG_FIXED_RATE_DEFAULT,
482 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700483 CFG_FIXED_RATE_MAX ),
484
485 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800486 hdd_config_t, ShortGI20MhzEnable,
487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
488 CFG_SHORT_GI_20MHZ_DEFAULT,
489 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700490 CFG_SHORT_GI_20MHZ_MAX ),
491
492 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800493 hdd_config_t, BlockAckAutoSetup,
494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
495 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
496 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700497 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800498
Jeff Johnson295189b2012-06-20 16:38:30 -0700499 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800500 hdd_config_t, ScanResultAgeCount,
501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
502 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
503 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700504 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
505
506 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800507 hdd_config_t, nScanAgeTimeNCNPS,
508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
509 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
510 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700511 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
512
513 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800514 hdd_config_t, nScanAgeTimeNCPS,
515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
516 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
517 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700518 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
519
520 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800521 hdd_config_t, nScanAgeTimeCNPS,
522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
523 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
524 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
526
527 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800528 hdd_config_t, nScanAgeTimeCPS,
529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
530 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
531 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700532 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
533
534 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800535 hdd_config_t, nRssiCatGap,
536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
537 CFG_RSSI_CATEGORY_GAP_DEFAULT,
538 CFG_RSSI_CATEGORY_GAP_MIN,
539 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700540
541 REG_VARIABLE( CFG_STAT_TIMER_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800542 hdd_config_t, nStatTimerInterval,
543 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
544 CFG_STAT_TIMER_INTERVAL_DEFAULT,
545 CFG_STAT_TIMER_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700546 CFG_STAT_TIMER_INTERVAL_MAX ),
547
548 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800549 hdd_config_t, fIsShortPreamble,
550 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
551 CFG_SHORT_PREAMBLE_DEFAULT,
552 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700553 CFG_SHORT_PREAMBLE_MAX ),
554
555 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800556 hdd_config_t, fIsAutoIbssBssid,
557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
558 CFG_IBSS_AUTO_BSSID_DEFAULT,
559 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700560 CFG_IBSS_AUTO_BSSID_MAX ),
561
562 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800563 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700564 VAR_FLAGS_OPTIONAL,
565 (void *)CFG_IBSS_BSSID_DEFAULT ),
566
567 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800568 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700569 VAR_FLAGS_OPTIONAL,
570 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
571
572 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800573 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700574 VAR_FLAGS_OPTIONAL,
575 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
576
577 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800578 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700579 VAR_FLAGS_OPTIONAL,
580 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
581
582 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800583 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700584 VAR_FLAGS_OPTIONAL,
585 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
586
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700587 REG_VARIABLE_STRING( CFG_CRDA_DEFAULT_COUNTRY_CODE, WLAN_PARAM_String,
588 hdd_config_t, crdaDefaultCountryCode,
589 VAR_FLAGS_OPTIONAL,
590 (void *)CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT ),
591
Jeff Johnson295189b2012-06-20 16:38:30 -0700592 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800593 hdd_config_t, apUapsdEnabled,
594 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
595 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
596 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700597 CFG_AP_QOS_UAPSD_MODE_MAX ),
598
599 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800600 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700601 VAR_FLAGS_OPTIONAL,
602 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
603
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700604 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
605 hdd_config_t, apRandomBssidEnabled,
606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
607 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
608 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
609 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
610
Jeff Johnson295189b2012-06-20 16:38:30 -0700611 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800612 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
614 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
615 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
616 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
617
618 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
619 hdd_config_t, apProtection,
620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
621 CFG_AP_PROTECTION_MODE_DEFAULT,
622 CFG_AP_PROTECTION_MODE_MIN,
623 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800624
Jeff Johnson295189b2012-06-20 16:38:30 -0700625 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800626 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
629 CFG_AP_OBSS_PROTECTION_MODE_MIN,
630 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800631
Jeff Johnson295189b2012-06-20 16:38:30 -0700632 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
636 CFG_AP_STA_SECURITY_SEPERATION_MIN,
637 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
638
639 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800640 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
642 CFG_FRAMES_PROCESSING_TH_DEFAULT,
643 CFG_FRAMES_PROCESSING_TH_MIN,
644 CFG_FRAMES_PROCESSING_TH_MAX ),
645
646 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
647 hdd_config_t, apStartChannelNum,
648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
649 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
650 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
651 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
652
653 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
654 hdd_config_t, apEndChannelNum,
655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
656 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
657 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
658 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
659
660 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
661 hdd_config_t, apOperatingBand,
662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
663 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
664 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
665 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
666
667 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
668 hdd_config_t, apAutoChannelSelection,
669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
670 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
671 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
672 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800673
Jeff Johnson295189b2012-06-20 16:38:30 -0700674 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
675 hdd_config_t, enableLTECoex,
676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
677 CFG_ENABLE_LTE_COEX_DEFAULT,
678 CFG_ENABLE_LTE_COEX_MIN,
679 CFG_ENABLE_LTE_COEX_MAX ),
680
681 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
682 hdd_config_t, apKeepAlivePeriod,
683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
684 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
685 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
686 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
687
688 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
689 hdd_config_t, goKeepAlivePeriod,
690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
691 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
692 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
693 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
694
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530695 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
696 hdd_config_t, apLinkMonitorPeriod,
697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
698 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
699 CFG_AP_LINK_MONITOR_PERIOD_MIN,
700 CFG_AP_LINK_MONITOR_PERIOD_MAX),
701
Jeff Johnson295189b2012-06-20 16:38:30 -0700702 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
703 hdd_config_t, disablePacketFilter,
704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
705 CFG_DISABLE_PACKET_FILTER_DEFAULT,
706 CFG_DISABLE_PACKET_FILTER_MIN,
707 CFG_DISABLE_PACKET_FILTER_MAX ),
708
709 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800710 hdd_config_t, nBeaconInterval,
711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
712 CFG_BEACON_INTERVAL_DEFAULT,
713 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700714 CFG_BEACON_INTERVAL_MAX ),
715
716 REG_VARIABLE( CFG_ENABLE_HANDOFF_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800717 hdd_config_t, fIsHandoffEnabled,
718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
719 CFG_ENABLE_HANDOFF_DEFAULT,
720 CFG_ENABLE_HANDOFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700721 CFG_ENABLE_HANDOFF_MAX ),
722
723
724 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800725 hdd_config_t, nEnableIdleScan,
726 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
727 CFG_ENABLE_IDLE_SCAN_DEFAULT,
728 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700729 CFG_ENABLE_IDLE_SCAN_MAX ),
730
731 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800732 hdd_config_t, nRoamingTime,
733 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
734 CFG_ROAMING_TIME_DEFAULT,
735 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700736 CFG_ROAMING_TIME_MAX ),
737
738 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800739 hdd_config_t, nVccRssiTrigger,
740 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
741 CFG_VCC_RSSI_TRIGGER_DEFAULT,
742 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700743 CFG_VCC_RSSI_TRIGGER_MAX ),
744
745 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800746 hdd_config_t, nVccUlMacLossThreshold,
747 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
748 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
749 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700750 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
751
752 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800753 hdd_config_t, nPassiveMaxChnTime,
754 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
755 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
756 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700757 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
758
759 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800760 hdd_config_t, nPassiveMinChnTime,
761 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
762 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
763 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700764 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
765
766 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800767 hdd_config_t, nActiveMaxChnTime,
768 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
769 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
770 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700771 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
772
773 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800774 hdd_config_t, nActiveMinChnTime,
775 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
776 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
777 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700778 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700779
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800780 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
781 hdd_config_t, nActiveMaxChnTimeBtc,
782 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
783 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
784 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
785 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
786
787 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
788 hdd_config_t, nActiveMinChnTimeBtc,
789 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
790 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
791 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
792 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
793
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700794 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
795 hdd_config_t, retryLimitZero,
796 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
797 CFG_RETRY_LIMIT_ZERO_DEFAULT,
798 CFG_RETRY_LIMIT_ZERO_MIN,
799 CFG_RETRY_LIMIT_ZERO_MAX ),
800
801 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
802 hdd_config_t, retryLimitOne,
803 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
804 CFG_RETRY_LIMIT_ONE_DEFAULT,
805 CFG_RETRY_LIMIT_ONE_MIN,
806 CFG_RETRY_LIMIT_ONE_MAX ),
807
808 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
809 hdd_config_t, retryLimitTwo,
810 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
811 CFG_RETRY_LIMIT_TWO_DEFAULT,
812 CFG_RETRY_LIMIT_TWO_MIN,
813 CFG_RETRY_LIMIT_TWO_MAX ),
814
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700815#ifdef WLAN_AP_STA_CONCURRENCY
816 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800817 hdd_config_t, nPassiveMaxChnTimeConc,
818 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
819 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
820 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700821 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
822
823 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800824 hdd_config_t, nPassiveMinChnTimeConc,
825 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
826 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
827 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700828 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
829
830 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800831 hdd_config_t, nActiveMaxChnTimeConc,
832 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
833 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
834 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700835 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
836
837 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800838 hdd_config_t, nActiveMinChnTimeConc,
839 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
840 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
841 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700842 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
843
844 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800845 hdd_config_t, nRestTimeConc,
846 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
847 CFG_REST_TIME_CONC_DEFAULT,
848 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700849 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800850
851 REG_VARIABLE( CFG_NUM_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
852 hdd_config_t, nNumChanCombinedConc,
853 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
854 CFG_NUM_CHAN_COMBINED_CONC_DEFAULT,
855 CFG_NUM_CHAN_COMBINED_CONC_MIN,
856 CFG_NUM_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700857#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800858
Jeff Johnson295189b2012-06-20 16:38:30 -0700859 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800860 hdd_config_t, nMaxPsPoll,
861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
862 CFG_MAX_PS_POLL_DEFAULT,
863 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700864 CFG_MAX_PS_POLL_MAX ),
865
866 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800867 hdd_config_t, nTxPowerCap,
868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
869 CFG_MAX_TX_POWER_DEFAULT,
870 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700871 CFG_MAX_TX_POWER_MAX ),
872
873 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
874 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
876 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
877 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700878 CFG_LOW_GAIN_OVERRIDE_MAX ),
879
880 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
881 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
883 CFG_RSSI_FILTER_PERIOD_DEFAULT,
884 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700885 CFG_RSSI_FILTER_PERIOD_MAX ),
886
887 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
888 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
890 CFG_IGNORE_DTIM_DEFAULT,
891 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700892 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800893
Jeff Johnson295189b2012-06-20 16:38:30 -0700894 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800895 hdd_config_t, nRxAnt,
896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
897 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
898 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700899 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
900
901 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 hdd_config_t, fEnableFwHeartBeatMonitoring,
903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
904 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
905 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700906 CFG_FW_HEART_BEAT_MONITORING_MAX ),
907
908 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800909 hdd_config_t, fEnableFwBeaconFiltering,
910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
911 CFG_FW_BEACON_FILTERING_DEFAULT,
912 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700913 CFG_FW_BEACON_FILTERING_MAX ),
914
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800915 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800916 hdd_config_t, fEnableFwRssiMonitoring,
917 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
918 CFG_FW_RSSI_MONITORING_DEFAULT,
919 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800920 CFG_FW_RSSI_MONITORING_MAX,
921 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700922
923 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800924 hdd_config_t, nDataInactivityTimeout,
925 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
926 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
927 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700928 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800929
Jeff Johnson295189b2012-06-20 16:38:30 -0700930 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800931 hdd_config_t, nthBeaconFilter,
932 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
933 CFG_NTH_BEACON_FILTER_DEFAULT,
934 CFG_NTH_BEACON_FILTER_MIN,
935 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700936
937 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800938 hdd_config_t, WmmMode,
939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
940 CFG_QOS_WMM_MODE_DEFAULT,
941 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700942 CFG_QOS_WMM_MODE_MAX ),
943
944 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800945 hdd_config_t, b80211eIsEnabled,
946 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
947 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
948 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700949 CFG_QOS_WMM_80211E_ENABLED_MAX ),
950
951 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800952 hdd_config_t, UapsdMask,
953 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
954 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
955 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700956 CFG_QOS_WMM_UAPSD_MASK_MAX ),
957
958 REG_VARIABLE( CFG_QOS_WMM_MAX_SP_LEN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800959 hdd_config_t, MaxSpLength,
960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
961 CFG_QOS_WMM_MAX_SP_LEN_DEFAULT,
962 CFG_QOS_WMM_MAX_SP_LEN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700963 CFG_QOS_WMM_MAX_SP_LEN_MAX ),
964
965 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800966 hdd_config_t, InfraUapsdVoSrvIntv,
967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
968 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
969 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700970 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
971
972 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800973 hdd_config_t, InfraUapsdVoSuspIntv,
974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
975 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
976 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700977 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
978
979 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800980 hdd_config_t, InfraUapsdViSrvIntv,
981 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
982 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
983 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700984 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
985
986 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800987 hdd_config_t, InfraUapsdViSuspIntv,
988 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
989 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
990 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700991 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
992
993 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800994 hdd_config_t, InfraUapsdBeSrvIntv,
995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
996 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
997 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700998 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
999
1000 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001001 hdd_config_t, InfraUapsdBeSuspIntv,
1002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1003 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1004 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001005 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1006
1007 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001008 hdd_config_t, InfraUapsdBkSrvIntv,
1009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1010 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1011 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001012 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1013
1014 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001015 hdd_config_t, InfraUapsdBkSuspIntv,
1016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1017 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1018 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001019 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1020
1021#ifdef FEATURE_WLAN_CCX
1022 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001023 hdd_config_t, InfraInactivityInterval,
1024 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1025 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1026 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001027 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001028 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001029 hdd_config_t, isCcxIniFeatureEnabled,
1030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1031 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1032 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001033 CFG_CCX_FEATURE_ENABLED_MAX,
1034 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001035#endif // FEATURE_WLAN_CCX
1036
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001037#ifdef FEATURE_WLAN_LFR
1038 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001039 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001040 hdd_config_t, isFastRoamIniFeatureEnabled,
1041 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1042 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1043 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001044 CFG_LFR_FEATURE_ENABLED_MAX,
1045 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001046#endif // FEATURE_WLAN_LFR
1047
1048#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001049 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001050 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001051 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001052 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1053 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1054 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001055 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1056 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001057
Srinivas Girigowdade697412013-02-14 16:31:48 -08001058 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001059 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001060 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1061 hdd_config_t, RoamRssiDiff,
1062 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1063 CFG_ROAM_RSSI_DIFF_DEFAULT,
1064 CFG_ROAM_RSSI_DIFF_MIN,
1065 CFG_ROAM_RSSI_DIFF_MAX,
1066 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001067
1068 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001069 hdd_config_t, nImmediateRoamRssiDiff,
1070 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1071 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1072 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001073 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1074 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001075
1076 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1077 hdd_config_t, isWESModeEnabled,
1078 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1079 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1080 CFG_ENABLE_WES_MODE_NAME_MIN,
1081 CFG_ENABLE_WES_MODE_NAME_MAX,
1082 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001083#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001084#ifdef FEATURE_WLAN_OKC
1085 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1086 hdd_config_t, isOkcIniFeatureEnabled,
1087 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1088 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1089 CFG_OKC_FEATURE_ENABLED_MIN,
1090 CFG_OKC_FEATURE_ENABLED_MAX,
1091 cbNotifySetOkcFeatureEnabled, 0 ),
1092#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001093#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1094 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1095 hdd_config_t, isRoamOffloadScanEnabled,
1096 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1097 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1098 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1099 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1100 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1101#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001102 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001103 hdd_config_t, PktClassificationBasis,
1104 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1105 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1106 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001107 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1108
1109 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001110 hdd_config_t, InfraDirAcVo,
1111 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1112 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1113 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001114 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1115
1116 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001117 hdd_config_t, InfraNomMsduSizeAcVo,
1118 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1119 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1120 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001121 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1122
1123 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001124 hdd_config_t, InfraMeanDataRateAcVo,
1125 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1126 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1127 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001128 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1129
1130 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001131 hdd_config_t, InfraMinPhyRateAcVo,
1132 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1133 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1134 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001135 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1136
1137 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001138 hdd_config_t, InfraSbaAcVo,
1139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1140 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1141 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001142 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1143
1144 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001145 hdd_config_t, InfraDirAcVi,
1146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1147 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1148 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001149 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1150
1151 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001152 hdd_config_t, InfraNomMsduSizeAcVi,
1153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1154 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1155 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001156 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1157
1158 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001159 hdd_config_t, InfraMeanDataRateAcVi,
1160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1161 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1162 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001163 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1164
1165 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001166 hdd_config_t, InfraMinPhyRateAcVi,
1167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1168 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1169 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001170 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1171
1172 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001173 hdd_config_t, InfraSbaAcVi,
1174 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1175 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1176 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001177 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1178
1179 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001180 hdd_config_t, InfraDirAcBe,
1181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1182 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1183 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001184 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1185
1186 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001187 hdd_config_t, InfraNomMsduSizeAcBe,
1188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1189 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1190 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001191 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1192
1193 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001194 hdd_config_t, InfraMeanDataRateAcBe,
1195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1196 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1197 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001198 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1199
1200 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001201 hdd_config_t, InfraMinPhyRateAcBe,
1202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1203 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1204 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001205 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1206
1207 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001208 hdd_config_t, InfraSbaAcBe,
1209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1210 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1211 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001212 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1213
1214 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001215 hdd_config_t, InfraDirAcBk,
1216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1217 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1218 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001219 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1220
1221 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001222 hdd_config_t, InfraNomMsduSizeAcBk,
1223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1224 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1225 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001226 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1227
1228 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001229 hdd_config_t, InfraMeanDataRateAcBk,
1230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1231 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1232 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001233 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1234
1235 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001236 hdd_config_t, InfraMinPhyRateAcBk,
1237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1238 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1239 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001240 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1241
1242 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001243 hdd_config_t, InfraSbaAcBk,
1244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1245 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1246 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001247 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1248
1249 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001250 hdd_config_t, WfqBkWeight,
1251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1252 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1253 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001254 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1255
1256 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001257 hdd_config_t, WfqBeWeight,
1258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1259 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1260 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001261 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1262
1263 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001264 hdd_config_t, WfqViWeight,
1265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1266 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1267 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001268 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1269
1270 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001271 hdd_config_t, WfqVoWeight,
1272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1273 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1274 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001275 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1276
1277 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001278 hdd_config_t, DelayedTriggerFrmInt,
1279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1280 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1281 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001282 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1283
1284 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001285 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001286 VAR_FLAGS_OPTIONAL,
1287 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1288
1289 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001290 hdd_config_t, bImplicitQosEnabled,
1291 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1292 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1293 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001294 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1295
1296 REG_VARIABLE( CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001297 hdd_config_t, b19p2MhzPmicClkEnabled,
1298 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1299 CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT,
1300 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001301 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX ),
1302
1303 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001304 hdd_config_t, btcExecutionMode,
1305 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1306 CFG_BTC_EXECUTION_MODE_DEFAULT,
1307 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001308 CFG_BTC_EXECUTION_MODE_MAX ),
1309
1310 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1311 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1312 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1313 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1314 CFG_BTC_DHCP_PROTECTION_MIN,
1315 CFG_BTC_DHCP_PROTECTION_MAX ),
1316
1317 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1318 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1319 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1320 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1321 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1322 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1323
Jeff Johnson32d95a32012-09-10 13:15:23 -07001324 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1325 hdd_config_t, btcStaticLenInqBt,
1326 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1327 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1328 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1329 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1330
1331 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1332 hdd_config_t, btcStaticLenPageBt,
1333 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1334 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1335 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1336 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1337
1338 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1339 hdd_config_t, btcStaticLenConnBt,
1340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1341 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1342 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1343 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1344
1345 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1346 hdd_config_t, btcStaticLenLeBt,
1347 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1348 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1349 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1350 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1351
1352 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1353 hdd_config_t, btcStaticLenInqWlan,
1354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1355 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1356 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1357 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1358
1359 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1360 hdd_config_t, btcStaticLenPageWlan,
1361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1362 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1363 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1364 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1365
1366 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1367 hdd_config_t, btcStaticLenConnWlan,
1368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1369 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1370 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1371 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1372
1373 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1374 hdd_config_t, btcStaticLenLeWlan,
1375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1376 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1377 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1378 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1379
1380 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1381 hdd_config_t, btcDynMaxLenBt,
1382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1383 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1384 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1385 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1386
1387 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1388 hdd_config_t, btcDynMaxLenWlan,
1389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1390 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1391 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1392 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1393
1394 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1395 hdd_config_t, btcMaxScoBlockPerc,
1396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1397 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1398 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1399 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1400
1401 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1402 hdd_config_t, btcDhcpProtOnA2dp,
1403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1404 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1405 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1406 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1407
1408 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1409 hdd_config_t, btcDhcpProtOnSco,
1410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1411 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1412 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1413 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1414
Jeff Johnson295189b2012-06-20 16:38:30 -07001415 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001416 hdd_config_t, nEnableListenMode,
1417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1418 CFG_AP_LISTEN_MODE_DEFAULT,
1419 CFG_AP_LISTEN_MODE_MIN,
1420 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001421
1422 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1423 hdd_config_t, nAPAutoShutOff,
1424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1425 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1426 CFG_AP_AUTO_SHUT_OFF_MIN,
1427 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001428
1429#if defined WLAN_FEATURE_VOWIFI
1430 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001431 hdd_config_t, fRrmEnable,
1432 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1433 CFG_RRM_ENABLE_DEFAULT,
1434 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001435 CFG_RRM_ENABLE_MAX ),
1436
1437 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001438 hdd_config_t, nInChanMeasMaxDuration,
1439 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1440 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1441 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001442 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1443
1444 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001445 hdd_config_t, nOutChanMeasMaxDuration,
1446 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1447 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1448 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001449 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1450
1451 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001452 hdd_config_t, nRrmRandnIntvl,
1453 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1454 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1455 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001456 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1457#endif
1458
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001459#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001460 REG_VARIABLE( CFG_FT_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001461 hdd_config_t, fFTEnable,
1462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1463 CFG_FT_ENABLE_DEFAULT,
1464 CFG_FT_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001465 CFG_FT_ENABLE_MAX ),
1466
1467 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001468 hdd_config_t, fFTResourceReqSupported,
1469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1470 CFG_FT_RESOURCE_REQ_DEFAULT,
1471 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001472 CFG_FT_RESOURCE_REQ_MAX ),
1473#endif
1474
1475#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001476 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001477 hdd_config_t, nNeighborScanPeriod,
1478 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1479 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1480 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001481 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1482 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001483
1484 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001485 hdd_config_t, nNeighborReassocRssiThreshold,
1486 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1487 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1488 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001489 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1490
Srinivas Girigowdade697412013-02-14 16:31:48 -08001491 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001492 hdd_config_t, nNeighborLookupRssiThreshold,
1493 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1494 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1495 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001496 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1497 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001498
1499 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001500 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001501 VAR_FLAGS_OPTIONAL,
1502 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1503
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001504 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001505 hdd_config_t, nNeighborScanMinChanTime,
1506 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1507 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1508 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001509 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1510 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001511
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001512 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001513 hdd_config_t, nNeighborScanMaxChanTime,
1514 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1515 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1516 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001517 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1518 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001519
1520 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1521 hdd_config_t, nMaxNeighborReqTries,
1522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1523 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1524 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1525 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1526
Srinivas Girigowdade697412013-02-14 16:31:48 -08001527 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001528 hdd_config_t, nNeighborResultsRefreshPeriod,
1529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1530 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1531 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001532 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1533 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1534
1535 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1536 hdd_config_t, nEmptyScanRefreshPeriod,
1537 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1538 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1539 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1540 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1541 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001542#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1543
1544 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001545 hdd_config_t, burstSizeDefinition,
1546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1547 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1548 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001549 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1550
1551 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1552 hdd_config_t, mcastBcastFilterSetting,
1553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1554 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1555 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1556 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1557
1558 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1559 hdd_config_t, fhostArpOffload,
1560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1561 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1562 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1563 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1564
1565 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001566 hdd_config_t, tsInfoAckPolicy,
1567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1568 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1569 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001570 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1571
1572 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1573 hdd_config_t, bSingleTidRc,
1574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1575 CFG_SINGLE_TID_RC_DEFAULT,
1576 CFG_SINGLE_TID_RC_MIN,
1577 CFG_SINGLE_TID_RC_MAX),
1578
1579 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1580 hdd_config_t, dynamicPsPollValue,
1581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1582 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1583 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1584 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1585
1586 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1587 hdd_config_t, teleBcnWakeupEn,
1588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1589 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1590 CFG_TELE_BCN_WAKEUP_EN_MIN,
1591 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1592
1593 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1594 hdd_config_t, infraStaKeepAlivePeriod,
1595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1596 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1597 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1598 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1599
1600 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001601 hdd_config_t, AddTSWhenACMIsOff,
1602 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1603 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1604 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001605 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1606
1607
1608 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001609 hdd_config_t, fValidateScanList,
1610 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1611 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1612 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001613 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001614
Jeff Johnson295189b2012-06-20 16:38:30 -07001615 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001616 hdd_config_t, nNullDataApRespTimeout,
1617 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1618 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1619 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001620 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1621
1622 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001623 hdd_config_t, apDataAvailPollPeriodInMs,
1624 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1625 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1626 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001627 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001628
Jeff Johnson295189b2012-06-20 16:38:30 -07001629 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001630 hdd_config_t, enableBtAmp,
1631 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1632 CFG_ENABLE_BTAMP_DEFAULT,
1633 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001634 CFG_ENABLE_BTAMP_MAX ),
1635
1636#ifdef WLAN_BTAMP_FEATURE
1637 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001638 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07001639 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1640 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
1641 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
1642 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
1643#endif //WLAN_BTAMP_FEATURE
1644 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001645 hdd_config_t, nBandCapability,
1646 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1647 CFG_BAND_CAPABILITY_DEFAULT,
1648 CFG_BAND_CAPABILITY_MIN,
1649 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001650
1651 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001652 hdd_config_t, fEnableBeaconEarlyTermination,
1653 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1654 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
1655 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
1656 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001657/* CFG_VOS_TRACE_ENABLE Parameters */
1658 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
1659 hdd_config_t, vosTraceEnableBAP,
1660 VAR_FLAGS_OPTIONAL,
1661 CFG_VOS_TRACE_ENABLE_DEFAULT,
1662 CFG_VOS_TRACE_ENABLE_MIN,
1663 CFG_VOS_TRACE_ENABLE_MAX ),
1664
1665 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
1666 hdd_config_t, vosTraceEnableTL,
1667 VAR_FLAGS_OPTIONAL,
1668 CFG_VOS_TRACE_ENABLE_DEFAULT,
1669 CFG_VOS_TRACE_ENABLE_MIN,
1670 CFG_VOS_TRACE_ENABLE_MAX ),
1671
1672 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1673 hdd_config_t, vosTraceEnableWDI,
1674 VAR_FLAGS_OPTIONAL,
1675 CFG_VOS_TRACE_ENABLE_DEFAULT,
1676 CFG_VOS_TRACE_ENABLE_MIN,
1677 CFG_VOS_TRACE_ENABLE_MAX ),
1678
1679 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1680 hdd_config_t, vosTraceEnableHDD,
1681 VAR_FLAGS_OPTIONAL,
1682 CFG_VOS_TRACE_ENABLE_DEFAULT,
1683 CFG_VOS_TRACE_ENABLE_MIN,
1684 CFG_VOS_TRACE_ENABLE_MAX ),
1685
1686 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1687 hdd_config_t, vosTraceEnableSME,
1688 VAR_FLAGS_OPTIONAL,
1689 CFG_VOS_TRACE_ENABLE_DEFAULT,
1690 CFG_VOS_TRACE_ENABLE_MIN,
1691 CFG_VOS_TRACE_ENABLE_MAX ),
1692
1693 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1694 hdd_config_t, vosTraceEnablePE,
1695 VAR_FLAGS_OPTIONAL,
1696 CFG_VOS_TRACE_ENABLE_DEFAULT,
1697 CFG_VOS_TRACE_ENABLE_MIN,
1698 CFG_VOS_TRACE_ENABLE_MAX ),
1699
1700 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
1701 hdd_config_t, vosTraceEnableWDA,
1702 VAR_FLAGS_OPTIONAL,
1703 CFG_VOS_TRACE_ENABLE_DEFAULT,
1704 CFG_VOS_TRACE_ENABLE_MIN,
1705 CFG_VOS_TRACE_ENABLE_MAX ),
1706
1707 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1708 hdd_config_t, vosTraceEnableSYS,
1709 VAR_FLAGS_OPTIONAL,
1710 CFG_VOS_TRACE_ENABLE_DEFAULT,
1711 CFG_VOS_TRACE_ENABLE_MIN,
1712 CFG_VOS_TRACE_ENABLE_MAX ),
1713
1714 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
1715 hdd_config_t, vosTraceEnableVOSS,
1716 VAR_FLAGS_OPTIONAL,
1717 CFG_VOS_TRACE_ENABLE_DEFAULT,
1718 CFG_VOS_TRACE_ENABLE_MIN,
1719 CFG_VOS_TRACE_ENABLE_MAX ),
1720
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001721 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1722 hdd_config_t, vosTraceEnableSAP,
1723 VAR_FLAGS_OPTIONAL,
1724 CFG_VOS_TRACE_ENABLE_DEFAULT,
1725 CFG_VOS_TRACE_ENABLE_MIN,
1726 CFG_VOS_TRACE_ENABLE_MAX ),
1727
1728 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1729 hdd_config_t, vosTraceEnableHDDSAP,
1730 VAR_FLAGS_OPTIONAL,
1731 CFG_VOS_TRACE_ENABLE_DEFAULT,
1732 CFG_VOS_TRACE_ENABLE_MIN,
1733 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001734
Jeff Johnson295189b2012-06-20 16:38:30 -07001735 /* note that since the default value is out of range we cannot
1736 enable range check, otherwise we get a system log message */
1737 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
1738 hdd_config_t, wdiTraceEnableDAL,
1739 VAR_FLAGS_OPTIONAL,
1740 CFG_WDI_TRACE_ENABLE_DEFAULT,
1741 CFG_WDI_TRACE_ENABLE_MIN,
1742 CFG_WDI_TRACE_ENABLE_MAX ),
1743
1744 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
1745 hdd_config_t, wdiTraceEnableCTL,
1746 VAR_FLAGS_OPTIONAL,
1747 CFG_WDI_TRACE_ENABLE_DEFAULT,
1748 CFG_WDI_TRACE_ENABLE_MIN,
1749 CFG_WDI_TRACE_ENABLE_MAX ),
1750
1751 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
1752 hdd_config_t, wdiTraceEnableDAT,
1753 VAR_FLAGS_OPTIONAL,
1754 CFG_WDI_TRACE_ENABLE_DEFAULT,
1755 CFG_WDI_TRACE_ENABLE_MIN,
1756 CFG_WDI_TRACE_ENABLE_MAX ),
1757
1758 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
1759 hdd_config_t, wdiTraceEnablePAL,
1760 VAR_FLAGS_OPTIONAL,
1761 CFG_WDI_TRACE_ENABLE_DEFAULT,
1762 CFG_WDI_TRACE_ENABLE_MIN,
1763 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001764
1765 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001766 hdd_config_t, nTeleBcnTransListenInterval,
1767 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1768 CFG_TELE_BCN_TRANS_LI_DEFAULT,
1769 CFG_TELE_BCN_TRANS_LI_MIN,
1770 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001771
1772 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001773 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
1774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1775 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
1776 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
1777 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001778
1779 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001780 hdd_config_t, nTeleBcnMaxListenInterval,
1781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1782 CFG_TELE_BCN_MAX_LI_DEFAULT,
1783 CFG_TELE_BCN_MAX_LI_MIN,
1784 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001785
1786 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001787 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
1788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1789 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
1790 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
1791 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001792
1793 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001794 hdd_config_t, bcnEarlyTermWakeInterval,
1795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1796 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
1797 CFG_BCN_EARLY_TERM_WAKE_MIN,
1798 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001799
1800 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001801 hdd_config_t, apDataAvailPollPeriodInMs,
1802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1803 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1804 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001805 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
1806
1807 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001808 hdd_config_t, enableCloseLoop,
1809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1810 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
1811 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001812 CFG_ENABLE_CLOSE_LOOP_MAX ),
1813
1814 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001815 hdd_config_t, enableBypass11d,
1816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1817 CFG_ENABLE_BYPASS_11D_DEFAULT,
1818 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001819 CFG_ENABLE_BYPASS_11D_MAX ),
1820
1821 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001822 hdd_config_t, enableDFSChnlScan,
1823 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1824 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1825 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001826 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
1827
1828 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001829 hdd_config_t, enableDynamicDTIM,
1830 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1831 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1832 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001833 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
1834
1835 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001836 hdd_config_t, enableAutomaticTxPowerControl,
1837 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1838 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
1839 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001840 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
1841
1842 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001843 hdd_config_t, ShortGI40MhzEnable,
1844 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1845 CFG_SHORT_GI_40MHZ_DEFAULT,
1846 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001847 CFG_SHORT_GI_40MHZ_MAX ),
1848
1849 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001850 hdd_config_t, reportMaxLinkSpeed,
1851 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1852 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1853 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001854 CFG_REPORT_MAX_LINK_SPEED_MAX,
1855 NULL, 0 ),
1856
1857 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
1858 hdd_config_t, linkSpeedRssiHigh,
1859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1860 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1861 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1862 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1863 NULL, 0 ),
1864
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001865 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
1866 hdd_config_t, linkSpeedRssiMid,
1867 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1868 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1869 CFG_LINK_SPEED_RSSI_MID_MIN,
1870 CFG_LINK_SPEED_RSSI_MID_MAX,
1871 NULL, 0 ),
1872
Jeff Johnson295189b2012-06-20 16:38:30 -07001873 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
1874 hdd_config_t, linkSpeedRssiLow,
1875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1876 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1877 CFG_LINK_SPEED_RSSI_LOW_MIN,
1878 CFG_LINK_SPEED_RSSI_LOW_MAX,
1879 NULL, 0 ),
1880
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001881#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
1882 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
1883 hdd_config_t, nRoamPrefer5GHz,
1884 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1885 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1886 CFG_ROAM_PREFER_5GHZ_MIN,
1887 CFG_ROAM_PREFER_5GHZ_MAX,
1888 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001889
1890 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
1891 hdd_config_t, nRoamIntraBand,
1892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1893 CFG_ROAM_INTRA_BAND_DEFAULT,
1894 CFG_ROAM_INTRA_BAND_MIN,
1895 CFG_ROAM_INTRA_BAND_MAX,
1896 cbNotifySetRoamIntraBand, 0 ),
1897
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001898#endif
1899
Jeff Johnson295189b2012-06-20 16:38:30 -07001900 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
1901 hdd_config_t, isP2pDeviceAddrAdministrated,
1902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1903 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1904 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1905 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001906
1907REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001908 hdd_config_t, enableMCC,
1909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1910 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1911 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001912 CFG_ENABLE_MCC_ENABLED_MAX ),
1913
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001914REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001915 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1917 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1918 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1919 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001920
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -08001921REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001922 hdd_config_t, thermalMitigationEnable,
1923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1924 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1925 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001926 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
1927#ifdef WLAN_FEATURE_PACKET_FILTERING
1928 REG_VARIABLE( CFG_MC_ADDR_LIST_FILTER_NAME, WLAN_PARAM_Integer,
1929 hdd_config_t, isMcAddrListFilter,
1930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1931 CFG_MC_ADDR_LIST_FILTER_DEFAULT,
1932 CFG_MC_ADDR_LIST_FILTER_MIN,
1933 CFG_MC_ADDR_LIST_FILTER_MAX ),
1934#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001935
Jeff Johnson295189b2012-06-20 16:38:30 -07001936REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001937 hdd_config_t, enableModulatedDTIM,
1938 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1939 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1940 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001941 CFG_ENABLE_MODULATED_DTIM_MAX ),
1942
Jeff Johnsond13512a2012-07-17 11:42:19 -07001943 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
1944 hdd_config_t, fEnableMCAddrList,
1945 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1946 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
1947 CFG_MC_ADDR_LIST_ENABLE_MIN,
1948 CFG_MC_ADDR_LIST_ENABLE_MAX ),
1949
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001950#ifdef WLAN_FEATURE_11AC
Jeff Johnsone7245742012-09-05 17:12:55 -07001951REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001952 hdd_config_t, vhtChannelWidth,
1953 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1954 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
1955 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001956 CFG_VHT_CHANNEL_WIDTH_MAX),
1957
1958REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001959 hdd_config_t, vhtRxMCS,
1960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1961 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
1962 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001963 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
1964
1965REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001966 hdd_config_t, vhtTxMCS,
1967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1968 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
1969 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001970 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
1971#endif
1972
1973REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001974 hdd_config_t, enableFirstScan2GOnly,
1975 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1976 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
1977 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001978 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
1979
1980REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001981 hdd_config_t, skipDfsChnlInP2pSearch,
1982 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1983 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
1984 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001985 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
1986
1987REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001988 hdd_config_t, ignoreDynamicDtimInP2pMode,
1989 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1990 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
1991 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07001992 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
1993
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07001994REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001995 hdd_config_t,numBuffAdvert ,
1996 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
1997 CFG_NUM_BUFF_ADVERT_DEFAULT,
1998 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07001999 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002000
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002001REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
2002 hdd_config_t, configMccParam,
2003 VAR_FLAGS_OPTIONAL,
2004 CFG_MCC_CONFIG_PARAM_DEFAULT,
2005 CFG_MCC_CONFIG_PARAM_MIN,
2006 CFG_MCC_CONFIG_PARAM_MAX ),
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302007REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002008 hdd_config_t, enableRxSTBC,
2009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2010 CFG_ENABLE_RX_STBC_DEFAULT,
2011 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302012 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002013#ifdef FEATURE_WLAN_TDLS
2014REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2015 hdd_config_t, fEnableTDLSSupport,
2016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2017 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2018 CFG_TDLS_SUPPORT_ENABLE_MIN,
2019 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302020
2021REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
2022 hdd_config_t, fEnableTDLSImplicitTrigger,
2023 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2024 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2025 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2026 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2027
2028REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
2029 hdd_config_t, fTDLSTxStatsPeriod,
2030 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2031 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2032 CFG_TDLS_TX_STATS_PERIOD_MIN,
2033 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2034
2035REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2036 hdd_config_t, fTDLSTxPacketThreshold,
2037 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2038 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2039 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2040 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2041
2042REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
2043 hdd_config_t, fTDLSDiscoveryPeriod,
2044 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2045 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2046 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2047 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2048
2049REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
2050 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2051 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2052 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2053 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2054 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2055
Chilam Ng01120412013-02-19 18:32:21 -08002056REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2057 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302058 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002059 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2060 CFG_TDLS_IDLE_TIMEOUT_MIN,
2061 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2062
2063REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
2064 hdd_config_t, fTDLSIdlePacketThreshold,
2065 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2066 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2067 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2068 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302069
2070REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002071 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302072 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2073 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2074 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2075 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002076
2077REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
2078 hdd_config_t, fTDLSRSSITriggerThreshold,
2079 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2080 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2081 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2082 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2083
2084REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
2085 hdd_config_t, fTDLSRSSITeardownThreshold,
2086 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2087 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2088 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2089 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002090#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002091
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002092#ifdef WLAN_SOFTAP_VSTA_FEATURE
2093REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2094 hdd_config_t, fEnableVSTASupport,
2095 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2096 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2097 CFG_VSTA_SUPPORT_ENABLE_MIN,
2098 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2099#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002100REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002101 hdd_config_t, enableLpwrImgTransition,
2102 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2103 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2104 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002105 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2106
Yathish9f22e662012-12-10 14:21:35 -08002107#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
2108REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
2109 hdd_config_t, fEnableActiveModeOffload,
2110 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2111 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2112 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2113 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2114#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002115REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
2116 hdd_config_t, enableLpwrImgTransition,
2117 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2118 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2119 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2120 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2121
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002122
2123REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
2124 hdd_config_t, scanAgingTimeout,
2125 VAR_FLAGS_OPTIONAL,
2126 CFG_SCAN_AGING_PARAM_DEFAULT,
2127 CFG_SCAN_AGING_PARAM_MIN,
2128 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002129
2130REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
2131 hdd_config_t, enableTxLdpc,
2132 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2133 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2134 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2135 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2136
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08002137REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302138 hdd_config_t, enableMCCAdaptiveScheduler,
2139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2140 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2141 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2142 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2143
2144REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
2145 hdd_config_t, isAndroidPsEn,
2146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2147 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2148 CFG_ANDRIOD_POWER_SAVE_MIN,
2149 CFG_ANDRIOD_POWER_SAVE_MAX),
2150
Shailender Karmuchia734f332013-04-19 14:02:48 -07002151REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
2152 hdd_config_t, AdHocChannel5G,
2153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2154 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2155 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2156 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2157
2158REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
2159 hdd_config_t, AdHocChannel24G,
2160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2161 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2162 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2163 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2164
2165
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002166#ifdef WLAN_FEATURE_11AC
2167REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
2168 hdd_config_t, enableTxBF,
2169 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2170 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2171 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2172 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002173
2174REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
2175 hdd_config_t, txBFCsnValue,
2176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2177 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2178 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2179 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2180
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002181#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302182
2183REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
2184 hdd_config_t, sapAllowAllChannel,
2185 VAR_FLAGS_OPTIONAL,
2186 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2187 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2188 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002189#ifdef WLAN_FEATURE_11AC
2190REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
2191 hdd_config_t, disableLDPCWithTxbfAP,
2192 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2193 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2194 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2195 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2196#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002197
2198REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
2199 hdd_config_t, listOfNonDfsCountryCode,
2200 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2201 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2202
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002203 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2204 hdd_config_t, enableSSR,
2205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2206 CFG_ENABLE_SSR_DEFAULT,
2207 CFG_ENABLE_SSR_MIN,
2208 CFG_ENABLE_SSR_MAX,
2209 cbNotifySetEnableSSR, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002210};
2211
2212/*
2213 * This function returns a pointer to the character after the occurence
2214 * of a new line character. It also modifies the original string by replacing
2215 * the '\n' character with the null character.
2216 * Function returns NULL if no new line character was found before end of
2217 * string was reached
2218 */
2219static char* get_next_line(char* str)
2220{
2221 char c;
2222
2223 if( str == NULL || *str == '\0') {
2224 return NULL;
2225 }
2226
2227 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002228 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002229 str = str + 1;
2230 c = *str;
2231 }
2232
2233 if (c == '\0' ) {
2234 return NULL;
2235 }
2236 else
2237 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002238 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002239 return (str+1);
2240 }
2241
2242 return NULL;
2243}
2244
2245// look for space. Ascii values to look are -
2246// 0x09 == horizontal tab
2247// 0x0a == Newline ("\n")
2248// 0x0b == vertical tab
2249// 0x0c == Newpage or feed form.
2250// 0x0d == carriage return (CR or "\r")
2251// Null ('\0') should not considered as space.
2252#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2253
2254/*
2255 * This function trims any leading and trailing white spaces
2256 */
2257static char *i_trim(char *str)
2258
2259{
2260 char *ptr;
2261
2262 if(*str == '\0') return str;
2263
2264 /* Find the first non white-space*/
2265 for (ptr = str; i_isspace(*ptr); ptr++);
2266 if (*ptr == '\0')
2267 return str;
2268
2269 /* This is the new start of the string*/
2270 str = ptr;
2271
2272 /* Find the last non white-space */
2273 ptr += strlen(ptr) - 1;
2274 for (; ptr != str && i_isspace(*ptr); ptr--);
2275 /* Null terminate the following character */
2276 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002277
Jeff Johnson295189b2012-06-20 16:38:30 -07002278 return str;
2279}
2280
2281
2282//Structure to store each entry in qcom_cfg.ini file
2283typedef struct
2284{
2285 char *name;
2286 char *value;
2287}tCfgIniEntry;
2288
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002289static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002290 tCfgIniEntry* iniTable, unsigned long entries);
2291
2292#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002293void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002294{
2295 unsigned long i;
2296
2297 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002298 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002299 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2300 }
2301}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002302#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002303
2304/*
2305 * This function reads the qcom_cfg.ini file and
2306 * parses each 'Name=Value' pair in the ini file
2307 */
2308VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2309{
2310 int status, i=0;
2311 /** Pointer for firmware image data */
2312 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002313 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002314 size_t size;
2315 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002316 /* cfgIniTable is static to avoid excess stack usage */
2317 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002318 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2319
2320 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2321
2322 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002323
Jeff Johnson295189b2012-06-20 16:38:30 -07002324 if(status)
2325 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002326 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002327 vos_status = VOS_STATUS_E_FAILURE;
2328 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002329 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002330 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002331 {
2332 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002333 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002334 vos_status = VOS_STATUS_E_FAILURE;
2335 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002336 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002337
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002338 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002339
2340 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002341
Jeff Johnson295189b2012-06-20 16:38:30 -07002342 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002343 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002344 release_firmware(fw);
2345 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002346 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002347 pTemp = buffer;
2348
2349 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2350 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002351
Jeff Johnson295189b2012-06-20 16:38:30 -07002352 while (buffer != NULL)
2353 {
2354 line = get_next_line(buffer);
2355 buffer = i_trim(buffer);
2356
2357 hddLog(LOG1, "%s: item", buffer);
2358
2359 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2360 buffer = line;
2361 continue;
2362 }
2363 else if(strncmp(buffer, "END", 3) == 0 ) {
2364 break;
2365 }
2366 else
2367 {
2368 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002369 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002370 buffer++;
2371 if(*buffer != '\0') {
2372 *buffer++ = '\0';
2373 i_trim(name);
2374 if(strlen (name) != 0) {
2375 buffer = i_trim(buffer);
2376 if(strlen(buffer)>0) {
2377 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002378 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002379 buffer++;
2380 *buffer = '\0';
2381 cfgIniTable[i].name= name;
2382 cfgIniTable[i++].value= value;
2383 if(i >= MAX_CFG_INI_ITEMS) {
2384 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002385 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002386 break;
2387 }
2388 }
2389 }
2390 }
2391 }
2392 buffer = line;
2393 }
2394
2395 //Loop through the registry table and apply all these configs
2396 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2397
Jeff Johnson4416a782013-03-25 14:17:50 -07002398config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002399 release_firmware(fw);
2400 vos_mem_free(pTemp);
2401 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002402}
Jeff Johnson295189b2012-06-20 16:38:30 -07002403
2404
2405static void print_hdd_cfg(hdd_context_t *pHddCtx)
2406{
2407 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2408 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2409 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2410 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2411 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2412 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2413 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2414 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2415 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]",
2416 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2417 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2418 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2419
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002420 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002421 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2422 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2423 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2424 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2425 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2426 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2427 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2428
2429
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002430 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002431 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2432 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2433 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2434 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2435 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2436 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2437 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2438
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002439 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002440 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2441 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2442 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2443 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2444 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2445 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2446 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2447
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002448 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002449 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2450 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2451 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2452 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2453 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2454 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2455 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2456
Jeff Johnson295189b2012-06-20 16:38:30 -07002457
2458 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2459
2460 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2461 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2462 pHddCtx->cfg_ini->apCntryCode[2]);
2463 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2464 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2465
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002466 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 -07002467 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2468 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2469 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 -08002470
Jeff Johnson295189b2012-06-20 16:38:30 -07002471 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2472 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2473 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2474 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2475 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
2476 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
2477 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
2478
2479 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
2480 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
2481
2482 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
2483 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
2484
2485 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
2486 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
2487
2488 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
2489 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
2490#ifdef FEATURE_WLAN_CCX
2491 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
2492 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
2493 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
2494 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 -08002495#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002496#ifdef FEATURE_WLAN_LFR
2497 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 -08002498#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07002499#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2500 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 -08002501 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 -07002502 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 -07002503#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002504#ifdef FEATURE_WLAN_OKC
2505 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
2506#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002507 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
2508 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
2509 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
2510 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
2511 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
2512
2513 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
2514 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
2515 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
2516 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
2517 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
2518
2519 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
2520 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
2521 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
2522 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
2523 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
2524
2525 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
2526 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
2527 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
2528 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
2529 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
2530
2531 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
2532 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
2533 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
2534 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
2535 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
2536 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
2537 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 -08002538#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07002539 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTEnable] Value = [%lu] ",pHddCtx->cfg_ini->fFTEnable);
2540 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
2541#endif
2542
2543#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
2544 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
2545 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
2546 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
2547 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
2548 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
2549 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
2550 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 -08002551 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 -07002552#endif
2553 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
2554 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
2555 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
2556 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
2557 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
2558 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
2559 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
2560
2561 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
2562 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2563 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
2564#ifdef WLAN_BTAMP_FEATURE
2565 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
2566#endif //WLAN_BTAMP_FEATURE
2567 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
2568 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
2569 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
2570 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
2571 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
2572 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
2573 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
2574 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
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 = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
2577 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
2578 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
2579 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 -07002580#ifdef WLAN_FEATURE_11AC
2581 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
2582#endif
2583 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
2584 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
2585 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 +05302586 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 -08002587 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 -07002588 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableSSR] Value = [%u] ",pHddCtx->cfg_ini->enableSSR);
2589
Jeff Johnson295189b2012-06-20 16:38:30 -07002590}
2591
2592
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002593
Jeff Johnson295189b2012-06-20 16:38:30 -07002594#define CFG_VALUE_MAX_LEN 256
2595#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
2596VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
2597{
2598 unsigned int idx;
2599 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2600 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2601 v_U32_t value;
2602 char valueStr[CFG_VALUE_MAX_LEN];
2603 char configStr[CFG_ENTRY_MAX_LEN];
2604 char *fmt;
2605 void *pField;
2606 v_MACADDR_t *pMacAddr;
2607 char *pCur = pBuf;
2608 int curlen;
2609
2610 // start with an empty string
2611 *pCur = '\0';
2612
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002613 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07002614 {
2615 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
2616
2617 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2618 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002619 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07002620 {
2621 value = 0;
2622 memcpy( &value, pField, pRegEntry->VarSize );
2623 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
2624 {
2625 fmt = "%x";
2626 }
2627 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2628 {
2629 fmt = "%d";
2630 }
2631 else
2632 {
2633 fmt = "%u";
2634 }
2635 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
2636 }
2637 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2638 {
2639 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
2640 }
2641 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2642 {
2643 pMacAddr = (v_MACADDR_t *) pField;
2644 snprintf(valueStr, CFG_VALUE_MAX_LEN,
2645 "%02x:%02x:%02x:%02x:%02x:%02x",
2646 pMacAddr->bytes[0],
2647 pMacAddr->bytes[1],
2648 pMacAddr->bytes[2],
2649 pMacAddr->bytes[3],
2650 pMacAddr->bytes[4],
2651 pMacAddr->bytes[5]);
2652 }
2653 else
2654 {
2655 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
2656 }
2657 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
2658 "%s=[%s]%s\n",
2659 pRegEntry->RegName,
2660 valueStr,
2661 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
2662 "*" : "");
2663
2664 // ideally we want to return the config to the application
2665 // however the config is too big so we just printk() for now
2666#ifdef RETURN_IN_BUFFER
2667 if (curlen <= buflen)
2668 {
2669 // copy string + '\0'
2670 memcpy(pCur, configStr, curlen+1);
2671
2672 // account for addition;
2673 pCur += curlen;
2674 buflen -= curlen;
2675 }
2676 else
2677 {
2678 // buffer space exhausted, return what we have
2679 return VOS_STATUS_E_RESOURCES;
2680 }
2681#else
2682 printk(KERN_CRIT "%s", configStr);
2683#endif // RETURN_IN_BUFFER
2684
2685}
2686
2687#ifndef RETURN_IN_BUFFER
2688 // notify application that output is in system log
2689 snprintf(pCur, buflen, "WLAN configuration written to system log");
2690#endif // RETURN_IN_BUFFER
2691
2692 return VOS_STATUS_SUCCESS;
2693}
2694
2695static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002696 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07002697{
2698 VOS_STATUS status = VOS_STATUS_E_FAILURE;
2699 unsigned long i;
2700
2701 for (i = 0; i < entries; i++) {
2702 if (strcmp(iniTable[i].name, name) == 0) {
2703 *value = iniTable[i].value;
2704 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
2705 WLAN_INI_FILE, name, *value);
2706 return VOS_STATUS_SUCCESS;
2707 }
2708 }
2709
2710 return status;
2711}
2712
2713static int parseHexDigit(char c)
2714{
2715 if (c >= '0' && c <= '9')
2716 return c-'0';
2717 if (c >= 'a' && c <= 'f')
2718 return c-'a'+10;
2719 if (c >= 'A' && c <= 'F')
2720 return c-'A'+10;
2721
2722 return 0;
2723}
2724
2725
2726static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
2727{
2728 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
2729 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
2730 unsigned int idx;
2731 void *pField;
2732 char *value_str = NULL;
2733 unsigned long len_value_str;
2734 char *candidate;
2735 v_U32_t value;
2736 v_S31_t svalue;
2737 void *pStructBase = pHddCtx->cfg_ini;
2738 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2739 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2740 v_U32_t cbOutString;
2741 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002742 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07002743
2744 // sanity test
2745 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
2746 {
2747 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002748 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07002749 }
2750
2751 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
2752 {
2753 //Calculate the address of the destination field in the structure.
2754 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
2755
2756 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
2757
2758 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
2759 {
2760 // If we could not read the cfg item and it is required, this is an error.
2761 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002762 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002763 ret_status = VOS_STATUS_E_FAILURE;
2764 break;
2765 }
2766
2767 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2768 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
2769 {
2770 // If successfully read from the registry, use the value read.
2771 // If not, use the default value.
2772 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002773 rv = kstrtoul(value_str, 10, &value);
2774 if (rv < 0) {
2775 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
2776 __func__, pRegEntry->RegName);
2777 value = pRegEntry->VarDefault;
2778 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002779 }
2780 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002781 rv = kstrtoul(value_str, 16, &value);
2782 if (rv < 0) {
2783 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
2784 __func__, pRegEntry->RegName);
2785 value = pRegEntry->VarDefault;
2786 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002787 }
2788 else {
2789 value = pRegEntry->VarDefault;
2790 }
2791
2792 // If this parameter needs range checking, do it here.
2793 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2794 {
2795 if ( value > pRegEntry->VarMax )
2796 {
2797 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002798 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07002799 value = pRegEntry->VarMax;
2800 }
2801
2802 if ( value < pRegEntry->VarMin )
2803 {
2804 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002805 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07002806 value = pRegEntry->VarMin;
2807 }
2808 }
2809 // If this parameter needs range checking, do it here.
2810 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2811 {
2812 if ( value > pRegEntry->VarMax )
2813 {
2814 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002815 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002816 value = pRegEntry->VarDefault;
2817 }
2818
2819 if ( value < pRegEntry->VarMin )
2820 {
2821 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002822 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002823 value = pRegEntry->VarDefault;
2824 }
2825 }
2826
2827 // Move the variable into the output field.
2828 memcpy( pField, &value, pRegEntry->VarSize );
2829 }
2830 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2831 {
2832 // If successfully read from the registry, use the value read.
2833 // If not, use the default value.
2834 if (VOS_STATUS_SUCCESS == match_status)
2835 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002836 rv = kstrtol(value_str, 10, &svalue);
2837 if (rv < 0) {
2838 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
2839 __func__, pRegEntry->RegName);
2840 svalue = (v_S31_t)pRegEntry->VarDefault;
2841 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002842 }
2843 else
2844 {
2845 svalue = (v_S31_t)pRegEntry->VarDefault;
2846 }
2847
2848 // If this parameter needs range checking, do it here.
2849 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2850 {
2851 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2852 {
2853 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002854 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002855 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
2856 svalue = (v_S31_t)pRegEntry->VarMax;
2857 }
2858
2859 if ( svalue < (v_S31_t)pRegEntry->VarMin )
2860 {
2861 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002862 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002863 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
2864 svalue = (v_S31_t)pRegEntry->VarMin;
2865 }
2866 }
2867 // If this parameter needs range checking, do it here.
2868 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2869 {
2870 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2871 {
2872 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
2873 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002874 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07002875 (int)pRegEntry->VarMax,
2876 (int)pRegEntry->VarDefault );
2877 svalue = (v_S31_t)pRegEntry->VarDefault;
2878 }
2879
2880 if ( svalue < (v_S31_t)pRegEntry->VarMin )
2881 {
2882 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
2883 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002884 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07002885 (int)pRegEntry->VarMin,
2886 (int)pRegEntry->VarDefault);
2887 svalue = pRegEntry->VarDefault;
2888 }
2889 }
2890
2891 // Move the variable into the output field.
2892 memcpy( pField, &svalue, pRegEntry->VarSize );
2893 }
2894 // Handle string parameters
2895 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2896 {
2897#ifdef WLAN_CFG_DEBUG
2898 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 -08002899 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07002900#endif
2901
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002902 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07002903 {
2904 len_value_str = strlen(value_str);
2905
2906 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002907 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002908 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07002909 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
2910 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
2911 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
2912 }
2913 else
2914 {
2915 memcpy( pField, (void *)(value_str), len_value_str);
2916 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
2917 }
2918 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002919 else
Jeff Johnson295189b2012-06-20 16:38:30 -07002920 {
2921 // Failed to read the string parameter from the registry. Use the default.
2922 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
2923 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002924 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002925 }
2926 }
2927 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2928 {
2929 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002930 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
2931 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002932 continue;
2933 }
2934 candidate = (char*)pRegEntry->VarDefault;
2935 if ( match_status == VOS_STATUS_SUCCESS) {
2936 len_value_str = strlen(value_str);
2937 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002938 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002939 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07002940 }
2941 else
2942 candidate = value_str;
2943 }
2944 //parse the string and store it in the byte array
2945 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
2946 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002947 ((char*)pField)[i] =
2948 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07002949 }
2950 }
2951 else
2952 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002953 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002954 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002955 }
2956
2957 // did we successfully parse a cfg item for this parameter?
2958 if( (match_status == VOS_STATUS_SUCCESS) &&
2959 (idx < MAX_CFG_INI_ITEMS) )
2960 {
2961 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
2962 }
2963 }
2964
2965 print_hdd_cfg(pHddCtx);
2966
2967 return( ret_status );
2968}
2969
2970eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
2971{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002972 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07002973 {
2974 case (eHDD_DOT11_MODE_abg):
2975 return eCSR_DOT11_MODE_abg;
2976 case (eHDD_DOT11_MODE_11b):
2977 return eCSR_DOT11_MODE_11b;
2978 case (eHDD_DOT11_MODE_11g):
2979 return eCSR_DOT11_MODE_11g;
2980 default:
2981 case (eHDD_DOT11_MODE_11n):
2982 return eCSR_DOT11_MODE_11n;
2983 case (eHDD_DOT11_MODE_11g_ONLY):
2984 return eCSR_DOT11_MODE_11g_ONLY;
2985 case (eHDD_DOT11_MODE_11n_ONLY):
2986 return eCSR_DOT11_MODE_11n_ONLY;
2987 case (eHDD_DOT11_MODE_11b_ONLY):
2988 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07002989#ifdef WLAN_FEATURE_11AC
2990 case (eHDD_DOT11_MODE_11ac_ONLY):
2991 return eCSR_DOT11_MODE_11ac_ONLY;
2992 case (eHDD_DOT11_MODE_11ac):
2993 return eCSR_DOT11_MODE_11ac;
2994#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002995 case (eHDD_DOT11_MODE_AUTO):
2996 return eCSR_DOT11_MODE_AUTO;
2997 }
2998
2999}
3000
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003001static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003002{
3003 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3004 tSmeBtcConfig btcParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003005
Jeff Johnson295189b2012-06-20 16:38:30 -07003006 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3007
3008 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003009 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003010 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3011
Jeff Johnson32d95a32012-09-10 13:15:23 -07003012 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3013 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3014 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3015 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3016 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3017 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3018 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3019 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3020 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3021 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3022 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3023 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3024 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3025
Jeff Johnson295189b2012-06-20 16:38:30 -07003026 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3027}
3028
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003029static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003030{
3031 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3032
3033 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003034
Jeff Johnson295189b2012-06-20 16:38:30 -07003035 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003036
Jeff Johnson295189b2012-06-20 16:38:30 -07003037 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3038 {
3039 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3040 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3041 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3042 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3043 }
3044 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3045 {
3046 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3047 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3048 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3049 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3050 }
3051 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3052 {
3053 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3054 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3055 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3056 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3057 }
3058
3059 if (pConfig->fIsImpsEnabled)
3060 {
3061 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3062 }
3063 else
3064 {
3065 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3066 }
3067
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303068 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3069 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3070 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3071
Jeff Johnson295189b2012-06-20 16:38:30 -07003072 if (pConfig->fIsBmpsEnabled)
3073 {
3074 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3075 }
3076 else
3077 {
3078 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3079 }
3080
3081 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3082
3083 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3084 {
3085 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3086 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003087
Jeff Johnson295189b2012-06-20 16:38:30 -07003088 if(pConfig->fIsAutoBmpsTimerEnabled)
3089 {
3090 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3091 }
3092
3093}
3094
3095#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3096static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3097{
3098 char *s = str;
3099
3100 if( str == NULL || intArray == NULL || len == NULL )
3101 {
3102 return VOS_STATUS_E_INVAL;
3103 }
3104 *len = 0;
3105
Jeff Johnson295189b2012-06-20 16:38:30 -07003106 while ( (s != NULL) && (*len < intArrayMaxLen) )
3107 {
3108 int val;
3109 //Increment length only if sscanf succesfully extracted one element.
3110 //Any other return value means error. Ignore it.
3111 if( sscanf(s, "%d", &val ) == 1 )
3112 {
3113 intArray[*len] = (tANI_U8) val;
3114 *len += 1;
3115 }
3116 s = strpbrk( s, "," );
3117 if( s )
3118 s++;
3119 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003120
3121 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003122
Jeff Johnson295189b2012-06-20 16:38:30 -07003123}
3124#endif
3125
3126
3127v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3128{
3129 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003130#ifdef WLAN_SOFTAP_VSTA_FEATURE
3131 tANI_U32 val;
3132#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003133
3134 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303135 tSirMacHTCapabilityInfo htCapInfo;
3136
Jeff Johnson295189b2012-06-20 16:38:30 -07003137
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003138 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003139 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3140 {
3141 fStatus = FALSE;
3142 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3143 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003144
3145 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003146 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3147 {
3148 fStatus = FALSE;
3149 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3150 }
3151
3152 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3153 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3154 {
3155 fStatus = FALSE;
3156 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3157 }
3158
3159 if ( 0 != pConfig->Cfg1Id )
3160 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003161 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003162 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3163 {
3164 fStatus = FALSE;
3165 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3166 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003167
Jeff Johnson295189b2012-06-20 16:38:30 -07003168 }
3169
3170 if ( 0 != pConfig->Cfg2Id )
3171 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003172 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003173 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3174 {
3175 fStatus = FALSE;
3176 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3177 }
3178 }
3179
3180 if ( 0 != pConfig->Cfg3Id )
3181 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003182 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003183 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3184 {
3185 fStatus = FALSE;
3186 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3187 }
3188 }
3189
3190 if ( 0 != pConfig->Cfg4Id )
3191 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003192 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003193 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3194 {
3195 fStatus = FALSE;
3196 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3197 }
3198 }
3199
3200 if ( 0 != pConfig->Cfg5Id )
3201 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003202 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003203 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3204 {
3205 fStatus = FALSE;
3206 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3207 }
3208 }
3209
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003210 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003211 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3212 {
3213 fStatus = FALSE;
3214 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3215 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003216
3217 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003218 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3219 {
3220 fStatus = FALSE;
3221 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3222 }
3223
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003224 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003225 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3226 {
3227 fStatus = FALSE;
3228 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3229 }
3230
3231 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3232 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3233 {
3234 fStatus = FALSE;
3235 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3236 }
3237
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003238 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003239 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003240 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003241 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3242 {
3243 fStatus = FALSE;
3244 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3245 }
3246 }
3247 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003248 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003249 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3250 {
3251 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3252 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003253 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003254 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003255 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003256 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3257 {
3258 fStatus = FALSE;
3259 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3260 }
3261 }
3262 else
3263 {
3264 fStatus = FALSE;
3265 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3266 }
3267 }
3268
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003269 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003270 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3271 {
3272 fStatus = FALSE;
3273 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3274 }
3275
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003276 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003277 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3278 {
3279 fStatus = FALSE;
3280 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3281 }
3282
3283 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3284 {
3285 fStatus = FALSE;
3286 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3287 }
3288
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003289 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
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_LOW_GAIN_OVERRIDE to HAL\n");
3294 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003295
Jeff Johnson295189b2012-06-20 16:38:30 -07003296 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3297 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3298 {
3299 fStatus = FALSE;
3300 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3301 }
3302
Jeff Johnson295189b2012-06-20 16:38:30 -07003303 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3304 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3305 {
3306 fStatus = FALSE;
3307 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3308 }
3309
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003310 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003311 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3312 {
3313 fStatus = FALSE;
3314 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3315 }
3316
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003317 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003318 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3319 {
3320 fStatus = FALSE;
3321 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3322 }
3323
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003324#ifdef FEATURE_WLAN_LFR
3325 if (pConfig->isFastRoamIniFeatureEnabled)
3326 {
3327 pConfig->fEnableFwRssiMonitoring = TRUE;
3328 }
3329#endif
3330#ifdef FEATURE_WLAN_CCX
3331 if (pConfig->isCcxIniFeatureEnabled)
3332 {
3333 pConfig->fEnableFwRssiMonitoring = TRUE;
3334 }
3335#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003336 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003337 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3338 {
3339 fStatus = FALSE;
3340 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3341 }
3342
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003343 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003344 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3345 {
3346 fStatus = FALSE;
3347 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3348 }
3349
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003350 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003351 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3352 {
3353 fStatus = FALSE;
3354 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3355 }
3356
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003357 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003358 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3359 {
3360 fStatus = FALSE;
3361 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3362 }
3363
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003364 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003365 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3366 {
3367 fStatus = FALSE;
3368 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3369 }
3370
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003371 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003372 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3373 {
3374 fStatus = FALSE;
3375 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003376 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003377
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003378 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003379 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3380 {
3381 fStatus = FALSE;
3382 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3383 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003384
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303385 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3386 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3387 {
3388 fStatus = FALSE;
3389 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3390 }
3391
Jeff Johnson295189b2012-06-20 16:38:30 -07003392#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003393 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003394 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3395 {
3396 fStatus = FALSE;
3397 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3398 }
3399
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003400 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003401 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3402 {
3403 fStatus = FALSE;
3404 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3405 }
3406
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003407 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003408 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3409 {
3410 fStatus = FALSE;
3411 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3412 }
3413
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003414 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003415 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3416#endif
3417
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003418 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003419 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3420 {
3421 fStatus = FALSE;
3422 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3423 }
3424
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003425 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003426 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3427 {
3428 fStatus = FALSE;
3429 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3430 }
3431
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003432 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003433 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3434 {
3435 fStatus = FALSE;
3436 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3437 }
3438
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003439 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003440 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3441 {
3442 fStatus = FALSE;
3443 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3444 }
3445
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003446 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003447 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3448 {
3449 fStatus = FALSE;
3450 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3451 }
3452
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003453 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003454 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3455 {
3456 fStatus = FALSE;
3457 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
3458 }
3459
3460 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
3461 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3462 {
3463 fStatus = FALSE;
3464 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
3465 }
3466
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003467 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003468 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3469 {
3470 fStatus = FALSE;
3471 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
3472 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003473 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003474 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3475 {
3476 fStatus = FALSE;
3477 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
3478 }
3479
3480 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
3481 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3482 {
3483 fStatus = FALSE;
3484 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 -08003485 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003486
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003487 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07003488 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003489 {
3490 fStatus = FALSE;
3491 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3492 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003493 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003494 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3495 {
3496 fStatus = FALSE;
3497 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
3498 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003499 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003500 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3501 {
3502 fStatus = FALSE;
3503 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
3504 }
3505
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003506 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
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_11D_ENABLED configuration info to CCM\n" );
3511 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003512 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
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_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
3517 }
3518
Jeff Johnson295189b2012-06-20 16:38:30 -07003519 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
3520 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3521 {
3522 fStatus = FALSE;
3523 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3524 }
3525
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003526 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07003527 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
3528 ==eHAL_STATUS_FAILURE)
3529 {
3530 fStatus = FALSE;
3531 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
3532 }
3533
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003534 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07003535 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
3536 ==eHAL_STATUS_FAILURE)
3537 {
3538 fStatus = FALSE;
3539 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
3540 }
3541
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003542 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003543 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3544 {
3545 fStatus = FALSE;
3546 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
3547 }
3548
Jeff Johnsond13512a2012-07-17 11:42:19 -07003549
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003550 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07003551 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3552 {
3553 fStatus = FALSE;
3554 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
3555 }
3556
Jeff Johnsone7245742012-09-05 17:12:55 -07003557#ifdef WLAN_FEATURE_11AC
3558 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
3559 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
3560 /* we update only the least significant 2 bits in the corresponding fields */
3561 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
3562 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
3563 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
3564 {
3565 {
3566 tANI_U32 temp = 0;
3567
3568 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003569 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003570
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003571 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07003572 temp, NULL, eANI_BOOLEAN_FALSE)
3573 ==eHAL_STATUS_FAILURE)
3574 {
3575 fStatus = FALSE;
3576 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
3577 }
3578
3579 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003580 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003581
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003582 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003583 temp, NULL, eANI_BOOLEAN_FALSE)
3584 ==eHAL_STATUS_FAILURE)
3585 {
3586 fStatus = FALSE;
3587 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
3588 }
3589
3590 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003591 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003592
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003593 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003594 temp, NULL, eANI_BOOLEAN_FALSE)
3595 ==eHAL_STATUS_FAILURE)
3596 {
3597 fStatus = FALSE;
3598 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
3599 }
3600 }
3601 }
3602#endif
3603
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003604 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07003605 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3606 {
3607 fStatus = FALSE;
3608 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
3609 }
3610
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003611 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303612 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3613 ==eHAL_STATUS_FAILURE)
3614 {
3615 fStatus = FALSE;
3616 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
3617 }
3618
3619 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
3620 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
3621
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003622 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303623 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
3624 ==eHAL_STATUS_FAILURE)
3625 {
3626 fStatus = FALSE;
3627 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
3628 }
3629
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003630 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303631 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3632 ==eHAL_STATUS_FAILURE)
3633 {
3634 fStatus = FALSE;
3635 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
3636 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003637
3638#ifdef WLAN_SOFTAP_VSTA_FEATURE
3639 if(pConfig->fEnableVSTASupport)
3640 {
3641 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
3642 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
3643 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
3644 }
3645 else
3646 {
3647 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
3648 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003649 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003650 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3651 {
3652 fStatus = FALSE;
3653 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
3654 }
3655#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003656 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003657 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
3658 ==eHAL_STATUS_FAILURE)
3659 {
3660 fStatus = FALSE;
3661 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
3662 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303663
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08003664 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
3665 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3666 {
3667 fStatus = FALSE;
3668 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
3669 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003670 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
3671 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3672 {
3673 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003674 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 -08003675 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003676
3677 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
3678 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3679 {
3680 fStatus = FALSE;
3681 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
3682 }
3683
3684 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
3685 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3686 {
3687 fStatus = FALSE;
3688 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
3689 }
3690
3691 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
3692 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3693 {
3694 fStatus = FALSE;
3695 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
3696 }
3697
Jeff Johnson295189b2012-06-20 16:38:30 -07003698 return fStatus;
3699}
3700
3701
3702/**---------------------------------------------------------------------------
3703
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003704 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07003705
3706 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003707
Jeff Johnson295189b2012-06-20 16:38:30 -07003708 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003709
Jeff Johnson295189b2012-06-20 16:38:30 -07003710 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003711
Jeff Johnson295189b2012-06-20 16:38:30 -07003712 --------------------------------------------------------------------------*/
3713
3714VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
3715{
3716 VOS_STATUS status = VOS_STATUS_SUCCESS;
3717 eHalStatus halStatus;
3718 tSmeConfigParams smeConfig;
3719
3720 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3721
3722 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
3723
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003724 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003725 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
3726 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
3727
3728 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07003729 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
3730 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003731 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
3732 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
3733 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
3734 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
3735 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
3736
3737 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
3738
3739 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
3740 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
3741 smeConfig.csrConfig.TxRate = pConfig->TxRate;
3742 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
3743 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
3744 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
3745 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
3746 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
3747 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
3748 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
3749 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
3750 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
3751 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
3752 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
3753 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
3754 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
3755 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003756 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07003757 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
3758 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
3759 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
3760 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003761 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
3762 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003763#ifdef WLAN_AP_STA_CONCURRENCY
3764 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
3765 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
3766 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
3767 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
3768 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Vinay Malekal05fdc812012-12-17 13:04:30 -08003769 smeConfig.csrConfig.nNumChanCombinedConc = pConfig->nNumChanCombinedConc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003770#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003771 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
3772 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
3773
3774#if defined WLAN_FEATURE_VOWIFI
3775 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
3776 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
3777#endif
3778 //Remaining config params not obtained from registry
3779 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07003780#ifdef WLAN_FEATURE_11AC
3781 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08003782 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08003783 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Jeff Johnsone7245742012-09-05 17:12:55 -07003784#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07003785 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
3786 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003787 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
3788 smeConfig.csrConfig.HeartbeatThresh50 = 40;
3789 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08003790 if (pConfig->nBandCapability == eCSR_BAND_24)
3791 {
3792 smeConfig.csrConfig.Is11hSupportEnabled = 0;
3793 } else {
3794 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
3795 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003796 smeConfig.csrConfig.cbChoice = 0;
3797 smeConfig.csrConfig.bgScanInterval = 0;
3798 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07003799 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
3800 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
3801 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003802#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3803 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003804 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003805#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07003806 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
3807
Jeff Johnson295189b2012-06-20 16:38:30 -07003808 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08003809 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
3810 {
3811 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07003812
Jeff Johnson7dda7772013-02-27 08:36:13 -08003813 /* if there is a requirement that HDD will control the default
3814 * channel list & country code (say from .ini file) we need to
3815 * add some logic here. Otherwise the default 11d info should
3816 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07003817 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08003818 else
3819 {
3820 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
3821 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003822
Jeff Johnson7dda7772013-02-27 08:36:13 -08003823 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
3824 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
3825 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
3826 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003827 hdd_set_power_save_config(pHddCtx, &smeConfig);
3828 hdd_set_btc_config(pHddCtx);
3829
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003830#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07003831 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
3832#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003833#ifdef FEATURE_WLAN_LFR
3834 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003835 if( pConfig->isFastRoamIniFeatureEnabled )
3836 {
3837 pConfig->isFastTransitionEnabled = TRUE;
3838 }
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003839#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003840#ifdef FEATURE_WLAN_CCX
3841 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003842 if( pConfig->isCcxIniFeatureEnabled )
3843 {
3844 pConfig->isFastTransitionEnabled = TRUE;
3845 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003846#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003847#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07003848 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07003849 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08003850 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowda100eb322013-03-15 16:48:20 -07003851 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07003852#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07003853#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
3854 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
3855#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003856#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3857 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
3858 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003859 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
3860 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07003861 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003862 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07003863 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08003864 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003865 hdd_string_to_u8_array( pConfig->neighborScanChanList,
3866 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
3867 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07003868 WNI_CFG_VALID_CHANNEL_LIST_LEN );
3869#endif
3870
3871 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
3872 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
3873
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003874 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07003875 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07003876 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07003877
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08003878 //Scan Results Aging Time out value
3879 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
3880
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08003881 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
3882
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003883 /* update SSR config */
3884 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
3885
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003886 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07003887 if ( !HAL_STATUS_SUCCESS( halStatus ) )
3888 {
3889 status = VOS_STATUS_E_FAILURE;
3890 }
3891
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003892
3893 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07003894}
3895
3896
3897/**---------------------------------------------------------------------------
3898
3899 \brief hdd_execute_config_command() -
3900
3901 This function executes an arbitrary configuration set command
3902
3903 \param - pHddCtx - Pointer to the HDD Adapter.
3904 \parmm - command - a configuration command of the form:
3905 <name>=<value>
3906
3907 \return - 0 for success, non zero for failure
3908
3909 --------------------------------------------------------------------------*/
3910
3911VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
3912{
3913 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
3914 REG_TABLE_ENTRY *pRegEntry;
3915 char *clone;
3916 char *pCmd;
3917 void *pField;
3918 char *name;
3919 char *value_str;
3920 v_U32_t value;
3921 v_S31_t svalue;
3922 size_t len_value_str;
3923 unsigned int idx;
3924 unsigned int i;
3925 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003926 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003927
3928 // assume failure until proven otherwise
3929 vstatus = VOS_STATUS_E_FAILURE;
3930
3931 // clone the command so that we can manipulate it
3932 clone = kstrdup(command, GFP_ATOMIC);
3933 if (NULL == clone)
3934 {
3935 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003936 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003937 return vstatus;
3938 }
3939
3940 // 'clone' will point to the beginning of the string so it can be freed
3941 // 'pCmd' will be used to walk/parse the command
3942 pCmd = clone;
3943
3944 // get rid of leading/trailing whitespace
3945 pCmd = i_trim(pCmd);
3946 if ('\0' == *pCmd)
3947 {
3948 // only whitespace
3949 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003950 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003951 goto done;
3952 }
3953
3954 // parse the <name> = <value>
3955 name = pCmd;
3956 while (('=' != *pCmd) && ('\0' != *pCmd))
3957 {
3958 pCmd++;
3959 }
3960 if ('\0' == *pCmd)
3961 {
3962 // did not find '='
3963 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003964 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003965 goto done;
3966 }
3967
3968 // replace '=' with NUL to terminate the <name>
3969 *pCmd++ = '\0';
3970 name = i_trim(name);
3971 if ('\0' == *name)
3972 {
3973 // did not find a name
3974 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003975 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003976 goto done;
3977 }
3978
3979 value_str = i_trim(pCmd);
3980 if ('\0' == *value_str)
3981 {
3982 // did not find a value
3983 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003984 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07003985 goto done;
3986 }
3987
3988 // lookup the configuration item
3989 for (idx = 0; idx < tableSize; idx++)
3990 {
3991 if (0 == strcmp(name, g_registry_table[idx].RegName))
3992 {
3993 // found a match
3994 break;
3995 }
3996 }
3997 if (tableSize == idx)
3998 {
3999 // did not match the name
4000 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004001 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004002 goto done;
4003 }
4004
4005 pRegEntry = &g_registry_table[idx];
4006 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4007 {
4008 // does not support dynamic configuration
4009 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004010 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004011 goto done;
4012 }
4013
4014 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4015
4016 switch (pRegEntry->RegType)
4017 {
4018 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004019 rv = kstrtoul(value_str, 10, &value);
4020 if (rv < 0)
4021 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004022 if (value < pRegEntry->VarMin)
4023 {
4024 // out of range
4025 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004026 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004027 goto done;
4028 }
4029 if (value > pRegEntry->VarMax)
4030 {
4031 // out of range
4032 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004033 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004034 goto done;
4035 }
4036 memcpy(pField, &value, pRegEntry->VarSize);
4037 break;
4038
4039 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004040 rv = kstrtoul(value_str, 16, &value);
4041 if (rv < 0)
4042 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004043 if (value < pRegEntry->VarMin)
4044 {
4045 // out of range
4046 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004047 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004048 goto done;
4049 }
4050 if (value > pRegEntry->VarMax)
4051 {
4052 // out of range
4053 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004054 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004055 goto done;
4056 }
4057 memcpy(pField, &value, pRegEntry->VarSize);
4058 break;
4059
4060 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004061 rv = kstrtol(value_str, 10, &svalue);
4062 if (rv < 0)
4063 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004064 if (svalue < (v_S31_t)pRegEntry->VarMin)
4065 {
4066 // out of range
4067 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004068 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004069 goto done;
4070 }
4071 if (svalue > (v_S31_t)pRegEntry->VarMax)
4072 {
4073 // out of range
4074 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004075 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004076 goto done;
4077 }
4078 memcpy(pField, &svalue, pRegEntry->VarSize);
4079 break;
4080
4081 case WLAN_PARAM_String:
4082 len_value_str = strlen(value_str);
4083 if (len_value_str > (pRegEntry->VarSize - 1))
4084 {
4085 // too big
4086 hddLog(LOGE,
4087 "%s: invalid command, string [%s] length "
4088 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004089 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004090 len_value_str, (pRegEntry->VarSize - 1));
4091 goto done;
4092 }
4093 // copy string plus NUL
4094 memcpy(pField, value_str, (len_value_str + 1));
4095 break;
4096
4097 case WLAN_PARAM_MacAddr:
4098 len_value_str = strlen(value_str);
4099 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4100 {
4101 // out of range
4102 hddLog(LOGE,
4103 "%s: invalid command, MAC address [%s] length "
4104 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004105 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004106 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4107 goto done;
4108 }
4109 //parse the string and store it in the byte array
4110 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4111 {
4112 ((char*)pField)[i] = (char)
4113 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4114 parseHexDigit(value_str[(i * 2) + 1]));
4115 }
4116 break;
4117
4118 default:
4119 goto done;
4120 }
4121
4122 // if we get here, we had a successful modification
4123 vstatus = VOS_STATUS_SUCCESS;
4124
4125 // config table has been modified, is there a notifier?
4126 if (NULL != pRegEntry->pfnDynamicNotify)
4127 {
4128 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4129 }
4130
4131 // note that this item was explicitly configured
4132 if (idx < MAX_CFG_INI_ITEMS)
4133 {
4134 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4135 }
4136 done:
4137 kfree(clone);
4138 return vstatus;
4139}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004140
4141/**---------------------------------------------------------------------------
4142
4143 \brief hdd_is_okc_mode_enabled() -
4144
4145 This function returns whether OKC mode is enabled or not
4146
4147 \param - pHddCtx - Pointer to the HDD Adapter.
4148
4149 \return - 1 for enabled, zero for disabled
4150
4151 --------------------------------------------------------------------------*/
4152
4153tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4154{
4155 if (NULL == pHddCtx)
4156 {
4157 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4158 return -EINVAL;
4159 }
4160
4161#ifdef FEATURE_WLAN_OKC
4162 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4163#else
4164 return eANI_BOOLEAN_FALSE;
4165#endif
4166}