blob: a9c6f013823581a86f4dfa63e753f87f89f503a9 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080042/**=========================================================================
Jeff Johnson295189b2012-06-20 16:38:30 -070043
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080044 EDIT HISTORY FOR FILE
45
46
47 This section contains comments describing changes made to the module.
48 Notice that changes are listed in reverse chronological order.
49
50
51 $Header:$ $DateTime: $ $Author: $
52
53
54 when who what, where, why
Jeff Johnson295189b2012-06-20 16:38:30 -070055 -------- --- --------------------------------------------------------
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -080056 07/27/09 kanand Created module.
Jeff Johnson295189b2012-06-20 16:38:30 -070057
58 ==========================================================================*/
59
60/*--------------------------------------------------------------------------
61 Include Files
62 ------------------------------------------------------------------------*/
63
64
65#include <linux/firmware.h>
66#include <linux/string.h>
67#include <wlan_hdd_includes.h>
68#include <wlan_hdd_main.h>
69#include <wlan_hdd_assoc.h>
70#include <wlan_hdd_cfg.h>
71#include <linux/string.h>
72#include <vos_types.h>
73#include <csrApi.h>
74#include <pmcApi.h>
75#include <wlan_hdd_misc.h>
76
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080077#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -080078static void cbNotifySetRoamPrefer5GHz(hdd_context_t *pHddCtx, unsigned long NotifyId)
79{
80 sme_UpdateRoamPrefer5GHz((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamPrefer5GHz);
81}
Jeff Johnson295189b2012-06-20 16:38:30 -070082
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080083static void cbNotifySetImmediateRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
84{
Srinivas Girigowdade697412013-02-14 16:31:48 -080085 sme_UpdateImmediateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -080086 pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
87}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080088
Srinivas Girigowdade697412013-02-14 16:31:48 -080089static void cbNotifySetRoamRssiDiff(hdd_context_t *pHddCtx, unsigned long NotifyId)
90{
91 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
92 pHddCtx->cfg_ini->RoamRssiDiff);
93}
94
Gopichand Nakkala98a98af2012-12-31 14:38:47 -080095static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
96{
97 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
98}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -070099
100static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
101{
102 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
103}
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700104
105static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
106{
107 // at the point this routine is called, the value in the cfg_ini table has already been updated
108 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
109}
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700110
111static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
112{
113 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
114}
115
116static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
117{
118 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime);
119}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700120#endif
121
122#ifdef FEATURE_WLAN_OKC
123static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
124{
125 // at the point this routine is called, the value in the cfg_ini table has already been updated
126}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800127#endif
128
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800129#ifdef FEATURE_WLAN_LFR
130static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
131{
132 // at the point this routine is called, the value in the cfg_ini table has already been updated
133 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
134}
135#endif
136
137#ifdef FEATURE_WLAN_CCX
138static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
139{
140 // at the point this routine is called, the value in the cfg_ini table has already been updated
141 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
142}
143#endif
144
145static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
146{
147 // at the point this routine is called, the value in the cfg_ini table has already been updated
148 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
149}
150
Srinivas Girigowdade697412013-02-14 16:31:48 -0800151#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
152static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
153{
154 // at the point this routine is called, the value in the cfg_ini table has already been updated
155 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
156}
157
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700158static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
159{
160 // at the point this routine is called, the value in the cfg_ini table has already been updated
161 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
162}
163
Srinivas Girigowdade697412013-02-14 16:31:48 -0800164static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
165{
166 // at the point this routine is called, the value in the cfg_ini table has already been updated
167 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
168}
169
170static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
171{
172 // at the point this routine is called, the value in the cfg_ini table has already been updated
173 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
174}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700175
176static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
177{
178 // at the point this routine is called, the value in the cfg_ini table has already been updated
179 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
180}
181
182static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
183{
184 // at the point this routine is called, the value in the cfg_ini table has already been updated
185 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
186}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800187#endif
188
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700189static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
190{
191 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
192}
193
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700194#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
195static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
196{
197 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700198 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
199 {
200 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
201 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
202 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700203}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700204
205static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
206{
207 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
208}
209
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700210#endif
211
Jeff Johnson295189b2012-06-20 16:38:30 -0700212REG_TABLE_ENTRY g_registry_table[] =
213{
214 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800215 hdd_config_t, RTSThreshold,
216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
217 CFG_RTS_THRESHOLD_DEFAULT,
218 CFG_RTS_THRESHOLD_MIN,
219 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700220
221 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800222 hdd_config_t, FragmentationThreshold,
223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
224 CFG_FRAG_THRESHOLD_DEFAULT,
225 CFG_FRAG_THRESHOLD_MIN,
226 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700227
228 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800229 hdd_config_t, Calibration,
230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
231 CFG_CALIBRATION_DEFAULT,
232 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700233 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800234
Jeff Johnson295189b2012-06-20 16:38:30 -0700235 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800236 hdd_config_t, CalibrationPeriod,
237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
238 CFG_CALIBRATION_PERIOD_DEFAULT,
239 CFG_CALIBRATION_PERIOD_MIN,
240 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700241
242 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
243 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
245 CFG_OPERATING_CHANNEL_DEFAULT,
246 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700247 CFG_OPERATING_CHANNEL_MAX ),
248
249 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800250 hdd_config_t, ShortSlotTimeEnabled,
251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
252 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
253 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700254 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
255
256 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800257 hdd_config_t, Is11dSupportEnabled,
258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
259 CFG_11D_SUPPORT_ENABLED_DEFAULT,
260 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700261 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800262
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800263 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800264 hdd_config_t, Is11hSupportEnabled,
265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
266 CFG_11H_SUPPORT_ENABLED_DEFAULT,
267 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800268 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700269
270 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800271 hdd_config_t, fEnforce11dChannels,
272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
273 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
274 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700275 CFG_ENFORCE_11D_CHANNELS_MAX ),
276
277 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800278 hdd_config_t, fSupplicantCountryCodeHasPriority,
279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
280 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
281 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700282 CFG_COUNTRY_CODE_PRIORITY_MAX),
283
284 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800285 hdd_config_t, fEnforceCountryCodeMatch,
286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
287 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
288 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700289 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
290
291 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800292 hdd_config_t, fEnforceDefaultDomain,
293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
294 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
295 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700296 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800297
Jeff Johnson295189b2012-06-20 16:38:30 -0700298 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
299 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
301 CFG_GENERIC_ID1_DEFAULT,
302 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700303 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800304
Jeff Johnson295189b2012-06-20 16:38:30 -0700305 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
306 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
308 CFG_GENERIC_ID2_DEFAULT,
309 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800311
Jeff Johnson295189b2012-06-20 16:38:30 -0700312 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
313 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
315 CFG_GENERIC_ID3_DEFAULT,
316 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700317 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800318
Jeff Johnson295189b2012-06-20 16:38:30 -0700319 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
320 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
322 CFG_GENERIC_ID4_DEFAULT,
323 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700324 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800325
Jeff Johnson295189b2012-06-20 16:38:30 -0700326 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
327 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
329 CFG_GENERIC_ID5_DEFAULT,
330 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700331 CFG_GENERIC_ID5_MAX ),
332
333 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
334 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
336 CFG_GENERIC_VALUE1_DEFAULT,
337 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700338 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800339
Jeff Johnson295189b2012-06-20 16:38:30 -0700340 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
341 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
343 CFG_GENERIC_VALUE2_DEFAULT,
344 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800346
Jeff Johnson295189b2012-06-20 16:38:30 -0700347 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
348 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
350 CFG_GENERIC_VALUE3_DEFAULT,
351 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800353
Jeff Johnson295189b2012-06-20 16:38:30 -0700354 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
355 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
357 CFG_GENERIC_VALUE4_DEFAULT,
358 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700359 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360
Jeff Johnson295189b2012-06-20 16:38:30 -0700361 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
362 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
364 CFG_GENERIC_VALUE5_DEFAULT,
365 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700366 CFG_GENERIC_VALUE5_MAX ),
367
368 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800369 hdd_config_t, HeartbeatThresh24,
370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
371 CFG_HEARTBEAT_THRESH_24_DEFAULT,
372 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700373 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800374
Jeff Johnson295189b2012-06-20 16:38:30 -0700375 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800376 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700377 VAR_FLAGS_OPTIONAL,
378 (void *)CFG_POWER_USAGE_DEFAULT ),
379
380 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800381 hdd_config_t, nEnableSuspend,
382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
383 CFG_ENABLE_SUSPEND_DEFAULT,
384 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700385 CFG_ENABLE_SUSPEND_MAX ),
386
387 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800388 hdd_config_t, nEnableDriverStop,
389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
390 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
391 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700392 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
393
394 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800395 hdd_config_t, fIsImpsEnabled,
396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
397 CFG_ENABLE_IMPS_DEFAULT,
398 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 CFG_ENABLE_IMPS_MAX ),
400
401 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800402 hdd_config_t, fIsLogpEnabled,
403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
404 CFG_ENABLE_LOGP_DEFAULT,
405 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700406 CFG_ENABLE_LOGP_MAX ),
407
408 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800409 hdd_config_t, nImpsMinSleepTime,
410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
411 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
412 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700413 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
414
415 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800416 hdd_config_t, nImpsMaxSleepTime,
417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
418 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
419 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700420 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
421
422 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
423 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
425 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
426 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700427 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
428
429 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800430 hdd_config_t, fIsBmpsEnabled,
431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
432 CFG_ENABLE_BMPS_DEFAULT,
433 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700434 CFG_ENABLE_BMPS_MAX ),
435
436 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800437 hdd_config_t, nBmpsMinListenInterval,
438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
439 CFG_BMPS_MINIMUM_LI_DEFAULT,
440 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700441 CFG_BMPS_MINIMUM_LI_MAX ),
442
443 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800444 hdd_config_t, nBmpsMaxListenInterval,
445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
446 CFG_BMPS_MAXIMUM_LI_DEFAULT,
447 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700448 CFG_BMPS_MAXIMUM_LI_MAX ),
449
450 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
451 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
453 CFG_BMPS_MODERATE_LI_DEFAULT,
454 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700455 CFG_BMPS_MODERATE_LI_MAX ),
456
457 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800458 hdd_config_t, fIsAutoBmpsTimerEnabled,
459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
460 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
461 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700462 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
463
464 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800465 hdd_config_t, nAutoBmpsTimerValue,
466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
467 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
468 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700469 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
470
471 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800472 hdd_config_t, dot11Mode,
473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
474 CFG_DOT11_MODE_DEFAULT,
475 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700476 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477
Jeff Johnson295189b2012-06-20 16:38:30 -0700478 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800479 hdd_config_t, nChannelBondingMode24GHz,
480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
481 CFG_CHANNEL_BONDING_MODE_DEFAULT,
482 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700483 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800484
Jeff Johnson295189b2012-06-20 16:38:30 -0700485 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800486 hdd_config_t, nChannelBondingMode5GHz,
487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
488 CFG_CHANNEL_BONDING_MODE_DEFAULT,
489 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700490 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800491
492 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
493 hdd_config_t, MaxRxAmpduFactor,
494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
495 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
496 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700497 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800498
Jeff Johnson295189b2012-06-20 16:38:30 -0700499 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800500 hdd_config_t, TxRate,
501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
502 CFG_FIXED_RATE_DEFAULT,
503 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700504 CFG_FIXED_RATE_MAX ),
505
506 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800507 hdd_config_t, ShortGI20MhzEnable,
508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
509 CFG_SHORT_GI_20MHZ_DEFAULT,
510 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700511 CFG_SHORT_GI_20MHZ_MAX ),
512
513 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800514 hdd_config_t, BlockAckAutoSetup,
515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
516 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
517 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700518 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800519
Jeff Johnson295189b2012-06-20 16:38:30 -0700520 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800521 hdd_config_t, ScanResultAgeCount,
522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
523 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
524 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
526
527 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800528 hdd_config_t, nScanAgeTimeNCNPS,
529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
530 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
531 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700532 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
533
534 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800535 hdd_config_t, nScanAgeTimeNCPS,
536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
537 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
538 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700539 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
540
541 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800542 hdd_config_t, nScanAgeTimeCNPS,
543 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
544 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
545 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700546 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
547
548 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800549 hdd_config_t, nScanAgeTimeCPS,
550 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
551 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
552 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700553 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
554
555 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800556 hdd_config_t, nRssiCatGap,
557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
558 CFG_RSSI_CATEGORY_GAP_DEFAULT,
559 CFG_RSSI_CATEGORY_GAP_MIN,
560 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700561
562 REG_VARIABLE( CFG_STAT_TIMER_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800563 hdd_config_t, nStatTimerInterval,
564 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
565 CFG_STAT_TIMER_INTERVAL_DEFAULT,
566 CFG_STAT_TIMER_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700567 CFG_STAT_TIMER_INTERVAL_MAX ),
568
569 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800570 hdd_config_t, fIsShortPreamble,
571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
572 CFG_SHORT_PREAMBLE_DEFAULT,
573 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700574 CFG_SHORT_PREAMBLE_MAX ),
575
576 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800577 hdd_config_t, fIsAutoIbssBssid,
578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
579 CFG_IBSS_AUTO_BSSID_DEFAULT,
580 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700581 CFG_IBSS_AUTO_BSSID_MAX ),
582
583 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800584 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700585 VAR_FLAGS_OPTIONAL,
586 (void *)CFG_IBSS_BSSID_DEFAULT ),
587
588 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800589 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700590 VAR_FLAGS_OPTIONAL,
591 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
592
593 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800594 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700595 VAR_FLAGS_OPTIONAL,
596 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
597
598 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800599 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700600 VAR_FLAGS_OPTIONAL,
601 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
602
603 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800604 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700605 VAR_FLAGS_OPTIONAL,
606 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
607
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700608 REG_VARIABLE_STRING( CFG_CRDA_DEFAULT_COUNTRY_CODE, WLAN_PARAM_String,
609 hdd_config_t, crdaDefaultCountryCode,
610 VAR_FLAGS_OPTIONAL,
611 (void *)CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT ),
612
Jeff Johnson295189b2012-06-20 16:38:30 -0700613 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800614 hdd_config_t, apUapsdEnabled,
615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
616 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
617 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700618 CFG_AP_QOS_UAPSD_MODE_MAX ),
619
620 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800621 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700622 VAR_FLAGS_OPTIONAL,
623 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
624
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700625 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
626 hdd_config_t, apRandomBssidEnabled,
627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
629 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
630 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
631
Jeff Johnson295189b2012-06-20 16:38:30 -0700632 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
636 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
637 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
638
639 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
640 hdd_config_t, apProtection,
641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
642 CFG_AP_PROTECTION_MODE_DEFAULT,
643 CFG_AP_PROTECTION_MODE_MIN,
644 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800645
Jeff Johnson295189b2012-06-20 16:38:30 -0700646 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800647 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
649 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
650 CFG_AP_OBSS_PROTECTION_MODE_MIN,
651 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800652
Jeff Johnson295189b2012-06-20 16:38:30 -0700653 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800654 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
656 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
657 CFG_AP_STA_SECURITY_SEPERATION_MIN,
658 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
659
660 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800661 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
663 CFG_FRAMES_PROCESSING_TH_DEFAULT,
664 CFG_FRAMES_PROCESSING_TH_MIN,
665 CFG_FRAMES_PROCESSING_TH_MAX ),
666
667 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
668 hdd_config_t, apStartChannelNum,
669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
670 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
671 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
672 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
673
674 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
675 hdd_config_t, apEndChannelNum,
676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
677 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
678 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
679 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
680
681 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
682 hdd_config_t, apOperatingBand,
683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
684 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
685 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
686 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
687
688 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
689 hdd_config_t, apAutoChannelSelection,
690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
691 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
692 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
693 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800694
Jeff Johnson295189b2012-06-20 16:38:30 -0700695 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
696 hdd_config_t, enableLTECoex,
697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
698 CFG_ENABLE_LTE_COEX_DEFAULT,
699 CFG_ENABLE_LTE_COEX_MIN,
700 CFG_ENABLE_LTE_COEX_MAX ),
701
702 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
703 hdd_config_t, apKeepAlivePeriod,
704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
705 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
706 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
707 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
708
709 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
710 hdd_config_t, goKeepAlivePeriod,
711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
712 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
713 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
714 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
715
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530716 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
717 hdd_config_t, apLinkMonitorPeriod,
718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
719 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
720 CFG_AP_LINK_MONITOR_PERIOD_MIN,
721 CFG_AP_LINK_MONITOR_PERIOD_MAX),
722
Jeff Johnson295189b2012-06-20 16:38:30 -0700723 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
724 hdd_config_t, disablePacketFilter,
725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
726 CFG_DISABLE_PACKET_FILTER_DEFAULT,
727 CFG_DISABLE_PACKET_FILTER_MIN,
728 CFG_DISABLE_PACKET_FILTER_MAX ),
729
730 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800731 hdd_config_t, nBeaconInterval,
732 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
733 CFG_BEACON_INTERVAL_DEFAULT,
734 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700735 CFG_BEACON_INTERVAL_MAX ),
736
Jeff Johnson295189b2012-06-20 16:38:30 -0700737 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800738 hdd_config_t, nEnableIdleScan,
739 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
740 CFG_ENABLE_IDLE_SCAN_DEFAULT,
741 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700742 CFG_ENABLE_IDLE_SCAN_MAX ),
743
744 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800745 hdd_config_t, nRoamingTime,
746 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
747 CFG_ROAMING_TIME_DEFAULT,
748 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700749 CFG_ROAMING_TIME_MAX ),
750
751 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800752 hdd_config_t, nVccRssiTrigger,
753 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
754 CFG_VCC_RSSI_TRIGGER_DEFAULT,
755 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700756 CFG_VCC_RSSI_TRIGGER_MAX ),
757
758 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800759 hdd_config_t, nVccUlMacLossThreshold,
760 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
761 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
762 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700763 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
764
765 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800766 hdd_config_t, nPassiveMaxChnTime,
767 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
768 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
769 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700770 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
771
772 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800773 hdd_config_t, nPassiveMinChnTime,
774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
775 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
776 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700777 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
778
779 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800780 hdd_config_t, nActiveMaxChnTime,
781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
782 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
783 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700784 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
785
786 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800787 hdd_config_t, nActiveMinChnTime,
788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
789 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
790 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700791 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700792
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800793 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
794 hdd_config_t, nActiveMaxChnTimeBtc,
795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
796 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
797 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
798 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
799
800 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
801 hdd_config_t, nActiveMinChnTimeBtc,
802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
803 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
804 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
805 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
806
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700807 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
808 hdd_config_t, retryLimitZero,
809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
810 CFG_RETRY_LIMIT_ZERO_DEFAULT,
811 CFG_RETRY_LIMIT_ZERO_MIN,
812 CFG_RETRY_LIMIT_ZERO_MAX ),
813
814 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
815 hdd_config_t, retryLimitOne,
816 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
817 CFG_RETRY_LIMIT_ONE_DEFAULT,
818 CFG_RETRY_LIMIT_ONE_MIN,
819 CFG_RETRY_LIMIT_ONE_MAX ),
820
821 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
822 hdd_config_t, retryLimitTwo,
823 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
824 CFG_RETRY_LIMIT_TWO_DEFAULT,
825 CFG_RETRY_LIMIT_TWO_MIN,
826 CFG_RETRY_LIMIT_TWO_MAX ),
827
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700828 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
829 hdd_config_t, disableAggWithBtc,
830 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
831 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
832 CFG_DISABLE_AGG_WITH_BTC_MIN,
833 CFG_DISABLE_AGG_WITH_BTC_MAX ),
834
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700835#ifdef WLAN_AP_STA_CONCURRENCY
836 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800837 hdd_config_t, nPassiveMaxChnTimeConc,
838 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
839 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
840 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700841 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
842
843 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800844 hdd_config_t, nPassiveMinChnTimeConc,
845 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
846 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
847 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700848 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
849
850 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800851 hdd_config_t, nActiveMaxChnTimeConc,
852 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
853 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
854 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700855 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
856
857 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800858 hdd_config_t, nActiveMinChnTimeConc,
859 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
860 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
861 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700862 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
863
864 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800865 hdd_config_t, nRestTimeConc,
866 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
867 CFG_REST_TIME_CONC_DEFAULT,
868 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700869 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800870
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700871 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
872 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800873 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700874 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
875 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
876 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
877
878 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
879 hdd_config_t, nNumP2PChanCombinedConc,
880 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
881 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
882 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
883 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700884#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800885
Jeff Johnson295189b2012-06-20 16:38:30 -0700886 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800887 hdd_config_t, nMaxPsPoll,
888 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
889 CFG_MAX_PS_POLL_DEFAULT,
890 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700891 CFG_MAX_PS_POLL_MAX ),
892
893 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800894 hdd_config_t, nTxPowerCap,
895 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
896 CFG_MAX_TX_POWER_DEFAULT,
897 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700898 CFG_MAX_TX_POWER_MAX ),
899
900 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
901 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
903 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
904 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700905 CFG_LOW_GAIN_OVERRIDE_MAX ),
906
907 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
908 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800909 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
910 CFG_RSSI_FILTER_PERIOD_DEFAULT,
911 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700912 CFG_RSSI_FILTER_PERIOD_MAX ),
913
914 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
915 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
917 CFG_IGNORE_DTIM_DEFAULT,
918 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700919 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800920
Yue Mac24062f2013-05-13 17:01:29 -0700921 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
922 hdd_config_t, fMaxLIModulatedDTIM,
923 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
924 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
925 CFG_MAX_LI_MODULATED_DTIM_MIN,
926 CFG_MAX_LI_MODULATED_DTIM_MAX ),
927
Jeff Johnson295189b2012-06-20 16:38:30 -0700928 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800929 hdd_config_t, nRxAnt,
930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
931 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
932 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700933 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
934
935 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800936 hdd_config_t, fEnableFwHeartBeatMonitoring,
937 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
938 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
939 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700940 CFG_FW_HEART_BEAT_MONITORING_MAX ),
941
942 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800943 hdd_config_t, fEnableFwBeaconFiltering,
944 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
945 CFG_FW_BEACON_FILTERING_DEFAULT,
946 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700947 CFG_FW_BEACON_FILTERING_MAX ),
948
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800949 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800950 hdd_config_t, fEnableFwRssiMonitoring,
951 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
952 CFG_FW_RSSI_MONITORING_DEFAULT,
953 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800954 CFG_FW_RSSI_MONITORING_MAX,
955 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700956
957 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800958 hdd_config_t, nDataInactivityTimeout,
959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
960 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
961 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700962 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800963
Jeff Johnson295189b2012-06-20 16:38:30 -0700964 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800965 hdd_config_t, nthBeaconFilter,
966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
967 CFG_NTH_BEACON_FILTER_DEFAULT,
968 CFG_NTH_BEACON_FILTER_MIN,
969 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700970
971 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800972 hdd_config_t, WmmMode,
973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
974 CFG_QOS_WMM_MODE_DEFAULT,
975 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700976 CFG_QOS_WMM_MODE_MAX ),
977
978 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800979 hdd_config_t, b80211eIsEnabled,
980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
981 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
982 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 CFG_QOS_WMM_80211E_ENABLED_MAX ),
984
985 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800986 hdd_config_t, UapsdMask,
987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
988 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
989 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700990 CFG_QOS_WMM_UAPSD_MASK_MAX ),
991
992 REG_VARIABLE( CFG_QOS_WMM_MAX_SP_LEN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800993 hdd_config_t, MaxSpLength,
994 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
995 CFG_QOS_WMM_MAX_SP_LEN_DEFAULT,
996 CFG_QOS_WMM_MAX_SP_LEN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700997 CFG_QOS_WMM_MAX_SP_LEN_MAX ),
998
999 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001000 hdd_config_t, InfraUapsdVoSrvIntv,
1001 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1002 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1003 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001004 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1005
1006 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001007 hdd_config_t, InfraUapsdVoSuspIntv,
1008 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1009 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1010 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001011 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1012
1013 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001014 hdd_config_t, InfraUapsdViSrvIntv,
1015 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1016 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1017 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001018 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1019
1020 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001021 hdd_config_t, InfraUapsdViSuspIntv,
1022 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1023 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1024 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001025 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1026
1027 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001028 hdd_config_t, InfraUapsdBeSrvIntv,
1029 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1030 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1031 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001032 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1033
1034 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001035 hdd_config_t, InfraUapsdBeSuspIntv,
1036 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1037 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1038 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001039 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1040
1041 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001042 hdd_config_t, InfraUapsdBkSrvIntv,
1043 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1044 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1045 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001046 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1047
1048 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001049 hdd_config_t, InfraUapsdBkSuspIntv,
1050 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1051 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1052 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001053 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1054
1055#ifdef FEATURE_WLAN_CCX
1056 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001057 hdd_config_t, InfraInactivityInterval,
1058 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1059 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1060 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001061 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001062 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001063 hdd_config_t, isCcxIniFeatureEnabled,
1064 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1065 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1066 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001067 CFG_CCX_FEATURE_ENABLED_MAX,
1068 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001069#endif // FEATURE_WLAN_CCX
1070
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001071#ifdef FEATURE_WLAN_LFR
1072 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001073 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001074 hdd_config_t, isFastRoamIniFeatureEnabled,
1075 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1076 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1077 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001078 CFG_LFR_FEATURE_ENABLED_MAX,
1079 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001080#endif // FEATURE_WLAN_LFR
1081
1082#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001083 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001084 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001085 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001086 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1087 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1088 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001089 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1090 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001091
Srinivas Girigowdade697412013-02-14 16:31:48 -08001092 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001093 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001094 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1095 hdd_config_t, RoamRssiDiff,
1096 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1097 CFG_ROAM_RSSI_DIFF_DEFAULT,
1098 CFG_ROAM_RSSI_DIFF_MIN,
1099 CFG_ROAM_RSSI_DIFF_MAX,
1100 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001101
1102 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001103 hdd_config_t, nImmediateRoamRssiDiff,
1104 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1105 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1106 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001107 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1108 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001109
1110 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1111 hdd_config_t, isWESModeEnabled,
1112 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1113 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1114 CFG_ENABLE_WES_MODE_NAME_MIN,
1115 CFG_ENABLE_WES_MODE_NAME_MAX,
1116 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001117#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001118#ifdef FEATURE_WLAN_OKC
1119 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1120 hdd_config_t, isOkcIniFeatureEnabled,
1121 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1122 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1123 CFG_OKC_FEATURE_ENABLED_MIN,
1124 CFG_OKC_FEATURE_ENABLED_MAX,
1125 cbNotifySetOkcFeatureEnabled, 0 ),
1126#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001127#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1128 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1129 hdd_config_t, isRoamOffloadScanEnabled,
1130 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1131 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1132 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1133 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1134 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1135#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001136 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001137 hdd_config_t, PktClassificationBasis,
1138 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1139 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1140 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001141 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1142
1143 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001144 hdd_config_t, InfraDirAcVo,
1145 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1146 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1147 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001148 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1149
1150 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001151 hdd_config_t, InfraNomMsduSizeAcVo,
1152 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1153 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1154 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001155 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1156
1157 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001158 hdd_config_t, InfraMeanDataRateAcVo,
1159 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1160 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1161 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001162 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1163
1164 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001165 hdd_config_t, InfraMinPhyRateAcVo,
1166 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1167 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1168 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001169 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1170
1171 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001172 hdd_config_t, InfraSbaAcVo,
1173 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1174 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1175 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001176 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1177
1178 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001179 hdd_config_t, InfraDirAcVi,
1180 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1181 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1182 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001183 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1184
1185 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001186 hdd_config_t, InfraNomMsduSizeAcVi,
1187 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1188 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1189 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001190 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1191
1192 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001193 hdd_config_t, InfraMeanDataRateAcVi,
1194 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1195 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1196 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001197 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1198
1199 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001200 hdd_config_t, InfraMinPhyRateAcVi,
1201 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1202 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1203 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001204 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1205
1206 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001207 hdd_config_t, InfraSbaAcVi,
1208 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1209 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1210 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001211 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1212
1213 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001214 hdd_config_t, InfraDirAcBe,
1215 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1216 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1217 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001218 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1219
1220 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001221 hdd_config_t, InfraNomMsduSizeAcBe,
1222 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1223 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1224 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001225 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1226
1227 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001228 hdd_config_t, InfraMeanDataRateAcBe,
1229 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1230 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1231 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001232 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1233
1234 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001235 hdd_config_t, InfraMinPhyRateAcBe,
1236 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1237 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1238 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001239 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1240
1241 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001242 hdd_config_t, InfraSbaAcBe,
1243 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1244 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1245 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001246 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1247
1248 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001249 hdd_config_t, InfraDirAcBk,
1250 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1251 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1252 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001253 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1254
1255 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001256 hdd_config_t, InfraNomMsduSizeAcBk,
1257 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1258 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1259 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001260 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1261
1262 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001263 hdd_config_t, InfraMeanDataRateAcBk,
1264 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1265 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1266 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001267 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1268
1269 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001270 hdd_config_t, InfraMinPhyRateAcBk,
1271 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1272 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1273 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001274 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1275
1276 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001277 hdd_config_t, InfraSbaAcBk,
1278 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1279 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1280 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001281 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1282
1283 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001284 hdd_config_t, WfqBkWeight,
1285 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1286 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1287 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001288 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1289
1290 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001291 hdd_config_t, WfqBeWeight,
1292 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1293 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1294 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001295 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1296
1297 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001298 hdd_config_t, WfqViWeight,
1299 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1300 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1301 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001302 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1303
1304 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001305 hdd_config_t, WfqVoWeight,
1306 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1307 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1308 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001309 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1310
1311 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001312 hdd_config_t, DelayedTriggerFrmInt,
1313 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1314 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1315 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001316 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1317
1318 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001319 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001320 VAR_FLAGS_OPTIONAL,
1321 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1322
1323 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001324 hdd_config_t, bImplicitQosEnabled,
1325 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1326 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1327 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001328 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1329
1330 REG_VARIABLE( CFG_19P2_MHZ_PMIC_CLK_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001331 hdd_config_t, b19p2MhzPmicClkEnabled,
1332 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1333 CFG_19P2_MHZ_PMIC_CLK_ENABLED_DEFAULT,
1334 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001335 CFG_19P2_MHZ_PMIC_CLK_ENABLED_MAX ),
1336
1337 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001338 hdd_config_t, btcExecutionMode,
1339 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1340 CFG_BTC_EXECUTION_MODE_DEFAULT,
1341 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001342 CFG_BTC_EXECUTION_MODE_MAX ),
1343
1344 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1345 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1346 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1347 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1348 CFG_BTC_DHCP_PROTECTION_MIN,
1349 CFG_BTC_DHCP_PROTECTION_MAX ),
1350
1351 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1352 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1353 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1354 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1355 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1356 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1357
Jeff Johnson32d95a32012-09-10 13:15:23 -07001358 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1359 hdd_config_t, btcStaticLenInqBt,
1360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1361 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1362 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1363 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1364
1365 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1366 hdd_config_t, btcStaticLenPageBt,
1367 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1368 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1369 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1370 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1371
1372 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1373 hdd_config_t, btcStaticLenConnBt,
1374 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1375 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1376 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1377 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1378
1379 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1380 hdd_config_t, btcStaticLenLeBt,
1381 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1382 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1383 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1384 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1385
1386 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1387 hdd_config_t, btcStaticLenInqWlan,
1388 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1389 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1390 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1391 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1392
1393 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1394 hdd_config_t, btcStaticLenPageWlan,
1395 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1396 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1397 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1398 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1399
1400 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1401 hdd_config_t, btcStaticLenConnWlan,
1402 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1403 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1404 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1405 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1406
1407 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1408 hdd_config_t, btcStaticLenLeWlan,
1409 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1410 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1411 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1412 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1413
1414 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1415 hdd_config_t, btcDynMaxLenBt,
1416 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1417 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1418 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1419 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1420
1421 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1422 hdd_config_t, btcDynMaxLenWlan,
1423 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1424 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1425 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1426 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1427
1428 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1429 hdd_config_t, btcMaxScoBlockPerc,
1430 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1431 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1432 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1433 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1434
1435 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1436 hdd_config_t, btcDhcpProtOnA2dp,
1437 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1438 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1439 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1440 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1441
1442 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1443 hdd_config_t, btcDhcpProtOnSco,
1444 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1445 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1446 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1447 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1448
Jeff Johnson295189b2012-06-20 16:38:30 -07001449 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001450 hdd_config_t, nEnableListenMode,
1451 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1452 CFG_AP_LISTEN_MODE_DEFAULT,
1453 CFG_AP_LISTEN_MODE_MIN,
1454 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001455
1456 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1457 hdd_config_t, nAPAutoShutOff,
1458 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1459 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1460 CFG_AP_AUTO_SHUT_OFF_MIN,
1461 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001462
1463#if defined WLAN_FEATURE_VOWIFI
1464 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001465 hdd_config_t, fRrmEnable,
1466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1467 CFG_RRM_ENABLE_DEFAULT,
1468 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001469 CFG_RRM_ENABLE_MAX ),
1470
1471 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001472 hdd_config_t, nInChanMeasMaxDuration,
1473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1474 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1475 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001476 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1477
1478 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001479 hdd_config_t, nOutChanMeasMaxDuration,
1480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1481 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1482 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001483 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1484
1485 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001486 hdd_config_t, nRrmRandnIntvl,
1487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1488 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1489 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001490 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1491#endif
1492
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001493#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001494 REG_VARIABLE( CFG_FT_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001495 hdd_config_t, fFTEnable,
1496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1497 CFG_FT_ENABLE_DEFAULT,
1498 CFG_FT_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001499 CFG_FT_ENABLE_MAX ),
1500
1501 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001502 hdd_config_t, fFTResourceReqSupported,
1503 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1504 CFG_FT_RESOURCE_REQ_DEFAULT,
1505 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001506 CFG_FT_RESOURCE_REQ_MAX ),
1507#endif
1508
1509#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001510 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001511 hdd_config_t, nNeighborScanPeriod,
1512 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1513 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1514 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001515 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1516 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001517
1518 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001519 hdd_config_t, nNeighborReassocRssiThreshold,
1520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1521 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1522 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001523 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1524
Srinivas Girigowdade697412013-02-14 16:31:48 -08001525 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001526 hdd_config_t, nNeighborLookupRssiThreshold,
1527 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1528 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1529 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001530 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1531 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001532
1533 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001534 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001535 VAR_FLAGS_OPTIONAL,
1536 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1537
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001538 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001539 hdd_config_t, nNeighborScanMinChanTime,
1540 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1541 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1542 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001543 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1544 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001545
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001546 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001547 hdd_config_t, nNeighborScanMaxChanTime,
1548 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1549 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1550 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001551 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1552 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001553
1554 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1555 hdd_config_t, nMaxNeighborReqTries,
1556 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1557 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1558 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1559 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1560
Srinivas Girigowdade697412013-02-14 16:31:48 -08001561 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001562 hdd_config_t, nNeighborResultsRefreshPeriod,
1563 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1564 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1565 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001566 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1567 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1568
1569 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1570 hdd_config_t, nEmptyScanRefreshPeriod,
1571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1572 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1573 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1574 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1575 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001576#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1577
1578 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001579 hdd_config_t, burstSizeDefinition,
1580 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1581 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1582 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001583 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1584
1585 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1586 hdd_config_t, mcastBcastFilterSetting,
1587 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1588 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1589 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1590 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1591
1592 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1593 hdd_config_t, fhostArpOffload,
1594 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1595 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1596 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1597 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1598
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301599 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1600 hdd_config_t, fhostNSOffload,
1601 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1602 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1603 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1604 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1605
Jeff Johnson295189b2012-06-20 16:38:30 -07001606 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001607 hdd_config_t, tsInfoAckPolicy,
1608 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1609 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1610 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001611 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1612
1613 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1614 hdd_config_t, bSingleTidRc,
1615 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1616 CFG_SINGLE_TID_RC_DEFAULT,
1617 CFG_SINGLE_TID_RC_MIN,
1618 CFG_SINGLE_TID_RC_MAX),
1619
1620 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1621 hdd_config_t, dynamicPsPollValue,
1622 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1623 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1624 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1625 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1626
1627 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1628 hdd_config_t, teleBcnWakeupEn,
1629 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1630 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1631 CFG_TELE_BCN_WAKEUP_EN_MIN,
1632 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1633
1634 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1635 hdd_config_t, infraStaKeepAlivePeriod,
1636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1637 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1638 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1639 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1640
1641 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001642 hdd_config_t, AddTSWhenACMIsOff,
1643 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1644 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1645 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001646 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1647
1648
1649 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001650 hdd_config_t, fValidateScanList,
1651 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1652 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1653 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001654 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001655
Jeff Johnson295189b2012-06-20 16:38:30 -07001656 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001657 hdd_config_t, nNullDataApRespTimeout,
1658 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1659 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1660 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001661 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1662
1663 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001664 hdd_config_t, apDataAvailPollPeriodInMs,
1665 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1666 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1667 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001668 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001669
Jeff Johnson295189b2012-06-20 16:38:30 -07001670 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001671 hdd_config_t, enableBtAmp,
1672 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1673 CFG_ENABLE_BTAMP_DEFAULT,
1674 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001675 CFG_ENABLE_BTAMP_MAX ),
1676
1677#ifdef WLAN_BTAMP_FEATURE
1678 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001679 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07001680 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1681 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
1682 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
1683 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
1684#endif //WLAN_BTAMP_FEATURE
1685 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001686 hdd_config_t, nBandCapability,
1687 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1688 CFG_BAND_CAPABILITY_DEFAULT,
1689 CFG_BAND_CAPABILITY_MIN,
1690 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001691
1692 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001693 hdd_config_t, fEnableBeaconEarlyTermination,
1694 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1695 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
1696 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
1697 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001698/* CFG_VOS_TRACE_ENABLE Parameters */
1699 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
1700 hdd_config_t, vosTraceEnableBAP,
1701 VAR_FLAGS_OPTIONAL,
1702 CFG_VOS_TRACE_ENABLE_DEFAULT,
1703 CFG_VOS_TRACE_ENABLE_MIN,
1704 CFG_VOS_TRACE_ENABLE_MAX ),
1705
1706 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
1707 hdd_config_t, vosTraceEnableTL,
1708 VAR_FLAGS_OPTIONAL,
1709 CFG_VOS_TRACE_ENABLE_DEFAULT,
1710 CFG_VOS_TRACE_ENABLE_MIN,
1711 CFG_VOS_TRACE_ENABLE_MAX ),
1712
1713 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1714 hdd_config_t, vosTraceEnableWDI,
1715 VAR_FLAGS_OPTIONAL,
1716 CFG_VOS_TRACE_ENABLE_DEFAULT,
1717 CFG_VOS_TRACE_ENABLE_MIN,
1718 CFG_VOS_TRACE_ENABLE_MAX ),
1719
1720 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1721 hdd_config_t, vosTraceEnableHDD,
1722 VAR_FLAGS_OPTIONAL,
1723 CFG_VOS_TRACE_ENABLE_DEFAULT,
1724 CFG_VOS_TRACE_ENABLE_MIN,
1725 CFG_VOS_TRACE_ENABLE_MAX ),
1726
1727 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1728 hdd_config_t, vosTraceEnableSME,
1729 VAR_FLAGS_OPTIONAL,
1730 CFG_VOS_TRACE_ENABLE_DEFAULT,
1731 CFG_VOS_TRACE_ENABLE_MIN,
1732 CFG_VOS_TRACE_ENABLE_MAX ),
1733
1734 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1735 hdd_config_t, vosTraceEnablePE,
1736 VAR_FLAGS_OPTIONAL,
1737 CFG_VOS_TRACE_ENABLE_DEFAULT,
1738 CFG_VOS_TRACE_ENABLE_MIN,
1739 CFG_VOS_TRACE_ENABLE_MAX ),
1740
1741 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
1742 hdd_config_t, vosTraceEnableWDA,
1743 VAR_FLAGS_OPTIONAL,
1744 CFG_VOS_TRACE_ENABLE_DEFAULT,
1745 CFG_VOS_TRACE_ENABLE_MIN,
1746 CFG_VOS_TRACE_ENABLE_MAX ),
1747
1748 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1749 hdd_config_t, vosTraceEnableSYS,
1750 VAR_FLAGS_OPTIONAL,
1751 CFG_VOS_TRACE_ENABLE_DEFAULT,
1752 CFG_VOS_TRACE_ENABLE_MIN,
1753 CFG_VOS_TRACE_ENABLE_MAX ),
1754
1755 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
1756 hdd_config_t, vosTraceEnableVOSS,
1757 VAR_FLAGS_OPTIONAL,
1758 CFG_VOS_TRACE_ENABLE_DEFAULT,
1759 CFG_VOS_TRACE_ENABLE_MIN,
1760 CFG_VOS_TRACE_ENABLE_MAX ),
1761
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001762 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1763 hdd_config_t, vosTraceEnableSAP,
1764 VAR_FLAGS_OPTIONAL,
1765 CFG_VOS_TRACE_ENABLE_DEFAULT,
1766 CFG_VOS_TRACE_ENABLE_MIN,
1767 CFG_VOS_TRACE_ENABLE_MAX ),
1768
1769 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1770 hdd_config_t, vosTraceEnableHDDSAP,
1771 VAR_FLAGS_OPTIONAL,
1772 CFG_VOS_TRACE_ENABLE_DEFAULT,
1773 CFG_VOS_TRACE_ENABLE_MIN,
1774 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001775
Jeff Johnson295189b2012-06-20 16:38:30 -07001776 /* note that since the default value is out of range we cannot
1777 enable range check, otherwise we get a system log message */
1778 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
1779 hdd_config_t, wdiTraceEnableDAL,
1780 VAR_FLAGS_OPTIONAL,
1781 CFG_WDI_TRACE_ENABLE_DEFAULT,
1782 CFG_WDI_TRACE_ENABLE_MIN,
1783 CFG_WDI_TRACE_ENABLE_MAX ),
1784
1785 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
1786 hdd_config_t, wdiTraceEnableCTL,
1787 VAR_FLAGS_OPTIONAL,
1788 CFG_WDI_TRACE_ENABLE_DEFAULT,
1789 CFG_WDI_TRACE_ENABLE_MIN,
1790 CFG_WDI_TRACE_ENABLE_MAX ),
1791
1792 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
1793 hdd_config_t, wdiTraceEnableDAT,
1794 VAR_FLAGS_OPTIONAL,
1795 CFG_WDI_TRACE_ENABLE_DEFAULT,
1796 CFG_WDI_TRACE_ENABLE_MIN,
1797 CFG_WDI_TRACE_ENABLE_MAX ),
1798
1799 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
1800 hdd_config_t, wdiTraceEnablePAL,
1801 VAR_FLAGS_OPTIONAL,
1802 CFG_WDI_TRACE_ENABLE_DEFAULT,
1803 CFG_WDI_TRACE_ENABLE_MIN,
1804 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001805
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001806 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001807 hdd_config_t, nTeleBcnTransListenInterval,
1808 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1809 CFG_TELE_BCN_TRANS_LI_DEFAULT,
1810 CFG_TELE_BCN_TRANS_LI_MIN,
1811 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001812
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001813 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001814 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
1815 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1816 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
1817 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
1818 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001819
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001820 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001821 hdd_config_t, nTeleBcnMaxListenInterval,
1822 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1823 CFG_TELE_BCN_MAX_LI_DEFAULT,
1824 CFG_TELE_BCN_MAX_LI_MIN,
1825 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001826
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001827 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001828 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
1829 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1830 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
1831 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
1832 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001833
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001834 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001835 hdd_config_t, bcnEarlyTermWakeInterval,
1836 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1837 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
1838 CFG_BCN_EARLY_TERM_WAKE_MIN,
1839 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001840
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001841 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001842 hdd_config_t, apDataAvailPollPeriodInMs,
1843 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1844 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1845 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001846 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
1847
1848 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001849 hdd_config_t, enableCloseLoop,
1850 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1851 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
1852 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001853 CFG_ENABLE_CLOSE_LOOP_MAX ),
1854
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001855 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001856 hdd_config_t, enableBypass11d,
1857 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1858 CFG_ENABLE_BYPASS_11D_DEFAULT,
1859 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001860 CFG_ENABLE_BYPASS_11D_MAX ),
1861
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001862 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001863 hdd_config_t, enableDFSChnlScan,
1864 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1865 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1866 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001867 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
1868
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001869 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001870 hdd_config_t, enableDynamicDTIM,
1871 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1872 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1873 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001874 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
1875
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001876 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001877 hdd_config_t, enableAutomaticTxPowerControl,
1878 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1879 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
1880 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001881 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
1882
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001883 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001884 hdd_config_t, ShortGI40MhzEnable,
1885 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1886 CFG_SHORT_GI_40MHZ_DEFAULT,
1887 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001888 CFG_SHORT_GI_40MHZ_MAX ),
1889
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001890 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001891 hdd_config_t, reportMaxLinkSpeed,
1892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1893 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1894 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001895 CFG_REPORT_MAX_LINK_SPEED_MAX,
1896 NULL, 0 ),
1897
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001898 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001899 hdd_config_t, linkSpeedRssiHigh,
1900 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1901 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1902 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1903 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1904 NULL, 0 ),
1905
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001906 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001907 hdd_config_t, linkSpeedRssiMid,
1908 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1909 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1910 CFG_LINK_SPEED_RSSI_MID_MIN,
1911 CFG_LINK_SPEED_RSSI_MID_MAX,
1912 NULL, 0 ),
1913
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001914 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001915 hdd_config_t, linkSpeedRssiLow,
1916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1917 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1918 CFG_LINK_SPEED_RSSI_LOW_MIN,
1919 CFG_LINK_SPEED_RSSI_LOW_MAX,
1920 NULL, 0 ),
1921
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001922#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001923 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001924 hdd_config_t, nRoamPrefer5GHz,
1925 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1926 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1927 CFG_ROAM_PREFER_5GHZ_MIN,
1928 CFG_ROAM_PREFER_5GHZ_MAX,
1929 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001930
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001931 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001932 hdd_config_t, nRoamIntraBand,
1933 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1934 CFG_ROAM_INTRA_BAND_DEFAULT,
1935 CFG_ROAM_INTRA_BAND_MIN,
1936 CFG_ROAM_INTRA_BAND_MAX,
1937 cbNotifySetRoamIntraBand, 0 ),
1938
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07001939 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
1940 hdd_config_t, nProbes,
1941 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1942 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
1943 CFG_ROAM_SCAN_N_PROBES_MIN,
1944 CFG_ROAM_SCAN_N_PROBES_MAX,
1945 cbNotifySetRoamScanNProbes, 0 ),
1946
1947 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
1948 hdd_config_t, nRoamScanHomeAwayTime,
1949 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1950 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
1951 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
1952 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
1953 cbNotifySetRoamScanHomeAwayTime, 0 ),
1954
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001955#endif
1956
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001957 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001958 hdd_config_t, isP2pDeviceAddrAdministrated,
1959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1960 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1961 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1962 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001963
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001964 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001965 hdd_config_t, enableMCC,
1966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1967 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1968 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001969 CFG_ENABLE_MCC_ENABLED_MAX ),
1970
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001971 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001972 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1974 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1975 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1976 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001977
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001978 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001979 hdd_config_t, thermalMitigationEnable,
1980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1981 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1982 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001983 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
1984#ifdef WLAN_FEATURE_PACKET_FILTERING
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001985 REG_VARIABLE( CFG_MC_ADDR_LIST_FILTER_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001986 hdd_config_t, isMcAddrListFilter,
1987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1988 CFG_MC_ADDR_LIST_FILTER_DEFAULT,
1989 CFG_MC_ADDR_LIST_FILTER_MIN,
1990 CFG_MC_ADDR_LIST_FILTER_MAX ),
1991#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001992
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001993 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001994 hdd_config_t, enableModulatedDTIM,
1995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1996 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1997 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001998 CFG_ENABLE_MODULATED_DTIM_MAX ),
1999
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002000 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002001 hdd_config_t, fEnableMCAddrList,
2002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2003 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2004 CFG_MC_ADDR_LIST_ENABLE_MIN,
2005 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2006
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002007#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002008 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002009 hdd_config_t, vhtChannelWidth,
2010 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2011 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2012 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002013 CFG_VHT_CHANNEL_WIDTH_MAX),
2014
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002015 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002016 hdd_config_t, vhtRxMCS,
2017 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2018 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2019 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002020 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2021
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002022 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002023 hdd_config_t, vhtTxMCS,
2024 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2025 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2026 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002027 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2028#endif
2029
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002030 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002031 hdd_config_t, enableFirstScan2GOnly,
2032 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2033 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2034 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002035 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2036
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002037 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002038 hdd_config_t, skipDfsChnlInP2pSearch,
2039 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2040 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2041 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002042 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2043
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002044 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002045 hdd_config_t, ignoreDynamicDtimInP2pMode,
2046 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2047 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2048 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002049 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2050
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002051 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002052 hdd_config_t,numBuffAdvert ,
2053 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2054 CFG_NUM_BUFF_ADVERT_DEFAULT,
2055 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002056 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002057
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002058 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002059 hdd_config_t, configMccParam,
2060 VAR_FLAGS_OPTIONAL,
2061 CFG_MCC_CONFIG_PARAM_DEFAULT,
2062 CFG_MCC_CONFIG_PARAM_MIN,
2063 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002064 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002065 hdd_config_t, enableRxSTBC,
2066 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2067 CFG_ENABLE_RX_STBC_DEFAULT,
2068 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302069 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002070#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002071 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002072 hdd_config_t, fEnableTDLSSupport,
2073 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2074 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2075 CFG_TDLS_SUPPORT_ENABLE_MIN,
2076 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302077
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002078 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302079 hdd_config_t, fEnableTDLSImplicitTrigger,
2080 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2081 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2082 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2083 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2084
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002085 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302086 hdd_config_t, fTDLSTxStatsPeriod,
2087 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2088 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2089 CFG_TDLS_TX_STATS_PERIOD_MIN,
2090 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2091
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002092 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302093 hdd_config_t, fTDLSTxPacketThreshold,
2094 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2095 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2096 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2097 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2098
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002099 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302100 hdd_config_t, fTDLSDiscoveryPeriod,
2101 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2102 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2103 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2104 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2105
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002106 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302107 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2108 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2109 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2110 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2111 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2112
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002113 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002114 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302115 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002116 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2117 CFG_TDLS_IDLE_TIMEOUT_MIN,
2118 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2119
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002120 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002121 hdd_config_t, fTDLSIdlePacketThreshold,
2122 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2123 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2124 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2125 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302126
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002127 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002128 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302129 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2130 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2131 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2132 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002133
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002134 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002135 hdd_config_t, fTDLSRSSITriggerThreshold,
2136 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2137 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2138 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2139 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2140
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002141 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002142 hdd_config_t, fTDLSRSSITeardownThreshold,
2143 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2144 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2145 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2146 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302147
2148REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2149 hdd_config_t, fTDLSUapsdMask,
2150 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2151 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2152 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2153 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2154
2155REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2156 hdd_config_t, fEnableTDLSBufferSta,
2157 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2158 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2159 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2160 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2161
2162REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2163 hdd_config_t, fTDLSPuapsdInactivityTimer,
2164 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2165 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2166 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2167 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2168
2169REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2170 hdd_config_t, fTDLSRxFrameThreshold,
2171 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2172 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2173 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2174 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002175#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002176
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002177#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002178 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002179 hdd_config_t, fEnableVSTASupport,
2180 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2181 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2182 CFG_VSTA_SUPPORT_ENABLE_MIN,
2183 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2184#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002185 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002186 hdd_config_t, enableLpwrImgTransition,
2187 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2188 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2189 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002190 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2191
Yathish9f22e662012-12-10 14:21:35 -08002192#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002193 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002194 hdd_config_t, fEnableActiveModeOffload,
2195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2196 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2197 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2198 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2199#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002200 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002201 hdd_config_t, enableLpwrImgTransition,
2202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2203 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2204 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2205 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2206
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002207
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002208 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002209 hdd_config_t, scanAgingTimeout,
2210 VAR_FLAGS_OPTIONAL,
2211 CFG_SCAN_AGING_PARAM_DEFAULT,
2212 CFG_SCAN_AGING_PARAM_MIN,
2213 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002214
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002215 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002216 hdd_config_t, enableTxLdpc,
2217 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2218 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2219 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2220 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2221
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002222 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302223 hdd_config_t, enableMCCAdaptiveScheduler,
2224 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2225 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2226 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2227 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2228
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002229 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302230 hdd_config_t, isAndroidPsEn,
2231 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2232 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2233 CFG_ANDRIOD_POWER_SAVE_MIN,
2234 CFG_ANDRIOD_POWER_SAVE_MAX),
2235
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002236 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002237 hdd_config_t, AdHocChannel5G,
2238 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2239 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2240 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2241 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2242
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002243 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002244 hdd_config_t, AdHocChannel24G,
2245 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2246 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2247 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2248 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2249
2250
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002251#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002252 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002253 hdd_config_t, enableTxBF,
2254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2255 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2256 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2257 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002258
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002259 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002260 hdd_config_t, txBFCsnValue,
2261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2262 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2263 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2264 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2265
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002266#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302267
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002268 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302269 hdd_config_t, sapAllowAllChannel,
2270 VAR_FLAGS_OPTIONAL,
2271 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2272 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2273 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002274
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002275#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002276 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002277 hdd_config_t, disableLDPCWithTxbfAP,
2278 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2279 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2280 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2281 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2282#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002283
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002284 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002285 hdd_config_t, listOfNonDfsCountryCode,
2286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2287 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2288
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002289 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2290 hdd_config_t, enableSSR,
2291 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2292 CFG_ENABLE_SSR_DEFAULT,
2293 CFG_ENABLE_SSR_MIN,
2294 CFG_ENABLE_SSR_MAX,
2295 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302296
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002297 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302298 hdd_config_t, listOfNon11acCountryCode,
2299 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2300 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2301
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002302 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302303 hdd_config_t, cfgMaxMediumTime,
2304 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2305 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2306 CFG_MAX_MEDIUM_TIME_STAMIN,
2307 CFG_MAX_MEDIUM_TIME_STAMAX ),
2308
Leo Chang64d68bc2013-06-04 15:40:52 -07002309 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2310 hdd_config_t, enableTrafficMonitor,
2311 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2312 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2313 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2314 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2315
2316 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2317 hdd_config_t, trafficIdleTimeout,
2318 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2319 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2320 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2321 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002322
2323#ifdef WLAN_FEATURE_11AC
2324 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2325 hdd_config_t, enableVhtFor24GHzBand,
2326 VAR_FLAGS_OPTIONAL,
2327 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2328 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2329 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2330#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302331
2332 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2333 hdd_config_t, fScanOffload,
2334 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2335 CFG_SCAN_OFFLOAD_DEFAULT,
2336 CFG_SCAN_OFFLOAD_DISABLE,
2337 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002338
2339#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2340 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2341 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2343 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2344 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2345 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2346 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2347#endif
2348
Jeff Johnson295189b2012-06-20 16:38:30 -07002349};
2350
2351/*
2352 * This function returns a pointer to the character after the occurence
2353 * of a new line character. It also modifies the original string by replacing
2354 * the '\n' character with the null character.
2355 * Function returns NULL if no new line character was found before end of
2356 * string was reached
2357 */
2358static char* get_next_line(char* str)
2359{
2360 char c;
2361
2362 if( str == NULL || *str == '\0') {
2363 return NULL;
2364 }
2365
2366 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002367 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002368 str = str + 1;
2369 c = *str;
2370 }
2371
2372 if (c == '\0' ) {
2373 return NULL;
2374 }
2375 else
2376 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002377 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002378 return (str+1);
2379 }
2380
2381 return NULL;
2382}
2383
2384// look for space. Ascii values to look are -
2385// 0x09 == horizontal tab
2386// 0x0a == Newline ("\n")
2387// 0x0b == vertical tab
2388// 0x0c == Newpage or feed form.
2389// 0x0d == carriage return (CR or "\r")
2390// Null ('\0') should not considered as space.
2391#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2392
2393/*
2394 * This function trims any leading and trailing white spaces
2395 */
2396static char *i_trim(char *str)
2397
2398{
2399 char *ptr;
2400
2401 if(*str == '\0') return str;
2402
2403 /* Find the first non white-space*/
2404 for (ptr = str; i_isspace(*ptr); ptr++);
2405 if (*ptr == '\0')
2406 return str;
2407
2408 /* This is the new start of the string*/
2409 str = ptr;
2410
2411 /* Find the last non white-space */
2412 ptr += strlen(ptr) - 1;
2413 for (; ptr != str && i_isspace(*ptr); ptr--);
2414 /* Null terminate the following character */
2415 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002416
Jeff Johnson295189b2012-06-20 16:38:30 -07002417 return str;
2418}
2419
2420
2421//Structure to store each entry in qcom_cfg.ini file
2422typedef struct
2423{
2424 char *name;
2425 char *value;
2426}tCfgIniEntry;
2427
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002428static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002429 tCfgIniEntry* iniTable, unsigned long entries);
2430
2431#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002432void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002433{
2434 unsigned long i;
2435
2436 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002437 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002438 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2439 }
2440}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002441#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002442
2443/*
2444 * This function reads the qcom_cfg.ini file and
2445 * parses each 'Name=Value' pair in the ini file
2446 */
2447VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2448{
2449 int status, i=0;
2450 /** Pointer for firmware image data */
2451 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002452 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002453 size_t size;
2454 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002455 /* cfgIniTable is static to avoid excess stack usage */
2456 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002457 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2458
2459 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2460
2461 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002462
Jeff Johnson295189b2012-06-20 16:38:30 -07002463 if(status)
2464 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002465 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002466 vos_status = VOS_STATUS_E_FAILURE;
2467 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002468 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002469 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002470 {
2471 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002472 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002473 vos_status = VOS_STATUS_E_FAILURE;
2474 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002475 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002476
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002477 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002478
2479 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002480
Jeff Johnson295189b2012-06-20 16:38:30 -07002481 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002482 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002483 release_firmware(fw);
2484 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002485 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002486 pTemp = buffer;
2487
2488 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2489 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002490
Jeff Johnson295189b2012-06-20 16:38:30 -07002491 while (buffer != NULL)
2492 {
2493 line = get_next_line(buffer);
2494 buffer = i_trim(buffer);
2495
2496 hddLog(LOG1, "%s: item", buffer);
2497
2498 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2499 buffer = line;
2500 continue;
2501 }
2502 else if(strncmp(buffer, "END", 3) == 0 ) {
2503 break;
2504 }
2505 else
2506 {
2507 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002508 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002509 buffer++;
2510 if(*buffer != '\0') {
2511 *buffer++ = '\0';
2512 i_trim(name);
2513 if(strlen (name) != 0) {
2514 buffer = i_trim(buffer);
2515 if(strlen(buffer)>0) {
2516 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002517 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002518 buffer++;
2519 *buffer = '\0';
2520 cfgIniTable[i].name= name;
2521 cfgIniTable[i++].value= value;
2522 if(i >= MAX_CFG_INI_ITEMS) {
2523 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002524 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002525 break;
2526 }
2527 }
2528 }
2529 }
2530 }
2531 buffer = line;
2532 }
2533
2534 //Loop through the registry table and apply all these configs
2535 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2536
Jeff Johnson4416a782013-03-25 14:17:50 -07002537config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002538 release_firmware(fw);
2539 vos_mem_free(pTemp);
2540 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002541}
Jeff Johnson295189b2012-06-20 16:38:30 -07002542
2543
2544static void print_hdd_cfg(hdd_context_t *pHddCtx)
2545{
2546 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2547 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2548 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2549 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2550 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2551 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2552 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2553 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2554 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]",
2555 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2556 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2557 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2558
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002559 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002560 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2561 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2562 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2563 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2564 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2565 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2566 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2567
2568
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002569 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002570 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2571 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2572 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2573 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2574 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2575 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2576 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2577
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002578 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002579 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2580 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2581 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2582 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2583 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2584 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2585 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2586
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002587 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002588 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2589 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2590 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2591 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2592 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2593 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2594 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2595
Jeff Johnson295189b2012-06-20 16:38:30 -07002596
2597 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2598
2599 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2600 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2601 pHddCtx->cfg_ini->apCntryCode[2]);
2602 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2603 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2604
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002605 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 -07002606 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2607 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2608 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 -08002609
Jeff Johnson295189b2012-06-20 16:38:30 -07002610 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2611 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2612 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2613 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2614 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
2615 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
2616 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
2617
2618 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
2619 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
2620
2621 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
2622 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
2623
2624 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
2625 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
2626
2627 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
2628 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
2629#ifdef FEATURE_WLAN_CCX
2630 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
2631 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
2632 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
2633 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 -08002634#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002635#ifdef FEATURE_WLAN_LFR
2636 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 -08002637#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07002638#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2639 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 -08002640 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 -07002641 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 -07002642#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002643#ifdef FEATURE_WLAN_OKC
2644 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
2645#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002646 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
2647 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
2648 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
2649 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
2650 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
2651
2652 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
2653 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
2654 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
2655 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
2656 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
2657
2658 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
2659 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
2660 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
2661 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
2662 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
2663
2664 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
2665 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
2666 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
2667 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
2668 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
2669
2670 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
2671 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
2672 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
2673 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
2674 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
2675 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
2676 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 -08002677#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07002678 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTEnable] Value = [%lu] ",pHddCtx->cfg_ini->fFTEnable);
2679 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
2680#endif
2681
2682#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
2683 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
2684 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
2685 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
2686 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
2687 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
2688 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
2689 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 -08002690 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 -07002691#endif
2692 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
2693 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
2694 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
2695 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
2696 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
2697 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
2698 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
2699
2700 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
2701 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2702 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
2703#ifdef WLAN_BTAMP_FEATURE
2704 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
2705#endif //WLAN_BTAMP_FEATURE
2706 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
2707 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
2708 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
2709 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
2710 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
2711 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
2712 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
2713 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
2714 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2715 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
2716 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
2717 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
2718 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 -07002719#ifdef WLAN_FEATURE_11AC
2720 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
2721#endif
2722 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
2723 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
2724 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 +05302725 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 -08002726 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 -07002727 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableSSR] Value = [%u] ",pHddCtx->cfg_ini->enableSSR);
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002728 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableVhtFor24GHzBand] Value = [%u] ",pHddCtx->cfg_ini->enableVhtFor24GHzBand);
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002729
Leo Chang64d68bc2013-06-04 15:40:52 -07002730 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
2731 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout);
Jeff Johnson295189b2012-06-20 16:38:30 -07002732}
2733
2734
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002735
Jeff Johnson295189b2012-06-20 16:38:30 -07002736#define CFG_VALUE_MAX_LEN 256
2737#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
2738VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
2739{
2740 unsigned int idx;
2741 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2742 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2743 v_U32_t value;
2744 char valueStr[CFG_VALUE_MAX_LEN];
2745 char configStr[CFG_ENTRY_MAX_LEN];
2746 char *fmt;
2747 void *pField;
2748 v_MACADDR_t *pMacAddr;
2749 char *pCur = pBuf;
2750 int curlen;
2751
2752 // start with an empty string
2753 *pCur = '\0';
2754
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002755 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07002756 {
2757 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
2758
2759 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2760 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002761 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07002762 {
2763 value = 0;
2764 memcpy( &value, pField, pRegEntry->VarSize );
2765 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
2766 {
2767 fmt = "%x";
2768 }
2769 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2770 {
2771 fmt = "%d";
2772 }
2773 else
2774 {
2775 fmt = "%u";
2776 }
2777 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
2778 }
2779 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2780 {
2781 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
2782 }
2783 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2784 {
2785 pMacAddr = (v_MACADDR_t *) pField;
2786 snprintf(valueStr, CFG_VALUE_MAX_LEN,
2787 "%02x:%02x:%02x:%02x:%02x:%02x",
2788 pMacAddr->bytes[0],
2789 pMacAddr->bytes[1],
2790 pMacAddr->bytes[2],
2791 pMacAddr->bytes[3],
2792 pMacAddr->bytes[4],
2793 pMacAddr->bytes[5]);
2794 }
2795 else
2796 {
2797 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
2798 }
2799 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
2800 "%s=[%s]%s\n",
2801 pRegEntry->RegName,
2802 valueStr,
2803 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
2804 "*" : "");
2805
2806 // ideally we want to return the config to the application
2807 // however the config is too big so we just printk() for now
2808#ifdef RETURN_IN_BUFFER
2809 if (curlen <= buflen)
2810 {
2811 // copy string + '\0'
2812 memcpy(pCur, configStr, curlen+1);
2813
2814 // account for addition;
2815 pCur += curlen;
2816 buflen -= curlen;
2817 }
2818 else
2819 {
2820 // buffer space exhausted, return what we have
2821 return VOS_STATUS_E_RESOURCES;
2822 }
2823#else
2824 printk(KERN_CRIT "%s", configStr);
2825#endif // RETURN_IN_BUFFER
2826
2827}
2828
2829#ifndef RETURN_IN_BUFFER
2830 // notify application that output is in system log
2831 snprintf(pCur, buflen, "WLAN configuration written to system log");
2832#endif // RETURN_IN_BUFFER
2833
2834 return VOS_STATUS_SUCCESS;
2835}
2836
2837static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002838 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07002839{
2840 VOS_STATUS status = VOS_STATUS_E_FAILURE;
2841 unsigned long i;
2842
2843 for (i = 0; i < entries; i++) {
2844 if (strcmp(iniTable[i].name, name) == 0) {
2845 *value = iniTable[i].value;
2846 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
2847 WLAN_INI_FILE, name, *value);
2848 return VOS_STATUS_SUCCESS;
2849 }
2850 }
2851
2852 return status;
2853}
2854
2855static int parseHexDigit(char c)
2856{
2857 if (c >= '0' && c <= '9')
2858 return c-'0';
2859 if (c >= 'a' && c <= 'f')
2860 return c-'a'+10;
2861 if (c >= 'A' && c <= 'F')
2862 return c-'A'+10;
2863
2864 return 0;
2865}
2866
2867
2868static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
2869{
2870 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
2871 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
2872 unsigned int idx;
2873 void *pField;
2874 char *value_str = NULL;
2875 unsigned long len_value_str;
2876 char *candidate;
2877 v_U32_t value;
2878 v_S31_t svalue;
2879 void *pStructBase = pHddCtx->cfg_ini;
2880 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2881 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2882 v_U32_t cbOutString;
2883 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002884 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07002885
2886 // sanity test
2887 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
2888 {
2889 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002890 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07002891 }
2892
2893 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
2894 {
2895 //Calculate the address of the destination field in the structure.
2896 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
2897
2898 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
2899
2900 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
2901 {
2902 // If we could not read the cfg item and it is required, this is an error.
2903 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002904 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002905 ret_status = VOS_STATUS_E_FAILURE;
2906 break;
2907 }
2908
2909 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2910 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
2911 {
2912 // If successfully read from the registry, use the value read.
2913 // If not, use the default value.
2914 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002915 rv = kstrtoul(value_str, 10, &value);
2916 if (rv < 0) {
2917 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
2918 __func__, pRegEntry->RegName);
2919 value = pRegEntry->VarDefault;
2920 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002921 }
2922 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002923 rv = kstrtoul(value_str, 16, &value);
2924 if (rv < 0) {
2925 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
2926 __func__, pRegEntry->RegName);
2927 value = pRegEntry->VarDefault;
2928 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002929 }
2930 else {
2931 value = pRegEntry->VarDefault;
2932 }
2933
2934 // If this parameter needs range checking, do it here.
2935 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2936 {
2937 if ( value > pRegEntry->VarMax )
2938 {
2939 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002940 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07002941 value = pRegEntry->VarMax;
2942 }
2943
2944 if ( value < pRegEntry->VarMin )
2945 {
2946 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002947 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07002948 value = pRegEntry->VarMin;
2949 }
2950 }
2951 // If this parameter needs range checking, do it here.
2952 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
2953 {
2954 if ( value > pRegEntry->VarMax )
2955 {
2956 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002957 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002958 value = pRegEntry->VarDefault;
2959 }
2960
2961 if ( value < pRegEntry->VarMin )
2962 {
2963 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002964 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07002965 value = pRegEntry->VarDefault;
2966 }
2967 }
2968
2969 // Move the variable into the output field.
2970 memcpy( pField, &value, pRegEntry->VarSize );
2971 }
2972 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2973 {
2974 // If successfully read from the registry, use the value read.
2975 // If not, use the default value.
2976 if (VOS_STATUS_SUCCESS == match_status)
2977 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002978 rv = kstrtol(value_str, 10, &svalue);
2979 if (rv < 0) {
2980 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
2981 __func__, pRegEntry->RegName);
2982 svalue = (v_S31_t)pRegEntry->VarDefault;
2983 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002984 }
2985 else
2986 {
2987 svalue = (v_S31_t)pRegEntry->VarDefault;
2988 }
2989
2990 // If this parameter needs range checking, do it here.
2991 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2992 {
2993 if ( svalue > (v_S31_t)pRegEntry->VarMax )
2994 {
2995 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002996 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07002997 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
2998 svalue = (v_S31_t)pRegEntry->VarMax;
2999 }
3000
3001 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3002 {
3003 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003004 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003005 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3006 svalue = (v_S31_t)pRegEntry->VarMin;
3007 }
3008 }
3009 // If this parameter needs range checking, do it here.
3010 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3011 {
3012 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3013 {
3014 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
3015 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003016 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003017 (int)pRegEntry->VarMax,
3018 (int)pRegEntry->VarDefault );
3019 svalue = (v_S31_t)pRegEntry->VarDefault;
3020 }
3021
3022 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3023 {
3024 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
3025 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003026 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003027 (int)pRegEntry->VarMin,
3028 (int)pRegEntry->VarDefault);
3029 svalue = pRegEntry->VarDefault;
3030 }
3031 }
3032
3033 // Move the variable into the output field.
3034 memcpy( pField, &svalue, pRegEntry->VarSize );
3035 }
3036 // Handle string parameters
3037 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3038 {
3039#ifdef WLAN_CFG_DEBUG
3040 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 -08003041 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003042#endif
3043
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003044 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003045 {
3046 len_value_str = strlen(value_str);
3047
3048 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003049 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003050 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003051 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3052 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3053 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3054 }
3055 else
3056 {
3057 memcpy( pField, (void *)(value_str), len_value_str);
3058 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3059 }
3060 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003061 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003062 {
3063 // Failed to read the string parameter from the registry. Use the default.
3064 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3065 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003066 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003067 }
3068 }
3069 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3070 {
3071 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003072 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3073 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003074 continue;
3075 }
3076 candidate = (char*)pRegEntry->VarDefault;
3077 if ( match_status == VOS_STATUS_SUCCESS) {
3078 len_value_str = strlen(value_str);
3079 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003080 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003081 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003082 }
3083 else
3084 candidate = value_str;
3085 }
3086 //parse the string and store it in the byte array
3087 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3088 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003089 ((char*)pField)[i] =
3090 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003091 }
3092 }
3093 else
3094 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003095 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003096 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003097 }
3098
3099 // did we successfully parse a cfg item for this parameter?
3100 if( (match_status == VOS_STATUS_SUCCESS) &&
3101 (idx < MAX_CFG_INI_ITEMS) )
3102 {
3103 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3104 }
3105 }
3106
3107 print_hdd_cfg(pHddCtx);
3108
3109 return( ret_status );
3110}
3111
3112eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3113{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003114 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003115 {
3116 case (eHDD_DOT11_MODE_abg):
3117 return eCSR_DOT11_MODE_abg;
3118 case (eHDD_DOT11_MODE_11b):
3119 return eCSR_DOT11_MODE_11b;
3120 case (eHDD_DOT11_MODE_11g):
3121 return eCSR_DOT11_MODE_11g;
3122 default:
3123 case (eHDD_DOT11_MODE_11n):
3124 return eCSR_DOT11_MODE_11n;
3125 case (eHDD_DOT11_MODE_11g_ONLY):
3126 return eCSR_DOT11_MODE_11g_ONLY;
3127 case (eHDD_DOT11_MODE_11n_ONLY):
3128 return eCSR_DOT11_MODE_11n_ONLY;
3129 case (eHDD_DOT11_MODE_11b_ONLY):
3130 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003131#ifdef WLAN_FEATURE_11AC
3132 case (eHDD_DOT11_MODE_11ac_ONLY):
3133 return eCSR_DOT11_MODE_11ac_ONLY;
3134 case (eHDD_DOT11_MODE_11ac):
3135 return eCSR_DOT11_MODE_11ac;
3136#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003137 case (eHDD_DOT11_MODE_AUTO):
3138 return eCSR_DOT11_MODE_AUTO;
3139 }
3140
3141}
3142
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003143static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003144{
3145 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3146 tSmeBtcConfig btcParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003147
Jeff Johnson295189b2012-06-20 16:38:30 -07003148 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3149
3150 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003151 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003152 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3153
Jeff Johnson32d95a32012-09-10 13:15:23 -07003154 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3155 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3156 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3157 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3158 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3159 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3160 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3161 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3162 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3163 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3164 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3165 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3166 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3167
Jeff Johnson295189b2012-06-20 16:38:30 -07003168 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3169}
3170
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003171static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003172{
3173 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3174
3175 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003176
Jeff Johnson295189b2012-06-20 16:38:30 -07003177 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003178
Jeff Johnson295189b2012-06-20 16:38:30 -07003179 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3180 {
3181 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3182 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3183 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3184 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3185 }
3186 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3187 {
3188 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3189 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3190 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3191 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3192 }
3193 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3194 {
3195 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3196 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3197 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3198 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3199 }
3200
3201 if (pConfig->fIsImpsEnabled)
3202 {
3203 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3204 }
3205 else
3206 {
3207 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3208 }
3209
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303210 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3211 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3212 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3213
Jeff Johnson295189b2012-06-20 16:38:30 -07003214 if (pConfig->fIsBmpsEnabled)
3215 {
3216 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3217 }
3218 else
3219 {
3220 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3221 }
3222
3223 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3224
3225 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3226 {
3227 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3228 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003229
Jeff Johnson295189b2012-06-20 16:38:30 -07003230 if(pConfig->fIsAutoBmpsTimerEnabled)
3231 {
3232 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3233 }
3234
3235}
3236
3237#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3238static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3239{
3240 char *s = str;
3241
3242 if( str == NULL || intArray == NULL || len == NULL )
3243 {
3244 return VOS_STATUS_E_INVAL;
3245 }
3246 *len = 0;
3247
Jeff Johnson295189b2012-06-20 16:38:30 -07003248 while ( (s != NULL) && (*len < intArrayMaxLen) )
3249 {
3250 int val;
3251 //Increment length only if sscanf succesfully extracted one element.
3252 //Any other return value means error. Ignore it.
3253 if( sscanf(s, "%d", &val ) == 1 )
3254 {
3255 intArray[*len] = (tANI_U8) val;
3256 *len += 1;
3257 }
3258 s = strpbrk( s, "," );
3259 if( s )
3260 s++;
3261 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003262
3263 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003264
Jeff Johnson295189b2012-06-20 16:38:30 -07003265}
3266#endif
3267
3268
3269v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3270{
3271 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003272#ifdef WLAN_SOFTAP_VSTA_FEATURE
3273 tANI_U32 val;
3274#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003275
3276 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303277 tSirMacHTCapabilityInfo htCapInfo;
3278
Jeff Johnson295189b2012-06-20 16:38:30 -07003279
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003280 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003281 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3282 {
3283 fStatus = FALSE;
3284 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3285 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003286
3287 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003288 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3289 {
3290 fStatus = FALSE;
3291 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3292 }
3293
3294 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3295 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3296 {
3297 fStatus = FALSE;
3298 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3299 }
3300
3301 if ( 0 != pConfig->Cfg1Id )
3302 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003303 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003304 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3305 {
3306 fStatus = FALSE;
3307 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3308 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003309
Jeff Johnson295189b2012-06-20 16:38:30 -07003310 }
3311
3312 if ( 0 != pConfig->Cfg2Id )
3313 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003314 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003315 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3316 {
3317 fStatus = FALSE;
3318 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3319 }
3320 }
3321
3322 if ( 0 != pConfig->Cfg3Id )
3323 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003324 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003325 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3326 {
3327 fStatus = FALSE;
3328 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3329 }
3330 }
3331
3332 if ( 0 != pConfig->Cfg4Id )
3333 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003334 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003335 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3336 {
3337 fStatus = FALSE;
3338 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3339 }
3340 }
3341
3342 if ( 0 != pConfig->Cfg5Id )
3343 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003344 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003345 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3346 {
3347 fStatus = FALSE;
3348 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3349 }
3350 }
3351
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003352 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003353 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3354 {
3355 fStatus = FALSE;
3356 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3357 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003358
3359 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003360 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3361 {
3362 fStatus = FALSE;
3363 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3364 }
3365
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003366 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003367 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3368 {
3369 fStatus = FALSE;
3370 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3371 }
3372
3373 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3374 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3375 {
3376 fStatus = FALSE;
3377 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3378 }
3379
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003380 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003381 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003382 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003383 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3384 {
3385 fStatus = FALSE;
3386 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3387 }
3388 }
3389 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003390 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003391 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3392 {
3393 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3394 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003395 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003396 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003397 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003398 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3399 {
3400 fStatus = FALSE;
3401 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3402 }
3403 }
3404 else
3405 {
3406 fStatus = FALSE;
3407 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3408 }
3409 }
3410
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003411 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003412 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3413 {
3414 fStatus = FALSE;
3415 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3416 }
3417
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003418 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003419 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3420 {
3421 fStatus = FALSE;
3422 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3423 }
3424
3425 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3426 {
3427 fStatus = FALSE;
3428 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3429 }
3430
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003431 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003432 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3433 {
3434 fStatus = FALSE;
3435 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3436 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003437
Jeff Johnson295189b2012-06-20 16:38:30 -07003438 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3439 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3440 {
3441 fStatus = FALSE;
3442 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3443 }
3444
Jeff Johnson295189b2012-06-20 16:38:30 -07003445 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3446 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3447 {
3448 fStatus = FALSE;
3449 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3450 }
3451
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003452 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003453 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3454 {
3455 fStatus = FALSE;
3456 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3457 }
3458
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003459 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003460 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3461 {
3462 fStatus = FALSE;
3463 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3464 }
3465
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08003466#ifdef FEATURE_WLAN_LFR
3467 if (pConfig->isFastRoamIniFeatureEnabled)
3468 {
3469 pConfig->fEnableFwRssiMonitoring = TRUE;
3470 }
3471#endif
3472#ifdef FEATURE_WLAN_CCX
3473 if (pConfig->isCcxIniFeatureEnabled)
3474 {
3475 pConfig->fEnableFwRssiMonitoring = TRUE;
3476 }
3477#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003478 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003479 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3480 {
3481 fStatus = FALSE;
3482 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3483 }
3484
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003485 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003486 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3487 {
3488 fStatus = FALSE;
3489 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3490 }
3491
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003492 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003493 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3494 {
3495 fStatus = FALSE;
3496 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3497 }
3498
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003499 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003500 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3501 {
3502 fStatus = FALSE;
3503 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3504 }
3505
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003506 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003507 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3508 {
3509 fStatus = FALSE;
3510 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3511 }
3512
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003513 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003514 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3515 {
3516 fStatus = FALSE;
3517 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003518 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003519
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003520 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003521 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3522 {
3523 fStatus = FALSE;
3524 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3525 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003526
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303527 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3528 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3529 {
3530 fStatus = FALSE;
3531 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3532 }
3533
Jeff Johnson295189b2012-06-20 16:38:30 -07003534#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003535 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003536 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3537 {
3538 fStatus = FALSE;
3539 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3540 }
3541
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003542 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003543 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3544 {
3545 fStatus = FALSE;
3546 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3547 }
3548
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003549 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003550 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3551 {
3552 fStatus = FALSE;
3553 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3554 }
3555
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003556 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003557 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3558#endif
3559
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003560 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003561 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3562 {
3563 fStatus = FALSE;
3564 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3565 }
3566
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003567 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003568 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3569 {
3570 fStatus = FALSE;
3571 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3572 }
3573
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003574 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003575 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3576 {
3577 fStatus = FALSE;
3578 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3579 }
3580
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003581 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003582 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3583 {
3584 fStatus = FALSE;
3585 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3586 }
3587
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003588 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003589 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3590 {
3591 fStatus = FALSE;
3592 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3593 }
3594
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003595 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003596 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3597 {
3598 fStatus = FALSE;
3599 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
3600 }
3601
3602 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
3603 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3604 {
3605 fStatus = FALSE;
3606 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
3607 }
3608
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003609 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003610 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3611 {
3612 fStatus = FALSE;
3613 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
3614 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003615 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003616 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3617 {
3618 fStatus = FALSE;
3619 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
3620 }
3621
3622 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
3623 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3624 {
3625 fStatus = FALSE;
3626 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 -08003627 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003628
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003629 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07003630 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003631 {
3632 fStatus = FALSE;
3633 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3634 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003635 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003636 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3637 {
3638 fStatus = FALSE;
3639 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
3640 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003641 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003642 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3643 {
3644 fStatus = FALSE;
3645 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
3646 }
3647
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003648 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07003649 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3650 {
3651 fStatus = FALSE;
3652 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
3653 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003654 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07003655 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3656 {
3657 fStatus = FALSE;
3658 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
3659 }
3660
Jeff Johnson295189b2012-06-20 16:38:30 -07003661 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
3662 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3663 {
3664 fStatus = FALSE;
3665 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3666 }
3667
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003668 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07003669 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
3670 ==eHAL_STATUS_FAILURE)
3671 {
3672 fStatus = FALSE;
3673 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
3674 }
3675
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003676 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07003677 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
3678 ==eHAL_STATUS_FAILURE)
3679 {
3680 fStatus = FALSE;
3681 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
3682 }
3683
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003684 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003685 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3686 {
3687 fStatus = FALSE;
3688 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
3689 }
3690
Jeff Johnsond13512a2012-07-17 11:42:19 -07003691
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003692 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07003693 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3694 {
3695 fStatus = FALSE;
3696 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
3697 }
3698
Jeff Johnsone7245742012-09-05 17:12:55 -07003699#ifdef WLAN_FEATURE_11AC
3700 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
3701 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
3702 /* we update only the least significant 2 bits in the corresponding fields */
3703 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
3704 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
3705 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
3706 {
3707 {
3708 tANI_U32 temp = 0;
3709
3710 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003711 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003712
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003713 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07003714 temp, NULL, eANI_BOOLEAN_FALSE)
3715 ==eHAL_STATUS_FAILURE)
3716 {
3717 fStatus = FALSE;
3718 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
3719 }
3720
3721 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003722 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003723
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003724 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003725 temp, NULL, eANI_BOOLEAN_FALSE)
3726 ==eHAL_STATUS_FAILURE)
3727 {
3728 fStatus = FALSE;
3729 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
3730 }
3731
3732 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003733 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003734
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003735 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003736 temp, NULL, eANI_BOOLEAN_FALSE)
3737 ==eHAL_STATUS_FAILURE)
3738 {
3739 fStatus = FALSE;
3740 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
3741 }
3742 }
3743 }
3744#endif
3745
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003746 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07003747 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3748 {
3749 fStatus = FALSE;
3750 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
3751 }
3752
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003753 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303754 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3755 ==eHAL_STATUS_FAILURE)
3756 {
3757 fStatus = FALSE;
3758 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
3759 }
3760
3761 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
3762 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
3763
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003764 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303765 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
3766 ==eHAL_STATUS_FAILURE)
3767 {
3768 fStatus = FALSE;
3769 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
3770 }
3771
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003772 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303773 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3774 ==eHAL_STATUS_FAILURE)
3775 {
3776 fStatus = FALSE;
3777 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
3778 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003779
3780#ifdef WLAN_SOFTAP_VSTA_FEATURE
3781 if(pConfig->fEnableVSTASupport)
3782 {
3783 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
3784 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
3785 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
3786 }
3787 else
3788 {
3789 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
3790 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003791 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003792 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3793 {
3794 fStatus = FALSE;
3795 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
3796 }
3797#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003798 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003799 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
3800 ==eHAL_STATUS_FAILURE)
3801 {
3802 fStatus = FALSE;
3803 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
3804 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303805
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08003806 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
3807 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3808 {
3809 fStatus = FALSE;
3810 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
3811 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003812 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
3813 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3814 {
3815 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003816 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 -08003817 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003818
3819 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
3820 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3821 {
3822 fStatus = FALSE;
3823 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
3824 }
3825
3826 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
3827 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3828 {
3829 fStatus = FALSE;
3830 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
3831 }
3832
3833 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
3834 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3835 {
3836 fStatus = FALSE;
3837 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
3838 }
3839
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05303840 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
3841 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3842 {
3843 fStatus = FALSE;
3844 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
3845 }
3846
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303847#ifdef FEATURE_WLAN_TDLS
3848
3849 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK, pConfig->fTDLSUapsdMask,
3850 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3851 {
3852 fStatus = FALSE;
3853 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM\n");
3854 }
3855 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED, pConfig->fEnableTDLSBufferSta,
3856 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3857 {
3858 fStatus = FALSE;
3859 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM\n");
3860 }
3861 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME, pConfig->fTDLSPuapsdInactivityTimer,
3862 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3863 {
3864 fStatus = FALSE;
3865 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM\n");
3866 }
3867 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD, pConfig->fTDLSRxFrameThreshold,
3868 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3869 {
3870 fStatus = FALSE;
3871 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM\n");
3872 }
3873#endif
3874
Jeff Johnson295189b2012-06-20 16:38:30 -07003875 return fStatus;
3876}
3877
3878
3879/**---------------------------------------------------------------------------
3880
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003881 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07003882
3883 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003884
Jeff Johnson295189b2012-06-20 16:38:30 -07003885 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003886
Jeff Johnson295189b2012-06-20 16:38:30 -07003887 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003888
Jeff Johnson295189b2012-06-20 16:38:30 -07003889 --------------------------------------------------------------------------*/
3890
3891VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
3892{
3893 VOS_STATUS status = VOS_STATUS_SUCCESS;
3894 eHalStatus halStatus;
3895 tSmeConfigParams smeConfig;
3896
3897 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3898
3899 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
3900
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003901 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003902 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
3903 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
3904
3905 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07003906 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
3907 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003908 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
3909 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
3910 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
3911 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
3912 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
3913
3914 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
3915
3916 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
3917 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
3918 smeConfig.csrConfig.TxRate = pConfig->TxRate;
3919 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
3920 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
3921 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
3922 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
3923 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
3924 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
3925 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
3926 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
3927 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
3928 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
3929 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
3930 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
3931 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
3932 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003933 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07003934 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
3935 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
3936 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
3937 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003938 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
3939 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07003940 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003941#ifdef WLAN_AP_STA_CONCURRENCY
3942 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
3943 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
3944 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
3945 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
3946 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07003947 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
3948 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
3949
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07003950#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003951 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
3952 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
3953
3954#if defined WLAN_FEATURE_VOWIFI
3955 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
3956 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
3957#endif
3958 //Remaining config params not obtained from registry
3959 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07003960#ifdef WLAN_FEATURE_11AC
3961 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08003962 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08003963 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07003964 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07003965#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07003966 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
3967 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003968 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
3969 smeConfig.csrConfig.HeartbeatThresh50 = 40;
3970 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08003971 if (pConfig->nBandCapability == eCSR_BAND_24)
3972 {
3973 smeConfig.csrConfig.Is11hSupportEnabled = 0;
3974 } else {
3975 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
3976 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003977 smeConfig.csrConfig.cbChoice = 0;
3978 smeConfig.csrConfig.bgScanInterval = 0;
3979 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07003980 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
3981 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
3982 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003983#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3984 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003985 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07003986 smeConfig.csrConfig.nProbes = pConfig->nProbes;
3987 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08003988#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07003989 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
3990
Jeff Johnson295189b2012-06-20 16:38:30 -07003991 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08003992 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
3993 {
3994 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07003995
Jeff Johnson7dda7772013-02-27 08:36:13 -08003996 /* if there is a requirement that HDD will control the default
3997 * channel list & country code (say from .ini file) we need to
3998 * add some logic here. Otherwise the default 11d info should
3999 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004000 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004001 else
4002 {
4003 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4004 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004005
Jeff Johnson7dda7772013-02-27 08:36:13 -08004006 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4007 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4008 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4009 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004010 hdd_set_power_save_config(pHddCtx, &smeConfig);
4011 hdd_set_btc_config(pHddCtx);
4012
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004013#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004014 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4015#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004016#ifdef FEATURE_WLAN_LFR
4017 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004018 if( pConfig->isFastRoamIniFeatureEnabled )
4019 {
4020 pConfig->isFastTransitionEnabled = TRUE;
4021 }
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004022#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004023#ifdef FEATURE_WLAN_CCX
4024 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004025 if( pConfig->isCcxIniFeatureEnabled )
4026 {
4027 pConfig->isFastTransitionEnabled = TRUE;
4028 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004029#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004030#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004031 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07004032 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004033 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowda100eb322013-03-15 16:48:20 -07004034 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07004035#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004036#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4037 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004038 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4039
4040 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4041 {
4042 /* Disable roaming in concurrency if roam scan offload is disabled */
4043 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4044 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004045#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004046#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4047 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4048 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004049 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4050 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004051 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004052 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004053 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004054 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004055 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4056 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4057 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004058 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4059#endif
4060
4061 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4062 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4063
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004064 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004065 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004066 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004067
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004068 //Scan Results Aging Time out value
4069 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4070
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004071 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4072
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004073 /* update SSR config */
4074 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304075 /* Update the Directed scan offload setting */
4076 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004077
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004078 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004079 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4080 {
4081 status = VOS_STATUS_E_FAILURE;
4082 }
4083
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004084
4085 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004086}
4087
4088
4089/**---------------------------------------------------------------------------
4090
4091 \brief hdd_execute_config_command() -
4092
4093 This function executes an arbitrary configuration set command
4094
4095 \param - pHddCtx - Pointer to the HDD Adapter.
4096 \parmm - command - a configuration command of the form:
4097 <name>=<value>
4098
4099 \return - 0 for success, non zero for failure
4100
4101 --------------------------------------------------------------------------*/
4102
4103VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4104{
4105 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4106 REG_TABLE_ENTRY *pRegEntry;
4107 char *clone;
4108 char *pCmd;
4109 void *pField;
4110 char *name;
4111 char *value_str;
4112 v_U32_t value;
4113 v_S31_t svalue;
4114 size_t len_value_str;
4115 unsigned int idx;
4116 unsigned int i;
4117 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004118 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004119
4120 // assume failure until proven otherwise
4121 vstatus = VOS_STATUS_E_FAILURE;
4122
4123 // clone the command so that we can manipulate it
4124 clone = kstrdup(command, GFP_ATOMIC);
4125 if (NULL == clone)
4126 {
4127 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004128 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004129 return vstatus;
4130 }
4131
4132 // 'clone' will point to the beginning of the string so it can be freed
4133 // 'pCmd' will be used to walk/parse the command
4134 pCmd = clone;
4135
4136 // get rid of leading/trailing whitespace
4137 pCmd = i_trim(pCmd);
4138 if ('\0' == *pCmd)
4139 {
4140 // only whitespace
4141 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004142 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004143 goto done;
4144 }
4145
4146 // parse the <name> = <value>
4147 name = pCmd;
4148 while (('=' != *pCmd) && ('\0' != *pCmd))
4149 {
4150 pCmd++;
4151 }
4152 if ('\0' == *pCmd)
4153 {
4154 // did not find '='
4155 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004156 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004157 goto done;
4158 }
4159
4160 // replace '=' with NUL to terminate the <name>
4161 *pCmd++ = '\0';
4162 name = i_trim(name);
4163 if ('\0' == *name)
4164 {
4165 // did not find a name
4166 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004167 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004168 goto done;
4169 }
4170
4171 value_str = i_trim(pCmd);
4172 if ('\0' == *value_str)
4173 {
4174 // did not find a value
4175 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004176 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004177 goto done;
4178 }
4179
4180 // lookup the configuration item
4181 for (idx = 0; idx < tableSize; idx++)
4182 {
4183 if (0 == strcmp(name, g_registry_table[idx].RegName))
4184 {
4185 // found a match
4186 break;
4187 }
4188 }
4189 if (tableSize == idx)
4190 {
4191 // did not match the name
4192 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004193 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004194 goto done;
4195 }
4196
4197 pRegEntry = &g_registry_table[idx];
4198 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4199 {
4200 // does not support dynamic configuration
4201 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004202 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004203 goto done;
4204 }
4205
4206 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4207
4208 switch (pRegEntry->RegType)
4209 {
4210 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004211 rv = kstrtoul(value_str, 10, &value);
4212 if (rv < 0)
4213 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004214 if (value < pRegEntry->VarMin)
4215 {
4216 // out of range
4217 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004218 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004219 goto done;
4220 }
4221 if (value > pRegEntry->VarMax)
4222 {
4223 // out of range
4224 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004225 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004226 goto done;
4227 }
4228 memcpy(pField, &value, pRegEntry->VarSize);
4229 break;
4230
4231 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004232 rv = kstrtoul(value_str, 16, &value);
4233 if (rv < 0)
4234 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004235 if (value < pRegEntry->VarMin)
4236 {
4237 // out of range
4238 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004239 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004240 goto done;
4241 }
4242 if (value > pRegEntry->VarMax)
4243 {
4244 // out of range
4245 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004246 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004247 goto done;
4248 }
4249 memcpy(pField, &value, pRegEntry->VarSize);
4250 break;
4251
4252 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004253 rv = kstrtol(value_str, 10, &svalue);
4254 if (rv < 0)
4255 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004256 if (svalue < (v_S31_t)pRegEntry->VarMin)
4257 {
4258 // out of range
4259 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004260 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004261 goto done;
4262 }
4263 if (svalue > (v_S31_t)pRegEntry->VarMax)
4264 {
4265 // out of range
4266 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004267 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004268 goto done;
4269 }
4270 memcpy(pField, &svalue, pRegEntry->VarSize);
4271 break;
4272
4273 case WLAN_PARAM_String:
4274 len_value_str = strlen(value_str);
4275 if (len_value_str > (pRegEntry->VarSize - 1))
4276 {
4277 // too big
4278 hddLog(LOGE,
4279 "%s: invalid command, string [%s] length "
4280 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004281 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004282 len_value_str, (pRegEntry->VarSize - 1));
4283 goto done;
4284 }
4285 // copy string plus NUL
4286 memcpy(pField, value_str, (len_value_str + 1));
4287 break;
4288
4289 case WLAN_PARAM_MacAddr:
4290 len_value_str = strlen(value_str);
4291 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4292 {
4293 // out of range
4294 hddLog(LOGE,
4295 "%s: invalid command, MAC address [%s] length "
4296 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004297 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004298 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4299 goto done;
4300 }
4301 //parse the string and store it in the byte array
4302 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4303 {
4304 ((char*)pField)[i] = (char)
4305 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4306 parseHexDigit(value_str[(i * 2) + 1]));
4307 }
4308 break;
4309
4310 default:
4311 goto done;
4312 }
4313
4314 // if we get here, we had a successful modification
4315 vstatus = VOS_STATUS_SUCCESS;
4316
4317 // config table has been modified, is there a notifier?
4318 if (NULL != pRegEntry->pfnDynamicNotify)
4319 {
4320 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4321 }
4322
4323 // note that this item was explicitly configured
4324 if (idx < MAX_CFG_INI_ITEMS)
4325 {
4326 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4327 }
4328 done:
4329 kfree(clone);
4330 return vstatus;
4331}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004332
4333/**---------------------------------------------------------------------------
4334
4335 \brief hdd_is_okc_mode_enabled() -
4336
4337 This function returns whether OKC mode is enabled or not
4338
4339 \param - pHddCtx - Pointer to the HDD Adapter.
4340
4341 \return - 1 for enabled, zero for disabled
4342
4343 --------------------------------------------------------------------------*/
4344
4345tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4346{
4347 if (NULL == pHddCtx)
4348 {
4349 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4350 return -EINVAL;
4351 }
4352
4353#ifdef FEATURE_WLAN_OKC
4354 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4355#else
4356 return eANI_BOOLEAN_FALSE;
4357#endif
4358}