blob: b307dc30530b85e77737cfc4dedd37b292af3133 [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
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -0700105static 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}
110
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700111static 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{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700118 tANI_U16 scanChannelMaxTime = 0;
119
120 /* Home Away Time should be atleast equal to (MaxDwell time + (2*RFS)),
121 * where RFS is the RF Switching time. It is twice RFS to consider the
122 * time to go off channel and return to the home channel. */
123
124 scanChannelMaxTime = sme_getNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal));
125 if (pHddCtx->cfg_ini->nRoamScanHomeAwayTime < (scanChannelMaxTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
126 {
127 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
128 "%s: Invalid config, Home away time(%d) is less than (twice RF switching time + channel max time)(%d)",
129 " Hence enforcing home away time to disable (0)",
130 __func__, pHddCtx->cfg_ini->nRoamScanHomeAwayTime, (scanChannelMaxTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
131 pHddCtx->cfg_ini->nRoamScanHomeAwayTime = 0;
132 }
133
134 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime, eANI_BOOLEAN_TRUE);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700135}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700136#endif
137
138#ifdef FEATURE_WLAN_OKC
139static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
140{
141 // at the point this routine is called, the value in the cfg_ini table has already been updated
142}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800143#endif
144
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800145#ifdef FEATURE_WLAN_LFR
146static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
147{
148 // at the point this routine is called, the value in the cfg_ini table has already been updated
149 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
150}
151#endif
152
153#ifdef FEATURE_WLAN_CCX
154static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
155{
156 // at the point this routine is called, the value in the cfg_ini table has already been updated
157 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
158}
159#endif
160
161static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
162{
163 // at the point this routine is called, the value in the cfg_ini table has already been updated
164 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
165}
166
Srinivas Girigowdade697412013-02-14 16:31:48 -0800167#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
168static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
169{
170 // at the point this routine is called, the value in the cfg_ini table has already been updated
171 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
172}
173
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700174static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
175{
176 // at the point this routine is called, the value in the cfg_ini table has already been updated
177 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
178}
179
Srinivas Girigowdade697412013-02-14 16:31:48 -0800180static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
181{
182 // at the point this routine is called, the value in the cfg_ini table has already been updated
183 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
184}
185
186static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
187{
188 // at the point this routine is called, the value in the cfg_ini table has already been updated
189 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
190}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700191
192static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
193{
194 // at the point this routine is called, the value in the cfg_ini table has already been updated
195 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
196}
197
198static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
199{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700200 tANI_U16 homeAwayTime = 0;
201
202 /* Home Away Time should be atleast equal to (MaxDwell time + (2*RFS)),
203 * where RFS is the RF Switching time. It is twice RFS to consider the
204 * time to go off channel and return to the home channel. */
205 homeAwayTime = sme_getRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal));
206 if (homeAwayTime < (pHddCtx->cfg_ini->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
207 {
208 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
209 "%s: Invalid config, Home away time(%d) is less than (twice RF switching time + channel max time)(%d)",
210 " Hence enforcing home away time to disable (0)",
211 __func__, homeAwayTime, (pHddCtx->cfg_ini->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
212 homeAwayTime = 0;
213 pHddCtx->cfg_ini->nRoamScanHomeAwayTime = homeAwayTime;
214 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), homeAwayTime, eANI_BOOLEAN_FALSE);
215 }
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700216 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
217}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800218#endif
219
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700220static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
221{
222 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
223}
224
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700225#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
226static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
227{
228 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700229 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
230 {
231 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
232 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
233 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700234}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700235
236static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
237{
238 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
239}
240
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700241#endif
242
Jeff Johnson295189b2012-06-20 16:38:30 -0700243REG_TABLE_ENTRY g_registry_table[] =
244{
245 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800246 hdd_config_t, RTSThreshold,
247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
248 CFG_RTS_THRESHOLD_DEFAULT,
249 CFG_RTS_THRESHOLD_MIN,
250 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700251
252 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800253 hdd_config_t, FragmentationThreshold,
254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
255 CFG_FRAG_THRESHOLD_DEFAULT,
256 CFG_FRAG_THRESHOLD_MIN,
257 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700258
259 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800260 hdd_config_t, Calibration,
261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
262 CFG_CALIBRATION_DEFAULT,
263 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700264 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800265
Jeff Johnson295189b2012-06-20 16:38:30 -0700266 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800267 hdd_config_t, CalibrationPeriod,
268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
269 CFG_CALIBRATION_PERIOD_DEFAULT,
270 CFG_CALIBRATION_PERIOD_MIN,
271 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700272
273 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
274 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
276 CFG_OPERATING_CHANNEL_DEFAULT,
277 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700278 CFG_OPERATING_CHANNEL_MAX ),
279
280 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800281 hdd_config_t, ShortSlotTimeEnabled,
282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
283 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
284 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700285 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
286
287 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800288 hdd_config_t, Is11dSupportEnabled,
289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
290 CFG_11D_SUPPORT_ENABLED_DEFAULT,
291 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700292 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800293
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800294 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800295 hdd_config_t, Is11hSupportEnabled,
296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
297 CFG_11H_SUPPORT_ENABLED_DEFAULT,
298 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800299 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700300
301 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800302 hdd_config_t, fEnforce11dChannels,
303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
304 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
305 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700306 CFG_ENFORCE_11D_CHANNELS_MAX ),
307
308 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800309 hdd_config_t, fSupplicantCountryCodeHasPriority,
310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
311 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
312 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700313 CFG_COUNTRY_CODE_PRIORITY_MAX),
314
315 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800316 hdd_config_t, fEnforceCountryCodeMatch,
317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
318 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
319 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700320 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
321
322 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800323 hdd_config_t, fEnforceDefaultDomain,
324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
325 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
326 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700327 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328
Jeff Johnson295189b2012-06-20 16:38:30 -0700329 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
330 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
332 CFG_GENERIC_ID1_DEFAULT,
333 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700334 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335
Jeff Johnson295189b2012-06-20 16:38:30 -0700336 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
337 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800338 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
339 CFG_GENERIC_ID2_DEFAULT,
340 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700341 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342
Jeff Johnson295189b2012-06-20 16:38:30 -0700343 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
344 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800345 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
346 CFG_GENERIC_ID3_DEFAULT,
347 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700348 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800349
Jeff Johnson295189b2012-06-20 16:38:30 -0700350 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
351 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
353 CFG_GENERIC_ID4_DEFAULT,
354 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700355 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800356
Jeff Johnson295189b2012-06-20 16:38:30 -0700357 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
358 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800359 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
360 CFG_GENERIC_ID5_DEFAULT,
361 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700362 CFG_GENERIC_ID5_MAX ),
363
364 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
365 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800366 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
367 CFG_GENERIC_VALUE1_DEFAULT,
368 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700369 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800370
Jeff Johnson295189b2012-06-20 16:38:30 -0700371 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
372 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
374 CFG_GENERIC_VALUE2_DEFAULT,
375 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700376 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800377
Jeff Johnson295189b2012-06-20 16:38:30 -0700378 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
379 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800380 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
381 CFG_GENERIC_VALUE3_DEFAULT,
382 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700383 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800384
Jeff Johnson295189b2012-06-20 16:38:30 -0700385 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
386 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800387 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
388 CFG_GENERIC_VALUE4_DEFAULT,
389 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700390 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800391
Jeff Johnson295189b2012-06-20 16:38:30 -0700392 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
393 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800394 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
395 CFG_GENERIC_VALUE5_DEFAULT,
396 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700397 CFG_GENERIC_VALUE5_MAX ),
398
399 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800400 hdd_config_t, HeartbeatThresh24,
401 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
402 CFG_HEARTBEAT_THRESH_24_DEFAULT,
403 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700404 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800405
Jeff Johnson295189b2012-06-20 16:38:30 -0700406 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800407 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700408 VAR_FLAGS_OPTIONAL,
409 (void *)CFG_POWER_USAGE_DEFAULT ),
410
411 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800412 hdd_config_t, nEnableSuspend,
413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
414 CFG_ENABLE_SUSPEND_DEFAULT,
415 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700416 CFG_ENABLE_SUSPEND_MAX ),
417
418 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800419 hdd_config_t, nEnableDriverStop,
420 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
421 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
422 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700423 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
424
425 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800426 hdd_config_t, fIsImpsEnabled,
427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
428 CFG_ENABLE_IMPS_DEFAULT,
429 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700430 CFG_ENABLE_IMPS_MAX ),
431
432 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800433 hdd_config_t, fIsLogpEnabled,
434 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
435 CFG_ENABLE_LOGP_DEFAULT,
436 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700437 CFG_ENABLE_LOGP_MAX ),
438
439 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800440 hdd_config_t, nImpsMinSleepTime,
441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
442 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
443 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700444 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
445
446 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800447 hdd_config_t, nImpsMaxSleepTime,
448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
449 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
450 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700451 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
452
453 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
454 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
456 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
457 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700458 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
459
460 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800461 hdd_config_t, fIsBmpsEnabled,
462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
463 CFG_ENABLE_BMPS_DEFAULT,
464 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700465 CFG_ENABLE_BMPS_MAX ),
466
467 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800468 hdd_config_t, nBmpsMinListenInterval,
469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
470 CFG_BMPS_MINIMUM_LI_DEFAULT,
471 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700472 CFG_BMPS_MINIMUM_LI_MAX ),
473
474 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800475 hdd_config_t, nBmpsMaxListenInterval,
476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
477 CFG_BMPS_MAXIMUM_LI_DEFAULT,
478 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700479 CFG_BMPS_MAXIMUM_LI_MAX ),
480
481 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
482 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800483 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
484 CFG_BMPS_MODERATE_LI_DEFAULT,
485 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700486 CFG_BMPS_MODERATE_LI_MAX ),
487
488 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800489 hdd_config_t, fIsAutoBmpsTimerEnabled,
490 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
491 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
492 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700493 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
494
495 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800496 hdd_config_t, nAutoBmpsTimerValue,
497 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
498 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
499 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700500 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
501
502 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800503 hdd_config_t, dot11Mode,
504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
505 CFG_DOT11_MODE_DEFAULT,
506 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700507 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800508
Jeff Johnson295189b2012-06-20 16:38:30 -0700509 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800510 hdd_config_t, nChannelBondingMode24GHz,
511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
512 CFG_CHANNEL_BONDING_MODE_DEFAULT,
513 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700514 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800515
Jeff Johnson295189b2012-06-20 16:38:30 -0700516 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800517 hdd_config_t, nChannelBondingMode5GHz,
518 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
519 CFG_CHANNEL_BONDING_MODE_DEFAULT,
520 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700521 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800522
523 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
524 hdd_config_t, MaxRxAmpduFactor,
525 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
526 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
527 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700528 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800529
Jeff Johnson295189b2012-06-20 16:38:30 -0700530 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800531 hdd_config_t, TxRate,
532 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
533 CFG_FIXED_RATE_DEFAULT,
534 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700535 CFG_FIXED_RATE_MAX ),
536
537 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800538 hdd_config_t, ShortGI20MhzEnable,
539 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
540 CFG_SHORT_GI_20MHZ_DEFAULT,
541 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700542 CFG_SHORT_GI_20MHZ_MAX ),
543
544 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800545 hdd_config_t, BlockAckAutoSetup,
546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
547 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
548 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700549 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800550
Jeff Johnson295189b2012-06-20 16:38:30 -0700551 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800552 hdd_config_t, ScanResultAgeCount,
553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
554 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
555 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700556 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
557
558 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800559 hdd_config_t, nScanAgeTimeNCNPS,
560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
561 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
562 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700563 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
564
565 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800566 hdd_config_t, nScanAgeTimeNCPS,
567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
568 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
569 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700570 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
571
572 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800573 hdd_config_t, nScanAgeTimeCNPS,
574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
575 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
576 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700577 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
578
579 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800580 hdd_config_t, nScanAgeTimeCPS,
581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
582 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
583 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700584 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
585
586 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800587 hdd_config_t, nRssiCatGap,
588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
589 CFG_RSSI_CATEGORY_GAP_DEFAULT,
590 CFG_RSSI_CATEGORY_GAP_MIN,
591 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700592
Jeff Johnson295189b2012-06-20 16:38:30 -0700593 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800594 hdd_config_t, fIsShortPreamble,
595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
596 CFG_SHORT_PREAMBLE_DEFAULT,
597 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700598 CFG_SHORT_PREAMBLE_MAX ),
599
600 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800601 hdd_config_t, fIsAutoIbssBssid,
602 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
603 CFG_IBSS_AUTO_BSSID_DEFAULT,
604 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700605 CFG_IBSS_AUTO_BSSID_MAX ),
606
607 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800608 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700609 VAR_FLAGS_OPTIONAL,
610 (void *)CFG_IBSS_BSSID_DEFAULT ),
611
612 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800613 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700614 VAR_FLAGS_OPTIONAL,
615 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
616
617 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800618 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700619 VAR_FLAGS_OPTIONAL,
620 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
621
622 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800623 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700624 VAR_FLAGS_OPTIONAL,
625 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
626
627 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800628 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700629 VAR_FLAGS_OPTIONAL,
630 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
631
Jeff Johnson295189b2012-06-20 16:38:30 -0700632 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apUapsdEnabled,
634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
635 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
636 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700637 CFG_AP_QOS_UAPSD_MODE_MAX ),
638
639 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800640 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700641 VAR_FLAGS_OPTIONAL,
642 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
643
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700644 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
645 hdd_config_t, apRandomBssidEnabled,
646 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
647 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
648 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
649 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
650
Jeff Johnson295189b2012-06-20 16:38:30 -0700651 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800652 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700653 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
654 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
655 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
656 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
657
658 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
659 hdd_config_t, apProtection,
660 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
661 CFG_AP_PROTECTION_MODE_DEFAULT,
662 CFG_AP_PROTECTION_MODE_MIN,
663 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800664
Jeff Johnson295189b2012-06-20 16:38:30 -0700665 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800666 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700667 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
668 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
669 CFG_AP_OBSS_PROTECTION_MODE_MIN,
670 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800671
Jeff Johnson295189b2012-06-20 16:38:30 -0700672 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800673 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700674 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
675 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
676 CFG_AP_STA_SECURITY_SEPERATION_MIN,
677 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
678
679 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800680 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700681 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
682 CFG_FRAMES_PROCESSING_TH_DEFAULT,
683 CFG_FRAMES_PROCESSING_TH_MIN,
684 CFG_FRAMES_PROCESSING_TH_MAX ),
685
686 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
687 hdd_config_t, apStartChannelNum,
688 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
689 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
690 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
691 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
692
693 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
694 hdd_config_t, apEndChannelNum,
695 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
696 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
697 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
698 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
699
700 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
701 hdd_config_t, apOperatingBand,
702 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
703 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
704 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
705 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
706
707 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
708 hdd_config_t, apAutoChannelSelection,
709 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
710 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
711 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
712 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800713
Jeff Johnson295189b2012-06-20 16:38:30 -0700714 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
715 hdd_config_t, enableLTECoex,
716 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
717 CFG_ENABLE_LTE_COEX_DEFAULT,
718 CFG_ENABLE_LTE_COEX_MIN,
719 CFG_ENABLE_LTE_COEX_MAX ),
720
721 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
722 hdd_config_t, apKeepAlivePeriod,
723 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
724 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
725 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
726 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
727
728 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
729 hdd_config_t, goKeepAlivePeriod,
730 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
731 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
732 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
733 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
734
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530735 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
736 hdd_config_t, apLinkMonitorPeriod,
737 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
738 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
739 CFG_AP_LINK_MONITOR_PERIOD_MIN,
740 CFG_AP_LINK_MONITOR_PERIOD_MAX),
741
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530742 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
743 hdd_config_t, goLinkMonitorPeriod,
744 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
745 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
746 CFG_GO_LINK_MONITOR_PERIOD_MIN,
747 CFG_GO_LINK_MONITOR_PERIOD_MAX),
748
Jeff Johnson295189b2012-06-20 16:38:30 -0700749 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
750 hdd_config_t, disablePacketFilter,
751 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
752 CFG_DISABLE_PACKET_FILTER_DEFAULT,
753 CFG_DISABLE_PACKET_FILTER_MIN,
754 CFG_DISABLE_PACKET_FILTER_MAX ),
755
756 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800757 hdd_config_t, nBeaconInterval,
758 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
759 CFG_BEACON_INTERVAL_DEFAULT,
760 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700761 CFG_BEACON_INTERVAL_MAX ),
762
Jeff Johnson295189b2012-06-20 16:38:30 -0700763 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800764 hdd_config_t, nEnableIdleScan,
765 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
766 CFG_ENABLE_IDLE_SCAN_DEFAULT,
767 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700768 CFG_ENABLE_IDLE_SCAN_MAX ),
769
770 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800771 hdd_config_t, nRoamingTime,
772 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
773 CFG_ROAMING_TIME_DEFAULT,
774 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700775 CFG_ROAMING_TIME_MAX ),
776
777 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800778 hdd_config_t, nVccRssiTrigger,
779 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
780 CFG_VCC_RSSI_TRIGGER_DEFAULT,
781 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700782 CFG_VCC_RSSI_TRIGGER_MAX ),
783
784 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800785 hdd_config_t, nVccUlMacLossThreshold,
786 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
787 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
788 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700789 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
790
791 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800792 hdd_config_t, nPassiveMaxChnTime,
793 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
794 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
795 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700796 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
797
798 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800799 hdd_config_t, nPassiveMinChnTime,
800 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
801 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
802 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700803 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
804
805 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800806 hdd_config_t, nActiveMaxChnTime,
807 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
808 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
809 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700810 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
811
812 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800813 hdd_config_t, nActiveMinChnTime,
814 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
815 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
816 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700817 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700818
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800819 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
820 hdd_config_t, nActiveMaxChnTimeBtc,
821 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
822 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
823 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
824 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
825
826 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
827 hdd_config_t, nActiveMinChnTimeBtc,
828 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
829 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
830 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
831 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
832
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700833 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
834 hdd_config_t, retryLimitZero,
835 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
836 CFG_RETRY_LIMIT_ZERO_DEFAULT,
837 CFG_RETRY_LIMIT_ZERO_MIN,
838 CFG_RETRY_LIMIT_ZERO_MAX ),
839
840 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
841 hdd_config_t, retryLimitOne,
842 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
843 CFG_RETRY_LIMIT_ONE_DEFAULT,
844 CFG_RETRY_LIMIT_ONE_MIN,
845 CFG_RETRY_LIMIT_ONE_MAX ),
846
847 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
848 hdd_config_t, retryLimitTwo,
849 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
850 CFG_RETRY_LIMIT_TWO_DEFAULT,
851 CFG_RETRY_LIMIT_TWO_MIN,
852 CFG_RETRY_LIMIT_TWO_MAX ),
853
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700854 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
855 hdd_config_t, disableAggWithBtc,
856 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
857 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
858 CFG_DISABLE_AGG_WITH_BTC_MIN,
859 CFG_DISABLE_AGG_WITH_BTC_MAX ),
860
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700861#ifdef WLAN_AP_STA_CONCURRENCY
862 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800863 hdd_config_t, nPassiveMaxChnTimeConc,
864 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
865 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
866 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700867 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
868
869 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800870 hdd_config_t, nPassiveMinChnTimeConc,
871 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
872 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
873 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700874 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
875
876 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800877 hdd_config_t, nActiveMaxChnTimeConc,
878 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
879 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
880 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700881 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
882
883 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800884 hdd_config_t, nActiveMinChnTimeConc,
885 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
886 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
887 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700888 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
889
890 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800891 hdd_config_t, nRestTimeConc,
892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
893 CFG_REST_TIME_CONC_DEFAULT,
894 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700895 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800896
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700897 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
898 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800899 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700900 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
901 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
902 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
903
904 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
905 hdd_config_t, nNumP2PChanCombinedConc,
906 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
907 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
908 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
909 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700910#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800911
Jeff Johnson295189b2012-06-20 16:38:30 -0700912 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800913 hdd_config_t, nMaxPsPoll,
914 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
915 CFG_MAX_PS_POLL_DEFAULT,
916 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700917 CFG_MAX_PS_POLL_MAX ),
918
919 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800920 hdd_config_t, nTxPowerCap,
921 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
922 CFG_MAX_TX_POWER_DEFAULT,
923 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700924 CFG_MAX_TX_POWER_MAX ),
925
926 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
927 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800928 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
929 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
930 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700931 CFG_LOW_GAIN_OVERRIDE_MAX ),
932
933 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
934 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800935 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
936 CFG_RSSI_FILTER_PERIOD_DEFAULT,
937 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700938 CFG_RSSI_FILTER_PERIOD_MAX ),
939
940 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
941 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800942 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
943 CFG_IGNORE_DTIM_DEFAULT,
944 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700945 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800946
Yue Mac24062f2013-05-13 17:01:29 -0700947 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
948 hdd_config_t, fMaxLIModulatedDTIM,
949 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
950 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
951 CFG_MAX_LI_MODULATED_DTIM_MIN,
952 CFG_MAX_LI_MODULATED_DTIM_MAX ),
953
Jeff Johnson295189b2012-06-20 16:38:30 -0700954 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800955 hdd_config_t, nRxAnt,
956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
957 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
958 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700959 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
960
961 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800962 hdd_config_t, fEnableFwHeartBeatMonitoring,
963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
964 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
965 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700966 CFG_FW_HEART_BEAT_MONITORING_MAX ),
967
968 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800969 hdd_config_t, fEnableFwBeaconFiltering,
970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
971 CFG_FW_BEACON_FILTERING_DEFAULT,
972 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700973 CFG_FW_BEACON_FILTERING_MAX ),
974
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800975 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800976 hdd_config_t, fEnableFwRssiMonitoring,
977 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
978 CFG_FW_RSSI_MONITORING_DEFAULT,
979 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800980 CFG_FW_RSSI_MONITORING_MAX,
981 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700982
983 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800984 hdd_config_t, nDataInactivityTimeout,
985 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
986 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
987 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700988 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800989
Jeff Johnson295189b2012-06-20 16:38:30 -0700990 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800991 hdd_config_t, nthBeaconFilter,
992 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
993 CFG_NTH_BEACON_FILTER_DEFAULT,
994 CFG_NTH_BEACON_FILTER_MIN,
995 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700996
997 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800998 hdd_config_t, WmmMode,
999 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1000 CFG_QOS_WMM_MODE_DEFAULT,
1001 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001002 CFG_QOS_WMM_MODE_MAX ),
1003
1004 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001005 hdd_config_t, b80211eIsEnabled,
1006 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1007 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
1008 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001009 CFG_QOS_WMM_80211E_ENABLED_MAX ),
1010
1011 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001012 hdd_config_t, UapsdMask,
1013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1014 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
1015 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001016 CFG_QOS_WMM_UAPSD_MASK_MAX ),
1017
Jeff Johnson295189b2012-06-20 16:38:30 -07001018 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001019 hdd_config_t, InfraUapsdVoSrvIntv,
1020 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1021 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1022 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001023 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1024
1025 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001026 hdd_config_t, InfraUapsdVoSuspIntv,
1027 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1028 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1029 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001030 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1031
1032 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001033 hdd_config_t, InfraUapsdViSrvIntv,
1034 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1035 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1036 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001037 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1038
1039 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001040 hdd_config_t, InfraUapsdViSuspIntv,
1041 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1042 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1043 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001044 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1045
1046 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001047 hdd_config_t, InfraUapsdBeSrvIntv,
1048 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1049 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1050 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001051 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1052
1053 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001054 hdd_config_t, InfraUapsdBeSuspIntv,
1055 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1056 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1057 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001058 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1059
1060 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001061 hdd_config_t, InfraUapsdBkSrvIntv,
1062 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1063 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1064 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001065 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1066
1067 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001068 hdd_config_t, InfraUapsdBkSuspIntv,
1069 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1070 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1071 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001072 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1073
1074#ifdef FEATURE_WLAN_CCX
1075 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001076 hdd_config_t, InfraInactivityInterval,
1077 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1078 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1079 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001080 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001081 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001082 hdd_config_t, isCcxIniFeatureEnabled,
1083 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1084 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1085 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001086 CFG_CCX_FEATURE_ENABLED_MAX,
1087 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001088#endif // FEATURE_WLAN_CCX
1089
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001090#ifdef FEATURE_WLAN_LFR
1091 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001092 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001093 hdd_config_t, isFastRoamIniFeatureEnabled,
1094 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1095 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1096 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001097 CFG_LFR_FEATURE_ENABLED_MAX,
1098 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001099#endif // FEATURE_WLAN_LFR
1100
1101#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001102 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001103 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001104 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001105 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1106 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1107 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001108 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1109 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001110
Srinivas Girigowdade697412013-02-14 16:31:48 -08001111 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001112 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001113 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1114 hdd_config_t, RoamRssiDiff,
1115 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1116 CFG_ROAM_RSSI_DIFF_DEFAULT,
1117 CFG_ROAM_RSSI_DIFF_MIN,
1118 CFG_ROAM_RSSI_DIFF_MAX,
1119 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001120
1121 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001122 hdd_config_t, nImmediateRoamRssiDiff,
1123 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1124 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1125 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001126 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1127 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001128
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07001129 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1130 hdd_config_t, isWESModeEnabled,
1131 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1132 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1133 CFG_ENABLE_WES_MODE_NAME_MIN,
1134 CFG_ENABLE_WES_MODE_NAME_MAX,
1135 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001136#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001137#ifdef FEATURE_WLAN_OKC
1138 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1139 hdd_config_t, isOkcIniFeatureEnabled,
1140 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1141 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1142 CFG_OKC_FEATURE_ENABLED_MIN,
1143 CFG_OKC_FEATURE_ENABLED_MAX,
1144 cbNotifySetOkcFeatureEnabled, 0 ),
1145#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001146#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1147 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1148 hdd_config_t, isRoamOffloadScanEnabled,
1149 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1150 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1151 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1152 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1153 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1154#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001155 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001156 hdd_config_t, PktClassificationBasis,
1157 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1158 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1159 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001160 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1161
1162 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001163 hdd_config_t, InfraDirAcVo,
1164 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1165 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1166 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001167 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1168
1169 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001170 hdd_config_t, InfraNomMsduSizeAcVo,
1171 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1172 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1173 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001174 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1175
1176 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001177 hdd_config_t, InfraMeanDataRateAcVo,
1178 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1179 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1180 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001181 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1182
1183 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001184 hdd_config_t, InfraMinPhyRateAcVo,
1185 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1186 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1187 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001188 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1189
1190 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001191 hdd_config_t, InfraSbaAcVo,
1192 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1193 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1194 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001195 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1196
1197 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001198 hdd_config_t, InfraDirAcVi,
1199 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1200 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1201 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001202 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1203
1204 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001205 hdd_config_t, InfraNomMsduSizeAcVi,
1206 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1207 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1208 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001209 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1210
1211 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001212 hdd_config_t, InfraMeanDataRateAcVi,
1213 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1214 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1215 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001216 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1217
1218 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001219 hdd_config_t, InfraMinPhyRateAcVi,
1220 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1221 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1222 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001223 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1224
1225 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001226 hdd_config_t, InfraSbaAcVi,
1227 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1228 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1229 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001230 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1231
1232 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001233 hdd_config_t, InfraDirAcBe,
1234 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1235 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1236 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001237 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1238
1239 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001240 hdd_config_t, InfraNomMsduSizeAcBe,
1241 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1242 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1243 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001244 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1245
1246 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001247 hdd_config_t, InfraMeanDataRateAcBe,
1248 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1249 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1250 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001251 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1252
1253 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001254 hdd_config_t, InfraMinPhyRateAcBe,
1255 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1256 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1257 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001258 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1259
1260 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001261 hdd_config_t, InfraSbaAcBe,
1262 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1263 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1264 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001265 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1266
1267 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001268 hdd_config_t, InfraDirAcBk,
1269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1270 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1271 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001272 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1273
1274 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001275 hdd_config_t, InfraNomMsduSizeAcBk,
1276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1277 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1278 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001279 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1280
1281 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001282 hdd_config_t, InfraMeanDataRateAcBk,
1283 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1284 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1285 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001286 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1287
1288 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001289 hdd_config_t, InfraMinPhyRateAcBk,
1290 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1291 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1292 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001293 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1294
1295 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001296 hdd_config_t, InfraSbaAcBk,
1297 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1298 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1299 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001300 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1301
1302 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001303 hdd_config_t, WfqBkWeight,
1304 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1305 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1306 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001307 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1308
1309 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001310 hdd_config_t, WfqBeWeight,
1311 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1312 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1313 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001314 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1315
1316 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001317 hdd_config_t, WfqViWeight,
1318 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1319 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1320 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001321 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1322
1323 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001324 hdd_config_t, WfqVoWeight,
1325 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1326 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1327 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001328 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1329
1330 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001331 hdd_config_t, DelayedTriggerFrmInt,
1332 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1333 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1334 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001335 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1336
1337 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001338 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001339 VAR_FLAGS_OPTIONAL,
1340 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1341
1342 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001343 hdd_config_t, bImplicitQosEnabled,
1344 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1345 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1346 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001347 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1348
Jeff Johnson295189b2012-06-20 16:38:30 -07001349 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001350 hdd_config_t, btcExecutionMode,
1351 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1352 CFG_BTC_EXECUTION_MODE_DEFAULT,
1353 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001354 CFG_BTC_EXECUTION_MODE_MAX ),
1355
1356 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1357 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1358 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1359 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1360 CFG_BTC_DHCP_PROTECTION_MIN,
1361 CFG_BTC_DHCP_PROTECTION_MAX ),
1362
1363 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1364 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1365 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1366 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1367 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1368 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1369
Jeff Johnson32d95a32012-09-10 13:15:23 -07001370 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1371 hdd_config_t, btcStaticLenInqBt,
1372 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1373 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1374 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1375 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1376
1377 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1378 hdd_config_t, btcStaticLenPageBt,
1379 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1380 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1381 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1382 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1383
1384 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1385 hdd_config_t, btcStaticLenConnBt,
1386 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1387 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1388 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1389 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1390
1391 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1392 hdd_config_t, btcStaticLenLeBt,
1393 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1394 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1395 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1396 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1397
1398 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1399 hdd_config_t, btcStaticLenInqWlan,
1400 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1401 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1402 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1403 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1404
1405 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1406 hdd_config_t, btcStaticLenPageWlan,
1407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1408 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1409 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1410 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1411
1412 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1413 hdd_config_t, btcStaticLenConnWlan,
1414 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1415 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1416 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1417 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1418
1419 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1420 hdd_config_t, btcStaticLenLeWlan,
1421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1422 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1423 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1424 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1425
1426 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1427 hdd_config_t, btcDynMaxLenBt,
1428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1429 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1430 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1431 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1432
1433 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1434 hdd_config_t, btcDynMaxLenWlan,
1435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1436 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1437 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1438 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1439
1440 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1441 hdd_config_t, btcMaxScoBlockPerc,
1442 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1443 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1444 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1445 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1446
1447 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1448 hdd_config_t, btcDhcpProtOnA2dp,
1449 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1450 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1451 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1452 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1453
1454 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1455 hdd_config_t, btcDhcpProtOnSco,
1456 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1457 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1458 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1459 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1460
Wilson Tsaof8b37942013-09-06 10:49:00 -07001461 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1462 hdd_config_t, mwsCoexVictimWANFreq[0],
1463 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1464 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1465 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1466 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1467
1468 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1469 hdd_config_t, mwsCoexVictimWLANFreq[0],
1470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1471 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1472 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1473 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1474
1475 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1476 hdd_config_t, mwsCoexVictimConfig[0],
1477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1478 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1479 CFG_MWS_COEX_VX_CONFIG_MIN,
1480 CFG_MWS_COEX_VX_CONFIG_MAX ),
1481
1482 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1483 hdd_config_t, mwsCoexVictimConfig2[0],
1484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1485 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1486 CFG_MWS_COEX_VX_CONFIG_MIN,
1487 CFG_MWS_COEX_VX_CONFIG_MAX ),
1488
1489 REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1490 hdd_config_t, mwsCoexVictimWANFreq[1],
1491 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1492 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1493 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1494 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1495
1496 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1497 hdd_config_t, mwsCoexVictimWLANFreq[1],
1498 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1499 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1500 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1501 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1502
1503 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1504 hdd_config_t, mwsCoexVictimConfig[1],
1505 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1506 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1507 CFG_MWS_COEX_VX_CONFIG_MIN,
1508 CFG_MWS_COEX_VX_CONFIG_MAX ),
1509
1510 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1511 hdd_config_t, mwsCoexVictimConfig2[1],
1512 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1513 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1514 CFG_MWS_COEX_VX_CONFIG_MIN,
1515 CFG_MWS_COEX_VX_CONFIG_MAX ),
1516
1517 REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1518 hdd_config_t, mwsCoexVictimWANFreq[2],
1519 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1520 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1521 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1522 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1523
1524 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1525 hdd_config_t, mwsCoexVictimWLANFreq[2],
1526 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1527 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1528 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1529 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1530
1531 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1532 hdd_config_t, mwsCoexVictimConfig[2],
1533 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1534 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1535 CFG_MWS_COEX_VX_CONFIG_MIN,
1536 CFG_MWS_COEX_VX_CONFIG_MAX ),
1537
1538 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1539 hdd_config_t, mwsCoexVictimConfig2[2],
1540 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1541 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1542 CFG_MWS_COEX_VX_CONFIG_MIN,
1543 CFG_MWS_COEX_VX_CONFIG_MAX ),
1544
1545 REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1546 hdd_config_t, mwsCoexVictimWANFreq[3],
1547 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1548 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1549 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1550 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1551
1552 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1553 hdd_config_t, mwsCoexVictimWLANFreq[3],
1554 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1555 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1556 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1557 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1558
1559 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1560 hdd_config_t, mwsCoexVictimConfig[3],
1561 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1562 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1563 CFG_MWS_COEX_VX_CONFIG_MIN,
1564 CFG_MWS_COEX_VX_CONFIG_MAX ),
1565
1566 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1567 hdd_config_t, mwsCoexVictimConfig2[3],
1568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1569 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1570 CFG_MWS_COEX_VX_CONFIG_MIN,
1571 CFG_MWS_COEX_VX_CONFIG_MAX ),
1572
1573 REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1574 hdd_config_t, mwsCoexVictimWANFreq[4],
1575 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1576 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1577 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1578 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1579
1580 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1581 hdd_config_t, mwsCoexVictimWLANFreq[4],
1582 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1583 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1584 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1585 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1586
1587 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1588 hdd_config_t, mwsCoexVictimConfig[4],
1589 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1590 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1591 CFG_MWS_COEX_VX_CONFIG_MIN,
1592 CFG_MWS_COEX_VX_CONFIG_MAX ),
1593
1594 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1595 hdd_config_t, mwsCoexVictimConfig2[4],
1596 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1597 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1598 CFG_MWS_COEX_VX_CONFIG_MIN,
1599 CFG_MWS_COEX_VX_CONFIG_MAX ),
1600
1601 REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1602 hdd_config_t, mwsCoexVictimWANFreq[5],
1603 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1604 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1605 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1606 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1607
1608 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1609 hdd_config_t, mwsCoexVictimWLANFreq[5],
1610 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1611 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1612 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1613 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1614
1615 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1616 hdd_config_t, mwsCoexVictimConfig[5],
1617 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1618 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1619 CFG_MWS_COEX_VX_CONFIG_MIN,
1620 CFG_MWS_COEX_VX_CONFIG_MAX ),
1621
1622 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1623 hdd_config_t, mwsCoexVictimConfig2[5],
1624 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1625 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1626 CFG_MWS_COEX_VX_CONFIG_MIN,
1627 CFG_MWS_COEX_VX_CONFIG_MAX ),
1628
1629 REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1630 hdd_config_t, mwsCoexVictimWANFreq[6],
1631 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1632 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1633 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1634 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1635
1636 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1637 hdd_config_t, mwsCoexVictimWLANFreq[6],
1638 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1639 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1640 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1641 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1642
1643 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1644 hdd_config_t, mwsCoexVictimConfig[6],
1645 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1646 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1647 CFG_MWS_COEX_VX_CONFIG_MIN,
1648 CFG_MWS_COEX_VX_CONFIG_MAX ),
1649
1650 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1651 hdd_config_t, mwsCoexVictimConfig2[6],
1652 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1653 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1654 CFG_MWS_COEX_VX_CONFIG_MIN,
1655 CFG_MWS_COEX_VX_CONFIG_MAX ),
1656
1657 REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1658 hdd_config_t, mwsCoexVictimWANFreq[7],
1659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1660 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1661 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1662 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1663
1664 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1665 hdd_config_t, mwsCoexVictimWLANFreq[7],
1666 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1667 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1668 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1669 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1670
1671 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1672 hdd_config_t, mwsCoexVictimConfig[7],
1673 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1674 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1675 CFG_MWS_COEX_VX_CONFIG_MIN,
1676 CFG_MWS_COEX_VX_CONFIG_MAX ),
1677
1678 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1679 hdd_config_t, mwsCoexVictimConfig2[7],
1680 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1681 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1682 CFG_MWS_COEX_VX_CONFIG_MIN,
1683 CFG_MWS_COEX_VX_CONFIG_MAX ),
1684
1685 REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1686 hdd_config_t, mwsCoexVictimWANFreq[8],
1687 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1688 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1689 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1690 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1691
1692 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1693 hdd_config_t, mwsCoexVictimWLANFreq[8],
1694 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1695 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1696 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1697 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1698
1699 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1700 hdd_config_t, mwsCoexVictimConfig[8],
1701 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1702 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1703 CFG_MWS_COEX_VX_CONFIG_MIN,
1704 CFG_MWS_COEX_VX_CONFIG_MAX ),
1705
1706 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1707 hdd_config_t, mwsCoexVictimConfig2[8],
1708 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1709 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1710 CFG_MWS_COEX_VX_CONFIG_MIN,
1711 CFG_MWS_COEX_VX_CONFIG_MAX ),
1712
1713 REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1714 hdd_config_t, mwsCoexVictimWANFreq[9],
1715 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1716 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1717 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1718 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1719
1720 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1721 hdd_config_t, mwsCoexVictimWLANFreq[9],
1722 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1723 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1724 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1725 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1726
1727 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1728 hdd_config_t, mwsCoexVictimConfig[9],
1729 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1730 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1731 CFG_MWS_COEX_VX_CONFIG_MIN,
1732 CFG_MWS_COEX_VX_CONFIG_MAX ),
1733
1734 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1735 hdd_config_t, mwsCoexVictimConfig2[9],
1736 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1737 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1738 CFG_MWS_COEX_VX_CONFIG_MIN,
1739 CFG_MWS_COEX_VX_CONFIG_MAX ),
1740
1741 REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1742 hdd_config_t, mwsCoexModemBackoff,
1743 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1744 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1745 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1746 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1747
1748 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1749 hdd_config_t, mwsCoexConfig[0],
1750 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1751 CFG_MWS_COEX_CONFIGX_DEFAULT,
1752 CFG_MWS_COEX_CONFIGX_MIN,
1753 CFG_MWS_COEX_CONFIGX_MAX ),
1754
1755 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1756 hdd_config_t, mwsCoexConfig[1],
1757 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1758 CFG_MWS_COEX_CONFIGX_DEFAULT,
1759 CFG_MWS_COEX_CONFIGX_MIN,
1760 CFG_MWS_COEX_CONFIGX_MAX ),
1761
1762 REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer,
1763 hdd_config_t, mwsCoexConfig[2],
1764 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1765 CFG_MWS_COEX_CONFIGX_DEFAULT,
1766 CFG_MWS_COEX_CONFIGX_MIN,
1767 CFG_MWS_COEX_CONFIGX_MAX ),
1768
1769 REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer,
1770 hdd_config_t, mwsCoexConfig[3],
1771 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1772 CFG_MWS_COEX_CONFIGX_DEFAULT,
1773 CFG_MWS_COEX_CONFIGX_MIN,
1774 CFG_MWS_COEX_CONFIGX_MAX ),
1775
1776 REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer,
1777 hdd_config_t, mwsCoexConfig[4],
1778 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1779 CFG_MWS_COEX_CONFIGX_DEFAULT,
1780 CFG_MWS_COEX_CONFIGX_MIN,
1781 CFG_MWS_COEX_CONFIGX_MAX ),
1782
1783 REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer,
1784 hdd_config_t, mwsCoexConfig[5],
1785 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1786 CFG_MWS_COEX_CONFIGX_DEFAULT,
1787 CFG_MWS_COEX_CONFIGX_MIN,
1788 CFG_MWS_COEX_CONFIGX_MAX ),
1789
1790 REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1791 hdd_config_t, SARPowerBackoff,
1792 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1793 CFG_SAR_POWER_BACKOFF_DEFAULT,
1794 CFG_SAR_POWER_BACKOFF_MIN,
1795 CFG_SAR_POWER_BACKOFF_MAX ),
1796
Jeff Johnson295189b2012-06-20 16:38:30 -07001797 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001798 hdd_config_t, nEnableListenMode,
1799 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1800 CFG_AP_LISTEN_MODE_DEFAULT,
1801 CFG_AP_LISTEN_MODE_MIN,
1802 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001803
1804 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1805 hdd_config_t, nAPAutoShutOff,
1806 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1807 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1808 CFG_AP_AUTO_SHUT_OFF_MIN,
1809 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001810
1811#if defined WLAN_FEATURE_VOWIFI
1812 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001813 hdd_config_t, fRrmEnable,
1814 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1815 CFG_RRM_ENABLE_DEFAULT,
1816 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001817 CFG_RRM_ENABLE_MAX ),
1818
1819 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001820 hdd_config_t, nInChanMeasMaxDuration,
1821 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1822 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1823 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001824 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1825
1826 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001827 hdd_config_t, nOutChanMeasMaxDuration,
1828 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1829 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1830 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001831 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1832
1833 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001834 hdd_config_t, nRrmRandnIntvl,
1835 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1836 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1837 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001838 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1839#endif
1840
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001841#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001842 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001843 hdd_config_t, fFTResourceReqSupported,
1844 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1845 CFG_FT_RESOURCE_REQ_DEFAULT,
1846 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001847 CFG_FT_RESOURCE_REQ_MAX ),
1848#endif
1849
1850#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001851 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001852 hdd_config_t, nNeighborScanPeriod,
1853 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1854 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1855 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001856 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1857 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001858
1859 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001860 hdd_config_t, nNeighborReassocRssiThreshold,
1861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1862 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1863 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001864 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1865
Srinivas Girigowdade697412013-02-14 16:31:48 -08001866 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001867 hdd_config_t, nNeighborLookupRssiThreshold,
1868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1869 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1870 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001871 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1872 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001873
1874 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001875 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001876 VAR_FLAGS_OPTIONAL,
1877 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1878
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001879 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001880 hdd_config_t, nNeighborScanMinChanTime,
1881 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1882 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1883 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001884 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1885 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001886
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001887 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001888 hdd_config_t, nNeighborScanMaxChanTime,
1889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1890 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1891 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001892 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1893 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001894
1895 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1896 hdd_config_t, nMaxNeighborReqTries,
1897 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1898 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1899 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1900 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1901
Srinivas Girigowdade697412013-02-14 16:31:48 -08001902 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001903 hdd_config_t, nNeighborResultsRefreshPeriod,
1904 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1905 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1906 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001907 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1908 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1909
1910 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1911 hdd_config_t, nEmptyScanRefreshPeriod,
1912 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1913 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1914 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1915 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1916 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001917#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1918
1919 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001920 hdd_config_t, burstSizeDefinition,
1921 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1922 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1923 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001924 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1925
1926 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1927 hdd_config_t, mcastBcastFilterSetting,
1928 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1929 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1930 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1931 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1932
1933 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1934 hdd_config_t, fhostArpOffload,
1935 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1936 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1937 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1938 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1939
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301940 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1941 hdd_config_t, fhostNSOffload,
1942 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1943 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1944 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1945 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1946
Jeff Johnson295189b2012-06-20 16:38:30 -07001947 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001948 hdd_config_t, tsInfoAckPolicy,
1949 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1950 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1951 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001952 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1953
1954 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1955 hdd_config_t, bSingleTidRc,
1956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1957 CFG_SINGLE_TID_RC_DEFAULT,
1958 CFG_SINGLE_TID_RC_MIN,
1959 CFG_SINGLE_TID_RC_MAX),
1960
1961 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1962 hdd_config_t, dynamicPsPollValue,
1963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1964 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1965 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1966 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1967
1968 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1969 hdd_config_t, teleBcnWakeupEn,
1970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1971 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1972 CFG_TELE_BCN_WAKEUP_EN_MIN,
1973 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1974
1975 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1976 hdd_config_t, infraStaKeepAlivePeriod,
1977 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1978 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1979 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1980 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1981
1982 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001983 hdd_config_t, AddTSWhenACMIsOff,
1984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1985 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1986 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001987 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1988
1989
1990 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001991 hdd_config_t, fValidateScanList,
1992 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1993 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1994 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001995 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001996
Jeff Johnson295189b2012-06-20 16:38:30 -07001997 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001998 hdd_config_t, nNullDataApRespTimeout,
1999 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2000 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
2001 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002002 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
2003
2004 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002005 hdd_config_t, apDataAvailPollPeriodInMs,
2006 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2007 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2008 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002009 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002010
Jeff Johnson295189b2012-06-20 16:38:30 -07002011 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002012 hdd_config_t, enableBtAmp,
2013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2014 CFG_ENABLE_BTAMP_DEFAULT,
2015 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002016 CFG_ENABLE_BTAMP_MAX ),
2017
2018#ifdef WLAN_BTAMP_FEATURE
2019 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002020 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002021 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2022 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2023 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2024 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2025#endif //WLAN_BTAMP_FEATURE
2026 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002027 hdd_config_t, nBandCapability,
2028 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2029 CFG_BAND_CAPABILITY_DEFAULT,
2030 CFG_BAND_CAPABILITY_MIN,
2031 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002032
2033 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002034 hdd_config_t, fEnableBeaconEarlyTermination,
2035 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2036 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2037 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2038 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002039/* CFG_VOS_TRACE_ENABLE Parameters */
2040 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2041 hdd_config_t, vosTraceEnableBAP,
2042 VAR_FLAGS_OPTIONAL,
2043 CFG_VOS_TRACE_ENABLE_DEFAULT,
2044 CFG_VOS_TRACE_ENABLE_MIN,
2045 CFG_VOS_TRACE_ENABLE_MAX ),
2046
2047 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2048 hdd_config_t, vosTraceEnableTL,
2049 VAR_FLAGS_OPTIONAL,
2050 CFG_VOS_TRACE_ENABLE_DEFAULT,
2051 CFG_VOS_TRACE_ENABLE_MIN,
2052 CFG_VOS_TRACE_ENABLE_MAX ),
2053
2054 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2055 hdd_config_t, vosTraceEnableWDI,
2056 VAR_FLAGS_OPTIONAL,
2057 CFG_VOS_TRACE_ENABLE_DEFAULT,
2058 CFG_VOS_TRACE_ENABLE_MIN,
2059 CFG_VOS_TRACE_ENABLE_MAX ),
2060
2061 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2062 hdd_config_t, vosTraceEnableHDD,
2063 VAR_FLAGS_OPTIONAL,
2064 CFG_VOS_TRACE_ENABLE_DEFAULT,
2065 CFG_VOS_TRACE_ENABLE_MIN,
2066 CFG_VOS_TRACE_ENABLE_MAX ),
2067
2068 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2069 hdd_config_t, vosTraceEnableSME,
2070 VAR_FLAGS_OPTIONAL,
2071 CFG_VOS_TRACE_ENABLE_DEFAULT,
2072 CFG_VOS_TRACE_ENABLE_MIN,
2073 CFG_VOS_TRACE_ENABLE_MAX ),
2074
2075 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2076 hdd_config_t, vosTraceEnablePE,
2077 VAR_FLAGS_OPTIONAL,
2078 CFG_VOS_TRACE_ENABLE_DEFAULT,
2079 CFG_VOS_TRACE_ENABLE_MIN,
2080 CFG_VOS_TRACE_ENABLE_MAX ),
2081
Katya Nigam70d68332013-09-16 16:49:45 +05302082 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PMC_NAME, WLAN_PARAM_Integer,
2083 hdd_config_t, vosTraceEnablePMC,
2084 VAR_FLAGS_OPTIONAL,
2085 CFG_VOS_TRACE_ENABLE_DEFAULT,
2086 CFG_VOS_TRACE_ENABLE_MIN,
2087 CFG_VOS_TRACE_ENABLE_MAX ),
2088
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002089 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2090 hdd_config_t, vosTraceEnableWDA,
2091 VAR_FLAGS_OPTIONAL,
2092 CFG_VOS_TRACE_ENABLE_DEFAULT,
2093 CFG_VOS_TRACE_ENABLE_MIN,
2094 CFG_VOS_TRACE_ENABLE_MAX ),
2095
2096 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2097 hdd_config_t, vosTraceEnableSYS,
2098 VAR_FLAGS_OPTIONAL,
2099 CFG_VOS_TRACE_ENABLE_DEFAULT,
2100 CFG_VOS_TRACE_ENABLE_MIN,
2101 CFG_VOS_TRACE_ENABLE_MAX ),
2102
2103 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2104 hdd_config_t, vosTraceEnableVOSS,
2105 VAR_FLAGS_OPTIONAL,
2106 CFG_VOS_TRACE_ENABLE_DEFAULT,
2107 CFG_VOS_TRACE_ENABLE_MIN,
2108 CFG_VOS_TRACE_ENABLE_MAX ),
2109
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002110 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2111 hdd_config_t, vosTraceEnableSAP,
2112 VAR_FLAGS_OPTIONAL,
2113 CFG_VOS_TRACE_ENABLE_DEFAULT,
2114 CFG_VOS_TRACE_ENABLE_MIN,
2115 CFG_VOS_TRACE_ENABLE_MAX ),
2116
2117 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2118 hdd_config_t, vosTraceEnableHDDSAP,
2119 VAR_FLAGS_OPTIONAL,
2120 CFG_VOS_TRACE_ENABLE_DEFAULT,
2121 CFG_VOS_TRACE_ENABLE_MIN,
2122 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002123
Jeff Johnson295189b2012-06-20 16:38:30 -07002124 /* note that since the default value is out of range we cannot
2125 enable range check, otherwise we get a system log message */
2126 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2127 hdd_config_t, wdiTraceEnableDAL,
2128 VAR_FLAGS_OPTIONAL,
2129 CFG_WDI_TRACE_ENABLE_DEFAULT,
2130 CFG_WDI_TRACE_ENABLE_MIN,
2131 CFG_WDI_TRACE_ENABLE_MAX ),
2132
2133 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2134 hdd_config_t, wdiTraceEnableCTL,
2135 VAR_FLAGS_OPTIONAL,
2136 CFG_WDI_TRACE_ENABLE_DEFAULT,
2137 CFG_WDI_TRACE_ENABLE_MIN,
2138 CFG_WDI_TRACE_ENABLE_MAX ),
2139
2140 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2141 hdd_config_t, wdiTraceEnableDAT,
2142 VAR_FLAGS_OPTIONAL,
2143 CFG_WDI_TRACE_ENABLE_DEFAULT,
2144 CFG_WDI_TRACE_ENABLE_MIN,
2145 CFG_WDI_TRACE_ENABLE_MAX ),
2146
2147 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2148 hdd_config_t, wdiTraceEnablePAL,
2149 VAR_FLAGS_OPTIONAL,
2150 CFG_WDI_TRACE_ENABLE_DEFAULT,
2151 CFG_WDI_TRACE_ENABLE_MIN,
2152 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002153
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002154 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002155 hdd_config_t, nTeleBcnTransListenInterval,
2156 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2157 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2158 CFG_TELE_BCN_TRANS_LI_MIN,
2159 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002160
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002161 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002162 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2163 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2164 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2165 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2166 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002167
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002168 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002169 hdd_config_t, nTeleBcnMaxListenInterval,
2170 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2171 CFG_TELE_BCN_MAX_LI_DEFAULT,
2172 CFG_TELE_BCN_MAX_LI_MIN,
2173 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002174
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002175 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002176 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2177 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2178 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2179 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2180 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002181
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002182 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002183 hdd_config_t, bcnEarlyTermWakeInterval,
2184 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2185 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2186 CFG_BCN_EARLY_TERM_WAKE_MIN,
2187 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002188
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002189 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002190 hdd_config_t, apDataAvailPollPeriodInMs,
2191 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2192 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2193 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002194 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2195
2196 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002197 hdd_config_t, enableCloseLoop,
2198 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2199 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2200 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002201 CFG_ENABLE_CLOSE_LOOP_MAX ),
2202
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002203 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002204 hdd_config_t, enableBypass11d,
2205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2206 CFG_ENABLE_BYPASS_11D_DEFAULT,
2207 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002208 CFG_ENABLE_BYPASS_11D_MAX ),
2209
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002210 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002211 hdd_config_t, enableDFSChnlScan,
2212 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2213 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2214 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002215 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2216
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002217 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002218 hdd_config_t, enableDynamicDTIM,
2219 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2220 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2221 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002222 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2223
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002224 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002225 hdd_config_t, enableAutomaticTxPowerControl,
2226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2227 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2228 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002229 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2230
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002231 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002232 hdd_config_t, ShortGI40MhzEnable,
2233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2234 CFG_SHORT_GI_40MHZ_DEFAULT,
2235 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002236 CFG_SHORT_GI_40MHZ_MAX ),
2237
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002238 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002239 hdd_config_t, reportMaxLinkSpeed,
2240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2241 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2242 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002243 CFG_REPORT_MAX_LINK_SPEED_MAX,
2244 NULL, 0 ),
2245
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002246 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002247 hdd_config_t, linkSpeedRssiHigh,
2248 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2249 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2250 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2251 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2252 NULL, 0 ),
2253
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002254 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002255 hdd_config_t, linkSpeedRssiMid,
2256 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2257 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2258 CFG_LINK_SPEED_RSSI_MID_MIN,
2259 CFG_LINK_SPEED_RSSI_MID_MAX,
2260 NULL, 0 ),
2261
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002262 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002263 hdd_config_t, linkSpeedRssiLow,
2264 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2265 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2266 CFG_LINK_SPEED_RSSI_LOW_MIN,
2267 CFG_LINK_SPEED_RSSI_LOW_MAX,
2268 NULL, 0 ),
2269
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002270#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002271 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002272 hdd_config_t, nRoamPrefer5GHz,
2273 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2274 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2275 CFG_ROAM_PREFER_5GHZ_MIN,
2276 CFG_ROAM_PREFER_5GHZ_MAX,
2277 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002278
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002279 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002280 hdd_config_t, nRoamIntraBand,
2281 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2282 CFG_ROAM_INTRA_BAND_DEFAULT,
2283 CFG_ROAM_INTRA_BAND_MIN,
2284 CFG_ROAM_INTRA_BAND_MAX,
2285 cbNotifySetRoamIntraBand, 0 ),
2286
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002287 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2288 hdd_config_t, nProbes,
2289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2290 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2291 CFG_ROAM_SCAN_N_PROBES_MIN,
2292 CFG_ROAM_SCAN_N_PROBES_MAX,
2293 cbNotifySetRoamScanNProbes, 0 ),
2294
2295 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2296 hdd_config_t, nRoamScanHomeAwayTime,
2297 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2298 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2299 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2300 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2301 cbNotifySetRoamScanHomeAwayTime, 0 ),
2302
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002303#endif
2304
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002305 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002306 hdd_config_t, isP2pDeviceAddrAdministrated,
2307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2308 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2309 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2310 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002311
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002312 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002313 hdd_config_t, enableMCC,
2314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2315 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2316 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002317 CFG_ENABLE_MCC_ENABLED_MAX ),
2318
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002319 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002320 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2322 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2323 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2324 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002325
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002326 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002327 hdd_config_t, thermalMitigationEnable,
2328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2329 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2330 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002331 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002332
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002333 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002334 hdd_config_t, enableModulatedDTIM,
2335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2336 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2337 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002338 CFG_ENABLE_MODULATED_DTIM_MAX ),
2339
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002340 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002341 hdd_config_t, fEnableMCAddrList,
2342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2343 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2344 CFG_MC_ADDR_LIST_ENABLE_MIN,
2345 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2346
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002347#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002348 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002349 hdd_config_t, vhtChannelWidth,
2350 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2351 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2352 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002353 CFG_VHT_CHANNEL_WIDTH_MAX),
2354
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002355 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002356 hdd_config_t, vhtRxMCS,
2357 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2358 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2359 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002360 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2361
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002362 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002363 hdd_config_t, vhtTxMCS,
2364 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2365 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2366 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002367 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2368#endif
2369
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002370 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002371 hdd_config_t, enableFirstScan2GOnly,
2372 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2373 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2374 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002375 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2376
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002377 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002378 hdd_config_t, skipDfsChnlInP2pSearch,
2379 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2380 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2381 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002382 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2383
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002384 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002385 hdd_config_t, ignoreDynamicDtimInP2pMode,
2386 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2387 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2388 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002389 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2390
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002391 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002392 hdd_config_t,numBuffAdvert ,
2393 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2394 CFG_NUM_BUFF_ADVERT_DEFAULT,
2395 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002396 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002397
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002398 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002399 hdd_config_t, configMccParam,
2400 VAR_FLAGS_OPTIONAL,
2401 CFG_MCC_CONFIG_PARAM_DEFAULT,
2402 CFG_MCC_CONFIG_PARAM_MIN,
2403 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002404 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002405 hdd_config_t, enableRxSTBC,
2406 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2407 CFG_ENABLE_RX_STBC_DEFAULT,
2408 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302409 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002410#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002411 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002412 hdd_config_t, fEnableTDLSSupport,
2413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2414 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2415 CFG_TDLS_SUPPORT_ENABLE_MIN,
2416 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302417
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002418 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302419 hdd_config_t, fEnableTDLSImplicitTrigger,
2420 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2421 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2422 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2423 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2424
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002425 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302426 hdd_config_t, fTDLSTxStatsPeriod,
2427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2428 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2429 CFG_TDLS_TX_STATS_PERIOD_MIN,
2430 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2431
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002432 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302433 hdd_config_t, fTDLSTxPacketThreshold,
2434 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2435 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2436 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2437 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2438
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002439 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302440 hdd_config_t, fTDLSDiscoveryPeriod,
2441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2442 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2443 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2444 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2445
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002446 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302447 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2449 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2450 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2451 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2452
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002453 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002454 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002456 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2457 CFG_TDLS_IDLE_TIMEOUT_MIN,
2458 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2459
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002460 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002461 hdd_config_t, fTDLSIdlePacketThreshold,
2462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2463 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2464 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2465 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302466
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002467 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002468 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2470 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2471 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2472 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002473
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002474 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002475 hdd_config_t, fTDLSRSSITriggerThreshold,
2476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2477 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2478 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2479 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2480
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002481 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002482 hdd_config_t, fTDLSRSSITeardownThreshold,
2483 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2484 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2485 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2486 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302487
2488REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2489 hdd_config_t, fTDLSUapsdMask,
2490 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2491 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2492 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2493 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2494
2495REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2496 hdd_config_t, fEnableTDLSBufferSta,
2497 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2498 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2499 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2500 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2501
2502REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2503 hdd_config_t, fTDLSPuapsdInactivityTimer,
2504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2505 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2506 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2507 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2508
2509REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2510 hdd_config_t, fTDLSRxFrameThreshold,
2511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2512 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2513 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2514 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002515#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002516
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002517#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002518 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002519 hdd_config_t, fEnableVSTASupport,
2520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2521 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2522 CFG_VSTA_SUPPORT_ENABLE_MIN,
2523 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2524#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002525 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002526 hdd_config_t, enableLpwrImgTransition,
2527 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2528 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2529 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002530 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2531
Yathish9f22e662012-12-10 14:21:35 -08002532#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002533 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002534 hdd_config_t, fEnableActiveModeOffload,
2535 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2536 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2537 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2538 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2539#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002540 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002541 hdd_config_t, enableLpwrImgTransition,
2542 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2543 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2544 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2545 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2546
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002547
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002548 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002549 hdd_config_t, scanAgingTimeout,
2550 VAR_FLAGS_OPTIONAL,
2551 CFG_SCAN_AGING_PARAM_DEFAULT,
2552 CFG_SCAN_AGING_PARAM_MIN,
2553 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002554
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002555 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002556 hdd_config_t, enableTxLdpc,
2557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2558 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2559 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2560 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2561
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002562 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302563 hdd_config_t, enableMCCAdaptiveScheduler,
2564 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2565 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2566 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2567 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2568
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002569 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302570 hdd_config_t, isAndroidPsEn,
2571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2572 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2573 CFG_ANDRIOD_POWER_SAVE_MIN,
2574 CFG_ANDRIOD_POWER_SAVE_MAX),
2575
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002576 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002577 hdd_config_t, AdHocChannel5G,
2578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2579 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2580 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2581 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2582
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002583 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002584 hdd_config_t, AdHocChannel24G,
2585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2586 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2587 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2588 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2589
2590
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002591#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002592 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002593 hdd_config_t, enableTxBF,
2594 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2595 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2596 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2597 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002598
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002599 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002600 hdd_config_t, txBFCsnValue,
2601 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2602 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2603 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2604 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2605
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002606#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302607
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002608 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302609 hdd_config_t, sapAllowAllChannel,
2610 VAR_FLAGS_OPTIONAL,
2611 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2612 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2613 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002614
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002615#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002616 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002617 hdd_config_t, disableLDPCWithTxbfAP,
2618 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2619 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2620 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2621 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2622#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002623
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002624 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002625 hdd_config_t, listOfNonDfsCountryCode,
2626 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2627 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2628
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002629 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2630 hdd_config_t, enableSSR,
2631 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2632 CFG_ENABLE_SSR_DEFAULT,
2633 CFG_ENABLE_SSR_MIN,
2634 CFG_ENABLE_SSR_MAX,
2635 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302636
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002637 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302638 hdd_config_t, listOfNon11acCountryCode,
2639 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2640 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2641
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002642 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302643 hdd_config_t, cfgMaxMediumTime,
2644 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2645 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2646 CFG_MAX_MEDIUM_TIME_STAMIN,
2647 CFG_MAX_MEDIUM_TIME_STAMAX ),
2648
Leo Chang64d68bc2013-06-04 15:40:52 -07002649 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2650 hdd_config_t, enableTrafficMonitor,
2651 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2652 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2653 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2654 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2655
2656 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2657 hdd_config_t, trafficIdleTimeout,
2658 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2659 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2660 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2661 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002662
2663#ifdef WLAN_FEATURE_11AC
2664 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2665 hdd_config_t, enableVhtFor24GHzBand,
2666 VAR_FLAGS_OPTIONAL,
2667 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2668 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2669 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2670#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302671
2672 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2673 hdd_config_t, fScanOffload,
2674 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2675 CFG_SCAN_OFFLOAD_DEFAULT,
2676 CFG_SCAN_OFFLOAD_DISABLE,
2677 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002678
2679#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2680 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2681 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2682 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2683 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2684 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2685 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2686 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2687#endif
2688
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002689 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2690 hdd_config_t, fEnableAdaptRxDrain,
2691 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2692 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2693 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2694 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2695
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002696 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2697 hdd_config_t, dynSplitscan,
2698 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2699 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2700 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2701 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2702
2703 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2704 hdd_config_t, txRxThresholdForSplitScan,
2705 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2706 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2707 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2708 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2709
2710 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2711 hdd_config_t, trafficMntrTmrForSplitScan,
2712 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2713 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2714 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2715 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2716
Yue Ma0fd23872013-08-01 15:56:47 -07002717 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2718 hdd_config_t, flexConnectPowerFactor,
2719 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2720 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2721 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2722 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2723
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002724 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2725 hdd_config_t, enableIbssHeartBeatOffload,
2726 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2727 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2728 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2729 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2730
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302731 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2732 hdd_config_t, antennaDiversity,
2733 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2734 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2735 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2736 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302737
2738 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2739 hdd_config_t, fEnableSNRMonitoring,
2740 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2741 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2742 CFG_ENABLE_SNR_MONITORING_MIN,
2743 CFG_ENABLE_SNR_MONITORING_MAX),
2744
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302745#ifdef FEATURE_WLAN_SCAN_PNO
2746 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2747 hdd_config_t, configPNOScanTimerRepeatValue,
2748 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2749 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2750 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2751 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2752#endif
krunal soni5afa96c2013-09-06 22:19:02 -07002753 REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
2754 hdd_config_t, isAmsduSupportInAMPDU,
2755 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2756 CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
2757 CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
2758 CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302759
Jeff Johnson295189b2012-06-20 16:38:30 -07002760};
2761
2762/*
2763 * This function returns a pointer to the character after the occurence
2764 * of a new line character. It also modifies the original string by replacing
2765 * the '\n' character with the null character.
2766 * Function returns NULL if no new line character was found before end of
2767 * string was reached
2768 */
2769static char* get_next_line(char* str)
2770{
2771 char c;
2772
2773 if( str == NULL || *str == '\0') {
2774 return NULL;
2775 }
2776
2777 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002778 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002779 str = str + 1;
2780 c = *str;
2781 }
2782
2783 if (c == '\0' ) {
2784 return NULL;
2785 }
2786 else
2787 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002788 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002789 return (str+1);
2790 }
2791
2792 return NULL;
2793}
2794
2795// look for space. Ascii values to look are -
2796// 0x09 == horizontal tab
2797// 0x0a == Newline ("\n")
2798// 0x0b == vertical tab
2799// 0x0c == Newpage or feed form.
2800// 0x0d == carriage return (CR or "\r")
2801// Null ('\0') should not considered as space.
2802#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2803
2804/*
2805 * This function trims any leading and trailing white spaces
2806 */
2807static char *i_trim(char *str)
2808
2809{
2810 char *ptr;
2811
2812 if(*str == '\0') return str;
2813
2814 /* Find the first non white-space*/
2815 for (ptr = str; i_isspace(*ptr); ptr++);
2816 if (*ptr == '\0')
2817 return str;
2818
2819 /* This is the new start of the string*/
2820 str = ptr;
2821
2822 /* Find the last non white-space */
2823 ptr += strlen(ptr) - 1;
2824 for (; ptr != str && i_isspace(*ptr); ptr--);
2825 /* Null terminate the following character */
2826 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002827
Jeff Johnson295189b2012-06-20 16:38:30 -07002828 return str;
2829}
2830
2831
2832//Structure to store each entry in qcom_cfg.ini file
2833typedef struct
2834{
2835 char *name;
2836 char *value;
2837}tCfgIniEntry;
2838
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002839static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002840 tCfgIniEntry* iniTable, unsigned long entries);
2841
2842#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002843void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002844{
2845 unsigned long i;
2846
2847 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002848 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002849 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2850 }
2851}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002852#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002853
2854/*
2855 * This function reads the qcom_cfg.ini file and
2856 * parses each 'Name=Value' pair in the ini file
2857 */
2858VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2859{
2860 int status, i=0;
2861 /** Pointer for firmware image data */
2862 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002863 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002864 size_t size;
2865 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002866 /* cfgIniTable is static to avoid excess stack usage */
2867 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002868 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2869
2870 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2871
2872 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002873
Jeff Johnson295189b2012-06-20 16:38:30 -07002874 if(status)
2875 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002876 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002877 vos_status = VOS_STATUS_E_FAILURE;
2878 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002879 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002880 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002881 {
2882 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002883 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002884 vos_status = VOS_STATUS_E_FAILURE;
2885 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002886 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002887
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002888 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002889
2890 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002891
Jeff Johnson295189b2012-06-20 16:38:30 -07002892 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002893 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002894 release_firmware(fw);
2895 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002896 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002897 pTemp = buffer;
2898
2899 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2900 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002901
Jeff Johnson295189b2012-06-20 16:38:30 -07002902 while (buffer != NULL)
2903 {
2904 line = get_next_line(buffer);
2905 buffer = i_trim(buffer);
2906
2907 hddLog(LOG1, "%s: item", buffer);
2908
2909 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2910 buffer = line;
2911 continue;
2912 }
2913 else if(strncmp(buffer, "END", 3) == 0 ) {
2914 break;
2915 }
2916 else
2917 {
2918 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002919 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002920 buffer++;
2921 if(*buffer != '\0') {
2922 *buffer++ = '\0';
2923 i_trim(name);
2924 if(strlen (name) != 0) {
2925 buffer = i_trim(buffer);
2926 if(strlen(buffer)>0) {
2927 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002928 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002929 buffer++;
2930 *buffer = '\0';
2931 cfgIniTable[i].name= name;
2932 cfgIniTable[i++].value= value;
2933 if(i >= MAX_CFG_INI_ITEMS) {
2934 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002935 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002936 break;
2937 }
2938 }
2939 }
2940 }
2941 }
2942 buffer = line;
2943 }
2944
2945 //Loop through the registry table and apply all these configs
2946 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2947
Jeff Johnson4416a782013-03-25 14:17:50 -07002948config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002949 release_firmware(fw);
2950 vos_mem_free(pTemp);
2951 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002952}
Jeff Johnson295189b2012-06-20 16:38:30 -07002953
2954
2955static void print_hdd_cfg(hdd_context_t *pHddCtx)
2956{
2957 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2958 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2959 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2960 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2961 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2962 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2963 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2964 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2965 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]",
2966 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2967 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2968 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2969
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002970 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002971 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2972 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2973 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2974 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2975 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2976 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2977 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2978
2979
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002980 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002981 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2982 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2983 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2984 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2985 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2986 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2987 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2988
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002989 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002990 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2991 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2992 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2993 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2994 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2995 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2996 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2997
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002998 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002999 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
3000 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
3001 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
3002 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
3003 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
3004 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
3005 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
3006
Jeff Johnson295189b2012-06-20 16:38:30 -07003007
3008 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
3009
3010 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
3011 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
3012 pHddCtx->cfg_ini->apCntryCode[2]);
3013 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
3014 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
3015
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003016 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 -07003017 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
3018 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
3019 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 -08003020
Jeff Johnson295189b2012-06-20 16:38:30 -07003021 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3022 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3023 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
3024 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3025 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3026 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3027 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3028
3029 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3030 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
3031
3032 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3033 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
3034
3035 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3036 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
3037
3038 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3039 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
3040#ifdef FEATURE_WLAN_CCX
3041 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
3042 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
3043 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3044 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 -08003045#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003046#ifdef FEATURE_WLAN_LFR
3047 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 -08003048#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07003049#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3050 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 -08003051 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%lu] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07003052 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 -07003053#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003054#ifdef FEATURE_WLAN_OKC
3055 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
3056#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003057 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3058 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
3059 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3060 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
3061 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3062
3063 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3064 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
3065 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3066 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
3067 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3068
3069 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3070 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
3071 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3072 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
3073 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3074
3075 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3076 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
3077 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3078 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
3079 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3080
3081 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3082 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3083 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3084 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
3085 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
3086 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3087 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 -08003088#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07003089 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
3090#endif
3091
3092#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3093 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3094 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3095 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3096 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3097 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3098 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3099 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 -08003100 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 -07003101#endif
3102 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3103 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3104 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3105 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3106 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3107 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3108 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3109
3110 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3111 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3112 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3113#ifdef WLAN_BTAMP_FEATURE
3114 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3115#endif //WLAN_BTAMP_FEATURE
3116 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3117 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3118 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3119 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3120 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3121 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3122 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3123 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3124 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3125 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3126 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3127 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3128 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 -07003129#ifdef WLAN_FEATURE_11AC
3130 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
3131#endif
3132 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3133 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3134 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 +05303135 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 -08003136 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 -07003137 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 -07003138 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 -07003139
Leo Chang64d68bc2013-06-04 15:40:52 -07003140 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3141 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTrafficIdleTimeout] Value = [%u] ", pHddCtx->cfg_ini->trafficIdleTimeout);
Yue Ma0fd23872013-08-01 15:56:47 -07003142 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gFlexConnectPowerFactor] Value = [%u] ", pHddCtx->cfg_ini->flexConnectPowerFactor);
Ravi Joshid2ca7c42013-07-23 08:37:49 -07003143 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableIbssHeartBeatOffload] Value = [%u] ", pHddCtx->cfg_ini->enableIbssHeartBeatOffload);
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05303144 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAntennaDiversity] Value = [%u] ", pHddCtx->cfg_ini->antennaDiversity);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303145 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3146 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3147 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3148 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod);
krunal soni5afa96c2013-09-06 22:19:02 -07003149 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%lu] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303150
Jeff Johnson295189b2012-06-20 16:38:30 -07003151}
3152
3153
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003154
Jeff Johnson295189b2012-06-20 16:38:30 -07003155#define CFG_VALUE_MAX_LEN 256
3156#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3157VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3158{
3159 unsigned int idx;
3160 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3161 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3162 v_U32_t value;
3163 char valueStr[CFG_VALUE_MAX_LEN];
3164 char configStr[CFG_ENTRY_MAX_LEN];
3165 char *fmt;
3166 void *pField;
3167 v_MACADDR_t *pMacAddr;
3168 char *pCur = pBuf;
3169 int curlen;
3170
3171 // start with an empty string
3172 *pCur = '\0';
3173
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003174 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003175 {
3176 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3177
3178 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3179 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003180 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003181 {
3182 value = 0;
3183 memcpy( &value, pField, pRegEntry->VarSize );
3184 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3185 {
3186 fmt = "%x";
3187 }
3188 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3189 {
3190 fmt = "%d";
3191 }
3192 else
3193 {
3194 fmt = "%u";
3195 }
3196 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3197 }
3198 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3199 {
3200 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3201 }
3202 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3203 {
3204 pMacAddr = (v_MACADDR_t *) pField;
3205 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3206 "%02x:%02x:%02x:%02x:%02x:%02x",
3207 pMacAddr->bytes[0],
3208 pMacAddr->bytes[1],
3209 pMacAddr->bytes[2],
3210 pMacAddr->bytes[3],
3211 pMacAddr->bytes[4],
3212 pMacAddr->bytes[5]);
3213 }
3214 else
3215 {
3216 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3217 }
Sameer Thalappilb0a30232013-09-27 15:37:48 -07003218 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
Jeff Johnson295189b2012-06-20 16:38:30 -07003219 "%s=[%s]%s\n",
3220 pRegEntry->RegName,
3221 valueStr,
3222 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3223 "*" : "");
3224
3225 // ideally we want to return the config to the application
3226 // however the config is too big so we just printk() for now
3227#ifdef RETURN_IN_BUFFER
3228 if (curlen <= buflen)
3229 {
3230 // copy string + '\0'
3231 memcpy(pCur, configStr, curlen+1);
3232
3233 // account for addition;
3234 pCur += curlen;
3235 buflen -= curlen;
3236 }
3237 else
3238 {
3239 // buffer space exhausted, return what we have
3240 return VOS_STATUS_E_RESOURCES;
3241 }
3242#else
3243 printk(KERN_CRIT "%s", configStr);
3244#endif // RETURN_IN_BUFFER
3245
3246}
3247
3248#ifndef RETURN_IN_BUFFER
3249 // notify application that output is in system log
3250 snprintf(pCur, buflen, "WLAN configuration written to system log");
3251#endif // RETURN_IN_BUFFER
3252
3253 return VOS_STATUS_SUCCESS;
3254}
3255
3256static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003257 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003258{
3259 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3260 unsigned long i;
3261
3262 for (i = 0; i < entries; i++) {
3263 if (strcmp(iniTable[i].name, name) == 0) {
3264 *value = iniTable[i].value;
3265 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3266 WLAN_INI_FILE, name, *value);
3267 return VOS_STATUS_SUCCESS;
3268 }
3269 }
3270
3271 return status;
3272}
3273
3274static int parseHexDigit(char c)
3275{
3276 if (c >= '0' && c <= '9')
3277 return c-'0';
3278 if (c >= 'a' && c <= 'f')
3279 return c-'a'+10;
3280 if (c >= 'A' && c <= 'F')
3281 return c-'A'+10;
3282
3283 return 0;
3284}
3285
3286
3287static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3288{
3289 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3290 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3291 unsigned int idx;
3292 void *pField;
3293 char *value_str = NULL;
3294 unsigned long len_value_str;
3295 char *candidate;
3296 v_U32_t value;
3297 v_S31_t svalue;
3298 void *pStructBase = pHddCtx->cfg_ini;
3299 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3300 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3301 v_U32_t cbOutString;
3302 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003303 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003304
3305 // sanity test
3306 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3307 {
3308 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003309 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003310 }
3311
3312 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3313 {
3314 //Calculate the address of the destination field in the structure.
3315 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3316
3317 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3318
3319 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3320 {
3321 // If we could not read the cfg item and it is required, this is an error.
3322 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003323 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003324 ret_status = VOS_STATUS_E_FAILURE;
3325 break;
3326 }
3327
3328 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3329 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3330 {
3331 // If successfully read from the registry, use the value read.
3332 // If not, use the default value.
3333 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003334 rv = kstrtoul(value_str, 10, &value);
3335 if (rv < 0) {
3336 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3337 __func__, pRegEntry->RegName);
3338 value = pRegEntry->VarDefault;
3339 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003340 }
3341 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003342 rv = kstrtoul(value_str, 16, &value);
3343 if (rv < 0) {
3344 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3345 __func__, pRegEntry->RegName);
3346 value = pRegEntry->VarDefault;
3347 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003348 }
3349 else {
3350 value = pRegEntry->VarDefault;
3351 }
3352
3353 // If this parameter needs range checking, do it here.
3354 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3355 {
3356 if ( value > pRegEntry->VarMax )
3357 {
3358 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003359 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003360 value = pRegEntry->VarMax;
3361 }
3362
3363 if ( value < pRegEntry->VarMin )
3364 {
3365 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003366 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003367 value = pRegEntry->VarMin;
3368 }
3369 }
3370 // If this parameter needs range checking, do it here.
3371 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3372 {
3373 if ( value > pRegEntry->VarMax )
3374 {
3375 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003376 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003377 value = pRegEntry->VarDefault;
3378 }
3379
3380 if ( value < pRegEntry->VarMin )
3381 {
3382 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003383 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003384 value = pRegEntry->VarDefault;
3385 }
3386 }
3387
3388 // Move the variable into the output field.
3389 memcpy( pField, &value, pRegEntry->VarSize );
3390 }
3391 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3392 {
3393 // If successfully read from the registry, use the value read.
3394 // If not, use the default value.
3395 if (VOS_STATUS_SUCCESS == match_status)
3396 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003397 rv = kstrtol(value_str, 10, &svalue);
3398 if (rv < 0) {
3399 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3400 __func__, pRegEntry->RegName);
3401 svalue = (v_S31_t)pRegEntry->VarDefault;
3402 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003403 }
3404 else
3405 {
3406 svalue = (v_S31_t)pRegEntry->VarDefault;
3407 }
3408
3409 // If this parameter needs range checking, do it here.
3410 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3411 {
3412 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3413 {
3414 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003415 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003416 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3417 svalue = (v_S31_t)pRegEntry->VarMax;
3418 }
3419
3420 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3421 {
3422 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003423 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003424 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3425 svalue = (v_S31_t)pRegEntry->VarMin;
3426 }
3427 }
3428 // If this parameter needs range checking, do it here.
3429 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3430 {
3431 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3432 {
3433 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
3434 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003435 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003436 (int)pRegEntry->VarMax,
3437 (int)pRegEntry->VarDefault );
3438 svalue = (v_S31_t)pRegEntry->VarDefault;
3439 }
3440
3441 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3442 {
3443 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
3444 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003445 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003446 (int)pRegEntry->VarMin,
3447 (int)pRegEntry->VarDefault);
3448 svalue = pRegEntry->VarDefault;
3449 }
3450 }
3451
3452 // Move the variable into the output field.
3453 memcpy( pField, &svalue, pRegEntry->VarSize );
3454 }
3455 // Handle string parameters
3456 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3457 {
3458#ifdef WLAN_CFG_DEBUG
3459 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 -08003460 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003461#endif
3462
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003463 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003464 {
3465 len_value_str = strlen(value_str);
3466
3467 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003468 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003469 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003470 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3471 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3472 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3473 }
3474 else
3475 {
3476 memcpy( pField, (void *)(value_str), len_value_str);
3477 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3478 }
3479 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003480 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003481 {
3482 // Failed to read the string parameter from the registry. Use the default.
3483 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3484 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003485 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003486 }
3487 }
3488 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3489 {
3490 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003491 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3492 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003493 continue;
3494 }
3495 candidate = (char*)pRegEntry->VarDefault;
3496 if ( match_status == VOS_STATUS_SUCCESS) {
3497 len_value_str = strlen(value_str);
3498 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003499 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003500 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003501 }
3502 else
3503 candidate = value_str;
3504 }
3505 //parse the string and store it in the byte array
3506 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3507 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003508 ((char*)pField)[i] =
3509 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003510 }
3511 }
3512 else
3513 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003514 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003515 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003516 }
3517
3518 // did we successfully parse a cfg item for this parameter?
3519 if( (match_status == VOS_STATUS_SUCCESS) &&
3520 (idx < MAX_CFG_INI_ITEMS) )
3521 {
3522 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3523 }
3524 }
3525
3526 print_hdd_cfg(pHddCtx);
3527
3528 return( ret_status );
3529}
3530
3531eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3532{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003533 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003534 {
3535 case (eHDD_DOT11_MODE_abg):
3536 return eCSR_DOT11_MODE_abg;
3537 case (eHDD_DOT11_MODE_11b):
3538 return eCSR_DOT11_MODE_11b;
3539 case (eHDD_DOT11_MODE_11g):
3540 return eCSR_DOT11_MODE_11g;
3541 default:
3542 case (eHDD_DOT11_MODE_11n):
3543 return eCSR_DOT11_MODE_11n;
3544 case (eHDD_DOT11_MODE_11g_ONLY):
3545 return eCSR_DOT11_MODE_11g_ONLY;
3546 case (eHDD_DOT11_MODE_11n_ONLY):
3547 return eCSR_DOT11_MODE_11n_ONLY;
3548 case (eHDD_DOT11_MODE_11b_ONLY):
3549 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003550#ifdef WLAN_FEATURE_11AC
3551 case (eHDD_DOT11_MODE_11ac_ONLY):
3552 return eCSR_DOT11_MODE_11ac_ONLY;
3553 case (eHDD_DOT11_MODE_11ac):
3554 return eCSR_DOT11_MODE_11ac;
3555#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003556 case (eHDD_DOT11_MODE_AUTO):
3557 return eCSR_DOT11_MODE_AUTO;
3558 }
3559
3560}
3561
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003562static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003563{
3564 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3565 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07003566 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003567
Jeff Johnson295189b2012-06-20 16:38:30 -07003568 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3569
3570 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003571 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003572 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3573
Jeff Johnson32d95a32012-09-10 13:15:23 -07003574 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3575 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3576 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3577 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3578 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3579 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3580 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3581 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3582 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3583 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3584 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3585 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3586 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3587
Wilson Tsaof8b37942013-09-06 10:49:00 -07003588 for (i = 0; i < 10; i++)
3589 {
3590 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
3591 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
3592 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
3593 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
3594 }
3595 for (i = 0; i < 6; i++)
3596 {
3597 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
3598 }
3599 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
3600 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
3601
Jeff Johnson295189b2012-06-20 16:38:30 -07003602 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3603}
3604
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003605static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003606{
3607 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3608
3609 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003610
Jeff Johnson295189b2012-06-20 16:38:30 -07003611 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003612
Jeff Johnson295189b2012-06-20 16:38:30 -07003613 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3614 {
3615 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3616 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3617 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3618 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3619 }
3620 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3621 {
3622 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3623 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3624 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3625 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3626 }
3627 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3628 {
3629 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3630 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3631 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3632 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3633 }
3634
3635 if (pConfig->fIsImpsEnabled)
3636 {
3637 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3638 }
3639 else
3640 {
3641 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3642 }
3643
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303644 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3645 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3646 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3647
Jeff Johnson295189b2012-06-20 16:38:30 -07003648 if (pConfig->fIsBmpsEnabled)
3649 {
3650 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3651 }
3652 else
3653 {
3654 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3655 }
3656
3657 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3658
3659 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3660 {
3661 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3662 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003663
Jeff Johnson295189b2012-06-20 16:38:30 -07003664 if(pConfig->fIsAutoBmpsTimerEnabled)
3665 {
3666 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3667 }
3668
3669}
3670
3671#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3672static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3673{
3674 char *s = str;
3675
3676 if( str == NULL || intArray == NULL || len == NULL )
3677 {
3678 return VOS_STATUS_E_INVAL;
3679 }
3680 *len = 0;
3681
Jeff Johnson295189b2012-06-20 16:38:30 -07003682 while ( (s != NULL) && (*len < intArrayMaxLen) )
3683 {
3684 int val;
3685 //Increment length only if sscanf succesfully extracted one element.
3686 //Any other return value means error. Ignore it.
3687 if( sscanf(s, "%d", &val ) == 1 )
3688 {
3689 intArray[*len] = (tANI_U8) val;
3690 *len += 1;
3691 }
3692 s = strpbrk( s, "," );
3693 if( s )
3694 s++;
3695 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003696
3697 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003698
Jeff Johnson295189b2012-06-20 16:38:30 -07003699}
3700#endif
3701
3702
3703v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3704{
3705 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003706#ifdef WLAN_SOFTAP_VSTA_FEATURE
3707 tANI_U32 val;
3708#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003709
3710 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303711 tSirMacHTCapabilityInfo htCapInfo;
3712
Jeff Johnson295189b2012-06-20 16:38:30 -07003713
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003714 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003715 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3716 {
3717 fStatus = FALSE;
3718 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3719 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003720
3721 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003722 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3723 {
3724 fStatus = FALSE;
3725 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3726 }
3727
3728 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3729 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3730 {
3731 fStatus = FALSE;
3732 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3733 }
3734
3735 if ( 0 != pConfig->Cfg1Id )
3736 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003737 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003738 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3739 {
3740 fStatus = FALSE;
3741 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3742 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003743
Jeff Johnson295189b2012-06-20 16:38:30 -07003744 }
3745
3746 if ( 0 != pConfig->Cfg2Id )
3747 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003748 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003749 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3750 {
3751 fStatus = FALSE;
3752 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3753 }
3754 }
3755
3756 if ( 0 != pConfig->Cfg3Id )
3757 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003758 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003759 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3760 {
3761 fStatus = FALSE;
3762 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3763 }
3764 }
3765
3766 if ( 0 != pConfig->Cfg4Id )
3767 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003768 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003769 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3770 {
3771 fStatus = FALSE;
3772 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3773 }
3774 }
3775
3776 if ( 0 != pConfig->Cfg5Id )
3777 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003778 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003779 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3780 {
3781 fStatus = FALSE;
3782 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3783 }
3784 }
3785
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003786 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003787 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3788 {
3789 fStatus = FALSE;
3790 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3791 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003792
3793 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003794 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3795 {
3796 fStatus = FALSE;
3797 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3798 }
3799
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003800 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003801 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3802 {
3803 fStatus = FALSE;
3804 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3805 }
3806
3807 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3808 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3809 {
3810 fStatus = FALSE;
3811 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3812 }
3813
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003814 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003815 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003816 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003817 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3818 {
3819 fStatus = FALSE;
3820 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3821 }
3822 }
3823 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003824 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003825 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3826 {
3827 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3828 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003829 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003830 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003831 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003832 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3833 {
3834 fStatus = FALSE;
3835 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3836 }
3837 }
3838 else
3839 {
3840 fStatus = FALSE;
3841 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3842 }
3843 }
3844
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003845 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003846 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3847 {
3848 fStatus = FALSE;
3849 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3850 }
3851
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003852 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003853 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3854 {
3855 fStatus = FALSE;
3856 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3857 }
3858
3859 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3860 {
3861 fStatus = FALSE;
3862 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3863 }
3864
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003865 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003866 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3867 {
3868 fStatus = FALSE;
3869 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3870 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003871
Jeff Johnson295189b2012-06-20 16:38:30 -07003872 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3873 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3874 {
3875 fStatus = FALSE;
3876 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3877 }
3878
Jeff Johnson295189b2012-06-20 16:38:30 -07003879 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3880 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3881 {
3882 fStatus = FALSE;
3883 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3884 }
3885
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003886 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003887 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3888 {
3889 fStatus = FALSE;
3890 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3891 }
3892
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003893 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003894 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3895 {
3896 fStatus = FALSE;
3897 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3898 }
3899
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003900 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003901 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3902 {
3903 fStatus = FALSE;
3904 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3905 }
3906
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003907 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003908 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3909 {
3910 fStatus = FALSE;
3911 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3912 }
3913
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003914 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003915 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3916 {
3917 fStatus = FALSE;
3918 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3919 }
3920
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003921 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003922 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3923 {
3924 fStatus = FALSE;
3925 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3926 }
3927
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003928 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003929 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3930 {
3931 fStatus = FALSE;
3932 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3933 }
3934
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003935 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003936 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3937 {
3938 fStatus = FALSE;
3939 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003940 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003941
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003942 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003943 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3944 {
3945 fStatus = FALSE;
3946 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3947 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003948
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303949 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3950 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3951 {
3952 fStatus = FALSE;
3953 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3954 }
3955
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303956 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
3957 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3958 {
3959 fStatus = FALSE;
3960 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM\n");
3961 }
3962
3963
Jeff Johnson295189b2012-06-20 16:38:30 -07003964#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003965 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003966 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3967 {
3968 fStatus = FALSE;
3969 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3970 }
3971
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003972 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003973 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3974 {
3975 fStatus = FALSE;
3976 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3977 }
3978
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003979 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003980 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3981 {
3982 fStatus = FALSE;
3983 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3984 }
3985
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003986 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003987 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3988#endif
3989
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003990 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003991 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3992 {
3993 fStatus = FALSE;
3994 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3995 }
3996
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003997 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003998 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3999 {
4000 fStatus = FALSE;
4001 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
4002 }
4003
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004004 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004005 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4006 {
4007 fStatus = FALSE;
4008 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
4009 }
4010
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004011 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004012 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4013 {
4014 fStatus = FALSE;
4015 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
4016 }
4017
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004018 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004019 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4020 {
4021 fStatus = FALSE;
4022 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
4023 }
4024
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004025 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004026 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4027 {
4028 fStatus = FALSE;
4029 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
4030 }
4031
4032 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4033 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4034 {
4035 fStatus = FALSE;
4036 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
4037 }
4038
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004039 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004040 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4041 {
4042 fStatus = FALSE;
4043 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
4044 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004045 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004046 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4047 {
4048 fStatus = FALSE;
4049 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
4050 }
4051
4052 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4053 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4054 {
4055 fStatus = FALSE;
4056 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 -08004057 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004058
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004059 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004060 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004061 {
4062 fStatus = FALSE;
4063 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4064 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004065 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004066 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4067 {
4068 fStatus = FALSE;
4069 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
4070 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004071 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004072 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4073 {
4074 fStatus = FALSE;
4075 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
4076 }
4077
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004078 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004079 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4080 {
4081 fStatus = FALSE;
4082 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
4083 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004084 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004085 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4086 {
4087 fStatus = FALSE;
4088 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
4089 }
4090
Jeff Johnson295189b2012-06-20 16:38:30 -07004091 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4092 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4093 {
4094 fStatus = FALSE;
4095 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4096 }
4097
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004098 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004099 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4100 ==eHAL_STATUS_FAILURE)
4101 {
4102 fStatus = FALSE;
4103 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
4104 }
4105
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004106 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004107 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4108 ==eHAL_STATUS_FAILURE)
4109 {
4110 fStatus = FALSE;
4111 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
4112 }
4113
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004114 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004115 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4116 {
4117 fStatus = FALSE;
4118 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
4119 }
4120
Jeff Johnsond13512a2012-07-17 11:42:19 -07004121
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004122 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004123 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4124 {
4125 fStatus = FALSE;
4126 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
4127 }
4128
Jeff Johnsone7245742012-09-05 17:12:55 -07004129#ifdef WLAN_FEATURE_11AC
4130 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4131 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4132 /* we update only the least significant 2 bits in the corresponding fields */
4133 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4134 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4135 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4136 {
4137 {
4138 tANI_U32 temp = 0;
4139
4140 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004141 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004142
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004143 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004144 temp, NULL, eANI_BOOLEAN_FALSE)
4145 ==eHAL_STATUS_FAILURE)
4146 {
4147 fStatus = FALSE;
4148 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
4149 }
4150
4151 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004152 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004153
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004154 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004155 temp, NULL, eANI_BOOLEAN_FALSE)
4156 ==eHAL_STATUS_FAILURE)
4157 {
4158 fStatus = FALSE;
4159 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
4160 }
4161
4162 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004163 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004164
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004165 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004166 temp, NULL, eANI_BOOLEAN_FALSE)
4167 ==eHAL_STATUS_FAILURE)
4168 {
4169 fStatus = FALSE;
4170 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
4171 }
4172 }
4173 }
4174#endif
4175
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004176 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004177 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4178 {
4179 fStatus = FALSE;
4180 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
4181 }
4182
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004183 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304184 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4185 ==eHAL_STATUS_FAILURE)
4186 {
4187 fStatus = FALSE;
4188 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
4189 }
4190
4191 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
4192 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
4193
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004194 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304195 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
4196 ==eHAL_STATUS_FAILURE)
4197 {
4198 fStatus = FALSE;
4199 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
4200 }
4201
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004202 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304203 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4204 ==eHAL_STATUS_FAILURE)
4205 {
4206 fStatus = FALSE;
4207 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
4208 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004209
4210#ifdef WLAN_SOFTAP_VSTA_FEATURE
4211 if(pConfig->fEnableVSTASupport)
4212 {
4213 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4214 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4215 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4216 }
4217 else
4218 {
4219 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4220 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004221 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004222 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4223 {
4224 fStatus = FALSE;
4225 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
4226 }
4227#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004228 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004229 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4230 ==eHAL_STATUS_FAILURE)
4231 {
4232 fStatus = FALSE;
4233 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
4234 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304235
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004236 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4237 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4238 {
4239 fStatus = FALSE;
4240 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
4241 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004242 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4243 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4244 {
4245 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004246 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 -08004247 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004248
4249 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4250 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4251 {
4252 fStatus = FALSE;
4253 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4254 }
4255
4256 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4257 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4258 {
4259 fStatus = FALSE;
4260 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4261 }
4262
4263 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4264 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4265 {
4266 fStatus = FALSE;
4267 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4268 }
4269
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304270 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4271 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4272 {
4273 fStatus = FALSE;
4274 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4275 }
4276
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304277#ifdef FEATURE_WLAN_TDLS
4278
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004279 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4280 pConfig->fTDLSUapsdMask, NULL,
4281 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304282 {
4283 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004284 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304285 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004286 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4287 pConfig->fEnableTDLSBufferSta, NULL,
4288 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304289 {
4290 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004291 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304292 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004293 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4294 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4295 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304296 {
4297 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004298 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304299 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004300 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4301 pConfig->fTDLSRxFrameThreshold, NULL,
4302 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304303 {
4304 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004305 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304306 }
4307#endif
4308
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004309 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4310 pConfig->fEnableAdaptRxDrain, NULL,
4311 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4312 {
4313 fStatus = FALSE;
4314 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4315 }
Yue Ma0fd23872013-08-01 15:56:47 -07004316
4317 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4318 pConfig->flexConnectPowerFactor, NULL,
4319 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4320 {
4321 fStatus = FALSE;
4322 hddLog(LOGE, "Failure: Could not pass on "
4323 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4324 }
4325
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304326 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4327 pConfig->antennaDiversity, NULL,
4328 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4329 {
4330 fStatus = FALSE;
4331 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4332 }
4333
Jeff Johnson295189b2012-06-20 16:38:30 -07004334 return fStatus;
4335}
4336
4337
4338/**---------------------------------------------------------------------------
4339
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004340 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07004341
4342 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004343
Jeff Johnson295189b2012-06-20 16:38:30 -07004344 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004345
Jeff Johnson295189b2012-06-20 16:38:30 -07004346 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004347
Jeff Johnson295189b2012-06-20 16:38:30 -07004348 --------------------------------------------------------------------------*/
4349
4350VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
4351{
4352 VOS_STATUS status = VOS_STATUS_SUCCESS;
4353 eHalStatus halStatus;
4354 tSmeConfigParams smeConfig;
4355
4356 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4357
Amar Singhalfddc28c2013-09-05 13:03:40 -07004358
Jeff Johnson295189b2012-06-20 16:38:30 -07004359 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
4360
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004361 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07004362 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
4363 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
4364
4365 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07004366
Jeff Johnson295189b2012-06-20 16:38:30 -07004367 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
4368 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
4369 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
4370 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
4371 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
4372
4373 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
4374
4375 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4376 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4377 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4378 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4379 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4380 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4381 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4382 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4383 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4384 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4385 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4386 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4387 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4388 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4389 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4390 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4391 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004392 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07004393 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4394 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4395 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4396 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004397 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4398 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004399 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004400#ifdef WLAN_AP_STA_CONCURRENCY
4401 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4402 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4403 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4404 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4405 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004406 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4407 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4408
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004409#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004410 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4411 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4412
4413#if defined WLAN_FEATURE_VOWIFI
4414 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4415 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4416#endif
4417 //Remaining config params not obtained from registry
4418 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004419#ifdef WLAN_FEATURE_11AC
4420 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004421 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004422 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004423 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004424#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004425 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4426 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004427 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4428 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4429 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004430 if (pConfig->nBandCapability == eCSR_BAND_24)
4431 {
4432 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4433 } else {
4434 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4435 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004436 smeConfig.csrConfig.cbChoice = 0;
4437 smeConfig.csrConfig.bgScanInterval = 0;
4438 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004439 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4440 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4441 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004442#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4443 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004444 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004445 smeConfig.csrConfig.nProbes = pConfig->nProbes;
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07004446
4447 if (pConfig->nRoamScanHomeAwayTime < (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
4448 {
4449 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
4450 "%s: Invalid config, Home away time(%d) is less than twice RF switching time + channel max time(%d)"
4451 " Hence enforcing home away time to disable (0)",
4452 __func__, pConfig->nRoamScanHomeAwayTime,
4453 (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
4454 pConfig->nRoamScanHomeAwayTime = 0;
4455 }
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004456 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004457#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004458 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4459
Jeff Johnson295189b2012-06-20 16:38:30 -07004460 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004461 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4462 {
4463 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004464
Jeff Johnson7dda7772013-02-27 08:36:13 -08004465 /* if there is a requirement that HDD will control the default
4466 * channel list & country code (say from .ini file) we need to
4467 * add some logic here. Otherwise the default 11d info should
4468 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004469 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004470 else
4471 {
4472 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4473 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004474
Jeff Johnson7dda7772013-02-27 08:36:13 -08004475 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4476 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4477 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4478 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004479 hdd_set_power_save_config(pHddCtx, &smeConfig);
4480 hdd_set_btc_config(pHddCtx);
4481
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004482#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004483 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4484#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004485#ifdef FEATURE_WLAN_LFR
4486 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
4487#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004488#ifdef FEATURE_WLAN_CCX
4489 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004490 if( pConfig->isCcxIniFeatureEnabled )
4491 {
4492 pConfig->isFastTransitionEnabled = TRUE;
4493 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004494#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004495#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004496 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07004497 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004498 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07004499 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07004500#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004501#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4502 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004503 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4504
4505 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4506 {
4507 /* Disable roaming in concurrency if roam scan offload is disabled */
4508 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4509 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004510#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004511#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4512 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4513 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004514 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4515 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004516 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004517 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004518 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004519 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004520 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4521 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4522 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004523 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4524#endif
4525
4526 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4527 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4528
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004529 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004530 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004531 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004532
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004533 //Scan Results Aging Time out value
4534 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4535
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004536 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4537
krunal soni5afa96c2013-09-06 22:19:02 -07004538 smeConfig.csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
4539
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004540 /* update SSR config */
4541 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304542 /* Update the Directed scan offload setting */
4543 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004544
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004545 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004546 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4547 {
4548 status = VOS_STATUS_E_FAILURE;
4549 }
4550
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004551
4552 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004553}
4554
4555
4556/**---------------------------------------------------------------------------
4557
4558 \brief hdd_execute_config_command() -
4559
4560 This function executes an arbitrary configuration set command
4561
4562 \param - pHddCtx - Pointer to the HDD Adapter.
4563 \parmm - command - a configuration command of the form:
4564 <name>=<value>
4565
4566 \return - 0 for success, non zero for failure
4567
4568 --------------------------------------------------------------------------*/
4569
4570VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4571{
4572 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4573 REG_TABLE_ENTRY *pRegEntry;
4574 char *clone;
4575 char *pCmd;
4576 void *pField;
4577 char *name;
4578 char *value_str;
4579 v_U32_t value;
4580 v_S31_t svalue;
4581 size_t len_value_str;
4582 unsigned int idx;
4583 unsigned int i;
4584 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004585 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004586
4587 // assume failure until proven otherwise
4588 vstatus = VOS_STATUS_E_FAILURE;
4589
4590 // clone the command so that we can manipulate it
4591 clone = kstrdup(command, GFP_ATOMIC);
4592 if (NULL == clone)
4593 {
4594 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004595 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004596 return vstatus;
4597 }
4598
4599 // 'clone' will point to the beginning of the string so it can be freed
4600 // 'pCmd' will be used to walk/parse the command
4601 pCmd = clone;
4602
4603 // get rid of leading/trailing whitespace
4604 pCmd = i_trim(pCmd);
4605 if ('\0' == *pCmd)
4606 {
4607 // only whitespace
4608 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004609 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004610 goto done;
4611 }
4612
4613 // parse the <name> = <value>
4614 name = pCmd;
4615 while (('=' != *pCmd) && ('\0' != *pCmd))
4616 {
4617 pCmd++;
4618 }
4619 if ('\0' == *pCmd)
4620 {
4621 // did not find '='
4622 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004623 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004624 goto done;
4625 }
4626
4627 // replace '=' with NUL to terminate the <name>
4628 *pCmd++ = '\0';
4629 name = i_trim(name);
4630 if ('\0' == *name)
4631 {
4632 // did not find a name
4633 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004634 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004635 goto done;
4636 }
4637
4638 value_str = i_trim(pCmd);
4639 if ('\0' == *value_str)
4640 {
4641 // did not find a value
4642 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004643 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004644 goto done;
4645 }
4646
4647 // lookup the configuration item
4648 for (idx = 0; idx < tableSize; idx++)
4649 {
4650 if (0 == strcmp(name, g_registry_table[idx].RegName))
4651 {
4652 // found a match
4653 break;
4654 }
4655 }
4656 if (tableSize == idx)
4657 {
4658 // did not match the name
4659 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004660 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004661 goto done;
4662 }
4663
4664 pRegEntry = &g_registry_table[idx];
4665 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4666 {
4667 // does not support dynamic configuration
4668 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004669 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004670 goto done;
4671 }
4672
4673 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4674
4675 switch (pRegEntry->RegType)
4676 {
4677 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004678 rv = kstrtoul(value_str, 10, &value);
4679 if (rv < 0)
4680 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004681 if (value < pRegEntry->VarMin)
4682 {
4683 // out of range
4684 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004685 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004686 goto done;
4687 }
4688 if (value > pRegEntry->VarMax)
4689 {
4690 // out of range
4691 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004692 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004693 goto done;
4694 }
4695 memcpy(pField, &value, pRegEntry->VarSize);
4696 break;
4697
4698 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004699 rv = kstrtoul(value_str, 16, &value);
4700 if (rv < 0)
4701 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004702 if (value < pRegEntry->VarMin)
4703 {
4704 // out of range
4705 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004706 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004707 goto done;
4708 }
4709 if (value > pRegEntry->VarMax)
4710 {
4711 // out of range
4712 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004713 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004714 goto done;
4715 }
4716 memcpy(pField, &value, pRegEntry->VarSize);
4717 break;
4718
4719 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004720 rv = kstrtol(value_str, 10, &svalue);
4721 if (rv < 0)
4722 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004723 if (svalue < (v_S31_t)pRegEntry->VarMin)
4724 {
4725 // out of range
4726 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004727 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004728 goto done;
4729 }
4730 if (svalue > (v_S31_t)pRegEntry->VarMax)
4731 {
4732 // out of range
4733 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004734 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004735 goto done;
4736 }
4737 memcpy(pField, &svalue, pRegEntry->VarSize);
4738 break;
4739
4740 case WLAN_PARAM_String:
4741 len_value_str = strlen(value_str);
4742 if (len_value_str > (pRegEntry->VarSize - 1))
4743 {
4744 // too big
4745 hddLog(LOGE,
4746 "%s: invalid command, string [%s] length "
4747 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004748 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004749 len_value_str, (pRegEntry->VarSize - 1));
4750 goto done;
4751 }
4752 // copy string plus NUL
4753 memcpy(pField, value_str, (len_value_str + 1));
4754 break;
4755
4756 case WLAN_PARAM_MacAddr:
4757 len_value_str = strlen(value_str);
4758 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4759 {
4760 // out of range
4761 hddLog(LOGE,
4762 "%s: invalid command, MAC address [%s] length "
4763 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004764 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004765 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4766 goto done;
4767 }
4768 //parse the string and store it in the byte array
4769 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4770 {
4771 ((char*)pField)[i] = (char)
4772 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4773 parseHexDigit(value_str[(i * 2) + 1]));
4774 }
4775 break;
4776
4777 default:
4778 goto done;
4779 }
4780
4781 // if we get here, we had a successful modification
4782 vstatus = VOS_STATUS_SUCCESS;
4783
4784 // config table has been modified, is there a notifier?
4785 if (NULL != pRegEntry->pfnDynamicNotify)
4786 {
4787 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4788 }
4789
4790 // note that this item was explicitly configured
4791 if (idx < MAX_CFG_INI_ITEMS)
4792 {
4793 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4794 }
4795 done:
4796 kfree(clone);
4797 return vstatus;
4798}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004799
4800/**---------------------------------------------------------------------------
4801
4802 \brief hdd_is_okc_mode_enabled() -
4803
4804 This function returns whether OKC mode is enabled or not
4805
4806 \param - pHddCtx - Pointer to the HDD Adapter.
4807
4808 \return - 1 for enabled, zero for disabled
4809
4810 --------------------------------------------------------------------------*/
4811
4812tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4813{
4814 if (NULL == pHddCtx)
4815 {
4816 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4817 return -EINVAL;
4818 }
4819
4820#ifdef FEATURE_WLAN_OKC
4821 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4822#else
4823 return eANI_BOOLEAN_FALSE;
4824#endif
4825}