blob: 921c174f544af6400afb656e4b59ae1b884d9448 [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
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700105static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
106{
107 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
108}
109
110static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
111{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700112 tANI_U16 scanChannelMaxTime = 0;
113
114 /* Home Away Time should be atleast equal to (MaxDwell time + (2*RFS)),
115 * where RFS is the RF Switching time. It is twice RFS to consider the
116 * time to go off channel and return to the home channel. */
117
118 scanChannelMaxTime = sme_getNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal));
119 if (pHddCtx->cfg_ini->nRoamScanHomeAwayTime < (scanChannelMaxTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
120 {
121 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
122 "%s: Invalid config, Home away time(%d) is less than (twice RF switching time + channel max time)(%d)",
123 " Hence enforcing home away time to disable (0)",
124 __func__, pHddCtx->cfg_ini->nRoamScanHomeAwayTime, (scanChannelMaxTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
125 pHddCtx->cfg_ini->nRoamScanHomeAwayTime = 0;
126 }
127
128 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime, eANI_BOOLEAN_TRUE);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700129}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700130#endif
131
132#ifdef FEATURE_WLAN_OKC
133static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
134{
135 // at the point this routine is called, the value in the cfg_ini table has already been updated
136}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800137#endif
138
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800139#ifdef FEATURE_WLAN_LFR
140static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
141{
142 // at the point this routine is called, the value in the cfg_ini table has already been updated
143 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
144}
145#endif
146
147#ifdef FEATURE_WLAN_CCX
148static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
149{
150 // at the point this routine is called, the value in the cfg_ini table has already been updated
151 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
152}
153#endif
154
155static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
156{
157 // at the point this routine is called, the value in the cfg_ini table has already been updated
158 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
159}
160
Srinivas Girigowdade697412013-02-14 16:31:48 -0800161#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
162static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
163{
164 // at the point this routine is called, the value in the cfg_ini table has already been updated
165 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
166}
167
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700168static void cbNotifySetNeighborScanPeriod(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_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
172}
173
Srinivas Girigowdade697412013-02-14 16:31:48 -0800174static void cbNotifySetNeighborResultsRefreshPeriod(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_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
178}
179
180static void cbNotifySetEmptyScanRefreshPeriod(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_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
184}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700185
186static void cbNotifySetNeighborScanMinChanTime(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_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
190}
191
192static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
193{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700194 tANI_U16 homeAwayTime = 0;
195
196 /* Home Away Time should be atleast equal to (MaxDwell time + (2*RFS)),
197 * where RFS is the RF Switching time. It is twice RFS to consider the
198 * time to go off channel and return to the home channel. */
199 homeAwayTime = sme_getRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal));
200 if (homeAwayTime < (pHddCtx->cfg_ini->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
201 {
202 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
203 "%s: Invalid config, Home away time(%d) is less than (twice RF switching time + channel max time)(%d)",
204 " Hence enforcing home away time to disable (0)",
205 __func__, homeAwayTime, (pHddCtx->cfg_ini->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
206 homeAwayTime = 0;
207 pHddCtx->cfg_ini->nRoamScanHomeAwayTime = homeAwayTime;
208 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), homeAwayTime, eANI_BOOLEAN_FALSE);
209 }
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700210 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
211}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800212#endif
213
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700214static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
215{
216 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
217}
218
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700219#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
220static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
221{
222 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700223 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
224 {
225 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
226 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
227 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700228}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700229
230static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
231{
232 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
233}
234
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700235#endif
236
Jeff Johnson295189b2012-06-20 16:38:30 -0700237REG_TABLE_ENTRY g_registry_table[] =
238{
239 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800240 hdd_config_t, RTSThreshold,
241 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
242 CFG_RTS_THRESHOLD_DEFAULT,
243 CFG_RTS_THRESHOLD_MIN,
244 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700245
246 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800247 hdd_config_t, FragmentationThreshold,
248 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
249 CFG_FRAG_THRESHOLD_DEFAULT,
250 CFG_FRAG_THRESHOLD_MIN,
251 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700252
253 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800254 hdd_config_t, Calibration,
255 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
256 CFG_CALIBRATION_DEFAULT,
257 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700258 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800259
Jeff Johnson295189b2012-06-20 16:38:30 -0700260 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800261 hdd_config_t, CalibrationPeriod,
262 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
263 CFG_CALIBRATION_PERIOD_DEFAULT,
264 CFG_CALIBRATION_PERIOD_MIN,
265 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700266
267 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
268 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
270 CFG_OPERATING_CHANNEL_DEFAULT,
271 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700272 CFG_OPERATING_CHANNEL_MAX ),
273
274 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800275 hdd_config_t, ShortSlotTimeEnabled,
276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
277 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
278 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700279 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
280
281 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800282 hdd_config_t, Is11dSupportEnabled,
283 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
284 CFG_11D_SUPPORT_ENABLED_DEFAULT,
285 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700286 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800287
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800288 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800289 hdd_config_t, Is11hSupportEnabled,
290 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
291 CFG_11H_SUPPORT_ENABLED_DEFAULT,
292 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800293 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700294
295 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800296 hdd_config_t, fEnforce11dChannels,
297 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
298 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
299 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700300 CFG_ENFORCE_11D_CHANNELS_MAX ),
301
302 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800303 hdd_config_t, fSupplicantCountryCodeHasPriority,
304 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
305 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
306 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700307 CFG_COUNTRY_CODE_PRIORITY_MAX),
308
309 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800310 hdd_config_t, fEnforceCountryCodeMatch,
311 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
312 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
313 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700314 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
315
316 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800317 hdd_config_t, fEnforceDefaultDomain,
318 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
319 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
320 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700321 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800322
Jeff Johnson295189b2012-06-20 16:38:30 -0700323 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
324 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800325 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
326 CFG_GENERIC_ID1_DEFAULT,
327 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700328 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800329
Jeff Johnson295189b2012-06-20 16:38:30 -0700330 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
331 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800332 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
333 CFG_GENERIC_ID2_DEFAULT,
334 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700335 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800336
Jeff Johnson295189b2012-06-20 16:38:30 -0700337 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
338 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800339 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
340 CFG_GENERIC_ID3_DEFAULT,
341 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700342 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800343
Jeff Johnson295189b2012-06-20 16:38:30 -0700344 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
345 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800346 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
347 CFG_GENERIC_ID4_DEFAULT,
348 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700349 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800350
Jeff Johnson295189b2012-06-20 16:38:30 -0700351 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
352 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800353 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
354 CFG_GENERIC_ID5_DEFAULT,
355 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700356 CFG_GENERIC_ID5_MAX ),
357
358 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
359 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
361 CFG_GENERIC_VALUE1_DEFAULT,
362 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700363 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800364
Jeff Johnson295189b2012-06-20 16:38:30 -0700365 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
366 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800367 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
368 CFG_GENERIC_VALUE2_DEFAULT,
369 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700370 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800371
Jeff Johnson295189b2012-06-20 16:38:30 -0700372 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
373 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800374 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
375 CFG_GENERIC_VALUE3_DEFAULT,
376 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700377 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800378
Jeff Johnson295189b2012-06-20 16:38:30 -0700379 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
380 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800381 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
382 CFG_GENERIC_VALUE4_DEFAULT,
383 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700384 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800385
Jeff Johnson295189b2012-06-20 16:38:30 -0700386 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
387 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800388 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
389 CFG_GENERIC_VALUE5_DEFAULT,
390 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700391 CFG_GENERIC_VALUE5_MAX ),
392
393 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800394 hdd_config_t, HeartbeatThresh24,
395 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
396 CFG_HEARTBEAT_THRESH_24_DEFAULT,
397 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700398 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800399
Jeff Johnson295189b2012-06-20 16:38:30 -0700400 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800401 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700402 VAR_FLAGS_OPTIONAL,
403 (void *)CFG_POWER_USAGE_DEFAULT ),
404
405 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800406 hdd_config_t, nEnableSuspend,
407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
408 CFG_ENABLE_SUSPEND_DEFAULT,
409 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700410 CFG_ENABLE_SUSPEND_MAX ),
411
412 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800413 hdd_config_t, nEnableDriverStop,
414 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
415 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
416 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700417 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
418
419 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800420 hdd_config_t, fIsImpsEnabled,
421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
422 CFG_ENABLE_IMPS_DEFAULT,
423 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700424 CFG_ENABLE_IMPS_MAX ),
425
426 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800427 hdd_config_t, fIsLogpEnabled,
428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
429 CFG_ENABLE_LOGP_DEFAULT,
430 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700431 CFG_ENABLE_LOGP_MAX ),
432
433 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800434 hdd_config_t, nImpsMinSleepTime,
435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
436 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
437 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700438 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
439
440 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800441 hdd_config_t, nImpsMaxSleepTime,
442 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
443 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
444 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700445 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
446
447 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
448 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800449 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
450 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
451 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700452 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
453
454 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800455 hdd_config_t, fIsBmpsEnabled,
456 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
457 CFG_ENABLE_BMPS_DEFAULT,
458 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700459 CFG_ENABLE_BMPS_MAX ),
460
461 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800462 hdd_config_t, nBmpsMinListenInterval,
463 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
464 CFG_BMPS_MINIMUM_LI_DEFAULT,
465 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700466 CFG_BMPS_MINIMUM_LI_MAX ),
467
468 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800469 hdd_config_t, nBmpsMaxListenInterval,
470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
471 CFG_BMPS_MAXIMUM_LI_DEFAULT,
472 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700473 CFG_BMPS_MAXIMUM_LI_MAX ),
474
475 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
476 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
478 CFG_BMPS_MODERATE_LI_DEFAULT,
479 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700480 CFG_BMPS_MODERATE_LI_MAX ),
481
482 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800483 hdd_config_t, fIsAutoBmpsTimerEnabled,
484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
485 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
486 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700487 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
488
489 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800490 hdd_config_t, nAutoBmpsTimerValue,
491 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
492 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
493 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700494 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
495
496 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800497 hdd_config_t, dot11Mode,
498 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
499 CFG_DOT11_MODE_DEFAULT,
500 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700501 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800502
Jeff Johnson295189b2012-06-20 16:38:30 -0700503 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800504 hdd_config_t, nChannelBondingMode24GHz,
505 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
506 CFG_CHANNEL_BONDING_MODE_DEFAULT,
507 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700508 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800509
Jeff Johnson295189b2012-06-20 16:38:30 -0700510 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800511 hdd_config_t, nChannelBondingMode5GHz,
512 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
513 CFG_CHANNEL_BONDING_MODE_DEFAULT,
514 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700515 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800516
517 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
518 hdd_config_t, MaxRxAmpduFactor,
519 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
520 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
521 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700522 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800523
Jeff Johnson295189b2012-06-20 16:38:30 -0700524 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800525 hdd_config_t, TxRate,
526 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
527 CFG_FIXED_RATE_DEFAULT,
528 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700529 CFG_FIXED_RATE_MAX ),
530
531 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800532 hdd_config_t, ShortGI20MhzEnable,
533 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
534 CFG_SHORT_GI_20MHZ_DEFAULT,
535 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700536 CFG_SHORT_GI_20MHZ_MAX ),
537
538 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800539 hdd_config_t, BlockAckAutoSetup,
540 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
541 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
542 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700543 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800544
Jeff Johnson295189b2012-06-20 16:38:30 -0700545 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800546 hdd_config_t, ScanResultAgeCount,
547 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
548 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
549 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700550 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
551
552 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800553 hdd_config_t, nScanAgeTimeNCNPS,
554 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
555 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
556 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700557 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
558
559 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800560 hdd_config_t, nScanAgeTimeNCPS,
561 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
562 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
563 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700564 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
565
566 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800567 hdd_config_t, nScanAgeTimeCNPS,
568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
569 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
570 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700571 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
572
573 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800574 hdd_config_t, nScanAgeTimeCPS,
575 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
576 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
577 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700578 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
579
580 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800581 hdd_config_t, nRssiCatGap,
582 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
583 CFG_RSSI_CATEGORY_GAP_DEFAULT,
584 CFG_RSSI_CATEGORY_GAP_MIN,
585 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700586
Jeff Johnson295189b2012-06-20 16:38:30 -0700587 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800588 hdd_config_t, fIsShortPreamble,
589 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
590 CFG_SHORT_PREAMBLE_DEFAULT,
591 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700592 CFG_SHORT_PREAMBLE_MAX ),
593
594 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800595 hdd_config_t, fIsAutoIbssBssid,
596 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
597 CFG_IBSS_AUTO_BSSID_DEFAULT,
598 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700599 CFG_IBSS_AUTO_BSSID_MAX ),
600
601 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800602 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700603 VAR_FLAGS_OPTIONAL,
604 (void *)CFG_IBSS_BSSID_DEFAULT ),
605
606 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800607 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700608 VAR_FLAGS_OPTIONAL,
609 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
610
611 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800612 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700613 VAR_FLAGS_OPTIONAL,
614 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
615
616 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800617 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700618 VAR_FLAGS_OPTIONAL,
619 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
620
621 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800622 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700623 VAR_FLAGS_OPTIONAL,
624 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
625
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -0700626 REG_VARIABLE_STRING( CFG_CRDA_DEFAULT_COUNTRY_CODE, WLAN_PARAM_String,
627 hdd_config_t, crdaDefaultCountryCode,
628 VAR_FLAGS_OPTIONAL,
629 (void *)CFG_CRDA_DEFAULT_COUNTRY_CODE_DEFAULT ),
630
Jeff Johnson295189b2012-06-20 16:38:30 -0700631 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800632 hdd_config_t, apUapsdEnabled,
633 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
634 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
635 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700636 CFG_AP_QOS_UAPSD_MODE_MAX ),
637
638 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800639 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700640 VAR_FLAGS_OPTIONAL,
641 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
642
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700643 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
644 hdd_config_t, apRandomBssidEnabled,
645 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
646 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
647 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
648 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
649
Jeff Johnson295189b2012-06-20 16:38:30 -0700650 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800651 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700652 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
653 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
654 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
655 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
656
657 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
658 hdd_config_t, apProtection,
659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
660 CFG_AP_PROTECTION_MODE_DEFAULT,
661 CFG_AP_PROTECTION_MODE_MIN,
662 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800663
Jeff Johnson295189b2012-06-20 16:38:30 -0700664 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800665 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700666 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
667 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
668 CFG_AP_OBSS_PROTECTION_MODE_MIN,
669 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800670
Jeff Johnson295189b2012-06-20 16:38:30 -0700671 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800672 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700673 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
674 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
675 CFG_AP_STA_SECURITY_SEPERATION_MIN,
676 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
677
678 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800679 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700680 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
681 CFG_FRAMES_PROCESSING_TH_DEFAULT,
682 CFG_FRAMES_PROCESSING_TH_MIN,
683 CFG_FRAMES_PROCESSING_TH_MAX ),
684
685 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
686 hdd_config_t, apStartChannelNum,
687 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
688 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
689 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
690 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
691
692 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
693 hdd_config_t, apEndChannelNum,
694 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
695 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
696 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
697 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
698
699 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
700 hdd_config_t, apOperatingBand,
701 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
702 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
703 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
704 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
705
706 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
707 hdd_config_t, apAutoChannelSelection,
708 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
709 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
710 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
711 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800712
Jeff Johnson295189b2012-06-20 16:38:30 -0700713 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
714 hdd_config_t, enableLTECoex,
715 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
716 CFG_ENABLE_LTE_COEX_DEFAULT,
717 CFG_ENABLE_LTE_COEX_MIN,
718 CFG_ENABLE_LTE_COEX_MAX ),
719
720 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
721 hdd_config_t, apKeepAlivePeriod,
722 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
723 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
724 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
725 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
726
727 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
728 hdd_config_t, goKeepAlivePeriod,
729 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
730 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
731 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
732 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
733
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530734 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
735 hdd_config_t, apLinkMonitorPeriod,
736 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
737 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
738 CFG_AP_LINK_MONITOR_PERIOD_MIN,
739 CFG_AP_LINK_MONITOR_PERIOD_MAX),
740
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530741 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
742 hdd_config_t, goLinkMonitorPeriod,
743 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
744 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
745 CFG_GO_LINK_MONITOR_PERIOD_MIN,
746 CFG_GO_LINK_MONITOR_PERIOD_MAX),
747
Jeff Johnson295189b2012-06-20 16:38:30 -0700748 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
749 hdd_config_t, disablePacketFilter,
750 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
751 CFG_DISABLE_PACKET_FILTER_DEFAULT,
752 CFG_DISABLE_PACKET_FILTER_MIN,
753 CFG_DISABLE_PACKET_FILTER_MAX ),
754
755 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800756 hdd_config_t, nBeaconInterval,
757 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
758 CFG_BEACON_INTERVAL_DEFAULT,
759 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700760 CFG_BEACON_INTERVAL_MAX ),
761
Jeff Johnson295189b2012-06-20 16:38:30 -0700762 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800763 hdd_config_t, nEnableIdleScan,
764 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
765 CFG_ENABLE_IDLE_SCAN_DEFAULT,
766 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700767 CFG_ENABLE_IDLE_SCAN_MAX ),
768
769 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800770 hdd_config_t, nRoamingTime,
771 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
772 CFG_ROAMING_TIME_DEFAULT,
773 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700774 CFG_ROAMING_TIME_MAX ),
775
776 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800777 hdd_config_t, nVccRssiTrigger,
778 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
779 CFG_VCC_RSSI_TRIGGER_DEFAULT,
780 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700781 CFG_VCC_RSSI_TRIGGER_MAX ),
782
783 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800784 hdd_config_t, nVccUlMacLossThreshold,
785 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
786 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
787 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700788 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
789
790 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800791 hdd_config_t, nPassiveMaxChnTime,
792 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
793 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
794 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700795 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
796
797 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800798 hdd_config_t, nPassiveMinChnTime,
799 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
800 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
801 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700802 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
803
804 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800805 hdd_config_t, nActiveMaxChnTime,
806 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
807 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
808 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700809 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
810
811 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800812 hdd_config_t, nActiveMinChnTime,
813 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
814 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
815 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700816 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700817
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800818 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
819 hdd_config_t, nActiveMaxChnTimeBtc,
820 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
821 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
822 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
823 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
824
825 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
826 hdd_config_t, nActiveMinChnTimeBtc,
827 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
828 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
829 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
830 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
831
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700832 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
833 hdd_config_t, retryLimitZero,
834 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
835 CFG_RETRY_LIMIT_ZERO_DEFAULT,
836 CFG_RETRY_LIMIT_ZERO_MIN,
837 CFG_RETRY_LIMIT_ZERO_MAX ),
838
839 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
840 hdd_config_t, retryLimitOne,
841 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
842 CFG_RETRY_LIMIT_ONE_DEFAULT,
843 CFG_RETRY_LIMIT_ONE_MIN,
844 CFG_RETRY_LIMIT_ONE_MAX ),
845
846 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
847 hdd_config_t, retryLimitTwo,
848 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
849 CFG_RETRY_LIMIT_TWO_DEFAULT,
850 CFG_RETRY_LIMIT_TWO_MIN,
851 CFG_RETRY_LIMIT_TWO_MAX ),
852
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700853 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
854 hdd_config_t, disableAggWithBtc,
855 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
856 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
857 CFG_DISABLE_AGG_WITH_BTC_MIN,
858 CFG_DISABLE_AGG_WITH_BTC_MAX ),
859
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700860#ifdef WLAN_AP_STA_CONCURRENCY
861 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800862 hdd_config_t, nPassiveMaxChnTimeConc,
863 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
864 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
865 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700866 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
867
868 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800869 hdd_config_t, nPassiveMinChnTimeConc,
870 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
871 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
872 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700873 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
874
875 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800876 hdd_config_t, nActiveMaxChnTimeConc,
877 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
878 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
879 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700880 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
881
882 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800883 hdd_config_t, nActiveMinChnTimeConc,
884 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
885 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
886 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700887 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
888
889 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800890 hdd_config_t, nRestTimeConc,
891 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
892 CFG_REST_TIME_CONC_DEFAULT,
893 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700894 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800895
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700896 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
897 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800898 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700899 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
900 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
901 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
902
903 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
904 hdd_config_t, nNumP2PChanCombinedConc,
905 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
906 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
907 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
908 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700909#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800910
Jeff Johnson295189b2012-06-20 16:38:30 -0700911 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800912 hdd_config_t, nMaxPsPoll,
913 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
914 CFG_MAX_PS_POLL_DEFAULT,
915 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700916 CFG_MAX_PS_POLL_MAX ),
917
918 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800919 hdd_config_t, nTxPowerCap,
920 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
921 CFG_MAX_TX_POWER_DEFAULT,
922 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700923 CFG_MAX_TX_POWER_MAX ),
924
925 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
926 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800927 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
928 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
929 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700930 CFG_LOW_GAIN_OVERRIDE_MAX ),
931
932 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
933 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800934 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
935 CFG_RSSI_FILTER_PERIOD_DEFAULT,
936 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700937 CFG_RSSI_FILTER_PERIOD_MAX ),
938
939 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
940 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800941 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
942 CFG_IGNORE_DTIM_DEFAULT,
943 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700944 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800945
Yue Mac24062f2013-05-13 17:01:29 -0700946 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
947 hdd_config_t, fMaxLIModulatedDTIM,
948 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
949 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
950 CFG_MAX_LI_MODULATED_DTIM_MIN,
951 CFG_MAX_LI_MODULATED_DTIM_MAX ),
952
Jeff Johnson295189b2012-06-20 16:38:30 -0700953 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800954 hdd_config_t, nRxAnt,
955 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
956 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
957 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700958 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
959
960 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800961 hdd_config_t, fEnableFwHeartBeatMonitoring,
962 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
963 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
964 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700965 CFG_FW_HEART_BEAT_MONITORING_MAX ),
966
967 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800968 hdd_config_t, fEnableFwBeaconFiltering,
969 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
970 CFG_FW_BEACON_FILTERING_DEFAULT,
971 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700972 CFG_FW_BEACON_FILTERING_MAX ),
973
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800974 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800975 hdd_config_t, fEnableFwRssiMonitoring,
976 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
977 CFG_FW_RSSI_MONITORING_DEFAULT,
978 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800979 CFG_FW_RSSI_MONITORING_MAX,
980 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700981
982 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800983 hdd_config_t, nDataInactivityTimeout,
984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
985 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
986 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700987 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800988
Jeff Johnson295189b2012-06-20 16:38:30 -0700989 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800990 hdd_config_t, nthBeaconFilter,
991 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
992 CFG_NTH_BEACON_FILTER_DEFAULT,
993 CFG_NTH_BEACON_FILTER_MIN,
994 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700995
996 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800997 hdd_config_t, WmmMode,
998 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
999 CFG_QOS_WMM_MODE_DEFAULT,
1000 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001001 CFG_QOS_WMM_MODE_MAX ),
1002
1003 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001004 hdd_config_t, b80211eIsEnabled,
1005 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1006 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
1007 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001008 CFG_QOS_WMM_80211E_ENABLED_MAX ),
1009
1010 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001011 hdd_config_t, UapsdMask,
1012 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1013 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
1014 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001015 CFG_QOS_WMM_UAPSD_MASK_MAX ),
1016
Jeff Johnson295189b2012-06-20 16:38:30 -07001017 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001018 hdd_config_t, InfraUapsdVoSrvIntv,
1019 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1020 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1021 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001022 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1023
1024 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001025 hdd_config_t, InfraUapsdVoSuspIntv,
1026 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1027 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1028 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001029 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1030
1031 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001032 hdd_config_t, InfraUapsdViSrvIntv,
1033 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1034 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1035 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001036 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1037
1038 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001039 hdd_config_t, InfraUapsdViSuspIntv,
1040 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1041 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1042 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001043 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1044
1045 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001046 hdd_config_t, InfraUapsdBeSrvIntv,
1047 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1048 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1049 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001050 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1051
1052 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001053 hdd_config_t, InfraUapsdBeSuspIntv,
1054 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1055 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1056 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001057 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1058
1059 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001060 hdd_config_t, InfraUapsdBkSrvIntv,
1061 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1062 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1063 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001064 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1065
1066 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001067 hdd_config_t, InfraUapsdBkSuspIntv,
1068 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1069 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1070 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001071 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1072
1073#ifdef FEATURE_WLAN_CCX
1074 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001075 hdd_config_t, InfraInactivityInterval,
1076 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1077 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1078 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001079 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001080 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001081 hdd_config_t, isCcxIniFeatureEnabled,
1082 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1083 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1084 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001085 CFG_CCX_FEATURE_ENABLED_MAX,
1086 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001087#endif // FEATURE_WLAN_CCX
1088
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001089#ifdef FEATURE_WLAN_LFR
1090 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001091 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001092 hdd_config_t, isFastRoamIniFeatureEnabled,
1093 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1094 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1095 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001096 CFG_LFR_FEATURE_ENABLED_MAX,
1097 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001098#endif // FEATURE_WLAN_LFR
1099
1100#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001101 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001102 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001103 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001104 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1105 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1106 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001107 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1108 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001109
Srinivas Girigowdade697412013-02-14 16:31:48 -08001110 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001111 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001112 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1113 hdd_config_t, RoamRssiDiff,
1114 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1115 CFG_ROAM_RSSI_DIFF_DEFAULT,
1116 CFG_ROAM_RSSI_DIFF_MIN,
1117 CFG_ROAM_RSSI_DIFF_MAX,
1118 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001119
1120 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001121 hdd_config_t, nImmediateRoamRssiDiff,
1122 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1123 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1124 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001125 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1126 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001127
Jeff Johnson295189b2012-06-20 16:38:30 -07001128#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001129#ifdef FEATURE_WLAN_OKC
1130 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1131 hdd_config_t, isOkcIniFeatureEnabled,
1132 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1133 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1134 CFG_OKC_FEATURE_ENABLED_MIN,
1135 CFG_OKC_FEATURE_ENABLED_MAX,
1136 cbNotifySetOkcFeatureEnabled, 0 ),
1137#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001138#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1139 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1140 hdd_config_t, isRoamOffloadScanEnabled,
1141 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1142 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1143 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1144 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1145 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1146#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001147 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001148 hdd_config_t, PktClassificationBasis,
1149 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1150 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1151 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001152 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1153
1154 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001155 hdd_config_t, InfraDirAcVo,
1156 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1157 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1158 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001159 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1160
1161 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001162 hdd_config_t, InfraNomMsduSizeAcVo,
1163 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1164 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1165 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001166 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1167
1168 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001169 hdd_config_t, InfraMeanDataRateAcVo,
1170 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1171 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1172 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001173 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1174
1175 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001176 hdd_config_t, InfraMinPhyRateAcVo,
1177 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1178 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1179 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001180 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1181
1182 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001183 hdd_config_t, InfraSbaAcVo,
1184 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1185 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1186 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001187 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1188
1189 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001190 hdd_config_t, InfraDirAcVi,
1191 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1192 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1193 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001194 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1195
1196 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001197 hdd_config_t, InfraNomMsduSizeAcVi,
1198 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1199 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1200 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001201 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1202
1203 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001204 hdd_config_t, InfraMeanDataRateAcVi,
1205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1206 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1207 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001208 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1209
1210 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001211 hdd_config_t, InfraMinPhyRateAcVi,
1212 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1213 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1214 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001215 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1216
1217 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001218 hdd_config_t, InfraSbaAcVi,
1219 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1220 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1221 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001222 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1223
1224 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001225 hdd_config_t, InfraDirAcBe,
1226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1227 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1228 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001229 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1230
1231 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001232 hdd_config_t, InfraNomMsduSizeAcBe,
1233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1234 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1235 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001236 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1237
1238 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001239 hdd_config_t, InfraMeanDataRateAcBe,
1240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1241 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1242 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001243 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1244
1245 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001246 hdd_config_t, InfraMinPhyRateAcBe,
1247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1248 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1249 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001250 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1251
1252 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001253 hdd_config_t, InfraSbaAcBe,
1254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1255 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1256 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001257 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1258
1259 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001260 hdd_config_t, InfraDirAcBk,
1261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1262 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1263 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001264 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1265
1266 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001267 hdd_config_t, InfraNomMsduSizeAcBk,
1268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1269 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1270 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001271 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1272
1273 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001274 hdd_config_t, InfraMeanDataRateAcBk,
1275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1276 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1277 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001278 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1279
1280 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001281 hdd_config_t, InfraMinPhyRateAcBk,
1282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1283 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1284 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001285 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1286
1287 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001288 hdd_config_t, InfraSbaAcBk,
1289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1290 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1291 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001292 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1293
1294 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001295 hdd_config_t, WfqBkWeight,
1296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1297 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1298 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001299 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1300
1301 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001302 hdd_config_t, WfqBeWeight,
1303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1304 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1305 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001306 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1307
1308 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001309 hdd_config_t, WfqViWeight,
1310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1311 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1312 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001313 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1314
1315 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001316 hdd_config_t, WfqVoWeight,
1317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1318 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1319 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001320 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1321
1322 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001323 hdd_config_t, DelayedTriggerFrmInt,
1324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1325 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1326 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001327 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1328
1329 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001330 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001331 VAR_FLAGS_OPTIONAL,
1332 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1333
1334 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001335 hdd_config_t, bImplicitQosEnabled,
1336 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1337 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1338 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001339 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1340
Jeff Johnson295189b2012-06-20 16:38:30 -07001341 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001342 hdd_config_t, btcExecutionMode,
1343 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1344 CFG_BTC_EXECUTION_MODE_DEFAULT,
1345 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001346 CFG_BTC_EXECUTION_MODE_MAX ),
1347
1348 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1349 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1350 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1351 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1352 CFG_BTC_DHCP_PROTECTION_MIN,
1353 CFG_BTC_DHCP_PROTECTION_MAX ),
1354
1355 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1356 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1357 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1358 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1359 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1360 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1361
Jeff Johnson32d95a32012-09-10 13:15:23 -07001362 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1363 hdd_config_t, btcStaticLenInqBt,
1364 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1365 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1366 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1367 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1368
1369 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1370 hdd_config_t, btcStaticLenPageBt,
1371 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1372 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1373 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1374 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1375
1376 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1377 hdd_config_t, btcStaticLenConnBt,
1378 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1379 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1380 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1381 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1382
1383 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1384 hdd_config_t, btcStaticLenLeBt,
1385 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1386 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1387 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1388 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1389
1390 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1391 hdd_config_t, btcStaticLenInqWlan,
1392 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1393 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1394 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1395 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1396
1397 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1398 hdd_config_t, btcStaticLenPageWlan,
1399 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1400 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1401 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1402 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1403
1404 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1405 hdd_config_t, btcStaticLenConnWlan,
1406 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1407 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1408 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1409 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1410
1411 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1412 hdd_config_t, btcStaticLenLeWlan,
1413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1414 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1415 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1416 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1417
1418 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1419 hdd_config_t, btcDynMaxLenBt,
1420 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1421 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1422 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1423 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1424
1425 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1426 hdd_config_t, btcDynMaxLenWlan,
1427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1428 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1429 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1430 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1431
1432 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1433 hdd_config_t, btcMaxScoBlockPerc,
1434 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1435 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1436 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1437 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1438
1439 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1440 hdd_config_t, btcDhcpProtOnA2dp,
1441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1442 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1443 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1444 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1445
1446 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1447 hdd_config_t, btcDhcpProtOnSco,
1448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1449 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1450 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1451 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1452
Wilson Tsaof8b37942013-09-06 10:49:00 -07001453 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1454 hdd_config_t, mwsCoexVictimWANFreq[0],
1455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1456 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1457 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1458 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1459
1460 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1461 hdd_config_t, mwsCoexVictimWLANFreq[0],
1462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1463 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1464 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1465 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1466
1467 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1468 hdd_config_t, mwsCoexVictimConfig[0],
1469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1470 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1471 CFG_MWS_COEX_VX_CONFIG_MIN,
1472 CFG_MWS_COEX_VX_CONFIG_MAX ),
1473
1474 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1475 hdd_config_t, mwsCoexVictimConfig2[0],
1476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1477 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1478 CFG_MWS_COEX_VX_CONFIG_MIN,
1479 CFG_MWS_COEX_VX_CONFIG_MAX ),
1480
1481 REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1482 hdd_config_t, mwsCoexVictimWANFreq[1],
1483 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1484 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1485 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1486 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1487
1488 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1489 hdd_config_t, mwsCoexVictimWLANFreq[1],
1490 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1491 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1492 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1493 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1494
1495 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1496 hdd_config_t, mwsCoexVictimConfig[1],
1497 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1498 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1499 CFG_MWS_COEX_VX_CONFIG_MIN,
1500 CFG_MWS_COEX_VX_CONFIG_MAX ),
1501
1502 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1503 hdd_config_t, mwsCoexVictimConfig2[1],
1504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1505 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1506 CFG_MWS_COEX_VX_CONFIG_MIN,
1507 CFG_MWS_COEX_VX_CONFIG_MAX ),
1508
1509 REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1510 hdd_config_t, mwsCoexVictimWANFreq[2],
1511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1512 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1513 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1514 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1515
1516 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1517 hdd_config_t, mwsCoexVictimWLANFreq[2],
1518 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1519 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1520 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1521 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1522
1523 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1524 hdd_config_t, mwsCoexVictimConfig[2],
1525 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1526 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1527 CFG_MWS_COEX_VX_CONFIG_MIN,
1528 CFG_MWS_COEX_VX_CONFIG_MAX ),
1529
1530 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1531 hdd_config_t, mwsCoexVictimConfig2[2],
1532 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1533 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1534 CFG_MWS_COEX_VX_CONFIG_MIN,
1535 CFG_MWS_COEX_VX_CONFIG_MAX ),
1536
1537 REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1538 hdd_config_t, mwsCoexVictimWANFreq[3],
1539 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1540 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1541 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1542 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1543
1544 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1545 hdd_config_t, mwsCoexVictimWLANFreq[3],
1546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1547 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1548 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1549 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1550
1551 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1552 hdd_config_t, mwsCoexVictimConfig[3],
1553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1554 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1555 CFG_MWS_COEX_VX_CONFIG_MIN,
1556 CFG_MWS_COEX_VX_CONFIG_MAX ),
1557
1558 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1559 hdd_config_t, mwsCoexVictimConfig2[3],
1560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1561 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1562 CFG_MWS_COEX_VX_CONFIG_MIN,
1563 CFG_MWS_COEX_VX_CONFIG_MAX ),
1564
1565 REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1566 hdd_config_t, mwsCoexVictimWANFreq[4],
1567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1568 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1569 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1570 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1571
1572 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1573 hdd_config_t, mwsCoexVictimWLANFreq[4],
1574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1575 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1576 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1577 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1578
1579 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1580 hdd_config_t, mwsCoexVictimConfig[4],
1581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1582 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1583 CFG_MWS_COEX_VX_CONFIG_MIN,
1584 CFG_MWS_COEX_VX_CONFIG_MAX ),
1585
1586 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1587 hdd_config_t, mwsCoexVictimConfig2[4],
1588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1589 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1590 CFG_MWS_COEX_VX_CONFIG_MIN,
1591 CFG_MWS_COEX_VX_CONFIG_MAX ),
1592
1593 REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1594 hdd_config_t, mwsCoexVictimWANFreq[5],
1595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1596 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1597 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1598 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1599
1600 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1601 hdd_config_t, mwsCoexVictimWLANFreq[5],
1602 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1603 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1604 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1605 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1606
1607 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1608 hdd_config_t, mwsCoexVictimConfig[5],
1609 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1610 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1611 CFG_MWS_COEX_VX_CONFIG_MIN,
1612 CFG_MWS_COEX_VX_CONFIG_MAX ),
1613
1614 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1615 hdd_config_t, mwsCoexVictimConfig2[5],
1616 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1617 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1618 CFG_MWS_COEX_VX_CONFIG_MIN,
1619 CFG_MWS_COEX_VX_CONFIG_MAX ),
1620
1621 REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1622 hdd_config_t, mwsCoexVictimWANFreq[6],
1623 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1624 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1625 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1626 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1627
1628 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1629 hdd_config_t, mwsCoexVictimWLANFreq[6],
1630 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1631 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1632 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1633 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1634
1635 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1636 hdd_config_t, mwsCoexVictimConfig[6],
1637 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1638 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1639 CFG_MWS_COEX_VX_CONFIG_MIN,
1640 CFG_MWS_COEX_VX_CONFIG_MAX ),
1641
1642 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1643 hdd_config_t, mwsCoexVictimConfig2[6],
1644 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1645 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1646 CFG_MWS_COEX_VX_CONFIG_MIN,
1647 CFG_MWS_COEX_VX_CONFIG_MAX ),
1648
1649 REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1650 hdd_config_t, mwsCoexVictimWANFreq[7],
1651 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1652 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1653 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1654 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1655
1656 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1657 hdd_config_t, mwsCoexVictimWLANFreq[7],
1658 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1659 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1660 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1661 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1662
1663 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1664 hdd_config_t, mwsCoexVictimConfig[7],
1665 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1666 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1667 CFG_MWS_COEX_VX_CONFIG_MIN,
1668 CFG_MWS_COEX_VX_CONFIG_MAX ),
1669
1670 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1671 hdd_config_t, mwsCoexVictimConfig2[7],
1672 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1673 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1674 CFG_MWS_COEX_VX_CONFIG_MIN,
1675 CFG_MWS_COEX_VX_CONFIG_MAX ),
1676
1677 REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1678 hdd_config_t, mwsCoexVictimWANFreq[8],
1679 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1680 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1681 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1682 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1683
1684 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1685 hdd_config_t, mwsCoexVictimWLANFreq[8],
1686 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1687 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1688 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1689 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1690
1691 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1692 hdd_config_t, mwsCoexVictimConfig[8],
1693 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1694 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1695 CFG_MWS_COEX_VX_CONFIG_MIN,
1696 CFG_MWS_COEX_VX_CONFIG_MAX ),
1697
1698 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1699 hdd_config_t, mwsCoexVictimConfig2[8],
1700 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1701 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1702 CFG_MWS_COEX_VX_CONFIG_MIN,
1703 CFG_MWS_COEX_VX_CONFIG_MAX ),
1704
1705 REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1706 hdd_config_t, mwsCoexVictimWANFreq[9],
1707 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1708 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1709 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1710 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1711
1712 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1713 hdd_config_t, mwsCoexVictimWLANFreq[9],
1714 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1715 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1716 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1717 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1718
1719 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1720 hdd_config_t, mwsCoexVictimConfig[9],
1721 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1722 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1723 CFG_MWS_COEX_VX_CONFIG_MIN,
1724 CFG_MWS_COEX_VX_CONFIG_MAX ),
1725
1726 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1727 hdd_config_t, mwsCoexVictimConfig2[9],
1728 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1729 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1730 CFG_MWS_COEX_VX_CONFIG_MIN,
1731 CFG_MWS_COEX_VX_CONFIG_MAX ),
1732
1733 REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1734 hdd_config_t, mwsCoexModemBackoff,
1735 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1736 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1737 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1738 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1739
1740 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1741 hdd_config_t, mwsCoexConfig[0],
1742 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1743 CFG_MWS_COEX_CONFIGX_DEFAULT,
1744 CFG_MWS_COEX_CONFIGX_MIN,
1745 CFG_MWS_COEX_CONFIGX_MAX ),
1746
1747 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1748 hdd_config_t, mwsCoexConfig[1],
1749 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1750 CFG_MWS_COEX_CONFIGX_DEFAULT,
1751 CFG_MWS_COEX_CONFIGX_MIN,
1752 CFG_MWS_COEX_CONFIGX_MAX ),
1753
1754 REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer,
1755 hdd_config_t, mwsCoexConfig[2],
1756 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1757 CFG_MWS_COEX_CONFIGX_DEFAULT,
1758 CFG_MWS_COEX_CONFIGX_MIN,
1759 CFG_MWS_COEX_CONFIGX_MAX ),
1760
1761 REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer,
1762 hdd_config_t, mwsCoexConfig[3],
1763 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1764 CFG_MWS_COEX_CONFIGX_DEFAULT,
1765 CFG_MWS_COEX_CONFIGX_MIN,
1766 CFG_MWS_COEX_CONFIGX_MAX ),
1767
1768 REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer,
1769 hdd_config_t, mwsCoexConfig[4],
1770 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1771 CFG_MWS_COEX_CONFIGX_DEFAULT,
1772 CFG_MWS_COEX_CONFIGX_MIN,
1773 CFG_MWS_COEX_CONFIGX_MAX ),
1774
1775 REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer,
1776 hdd_config_t, mwsCoexConfig[5],
1777 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1778 CFG_MWS_COEX_CONFIGX_DEFAULT,
1779 CFG_MWS_COEX_CONFIGX_MIN,
1780 CFG_MWS_COEX_CONFIGX_MAX ),
1781
1782 REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1783 hdd_config_t, SARPowerBackoff,
1784 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1785 CFG_SAR_POWER_BACKOFF_DEFAULT,
1786 CFG_SAR_POWER_BACKOFF_MIN,
1787 CFG_SAR_POWER_BACKOFF_MAX ),
1788
Jeff Johnson295189b2012-06-20 16:38:30 -07001789 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001790 hdd_config_t, nEnableListenMode,
1791 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1792 CFG_AP_LISTEN_MODE_DEFAULT,
1793 CFG_AP_LISTEN_MODE_MIN,
1794 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001795
1796 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1797 hdd_config_t, nAPAutoShutOff,
1798 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1799 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1800 CFG_AP_AUTO_SHUT_OFF_MIN,
1801 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001802
1803#if defined WLAN_FEATURE_VOWIFI
1804 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001805 hdd_config_t, fRrmEnable,
1806 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1807 CFG_RRM_ENABLE_DEFAULT,
1808 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001809 CFG_RRM_ENABLE_MAX ),
1810
1811 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001812 hdd_config_t, nInChanMeasMaxDuration,
1813 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1814 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1815 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001816 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1817
1818 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001819 hdd_config_t, nOutChanMeasMaxDuration,
1820 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1821 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1822 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001823 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1824
1825 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001826 hdd_config_t, nRrmRandnIntvl,
1827 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1828 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1829 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001830 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1831#endif
1832
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001833#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001834 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001835 hdd_config_t, fFTResourceReqSupported,
1836 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1837 CFG_FT_RESOURCE_REQ_DEFAULT,
1838 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001839 CFG_FT_RESOURCE_REQ_MAX ),
1840#endif
1841
1842#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001843 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001844 hdd_config_t, nNeighborScanPeriod,
1845 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1846 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1847 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001848 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1849 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001850
1851 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001852 hdd_config_t, nNeighborReassocRssiThreshold,
1853 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1854 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1855 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001856 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1857
Srinivas Girigowdade697412013-02-14 16:31:48 -08001858 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001859 hdd_config_t, nNeighborLookupRssiThreshold,
1860 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1861 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1862 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001863 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1864 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001865
1866 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001867 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001868 VAR_FLAGS_OPTIONAL,
1869 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1870
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001871 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001872 hdd_config_t, nNeighborScanMinChanTime,
1873 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1874 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1875 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001876 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1877 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001878
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001879 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001880 hdd_config_t, nNeighborScanMaxChanTime,
1881 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1882 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1883 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001884 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1885 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001886
1887 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1888 hdd_config_t, nMaxNeighborReqTries,
1889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1890 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1891 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1892 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1893
Srinivas Girigowdade697412013-02-14 16:31:48 -08001894 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001895 hdd_config_t, nNeighborResultsRefreshPeriod,
1896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1897 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1898 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001899 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1900 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1901
1902 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1903 hdd_config_t, nEmptyScanRefreshPeriod,
1904 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1905 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1906 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1907 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1908 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001909#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1910
1911 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001912 hdd_config_t, burstSizeDefinition,
1913 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1914 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1915 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001916 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1917
1918 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1919 hdd_config_t, mcastBcastFilterSetting,
1920 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1921 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1922 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1923 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1924
1925 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1926 hdd_config_t, fhostArpOffload,
1927 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1928 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1929 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1930 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1931
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301932 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1933 hdd_config_t, fhostNSOffload,
1934 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1935 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1936 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1937 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1938
Jeff Johnson295189b2012-06-20 16:38:30 -07001939 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001940 hdd_config_t, tsInfoAckPolicy,
1941 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1942 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1943 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001944 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1945
1946 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1947 hdd_config_t, bSingleTidRc,
1948 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1949 CFG_SINGLE_TID_RC_DEFAULT,
1950 CFG_SINGLE_TID_RC_MIN,
1951 CFG_SINGLE_TID_RC_MAX),
1952
1953 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1954 hdd_config_t, dynamicPsPollValue,
1955 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1956 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1957 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1958 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1959
1960 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1961 hdd_config_t, teleBcnWakeupEn,
1962 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1963 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1964 CFG_TELE_BCN_WAKEUP_EN_MIN,
1965 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1966
1967 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1968 hdd_config_t, infraStaKeepAlivePeriod,
1969 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1970 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1971 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1972 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1973
1974 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001975 hdd_config_t, AddTSWhenACMIsOff,
1976 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1977 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1978 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001979 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1980
1981
1982 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001983 hdd_config_t, fValidateScanList,
1984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1985 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1986 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001987 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001988
Jeff Johnson295189b2012-06-20 16:38:30 -07001989 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001990 hdd_config_t, nNullDataApRespTimeout,
1991 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1992 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1993 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001994 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1995
1996 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001997 hdd_config_t, apDataAvailPollPeriodInMs,
1998 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1999 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2000 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002001 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002002
Jeff Johnson295189b2012-06-20 16:38:30 -07002003 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002004 hdd_config_t, enableBtAmp,
2005 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2006 CFG_ENABLE_BTAMP_DEFAULT,
2007 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002008 CFG_ENABLE_BTAMP_MAX ),
2009
2010#ifdef WLAN_BTAMP_FEATURE
2011 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002012 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2014 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2015 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2016 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2017#endif //WLAN_BTAMP_FEATURE
2018 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002019 hdd_config_t, nBandCapability,
2020 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2021 CFG_BAND_CAPABILITY_DEFAULT,
2022 CFG_BAND_CAPABILITY_MIN,
2023 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002024
2025 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002026 hdd_config_t, fEnableBeaconEarlyTermination,
2027 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2028 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2029 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2030 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002031/* CFG_VOS_TRACE_ENABLE Parameters */
2032 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2033 hdd_config_t, vosTraceEnableBAP,
2034 VAR_FLAGS_OPTIONAL,
2035 CFG_VOS_TRACE_ENABLE_DEFAULT,
2036 CFG_VOS_TRACE_ENABLE_MIN,
2037 CFG_VOS_TRACE_ENABLE_MAX ),
2038
2039 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2040 hdd_config_t, vosTraceEnableTL,
2041 VAR_FLAGS_OPTIONAL,
2042 CFG_VOS_TRACE_ENABLE_DEFAULT,
2043 CFG_VOS_TRACE_ENABLE_MIN,
2044 CFG_VOS_TRACE_ENABLE_MAX ),
2045
2046 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2047 hdd_config_t, vosTraceEnableWDI,
2048 VAR_FLAGS_OPTIONAL,
2049 CFG_VOS_TRACE_ENABLE_DEFAULT,
2050 CFG_VOS_TRACE_ENABLE_MIN,
2051 CFG_VOS_TRACE_ENABLE_MAX ),
2052
2053 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2054 hdd_config_t, vosTraceEnableHDD,
2055 VAR_FLAGS_OPTIONAL,
2056 CFG_VOS_TRACE_ENABLE_DEFAULT,
2057 CFG_VOS_TRACE_ENABLE_MIN,
2058 CFG_VOS_TRACE_ENABLE_MAX ),
2059
2060 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2061 hdd_config_t, vosTraceEnableSME,
2062 VAR_FLAGS_OPTIONAL,
2063 CFG_VOS_TRACE_ENABLE_DEFAULT,
2064 CFG_VOS_TRACE_ENABLE_MIN,
2065 CFG_VOS_TRACE_ENABLE_MAX ),
2066
2067 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2068 hdd_config_t, vosTraceEnablePE,
2069 VAR_FLAGS_OPTIONAL,
2070 CFG_VOS_TRACE_ENABLE_DEFAULT,
2071 CFG_VOS_TRACE_ENABLE_MIN,
2072 CFG_VOS_TRACE_ENABLE_MAX ),
2073
2074 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2075 hdd_config_t, vosTraceEnableWDA,
2076 VAR_FLAGS_OPTIONAL,
2077 CFG_VOS_TRACE_ENABLE_DEFAULT,
2078 CFG_VOS_TRACE_ENABLE_MIN,
2079 CFG_VOS_TRACE_ENABLE_MAX ),
2080
2081 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2082 hdd_config_t, vosTraceEnableSYS,
2083 VAR_FLAGS_OPTIONAL,
2084 CFG_VOS_TRACE_ENABLE_DEFAULT,
2085 CFG_VOS_TRACE_ENABLE_MIN,
2086 CFG_VOS_TRACE_ENABLE_MAX ),
2087
2088 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2089 hdd_config_t, vosTraceEnableVOSS,
2090 VAR_FLAGS_OPTIONAL,
2091 CFG_VOS_TRACE_ENABLE_DEFAULT,
2092 CFG_VOS_TRACE_ENABLE_MIN,
2093 CFG_VOS_TRACE_ENABLE_MAX ),
2094
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002095 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2096 hdd_config_t, vosTraceEnableSAP,
2097 VAR_FLAGS_OPTIONAL,
2098 CFG_VOS_TRACE_ENABLE_DEFAULT,
2099 CFG_VOS_TRACE_ENABLE_MIN,
2100 CFG_VOS_TRACE_ENABLE_MAX ),
2101
2102 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2103 hdd_config_t, vosTraceEnableHDDSAP,
2104 VAR_FLAGS_OPTIONAL,
2105 CFG_VOS_TRACE_ENABLE_DEFAULT,
2106 CFG_VOS_TRACE_ENABLE_MIN,
2107 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002108
Jeff Johnson295189b2012-06-20 16:38:30 -07002109 /* note that since the default value is out of range we cannot
2110 enable range check, otherwise we get a system log message */
2111 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2112 hdd_config_t, wdiTraceEnableDAL,
2113 VAR_FLAGS_OPTIONAL,
2114 CFG_WDI_TRACE_ENABLE_DEFAULT,
2115 CFG_WDI_TRACE_ENABLE_MIN,
2116 CFG_WDI_TRACE_ENABLE_MAX ),
2117
2118 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2119 hdd_config_t, wdiTraceEnableCTL,
2120 VAR_FLAGS_OPTIONAL,
2121 CFG_WDI_TRACE_ENABLE_DEFAULT,
2122 CFG_WDI_TRACE_ENABLE_MIN,
2123 CFG_WDI_TRACE_ENABLE_MAX ),
2124
2125 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2126 hdd_config_t, wdiTraceEnableDAT,
2127 VAR_FLAGS_OPTIONAL,
2128 CFG_WDI_TRACE_ENABLE_DEFAULT,
2129 CFG_WDI_TRACE_ENABLE_MIN,
2130 CFG_WDI_TRACE_ENABLE_MAX ),
2131
2132 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2133 hdd_config_t, wdiTraceEnablePAL,
2134 VAR_FLAGS_OPTIONAL,
2135 CFG_WDI_TRACE_ENABLE_DEFAULT,
2136 CFG_WDI_TRACE_ENABLE_MIN,
2137 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002138
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002139 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002140 hdd_config_t, nTeleBcnTransListenInterval,
2141 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2142 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2143 CFG_TELE_BCN_TRANS_LI_MIN,
2144 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002145
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002146 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002147 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2148 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2149 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2150 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2151 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002152
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002153 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002154 hdd_config_t, nTeleBcnMaxListenInterval,
2155 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2156 CFG_TELE_BCN_MAX_LI_DEFAULT,
2157 CFG_TELE_BCN_MAX_LI_MIN,
2158 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002159
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002160 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002161 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2162 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2163 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2164 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2165 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002166
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002167 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002168 hdd_config_t, bcnEarlyTermWakeInterval,
2169 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2170 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2171 CFG_BCN_EARLY_TERM_WAKE_MIN,
2172 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002173
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002174 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002175 hdd_config_t, apDataAvailPollPeriodInMs,
2176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2177 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2178 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002179 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2180
2181 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002182 hdd_config_t, enableCloseLoop,
2183 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2184 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2185 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002186 CFG_ENABLE_CLOSE_LOOP_MAX ),
2187
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002188 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002189 hdd_config_t, enableBypass11d,
2190 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2191 CFG_ENABLE_BYPASS_11D_DEFAULT,
2192 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002193 CFG_ENABLE_BYPASS_11D_MAX ),
2194
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002195 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002196 hdd_config_t, enableDFSChnlScan,
2197 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2198 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2199 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002200 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2201
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002202 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002203 hdd_config_t, enableDynamicDTIM,
2204 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2205 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2206 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002207 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2208
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002209 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002210 hdd_config_t, enableAutomaticTxPowerControl,
2211 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2212 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2213 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002214 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2215
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002216 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002217 hdd_config_t, ShortGI40MhzEnable,
2218 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2219 CFG_SHORT_GI_40MHZ_DEFAULT,
2220 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002221 CFG_SHORT_GI_40MHZ_MAX ),
2222
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002223 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002224 hdd_config_t, reportMaxLinkSpeed,
2225 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2226 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2227 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002228 CFG_REPORT_MAX_LINK_SPEED_MAX,
2229 NULL, 0 ),
2230
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002231 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002232 hdd_config_t, linkSpeedRssiHigh,
2233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2234 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2235 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2236 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2237 NULL, 0 ),
2238
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002239 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002240 hdd_config_t, linkSpeedRssiMid,
2241 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2242 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2243 CFG_LINK_SPEED_RSSI_MID_MIN,
2244 CFG_LINK_SPEED_RSSI_MID_MAX,
2245 NULL, 0 ),
2246
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002247 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002248 hdd_config_t, linkSpeedRssiLow,
2249 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2250 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2251 CFG_LINK_SPEED_RSSI_LOW_MIN,
2252 CFG_LINK_SPEED_RSSI_LOW_MAX,
2253 NULL, 0 ),
2254
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002255#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002256 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002257 hdd_config_t, nRoamPrefer5GHz,
2258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2259 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2260 CFG_ROAM_PREFER_5GHZ_MIN,
2261 CFG_ROAM_PREFER_5GHZ_MAX,
2262 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002263
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002264 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002265 hdd_config_t, nRoamIntraBand,
2266 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2267 CFG_ROAM_INTRA_BAND_DEFAULT,
2268 CFG_ROAM_INTRA_BAND_MIN,
2269 CFG_ROAM_INTRA_BAND_MAX,
2270 cbNotifySetRoamIntraBand, 0 ),
2271
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002272 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2273 hdd_config_t, nProbes,
2274 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2275 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2276 CFG_ROAM_SCAN_N_PROBES_MIN,
2277 CFG_ROAM_SCAN_N_PROBES_MAX,
2278 cbNotifySetRoamScanNProbes, 0 ),
2279
2280 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2281 hdd_config_t, nRoamScanHomeAwayTime,
2282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2283 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2284 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2285 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2286 cbNotifySetRoamScanHomeAwayTime, 0 ),
2287
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002288#endif
2289
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002290 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002291 hdd_config_t, isP2pDeviceAddrAdministrated,
2292 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2293 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2294 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2295 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002296
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002297 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002298 hdd_config_t, enableMCC,
2299 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2300 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2301 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002302 CFG_ENABLE_MCC_ENABLED_MAX ),
2303
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002304 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002305 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002306 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2307 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2308 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2309 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002310
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002311 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002312 hdd_config_t, thermalMitigationEnable,
2313 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2314 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2315 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002316 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002317
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002318 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002319 hdd_config_t, enableModulatedDTIM,
2320 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2321 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2322 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002323 CFG_ENABLE_MODULATED_DTIM_MAX ),
2324
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002325 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002326 hdd_config_t, fEnableMCAddrList,
2327 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2328 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2329 CFG_MC_ADDR_LIST_ENABLE_MIN,
2330 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2331
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002332#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002333 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002334 hdd_config_t, vhtChannelWidth,
2335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2336 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2337 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002338 CFG_VHT_CHANNEL_WIDTH_MAX),
2339
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002340 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002341 hdd_config_t, vhtRxMCS,
2342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2343 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2344 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002345 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2346
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002347 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002348 hdd_config_t, vhtTxMCS,
2349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2350 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2351 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002352 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2353#endif
2354
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002355 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002356 hdd_config_t, enableFirstScan2GOnly,
2357 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2358 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2359 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002360 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2361
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002362 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002363 hdd_config_t, skipDfsChnlInP2pSearch,
2364 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2365 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2366 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002367 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2368
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002369 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002370 hdd_config_t, ignoreDynamicDtimInP2pMode,
2371 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2372 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2373 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002374 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2375
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002376 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002377 hdd_config_t,numBuffAdvert ,
2378 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2379 CFG_NUM_BUFF_ADVERT_DEFAULT,
2380 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002381 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002382
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002383 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002384 hdd_config_t, configMccParam,
2385 VAR_FLAGS_OPTIONAL,
2386 CFG_MCC_CONFIG_PARAM_DEFAULT,
2387 CFG_MCC_CONFIG_PARAM_MIN,
2388 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002389 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002390 hdd_config_t, enableRxSTBC,
2391 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2392 CFG_ENABLE_RX_STBC_DEFAULT,
2393 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302394 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002395#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002396 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002397 hdd_config_t, fEnableTDLSSupport,
2398 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2399 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2400 CFG_TDLS_SUPPORT_ENABLE_MIN,
2401 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302402
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002403 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302404 hdd_config_t, fEnableTDLSImplicitTrigger,
2405 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2406 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2407 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2408 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2409
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002410 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302411 hdd_config_t, fTDLSTxStatsPeriod,
2412 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2413 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2414 CFG_TDLS_TX_STATS_PERIOD_MIN,
2415 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2416
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002417 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302418 hdd_config_t, fTDLSTxPacketThreshold,
2419 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2420 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2421 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2422 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2423
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002424 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302425 hdd_config_t, fTDLSDiscoveryPeriod,
2426 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2427 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2428 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2429 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2430
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002431 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302432 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2433 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2434 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2435 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2436 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2437
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002438 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002439 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302440 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002441 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2442 CFG_TDLS_IDLE_TIMEOUT_MIN,
2443 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2444
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002445 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002446 hdd_config_t, fTDLSIdlePacketThreshold,
2447 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2448 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2449 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2450 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302451
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002452 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002453 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302454 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2455 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2456 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2457 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002458
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002459 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002460 hdd_config_t, fTDLSRSSITriggerThreshold,
2461 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2462 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2463 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2464 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2465
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002466 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002467 hdd_config_t, fTDLSRSSITeardownThreshold,
2468 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2469 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2470 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2471 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302472
2473REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2474 hdd_config_t, fTDLSUapsdMask,
2475 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2476 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2477 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2478 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2479
2480REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2481 hdd_config_t, fEnableTDLSBufferSta,
2482 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2483 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2484 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2485 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2486
2487REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2488 hdd_config_t, fTDLSPuapsdInactivityTimer,
2489 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2490 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2491 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2492 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2493
2494REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2495 hdd_config_t, fTDLSRxFrameThreshold,
2496 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2497 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2498 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2499 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002500#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002501
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002502#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002503 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002504 hdd_config_t, fEnableVSTASupport,
2505 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2506 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2507 CFG_VSTA_SUPPORT_ENABLE_MIN,
2508 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2509#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002510 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002511 hdd_config_t, enableLpwrImgTransition,
2512 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2513 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2514 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002515 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2516
Yathish9f22e662012-12-10 14:21:35 -08002517#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002518 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002519 hdd_config_t, fEnableActiveModeOffload,
2520 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2521 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2522 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2523 CFG_ACTIVEMODE_OFFLOAD_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,
2530 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2531
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002532
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002533 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002534 hdd_config_t, scanAgingTimeout,
2535 VAR_FLAGS_OPTIONAL,
2536 CFG_SCAN_AGING_PARAM_DEFAULT,
2537 CFG_SCAN_AGING_PARAM_MIN,
2538 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002539
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002540 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002541 hdd_config_t, enableTxLdpc,
2542 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2543 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2544 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2545 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2546
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002547 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302548 hdd_config_t, enableMCCAdaptiveScheduler,
2549 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2550 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2551 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2552 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2553
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002554 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302555 hdd_config_t, isAndroidPsEn,
2556 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2557 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2558 CFG_ANDRIOD_POWER_SAVE_MIN,
2559 CFG_ANDRIOD_POWER_SAVE_MAX),
2560
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002561 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002562 hdd_config_t, AdHocChannel5G,
2563 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2564 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2565 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2566 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2567
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002568 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002569 hdd_config_t, AdHocChannel24G,
2570 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2571 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2572 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2573 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2574
2575
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002576#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002577 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002578 hdd_config_t, enableTxBF,
2579 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2580 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2581 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2582 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002583
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002584 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002585 hdd_config_t, txBFCsnValue,
2586 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2587 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2588 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2589 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2590
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002591#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302592
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002593 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302594 hdd_config_t, sapAllowAllChannel,
2595 VAR_FLAGS_OPTIONAL,
2596 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2597 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2598 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002599
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002600#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002601 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002602 hdd_config_t, disableLDPCWithTxbfAP,
2603 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2604 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2605 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2606 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2607#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002608
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002609 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002610 hdd_config_t, listOfNonDfsCountryCode,
2611 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2612 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2613
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002614 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2615 hdd_config_t, enableSSR,
2616 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2617 CFG_ENABLE_SSR_DEFAULT,
2618 CFG_ENABLE_SSR_MIN,
2619 CFG_ENABLE_SSR_MAX,
2620 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302621
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002622 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302623 hdd_config_t, listOfNon11acCountryCode,
2624 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2625 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2626
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002627 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302628 hdd_config_t, cfgMaxMediumTime,
2629 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2630 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2631 CFG_MAX_MEDIUM_TIME_STAMIN,
2632 CFG_MAX_MEDIUM_TIME_STAMAX ),
2633
Leo Chang64d68bc2013-06-04 15:40:52 -07002634 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2635 hdd_config_t, enableTrafficMonitor,
2636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2637 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2638 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2639 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2640
2641 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2642 hdd_config_t, trafficIdleTimeout,
2643 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2644 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2645 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2646 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002647
2648#ifdef WLAN_FEATURE_11AC
2649 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2650 hdd_config_t, enableVhtFor24GHzBand,
2651 VAR_FLAGS_OPTIONAL,
2652 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2653 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2654 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2655#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302656
2657 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2658 hdd_config_t, fScanOffload,
2659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2660 CFG_SCAN_OFFLOAD_DEFAULT,
2661 CFG_SCAN_OFFLOAD_DISABLE,
2662 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002663
2664#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2665 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2666 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2667 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2668 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2669 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2670 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2671 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2672#endif
2673
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002674 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2675 hdd_config_t, fEnableAdaptRxDrain,
2676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2677 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2678 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2679 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2680
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002681 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2682 hdd_config_t, dynSplitscan,
2683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2684 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2685 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2686 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2687
2688 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2689 hdd_config_t, txRxThresholdForSplitScan,
2690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2691 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2692 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2693 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2694
2695 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2696 hdd_config_t, trafficMntrTmrForSplitScan,
2697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2698 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2699 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2700 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2701
Yue Ma0fd23872013-08-01 15:56:47 -07002702 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2703 hdd_config_t, flexConnectPowerFactor,
2704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2705 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2706 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2707 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2708
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002709 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2710 hdd_config_t, enableIbssHeartBeatOffload,
2711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2712 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2713 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2714 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2715
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302716 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2717 hdd_config_t, antennaDiversity,
2718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2719 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2720 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2721 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302722
2723 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2724 hdd_config_t, fEnableSNRMonitoring,
2725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2726 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2727 CFG_ENABLE_SNR_MONITORING_MIN,
2728 CFG_ENABLE_SNR_MONITORING_MAX),
2729
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302730#ifdef FEATURE_WLAN_SCAN_PNO
2731 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2732 hdd_config_t, configPNOScanTimerRepeatValue,
2733 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2734 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2735 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2736 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2737#endif
2738
Jeff Johnson295189b2012-06-20 16:38:30 -07002739};
2740
2741/*
2742 * This function returns a pointer to the character after the occurence
2743 * of a new line character. It also modifies the original string by replacing
2744 * the '\n' character with the null character.
2745 * Function returns NULL if no new line character was found before end of
2746 * string was reached
2747 */
2748static char* get_next_line(char* str)
2749{
2750 char c;
2751
2752 if( str == NULL || *str == '\0') {
2753 return NULL;
2754 }
2755
2756 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002757 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002758 str = str + 1;
2759 c = *str;
2760 }
2761
2762 if (c == '\0' ) {
2763 return NULL;
2764 }
2765 else
2766 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002767 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002768 return (str+1);
2769 }
2770
2771 return NULL;
2772}
2773
2774// look for space. Ascii values to look are -
2775// 0x09 == horizontal tab
2776// 0x0a == Newline ("\n")
2777// 0x0b == vertical tab
2778// 0x0c == Newpage or feed form.
2779// 0x0d == carriage return (CR or "\r")
2780// Null ('\0') should not considered as space.
2781#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2782
2783/*
2784 * This function trims any leading and trailing white spaces
2785 */
2786static char *i_trim(char *str)
2787
2788{
2789 char *ptr;
2790
2791 if(*str == '\0') return str;
2792
2793 /* Find the first non white-space*/
2794 for (ptr = str; i_isspace(*ptr); ptr++);
2795 if (*ptr == '\0')
2796 return str;
2797
2798 /* This is the new start of the string*/
2799 str = ptr;
2800
2801 /* Find the last non white-space */
2802 ptr += strlen(ptr) - 1;
2803 for (; ptr != str && i_isspace(*ptr); ptr--);
2804 /* Null terminate the following character */
2805 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002806
Jeff Johnson295189b2012-06-20 16:38:30 -07002807 return str;
2808}
2809
2810
2811//Structure to store each entry in qcom_cfg.ini file
2812typedef struct
2813{
2814 char *name;
2815 char *value;
2816}tCfgIniEntry;
2817
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002818static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002819 tCfgIniEntry* iniTable, unsigned long entries);
2820
2821#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002822void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002823{
2824 unsigned long i;
2825
2826 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002827 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002828 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2829 }
2830}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002831#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002832
2833/*
2834 * This function reads the qcom_cfg.ini file and
2835 * parses each 'Name=Value' pair in the ini file
2836 */
2837VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2838{
2839 int status, i=0;
2840 /** Pointer for firmware image data */
2841 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002842 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002843 size_t size;
2844 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002845 /* cfgIniTable is static to avoid excess stack usage */
2846 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002847 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2848
2849 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2850
2851 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002852
Jeff Johnson295189b2012-06-20 16:38:30 -07002853 if(status)
2854 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002855 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002856 vos_status = VOS_STATUS_E_FAILURE;
2857 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002858 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002859 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002860 {
2861 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002862 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002863 vos_status = VOS_STATUS_E_FAILURE;
2864 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002865 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002866
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002867 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002868
2869 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002870
Jeff Johnson295189b2012-06-20 16:38:30 -07002871 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002872 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002873 release_firmware(fw);
2874 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002875 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002876 pTemp = buffer;
2877
2878 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2879 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002880
Jeff Johnson295189b2012-06-20 16:38:30 -07002881 while (buffer != NULL)
2882 {
2883 line = get_next_line(buffer);
2884 buffer = i_trim(buffer);
2885
2886 hddLog(LOG1, "%s: item", buffer);
2887
2888 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2889 buffer = line;
2890 continue;
2891 }
2892 else if(strncmp(buffer, "END", 3) == 0 ) {
2893 break;
2894 }
2895 else
2896 {
2897 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002898 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002899 buffer++;
2900 if(*buffer != '\0') {
2901 *buffer++ = '\0';
2902 i_trim(name);
2903 if(strlen (name) != 0) {
2904 buffer = i_trim(buffer);
2905 if(strlen(buffer)>0) {
2906 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002907 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002908 buffer++;
2909 *buffer = '\0';
2910 cfgIniTable[i].name= name;
2911 cfgIniTable[i++].value= value;
2912 if(i >= MAX_CFG_INI_ITEMS) {
2913 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002914 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002915 break;
2916 }
2917 }
2918 }
2919 }
2920 }
2921 buffer = line;
2922 }
2923
2924 //Loop through the registry table and apply all these configs
2925 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2926
Jeff Johnson4416a782013-03-25 14:17:50 -07002927config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002928 release_firmware(fw);
2929 vos_mem_free(pTemp);
2930 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002931}
Jeff Johnson295189b2012-06-20 16:38:30 -07002932
2933
2934static void print_hdd_cfg(hdd_context_t *pHddCtx)
2935{
2936 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2937 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2938 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2939 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2940 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2941 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2942 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2943 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2944 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]",
2945 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2946 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2947 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2948
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002949 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002950 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2951 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2952 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2953 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2954 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2955 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2956 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2957
2958
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002959 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002960 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2961 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2962 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2963 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2964 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2965 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2966 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2967
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002968 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002969 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2970 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2971 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2972 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2973 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2974 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2975 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2976
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002977 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002978 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2979 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2980 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2981 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2982 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2983 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2984 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2985
Jeff Johnson295189b2012-06-20 16:38:30 -07002986
2987 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2988
2989 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2990 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2991 pHddCtx->cfg_ini->apCntryCode[2]);
2992 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2993 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2994
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002995 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 -07002996 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2997 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2998 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 -08002999
Jeff Johnson295189b2012-06-20 16:38:30 -07003000 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3001 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3002 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
3003 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3004 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3005 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3006 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3007
3008 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3009 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
3010
3011 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3012 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
3013
3014 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3015 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
3016
3017 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3018 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
3019#ifdef FEATURE_WLAN_CCX
3020 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
3021 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
3022 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3023 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 -08003024#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003025#ifdef FEATURE_WLAN_LFR
3026 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 -08003027#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07003028#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
3029 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 -08003030 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%lu] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
Jeff Johnson43971f52012-07-17 12:26:56 -07003031#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003032#ifdef FEATURE_WLAN_OKC
3033 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
3034#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003035 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3036 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
3037 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3038 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
3039 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3040
3041 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3042 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
3043 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3044 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
3045 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3046
3047 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3048 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
3049 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3050 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
3051 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3052
3053 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3054 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
3055 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3056 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
3057 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3058
3059 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3060 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3061 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3062 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
3063 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
3064 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3065 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 -08003066#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07003067 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
3068#endif
3069
3070#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3071 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3072 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3073 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3074 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3075 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3076 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3077 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 -08003078 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 -07003079#endif
3080 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3081 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3082 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3083 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3084 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3085 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3086 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3087
3088 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3089 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3090 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3091#ifdef WLAN_BTAMP_FEATURE
3092 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3093#endif //WLAN_BTAMP_FEATURE
3094 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3095 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3096 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3097 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3098 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3099 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3100 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3101 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3102 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3103 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3104 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3105 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3106 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 -07003107#ifdef WLAN_FEATURE_11AC
3108 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
3109#endif
3110 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3111 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3112 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 +05303113 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 -08003114 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 -07003115 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 -07003116 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 -07003117
Leo Chang64d68bc2013-06-04 15:40:52 -07003118 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3119 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 -07003120 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 -07003121 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 +05303122 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 +05303123 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3124 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3125 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3126 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod);
3127
Jeff Johnson295189b2012-06-20 16:38:30 -07003128}
3129
3130
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003131
Jeff Johnson295189b2012-06-20 16:38:30 -07003132#define CFG_VALUE_MAX_LEN 256
3133#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3134VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3135{
3136 unsigned int idx;
3137 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3138 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3139 v_U32_t value;
3140 char valueStr[CFG_VALUE_MAX_LEN];
3141 char configStr[CFG_ENTRY_MAX_LEN];
3142 char *fmt;
3143 void *pField;
3144 v_MACADDR_t *pMacAddr;
3145 char *pCur = pBuf;
3146 int curlen;
3147
3148 // start with an empty string
3149 *pCur = '\0';
3150
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003151 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003152 {
3153 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3154
3155 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3156 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003157 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003158 {
3159 value = 0;
3160 memcpy( &value, pField, pRegEntry->VarSize );
3161 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3162 {
3163 fmt = "%x";
3164 }
3165 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3166 {
3167 fmt = "%d";
3168 }
3169 else
3170 {
3171 fmt = "%u";
3172 }
3173 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3174 }
3175 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3176 {
3177 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3178 }
3179 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3180 {
3181 pMacAddr = (v_MACADDR_t *) pField;
3182 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3183 "%02x:%02x:%02x:%02x:%02x:%02x",
3184 pMacAddr->bytes[0],
3185 pMacAddr->bytes[1],
3186 pMacAddr->bytes[2],
3187 pMacAddr->bytes[3],
3188 pMacAddr->bytes[4],
3189 pMacAddr->bytes[5]);
3190 }
3191 else
3192 {
3193 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3194 }
3195 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
3196 "%s=[%s]%s\n",
3197 pRegEntry->RegName,
3198 valueStr,
3199 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3200 "*" : "");
3201
3202 // ideally we want to return the config to the application
3203 // however the config is too big so we just printk() for now
3204#ifdef RETURN_IN_BUFFER
3205 if (curlen <= buflen)
3206 {
3207 // copy string + '\0'
3208 memcpy(pCur, configStr, curlen+1);
3209
3210 // account for addition;
3211 pCur += curlen;
3212 buflen -= curlen;
3213 }
3214 else
3215 {
3216 // buffer space exhausted, return what we have
3217 return VOS_STATUS_E_RESOURCES;
3218 }
3219#else
3220 printk(KERN_CRIT "%s", configStr);
3221#endif // RETURN_IN_BUFFER
3222
3223}
3224
3225#ifndef RETURN_IN_BUFFER
3226 // notify application that output is in system log
3227 snprintf(pCur, buflen, "WLAN configuration written to system log");
3228#endif // RETURN_IN_BUFFER
3229
3230 return VOS_STATUS_SUCCESS;
3231}
3232
3233static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003234 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003235{
3236 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3237 unsigned long i;
3238
3239 for (i = 0; i < entries; i++) {
3240 if (strcmp(iniTable[i].name, name) == 0) {
3241 *value = iniTable[i].value;
3242 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3243 WLAN_INI_FILE, name, *value);
3244 return VOS_STATUS_SUCCESS;
3245 }
3246 }
3247
3248 return status;
3249}
3250
3251static int parseHexDigit(char c)
3252{
3253 if (c >= '0' && c <= '9')
3254 return c-'0';
3255 if (c >= 'a' && c <= 'f')
3256 return c-'a'+10;
3257 if (c >= 'A' && c <= 'F')
3258 return c-'A'+10;
3259
3260 return 0;
3261}
3262
3263
3264static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3265{
3266 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3267 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3268 unsigned int idx;
3269 void *pField;
3270 char *value_str = NULL;
3271 unsigned long len_value_str;
3272 char *candidate;
3273 v_U32_t value;
3274 v_S31_t svalue;
3275 void *pStructBase = pHddCtx->cfg_ini;
3276 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3277 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3278 v_U32_t cbOutString;
3279 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003280 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003281
3282 // sanity test
3283 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3284 {
3285 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003286 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003287 }
3288
3289 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3290 {
3291 //Calculate the address of the destination field in the structure.
3292 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3293
3294 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3295
3296 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3297 {
3298 // If we could not read the cfg item and it is required, this is an error.
3299 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003300 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003301 ret_status = VOS_STATUS_E_FAILURE;
3302 break;
3303 }
3304
3305 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3306 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3307 {
3308 // If successfully read from the registry, use the value read.
3309 // If not, use the default value.
3310 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003311 rv = kstrtoul(value_str, 10, &value);
3312 if (rv < 0) {
3313 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3314 __func__, pRegEntry->RegName);
3315 value = pRegEntry->VarDefault;
3316 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003317 }
3318 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003319 rv = kstrtoul(value_str, 16, &value);
3320 if (rv < 0) {
3321 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3322 __func__, pRegEntry->RegName);
3323 value = pRegEntry->VarDefault;
3324 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003325 }
3326 else {
3327 value = pRegEntry->VarDefault;
3328 }
3329
3330 // If this parameter needs range checking, do it here.
3331 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3332 {
3333 if ( value > pRegEntry->VarMax )
3334 {
3335 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003336 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003337 value = pRegEntry->VarMax;
3338 }
3339
3340 if ( value < pRegEntry->VarMin )
3341 {
3342 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003343 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003344 value = pRegEntry->VarMin;
3345 }
3346 }
3347 // If this parameter needs range checking, do it here.
3348 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3349 {
3350 if ( value > pRegEntry->VarMax )
3351 {
3352 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003353 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003354 value = pRegEntry->VarDefault;
3355 }
3356
3357 if ( value < pRegEntry->VarMin )
3358 {
3359 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003360 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003361 value = pRegEntry->VarDefault;
3362 }
3363 }
3364
3365 // Move the variable into the output field.
3366 memcpy( pField, &value, pRegEntry->VarSize );
3367 }
3368 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3369 {
3370 // If successfully read from the registry, use the value read.
3371 // If not, use the default value.
3372 if (VOS_STATUS_SUCCESS == match_status)
3373 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003374 rv = kstrtol(value_str, 10, &svalue);
3375 if (rv < 0) {
3376 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3377 __func__, pRegEntry->RegName);
3378 svalue = (v_S31_t)pRegEntry->VarDefault;
3379 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003380 }
3381 else
3382 {
3383 svalue = (v_S31_t)pRegEntry->VarDefault;
3384 }
3385
3386 // If this parameter needs range checking, do it here.
3387 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3388 {
3389 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3390 {
3391 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003392 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003393 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3394 svalue = (v_S31_t)pRegEntry->VarMax;
3395 }
3396
3397 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3398 {
3399 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003400 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003401 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3402 svalue = (v_S31_t)pRegEntry->VarMin;
3403 }
3404 }
3405 // If this parameter needs range checking, do it here.
3406 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3407 {
3408 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3409 {
3410 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
3411 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003412 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003413 (int)pRegEntry->VarMax,
3414 (int)pRegEntry->VarDefault );
3415 svalue = (v_S31_t)pRegEntry->VarDefault;
3416 }
3417
3418 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3419 {
3420 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
3421 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003422 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003423 (int)pRegEntry->VarMin,
3424 (int)pRegEntry->VarDefault);
3425 svalue = pRegEntry->VarDefault;
3426 }
3427 }
3428
3429 // Move the variable into the output field.
3430 memcpy( pField, &svalue, pRegEntry->VarSize );
3431 }
3432 // Handle string parameters
3433 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3434 {
3435#ifdef WLAN_CFG_DEBUG
3436 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 -08003437 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003438#endif
3439
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003440 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003441 {
3442 len_value_str = strlen(value_str);
3443
3444 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003445 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003446 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003447 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3448 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3449 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3450 }
3451 else
3452 {
3453 memcpy( pField, (void *)(value_str), len_value_str);
3454 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3455 }
3456 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003457 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003458 {
3459 // Failed to read the string parameter from the registry. Use the default.
3460 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3461 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003462 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003463 }
3464 }
3465 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3466 {
3467 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003468 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3469 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003470 continue;
3471 }
3472 candidate = (char*)pRegEntry->VarDefault;
3473 if ( match_status == VOS_STATUS_SUCCESS) {
3474 len_value_str = strlen(value_str);
3475 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003476 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003477 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003478 }
3479 else
3480 candidate = value_str;
3481 }
3482 //parse the string and store it in the byte array
3483 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3484 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003485 ((char*)pField)[i] =
3486 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003487 }
3488 }
3489 else
3490 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003491 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003492 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003493 }
3494
3495 // did we successfully parse a cfg item for this parameter?
3496 if( (match_status == VOS_STATUS_SUCCESS) &&
3497 (idx < MAX_CFG_INI_ITEMS) )
3498 {
3499 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3500 }
3501 }
3502
3503 print_hdd_cfg(pHddCtx);
3504
3505 return( ret_status );
3506}
3507
3508eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3509{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003510 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003511 {
3512 case (eHDD_DOT11_MODE_abg):
3513 return eCSR_DOT11_MODE_abg;
3514 case (eHDD_DOT11_MODE_11b):
3515 return eCSR_DOT11_MODE_11b;
3516 case (eHDD_DOT11_MODE_11g):
3517 return eCSR_DOT11_MODE_11g;
3518 default:
3519 case (eHDD_DOT11_MODE_11n):
3520 return eCSR_DOT11_MODE_11n;
3521 case (eHDD_DOT11_MODE_11g_ONLY):
3522 return eCSR_DOT11_MODE_11g_ONLY;
3523 case (eHDD_DOT11_MODE_11n_ONLY):
3524 return eCSR_DOT11_MODE_11n_ONLY;
3525 case (eHDD_DOT11_MODE_11b_ONLY):
3526 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003527#ifdef WLAN_FEATURE_11AC
3528 case (eHDD_DOT11_MODE_11ac_ONLY):
3529 return eCSR_DOT11_MODE_11ac_ONLY;
3530 case (eHDD_DOT11_MODE_11ac):
3531 return eCSR_DOT11_MODE_11ac;
3532#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003533 case (eHDD_DOT11_MODE_AUTO):
3534 return eCSR_DOT11_MODE_AUTO;
3535 }
3536
3537}
3538
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003539static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003540{
3541 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3542 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07003543 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003544
Jeff Johnson295189b2012-06-20 16:38:30 -07003545 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3546
3547 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003548 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003549 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3550
Jeff Johnson32d95a32012-09-10 13:15:23 -07003551 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3552 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3553 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3554 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3555 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3556 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3557 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3558 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3559 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3560 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3561 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3562 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3563 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3564
Wilson Tsaof8b37942013-09-06 10:49:00 -07003565 for (i = 0; i < 10; i++)
3566 {
3567 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
3568 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
3569 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
3570 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
3571 }
3572 for (i = 0; i < 6; i++)
3573 {
3574 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
3575 }
3576 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
3577 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
3578
Jeff Johnson295189b2012-06-20 16:38:30 -07003579 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3580}
3581
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003582static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003583{
3584 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3585
3586 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003587
Jeff Johnson295189b2012-06-20 16:38:30 -07003588 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003589
Jeff Johnson295189b2012-06-20 16:38:30 -07003590 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3591 {
3592 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3593 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3594 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3595 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3596 }
3597 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3598 {
3599 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3600 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3601 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3602 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3603 }
3604 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3605 {
3606 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3607 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3608 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3609 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3610 }
3611
3612 if (pConfig->fIsImpsEnabled)
3613 {
3614 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3615 }
3616 else
3617 {
3618 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3619 }
3620
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303621 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3622 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3623 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3624
Jeff Johnson295189b2012-06-20 16:38:30 -07003625 if (pConfig->fIsBmpsEnabled)
3626 {
3627 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3628 }
3629 else
3630 {
3631 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3632 }
3633
3634 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3635
3636 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3637 {
3638 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3639 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003640
Jeff Johnson295189b2012-06-20 16:38:30 -07003641 if(pConfig->fIsAutoBmpsTimerEnabled)
3642 {
3643 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3644 }
3645
3646}
3647
3648#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3649static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3650{
3651 char *s = str;
3652
3653 if( str == NULL || intArray == NULL || len == NULL )
3654 {
3655 return VOS_STATUS_E_INVAL;
3656 }
3657 *len = 0;
3658
Jeff Johnson295189b2012-06-20 16:38:30 -07003659 while ( (s != NULL) && (*len < intArrayMaxLen) )
3660 {
3661 int val;
3662 //Increment length only if sscanf succesfully extracted one element.
3663 //Any other return value means error. Ignore it.
3664 if( sscanf(s, "%d", &val ) == 1 )
3665 {
3666 intArray[*len] = (tANI_U8) val;
3667 *len += 1;
3668 }
3669 s = strpbrk( s, "," );
3670 if( s )
3671 s++;
3672 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003673
3674 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003675
Jeff Johnson295189b2012-06-20 16:38:30 -07003676}
3677#endif
3678
3679
3680v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3681{
3682 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003683#ifdef WLAN_SOFTAP_VSTA_FEATURE
3684 tANI_U32 val;
3685#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003686
3687 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303688 tSirMacHTCapabilityInfo htCapInfo;
3689
Jeff Johnson295189b2012-06-20 16:38:30 -07003690
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003691 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003692 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3693 {
3694 fStatus = FALSE;
3695 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3696 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003697
3698 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003699 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3700 {
3701 fStatus = FALSE;
3702 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3703 }
3704
3705 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3706 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3707 {
3708 fStatus = FALSE;
3709 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3710 }
3711
3712 if ( 0 != pConfig->Cfg1Id )
3713 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003714 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003715 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3716 {
3717 fStatus = FALSE;
3718 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3719 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003720
Jeff Johnson295189b2012-06-20 16:38:30 -07003721 }
3722
3723 if ( 0 != pConfig->Cfg2Id )
3724 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003725 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003726 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3727 {
3728 fStatus = FALSE;
3729 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3730 }
3731 }
3732
3733 if ( 0 != pConfig->Cfg3Id )
3734 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003735 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003736 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3737 {
3738 fStatus = FALSE;
3739 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3740 }
3741 }
3742
3743 if ( 0 != pConfig->Cfg4Id )
3744 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003745 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003746 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3747 {
3748 fStatus = FALSE;
3749 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3750 }
3751 }
3752
3753 if ( 0 != pConfig->Cfg5Id )
3754 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003755 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003756 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3757 {
3758 fStatus = FALSE;
3759 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3760 }
3761 }
3762
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003763 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003764 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3765 {
3766 fStatus = FALSE;
3767 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3768 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003769
3770 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003771 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3772 {
3773 fStatus = FALSE;
3774 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3775 }
3776
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003777 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003778 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3779 {
3780 fStatus = FALSE;
3781 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3782 }
3783
3784 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3785 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3786 {
3787 fStatus = FALSE;
3788 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3789 }
3790
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003791 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003792 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003793 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003794 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3795 {
3796 fStatus = FALSE;
3797 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3798 }
3799 }
3800 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003801 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003802 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3803 {
3804 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3805 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003806 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003807 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003808 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003809 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3810 {
3811 fStatus = FALSE;
3812 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3813 }
3814 }
3815 else
3816 {
3817 fStatus = FALSE;
3818 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3819 }
3820 }
3821
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003822 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003823 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3824 {
3825 fStatus = FALSE;
3826 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3827 }
3828
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003829 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003830 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3831 {
3832 fStatus = FALSE;
3833 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3834 }
3835
3836 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3837 {
3838 fStatus = FALSE;
3839 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3840 }
3841
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003842 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003843 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3844 {
3845 fStatus = FALSE;
3846 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3847 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003848
Jeff Johnson295189b2012-06-20 16:38:30 -07003849 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3850 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3851 {
3852 fStatus = FALSE;
3853 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3854 }
3855
Jeff Johnson295189b2012-06-20 16:38:30 -07003856 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3857 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3858 {
3859 fStatus = FALSE;
3860 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3861 }
3862
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003863 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003864 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3865 {
3866 fStatus = FALSE;
3867 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3868 }
3869
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003870 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003871 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3872 {
3873 fStatus = FALSE;
3874 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3875 }
3876
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003877 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003878 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3879 {
3880 fStatus = FALSE;
3881 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3882 }
3883
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003884 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003885 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3886 {
3887 fStatus = FALSE;
3888 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3889 }
3890
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003891 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003892 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3893 {
3894 fStatus = FALSE;
3895 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3896 }
3897
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003898 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003899 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3900 {
3901 fStatus = FALSE;
3902 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3903 }
3904
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003905 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003906 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3907 {
3908 fStatus = FALSE;
3909 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3910 }
3911
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003912 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003913 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3914 {
3915 fStatus = FALSE;
3916 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003917 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003918
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003919 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003920 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3921 {
3922 fStatus = FALSE;
3923 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3924 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003925
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303926 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3927 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3928 {
3929 fStatus = FALSE;
3930 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3931 }
3932
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303933 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
3934 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3935 {
3936 fStatus = FALSE;
3937 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM\n");
3938 }
3939
3940
Jeff Johnson295189b2012-06-20 16:38:30 -07003941#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003942 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003943 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3944 {
3945 fStatus = FALSE;
3946 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3947 }
3948
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003949 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003950 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3951 {
3952 fStatus = FALSE;
3953 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3954 }
3955
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003956 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003957 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3958 {
3959 fStatus = FALSE;
3960 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3961 }
3962
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003963 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003964 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3965#endif
3966
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003967 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003968 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3969 {
3970 fStatus = FALSE;
3971 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3972 }
3973
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003974 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003975 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3976 {
3977 fStatus = FALSE;
3978 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3979 }
3980
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003981 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003982 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3983 {
3984 fStatus = FALSE;
3985 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3986 }
3987
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003988 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003989 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3990 {
3991 fStatus = FALSE;
3992 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3993 }
3994
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003995 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003996 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3997 {
3998 fStatus = FALSE;
3999 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
4000 }
4001
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004002 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004003 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4004 {
4005 fStatus = FALSE;
4006 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
4007 }
4008
4009 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4010 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4011 {
4012 fStatus = FALSE;
4013 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
4014 }
4015
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004016 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004017 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4018 {
4019 fStatus = FALSE;
4020 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
4021 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004022 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004023 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4024 {
4025 fStatus = FALSE;
4026 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
4027 }
4028
4029 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4030 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4031 {
4032 fStatus = FALSE;
4033 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 -08004034 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004035
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004036 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004037 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004038 {
4039 fStatus = FALSE;
4040 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4041 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004042 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004043 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4044 {
4045 fStatus = FALSE;
4046 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
4047 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004048 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004049 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4050 {
4051 fStatus = FALSE;
4052 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
4053 }
4054
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004055 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004056 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4057 {
4058 fStatus = FALSE;
4059 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
4060 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004061 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004062 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4063 {
4064 fStatus = FALSE;
4065 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
4066 }
4067
Jeff Johnson295189b2012-06-20 16:38:30 -07004068 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4069 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4070 {
4071 fStatus = FALSE;
4072 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4073 }
4074
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004075 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004076 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4077 ==eHAL_STATUS_FAILURE)
4078 {
4079 fStatus = FALSE;
4080 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
4081 }
4082
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004083 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004084 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4085 ==eHAL_STATUS_FAILURE)
4086 {
4087 fStatus = FALSE;
4088 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
4089 }
4090
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004091 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004092 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4093 {
4094 fStatus = FALSE;
4095 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
4096 }
4097
Jeff Johnsond13512a2012-07-17 11:42:19 -07004098
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004099 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004100 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4101 {
4102 fStatus = FALSE;
4103 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
4104 }
4105
Jeff Johnsone7245742012-09-05 17:12:55 -07004106#ifdef WLAN_FEATURE_11AC
4107 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4108 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4109 /* we update only the least significant 2 bits in the corresponding fields */
4110 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4111 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4112 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4113 {
4114 {
4115 tANI_U32 temp = 0;
4116
4117 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004118 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004119
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004120 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004121 temp, NULL, eANI_BOOLEAN_FALSE)
4122 ==eHAL_STATUS_FAILURE)
4123 {
4124 fStatus = FALSE;
4125 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
4126 }
4127
4128 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004129 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004130
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004131 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004132 temp, NULL, eANI_BOOLEAN_FALSE)
4133 ==eHAL_STATUS_FAILURE)
4134 {
4135 fStatus = FALSE;
4136 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
4137 }
4138
4139 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004140 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004141
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004142 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004143 temp, NULL, eANI_BOOLEAN_FALSE)
4144 ==eHAL_STATUS_FAILURE)
4145 {
4146 fStatus = FALSE;
4147 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
4148 }
4149 }
4150 }
4151#endif
4152
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004153 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004154 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4155 {
4156 fStatus = FALSE;
4157 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
4158 }
4159
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004160 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304161 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4162 ==eHAL_STATUS_FAILURE)
4163 {
4164 fStatus = FALSE;
4165 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
4166 }
4167
4168 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
4169 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
4170
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004171 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304172 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
4173 ==eHAL_STATUS_FAILURE)
4174 {
4175 fStatus = FALSE;
4176 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
4177 }
4178
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004179 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304180 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4181 ==eHAL_STATUS_FAILURE)
4182 {
4183 fStatus = FALSE;
4184 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
4185 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004186
4187#ifdef WLAN_SOFTAP_VSTA_FEATURE
4188 if(pConfig->fEnableVSTASupport)
4189 {
4190 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4191 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4192 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4193 }
4194 else
4195 {
4196 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4197 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004198 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004199 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4200 {
4201 fStatus = FALSE;
4202 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
4203 }
4204#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004205 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004206 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4207 ==eHAL_STATUS_FAILURE)
4208 {
4209 fStatus = FALSE;
4210 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
4211 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304212
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004213 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4214 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4215 {
4216 fStatus = FALSE;
4217 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
4218 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004219 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4220 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4221 {
4222 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004223 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 -08004224 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004225
4226 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4227 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4228 {
4229 fStatus = FALSE;
4230 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4231 }
4232
4233 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4234 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4235 {
4236 fStatus = FALSE;
4237 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4238 }
4239
4240 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4241 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4242 {
4243 fStatus = FALSE;
4244 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4245 }
4246
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304247 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4248 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4249 {
4250 fStatus = FALSE;
4251 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4252 }
4253
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304254#ifdef FEATURE_WLAN_TDLS
4255
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004256 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4257 pConfig->fTDLSUapsdMask, NULL,
4258 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304259 {
4260 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004261 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304262 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004263 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4264 pConfig->fEnableTDLSBufferSta, NULL,
4265 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304266 {
4267 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004268 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304269 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004270 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4271 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4272 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304273 {
4274 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004275 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304276 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004277 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4278 pConfig->fTDLSRxFrameThreshold, NULL,
4279 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304280 {
4281 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004282 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304283 }
4284#endif
4285
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004286 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4287 pConfig->fEnableAdaptRxDrain, NULL,
4288 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4289 {
4290 fStatus = FALSE;
4291 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4292 }
Yue Ma0fd23872013-08-01 15:56:47 -07004293
4294 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4295 pConfig->flexConnectPowerFactor, NULL,
4296 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4297 {
4298 fStatus = FALSE;
4299 hddLog(LOGE, "Failure: Could not pass on "
4300 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4301 }
4302
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304303 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4304 pConfig->antennaDiversity, NULL,
4305 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4306 {
4307 fStatus = FALSE;
4308 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4309 }
4310
Jeff Johnson295189b2012-06-20 16:38:30 -07004311 return fStatus;
4312}
4313
4314
4315/**---------------------------------------------------------------------------
4316
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004317 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07004318
4319 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004320
Jeff Johnson295189b2012-06-20 16:38:30 -07004321 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004322
Jeff Johnson295189b2012-06-20 16:38:30 -07004323 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004324
Jeff Johnson295189b2012-06-20 16:38:30 -07004325 --------------------------------------------------------------------------*/
4326
4327VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
4328{
4329 VOS_STATUS status = VOS_STATUS_SUCCESS;
4330 eHalStatus halStatus;
4331 tSmeConfigParams smeConfig;
4332
4333 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4334
4335 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
4336
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004337 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07004338 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
4339 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
4340
4341 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07004342 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
4343 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004344 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
4345 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
4346 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
4347 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
4348 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
4349
4350 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
4351
4352 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4353 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4354 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4355 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4356 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4357 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4358 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4359 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4360 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4361 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4362 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4363 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4364 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4365 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4366 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4367 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4368 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004369 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07004370 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4371 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4372 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4373 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004374 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4375 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004376 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004377#ifdef WLAN_AP_STA_CONCURRENCY
4378 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4379 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4380 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4381 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4382 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004383 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4384 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4385
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004386#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004387 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4388 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4389
4390#if defined WLAN_FEATURE_VOWIFI
4391 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4392 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4393#endif
4394 //Remaining config params not obtained from registry
4395 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004396#ifdef WLAN_FEATURE_11AC
4397 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004398 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004399 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004400 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004401#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004402 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4403 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004404 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4405 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4406 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004407 if (pConfig->nBandCapability == eCSR_BAND_24)
4408 {
4409 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4410 } else {
4411 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4412 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004413 smeConfig.csrConfig.cbChoice = 0;
4414 smeConfig.csrConfig.bgScanInterval = 0;
4415 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004416 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4417 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4418 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004419#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4420 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004421 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004422 smeConfig.csrConfig.nProbes = pConfig->nProbes;
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07004423
4424 if (pConfig->nRoamScanHomeAwayTime < (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
4425 {
4426 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
4427 "%s: Invalid config, Home away time(%d) is less than twice RF switching time + channel max time(%d)"
4428 " Hence enforcing home away time to disable (0)",
4429 __func__, pConfig->nRoamScanHomeAwayTime,
4430 (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
4431 pConfig->nRoamScanHomeAwayTime = 0;
4432 }
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004433 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004434#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004435 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4436
Jeff Johnson295189b2012-06-20 16:38:30 -07004437 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004438 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4439 {
4440 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004441
Jeff Johnson7dda7772013-02-27 08:36:13 -08004442 /* if there is a requirement that HDD will control the default
4443 * channel list & country code (say from .ini file) we need to
4444 * add some logic here. Otherwise the default 11d info should
4445 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004446 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004447 else
4448 {
4449 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4450 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004451
Jeff Johnson7dda7772013-02-27 08:36:13 -08004452 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4453 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4454 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4455 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004456 hdd_set_power_save_config(pHddCtx, &smeConfig);
4457 hdd_set_btc_config(pHddCtx);
4458
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004459#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004460 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4461#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004462#ifdef FEATURE_WLAN_LFR
4463 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
4464#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004465#ifdef FEATURE_WLAN_CCX
4466 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004467 if( pConfig->isCcxIniFeatureEnabled )
4468 {
4469 pConfig->isFastTransitionEnabled = TRUE;
4470 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004471#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004472#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004473 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07004474 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004475 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Jeff Johnson295189b2012-06-20 16:38:30 -07004476#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004477#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4478 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004479 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4480
4481 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4482 {
4483 /* Disable roaming in concurrency if roam scan offload is disabled */
4484 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4485 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004486#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004487#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4488 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4489 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004490 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4491 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004492 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004493 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004494 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004495 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004496 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4497 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4498 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004499 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4500#endif
4501
4502 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4503 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4504
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004505 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004506 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004507 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004508
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004509 //Scan Results Aging Time out value
4510 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4511
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004512 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4513
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004514 /* update SSR config */
4515 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304516 /* Update the Directed scan offload setting */
4517 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004518
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004519 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004520 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4521 {
4522 status = VOS_STATUS_E_FAILURE;
4523 }
4524
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004525
4526 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004527}
4528
4529
4530/**---------------------------------------------------------------------------
4531
4532 \brief hdd_execute_config_command() -
4533
4534 This function executes an arbitrary configuration set command
4535
4536 \param - pHddCtx - Pointer to the HDD Adapter.
4537 \parmm - command - a configuration command of the form:
4538 <name>=<value>
4539
4540 \return - 0 for success, non zero for failure
4541
4542 --------------------------------------------------------------------------*/
4543
4544VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4545{
4546 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4547 REG_TABLE_ENTRY *pRegEntry;
4548 char *clone;
4549 char *pCmd;
4550 void *pField;
4551 char *name;
4552 char *value_str;
4553 v_U32_t value;
4554 v_S31_t svalue;
4555 size_t len_value_str;
4556 unsigned int idx;
4557 unsigned int i;
4558 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004559 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004560
4561 // assume failure until proven otherwise
4562 vstatus = VOS_STATUS_E_FAILURE;
4563
4564 // clone the command so that we can manipulate it
4565 clone = kstrdup(command, GFP_ATOMIC);
4566 if (NULL == clone)
4567 {
4568 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004569 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004570 return vstatus;
4571 }
4572
4573 // 'clone' will point to the beginning of the string so it can be freed
4574 // 'pCmd' will be used to walk/parse the command
4575 pCmd = clone;
4576
4577 // get rid of leading/trailing whitespace
4578 pCmd = i_trim(pCmd);
4579 if ('\0' == *pCmd)
4580 {
4581 // only whitespace
4582 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004583 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004584 goto done;
4585 }
4586
4587 // parse the <name> = <value>
4588 name = pCmd;
4589 while (('=' != *pCmd) && ('\0' != *pCmd))
4590 {
4591 pCmd++;
4592 }
4593 if ('\0' == *pCmd)
4594 {
4595 // did not find '='
4596 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004597 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004598 goto done;
4599 }
4600
4601 // replace '=' with NUL to terminate the <name>
4602 *pCmd++ = '\0';
4603 name = i_trim(name);
4604 if ('\0' == *name)
4605 {
4606 // did not find a name
4607 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004608 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004609 goto done;
4610 }
4611
4612 value_str = i_trim(pCmd);
4613 if ('\0' == *value_str)
4614 {
4615 // did not find a value
4616 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004617 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004618 goto done;
4619 }
4620
4621 // lookup the configuration item
4622 for (idx = 0; idx < tableSize; idx++)
4623 {
4624 if (0 == strcmp(name, g_registry_table[idx].RegName))
4625 {
4626 // found a match
4627 break;
4628 }
4629 }
4630 if (tableSize == idx)
4631 {
4632 // did not match the name
4633 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%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 pRegEntry = &g_registry_table[idx];
4639 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4640 {
4641 // does not support dynamic configuration
4642 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004643 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004644 goto done;
4645 }
4646
4647 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4648
4649 switch (pRegEntry->RegType)
4650 {
4651 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004652 rv = kstrtoul(value_str, 10, &value);
4653 if (rv < 0)
4654 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004655 if (value < pRegEntry->VarMin)
4656 {
4657 // out of range
4658 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004659 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004660 goto done;
4661 }
4662 if (value > pRegEntry->VarMax)
4663 {
4664 // out of range
4665 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004666 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004667 goto done;
4668 }
4669 memcpy(pField, &value, pRegEntry->VarSize);
4670 break;
4671
4672 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004673 rv = kstrtoul(value_str, 16, &value);
4674 if (rv < 0)
4675 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004676 if (value < pRegEntry->VarMin)
4677 {
4678 // out of range
4679 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004680 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004681 goto done;
4682 }
4683 if (value > pRegEntry->VarMax)
4684 {
4685 // out of range
4686 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004687 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004688 goto done;
4689 }
4690 memcpy(pField, &value, pRegEntry->VarSize);
4691 break;
4692
4693 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004694 rv = kstrtol(value_str, 10, &svalue);
4695 if (rv < 0)
4696 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004697 if (svalue < (v_S31_t)pRegEntry->VarMin)
4698 {
4699 // out of range
4700 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004701 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004702 goto done;
4703 }
4704 if (svalue > (v_S31_t)pRegEntry->VarMax)
4705 {
4706 // out of range
4707 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004708 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004709 goto done;
4710 }
4711 memcpy(pField, &svalue, pRegEntry->VarSize);
4712 break;
4713
4714 case WLAN_PARAM_String:
4715 len_value_str = strlen(value_str);
4716 if (len_value_str > (pRegEntry->VarSize - 1))
4717 {
4718 // too big
4719 hddLog(LOGE,
4720 "%s: invalid command, string [%s] length "
4721 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004722 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004723 len_value_str, (pRegEntry->VarSize - 1));
4724 goto done;
4725 }
4726 // copy string plus NUL
4727 memcpy(pField, value_str, (len_value_str + 1));
4728 break;
4729
4730 case WLAN_PARAM_MacAddr:
4731 len_value_str = strlen(value_str);
4732 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4733 {
4734 // out of range
4735 hddLog(LOGE,
4736 "%s: invalid command, MAC address [%s] length "
4737 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004738 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004739 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4740 goto done;
4741 }
4742 //parse the string and store it in the byte array
4743 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4744 {
4745 ((char*)pField)[i] = (char)
4746 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4747 parseHexDigit(value_str[(i * 2) + 1]));
4748 }
4749 break;
4750
4751 default:
4752 goto done;
4753 }
4754
4755 // if we get here, we had a successful modification
4756 vstatus = VOS_STATUS_SUCCESS;
4757
4758 // config table has been modified, is there a notifier?
4759 if (NULL != pRegEntry->pfnDynamicNotify)
4760 {
4761 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4762 }
4763
4764 // note that this item was explicitly configured
4765 if (idx < MAX_CFG_INI_ITEMS)
4766 {
4767 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4768 }
4769 done:
4770 kfree(clone);
4771 return vstatus;
4772}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004773
4774/**---------------------------------------------------------------------------
4775
4776 \brief hdd_is_okc_mode_enabled() -
4777
4778 This function returns whether OKC mode is enabled or not
4779
4780 \param - pHddCtx - Pointer to the HDD Adapter.
4781
4782 \return - 1 for enabled, zero for disabled
4783
4784 --------------------------------------------------------------------------*/
4785
4786tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4787{
4788 if (NULL == pHddCtx)
4789 {
4790 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4791 return -EINVAL;
4792 }
4793
4794#ifdef FEATURE_WLAN_OKC
4795 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4796#else
4797 return eANI_BOOLEAN_FALSE;
4798#endif
4799}