blob: 694bb72ecb858f8d40144371e30679bf7539390a [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
Jeff Johnson295189b2012-06-20 16:38:30 -07001453 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001454 hdd_config_t, nEnableListenMode,
1455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1456 CFG_AP_LISTEN_MODE_DEFAULT,
1457 CFG_AP_LISTEN_MODE_MIN,
1458 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001459
1460 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1461 hdd_config_t, nAPAutoShutOff,
1462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1463 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1464 CFG_AP_AUTO_SHUT_OFF_MIN,
1465 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001466
1467#if defined WLAN_FEATURE_VOWIFI
1468 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001469 hdd_config_t, fRrmEnable,
1470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1471 CFG_RRM_ENABLE_DEFAULT,
1472 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001473 CFG_RRM_ENABLE_MAX ),
1474
1475 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001476 hdd_config_t, nInChanMeasMaxDuration,
1477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1478 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1479 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001480 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1481
1482 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001483 hdd_config_t, nOutChanMeasMaxDuration,
1484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1485 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1486 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001487 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1488
1489 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001490 hdd_config_t, nRrmRandnIntvl,
1491 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1492 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1493 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001494 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1495#endif
1496
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001497#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001498 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001499 hdd_config_t, fFTResourceReqSupported,
1500 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1501 CFG_FT_RESOURCE_REQ_DEFAULT,
1502 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001503 CFG_FT_RESOURCE_REQ_MAX ),
1504#endif
1505
1506#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001507 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001508 hdd_config_t, nNeighborScanPeriod,
1509 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1510 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1511 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001512 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1513 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001514
1515 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001516 hdd_config_t, nNeighborReassocRssiThreshold,
1517 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1518 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1519 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001520 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1521
Srinivas Girigowdade697412013-02-14 16:31:48 -08001522 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001523 hdd_config_t, nNeighborLookupRssiThreshold,
1524 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1525 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1526 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001527 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1528 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001529
1530 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001531 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001532 VAR_FLAGS_OPTIONAL,
1533 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1534
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001535 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001536 hdd_config_t, nNeighborScanMinChanTime,
1537 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1538 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1539 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001540 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1541 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001542
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001543 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001544 hdd_config_t, nNeighborScanMaxChanTime,
1545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1546 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1547 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001548 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1549 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001550
1551 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1552 hdd_config_t, nMaxNeighborReqTries,
1553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1554 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1555 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1556 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1557
Srinivas Girigowdade697412013-02-14 16:31:48 -08001558 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001559 hdd_config_t, nNeighborResultsRefreshPeriod,
1560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1561 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1562 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001563 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1564 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1565
1566 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1567 hdd_config_t, nEmptyScanRefreshPeriod,
1568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1569 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1570 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1571 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1572 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001573#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1574
1575 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001576 hdd_config_t, burstSizeDefinition,
1577 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1578 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1579 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001580 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1581
1582 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1583 hdd_config_t, mcastBcastFilterSetting,
1584 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1585 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1586 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1587 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1588
1589 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1590 hdd_config_t, fhostArpOffload,
1591 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1592 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1593 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1594 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1595
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301596 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1597 hdd_config_t, fhostNSOffload,
1598 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1599 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1600 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1601 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1602
Jeff Johnson295189b2012-06-20 16:38:30 -07001603 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001604 hdd_config_t, tsInfoAckPolicy,
1605 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1606 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1607 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001608 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1609
1610 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1611 hdd_config_t, bSingleTidRc,
1612 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1613 CFG_SINGLE_TID_RC_DEFAULT,
1614 CFG_SINGLE_TID_RC_MIN,
1615 CFG_SINGLE_TID_RC_MAX),
1616
1617 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1618 hdd_config_t, dynamicPsPollValue,
1619 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1620 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1621 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1622 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1623
1624 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1625 hdd_config_t, teleBcnWakeupEn,
1626 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1627 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1628 CFG_TELE_BCN_WAKEUP_EN_MIN,
1629 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1630
1631 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1632 hdd_config_t, infraStaKeepAlivePeriod,
1633 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1634 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1635 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1636 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1637
1638 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001639 hdd_config_t, AddTSWhenACMIsOff,
1640 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1641 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1642 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001643 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1644
1645
1646 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001647 hdd_config_t, fValidateScanList,
1648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1649 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1650 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001651 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001652
Jeff Johnson295189b2012-06-20 16:38:30 -07001653 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001654 hdd_config_t, nNullDataApRespTimeout,
1655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1656 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
1657 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001658 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
1659
1660 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001661 hdd_config_t, apDataAvailPollPeriodInMs,
1662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1663 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1664 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001665 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001666
Jeff Johnson295189b2012-06-20 16:38:30 -07001667 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001668 hdd_config_t, enableBtAmp,
1669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1670 CFG_ENABLE_BTAMP_DEFAULT,
1671 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001672 CFG_ENABLE_BTAMP_MAX ),
1673
1674#ifdef WLAN_BTAMP_FEATURE
1675 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001676 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07001677 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1678 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
1679 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
1680 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
1681#endif //WLAN_BTAMP_FEATURE
1682 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001683 hdd_config_t, nBandCapability,
1684 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1685 CFG_BAND_CAPABILITY_DEFAULT,
1686 CFG_BAND_CAPABILITY_MIN,
1687 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001688
1689 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001690 hdd_config_t, fEnableBeaconEarlyTermination,
1691 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1692 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
1693 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
1694 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001695/* CFG_VOS_TRACE_ENABLE Parameters */
1696 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
1697 hdd_config_t, vosTraceEnableBAP,
1698 VAR_FLAGS_OPTIONAL,
1699 CFG_VOS_TRACE_ENABLE_DEFAULT,
1700 CFG_VOS_TRACE_ENABLE_MIN,
1701 CFG_VOS_TRACE_ENABLE_MAX ),
1702
1703 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
1704 hdd_config_t, vosTraceEnableTL,
1705 VAR_FLAGS_OPTIONAL,
1706 CFG_VOS_TRACE_ENABLE_DEFAULT,
1707 CFG_VOS_TRACE_ENABLE_MIN,
1708 CFG_VOS_TRACE_ENABLE_MAX ),
1709
1710 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
1711 hdd_config_t, vosTraceEnableWDI,
1712 VAR_FLAGS_OPTIONAL,
1713 CFG_VOS_TRACE_ENABLE_DEFAULT,
1714 CFG_VOS_TRACE_ENABLE_MIN,
1715 CFG_VOS_TRACE_ENABLE_MAX ),
1716
1717 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
1718 hdd_config_t, vosTraceEnableHDD,
1719 VAR_FLAGS_OPTIONAL,
1720 CFG_VOS_TRACE_ENABLE_DEFAULT,
1721 CFG_VOS_TRACE_ENABLE_MIN,
1722 CFG_VOS_TRACE_ENABLE_MAX ),
1723
1724 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
1725 hdd_config_t, vosTraceEnableSME,
1726 VAR_FLAGS_OPTIONAL,
1727 CFG_VOS_TRACE_ENABLE_DEFAULT,
1728 CFG_VOS_TRACE_ENABLE_MIN,
1729 CFG_VOS_TRACE_ENABLE_MAX ),
1730
1731 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
1732 hdd_config_t, vosTraceEnablePE,
1733 VAR_FLAGS_OPTIONAL,
1734 CFG_VOS_TRACE_ENABLE_DEFAULT,
1735 CFG_VOS_TRACE_ENABLE_MIN,
1736 CFG_VOS_TRACE_ENABLE_MAX ),
1737
1738 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
1739 hdd_config_t, vosTraceEnableWDA,
1740 VAR_FLAGS_OPTIONAL,
1741 CFG_VOS_TRACE_ENABLE_DEFAULT,
1742 CFG_VOS_TRACE_ENABLE_MIN,
1743 CFG_VOS_TRACE_ENABLE_MAX ),
1744
1745 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
1746 hdd_config_t, vosTraceEnableSYS,
1747 VAR_FLAGS_OPTIONAL,
1748 CFG_VOS_TRACE_ENABLE_DEFAULT,
1749 CFG_VOS_TRACE_ENABLE_MIN,
1750 CFG_VOS_TRACE_ENABLE_MAX ),
1751
1752 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
1753 hdd_config_t, vosTraceEnableVOSS,
1754 VAR_FLAGS_OPTIONAL,
1755 CFG_VOS_TRACE_ENABLE_DEFAULT,
1756 CFG_VOS_TRACE_ENABLE_MIN,
1757 CFG_VOS_TRACE_ENABLE_MAX ),
1758
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08001759 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
1760 hdd_config_t, vosTraceEnableSAP,
1761 VAR_FLAGS_OPTIONAL,
1762 CFG_VOS_TRACE_ENABLE_DEFAULT,
1763 CFG_VOS_TRACE_ENABLE_MIN,
1764 CFG_VOS_TRACE_ENABLE_MAX ),
1765
1766 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
1767 hdd_config_t, vosTraceEnableHDDSAP,
1768 VAR_FLAGS_OPTIONAL,
1769 CFG_VOS_TRACE_ENABLE_DEFAULT,
1770 CFG_VOS_TRACE_ENABLE_MIN,
1771 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001772
Jeff Johnson295189b2012-06-20 16:38:30 -07001773 /* note that since the default value is out of range we cannot
1774 enable range check, otherwise we get a system log message */
1775 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
1776 hdd_config_t, wdiTraceEnableDAL,
1777 VAR_FLAGS_OPTIONAL,
1778 CFG_WDI_TRACE_ENABLE_DEFAULT,
1779 CFG_WDI_TRACE_ENABLE_MIN,
1780 CFG_WDI_TRACE_ENABLE_MAX ),
1781
1782 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
1783 hdd_config_t, wdiTraceEnableCTL,
1784 VAR_FLAGS_OPTIONAL,
1785 CFG_WDI_TRACE_ENABLE_DEFAULT,
1786 CFG_WDI_TRACE_ENABLE_MIN,
1787 CFG_WDI_TRACE_ENABLE_MAX ),
1788
1789 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
1790 hdd_config_t, wdiTraceEnableDAT,
1791 VAR_FLAGS_OPTIONAL,
1792 CFG_WDI_TRACE_ENABLE_DEFAULT,
1793 CFG_WDI_TRACE_ENABLE_MIN,
1794 CFG_WDI_TRACE_ENABLE_MAX ),
1795
1796 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
1797 hdd_config_t, wdiTraceEnablePAL,
1798 VAR_FLAGS_OPTIONAL,
1799 CFG_WDI_TRACE_ENABLE_DEFAULT,
1800 CFG_WDI_TRACE_ENABLE_MIN,
1801 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001802
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001803 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001804 hdd_config_t, nTeleBcnTransListenInterval,
1805 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1806 CFG_TELE_BCN_TRANS_LI_DEFAULT,
1807 CFG_TELE_BCN_TRANS_LI_MIN,
1808 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001809
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001810 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001811 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
1812 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1813 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
1814 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
1815 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001816
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001817 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001818 hdd_config_t, nTeleBcnMaxListenInterval,
1819 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1820 CFG_TELE_BCN_MAX_LI_DEFAULT,
1821 CFG_TELE_BCN_MAX_LI_MIN,
1822 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001823
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001824 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001825 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
1826 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1827 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
1828 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
1829 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001830
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001831 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001832 hdd_config_t, bcnEarlyTermWakeInterval,
1833 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1834 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
1835 CFG_BCN_EARLY_TERM_WAKE_MIN,
1836 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001837
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001838 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001839 hdd_config_t, apDataAvailPollPeriodInMs,
1840 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1841 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
1842 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001843 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
1844
1845 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001846 hdd_config_t, enableCloseLoop,
1847 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1848 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
1849 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001850 CFG_ENABLE_CLOSE_LOOP_MAX ),
1851
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001852 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001853 hdd_config_t, enableBypass11d,
1854 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1855 CFG_ENABLE_BYPASS_11D_DEFAULT,
1856 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001857 CFG_ENABLE_BYPASS_11D_MAX ),
1858
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001859 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001860 hdd_config_t, enableDFSChnlScan,
1861 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1862 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
1863 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001864 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
1865
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001866 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001867 hdd_config_t, enableDynamicDTIM,
1868 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1869 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
1870 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001871 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
1872
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001873 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001874 hdd_config_t, enableAutomaticTxPowerControl,
1875 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1876 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
1877 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001878 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
1879
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001880 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001881 hdd_config_t, ShortGI40MhzEnable,
1882 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1883 CFG_SHORT_GI_40MHZ_DEFAULT,
1884 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001885 CFG_SHORT_GI_40MHZ_MAX ),
1886
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001887 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001888 hdd_config_t, reportMaxLinkSpeed,
1889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1890 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
1891 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001892 CFG_REPORT_MAX_LINK_SPEED_MAX,
1893 NULL, 0 ),
1894
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001895 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001896 hdd_config_t, linkSpeedRssiHigh,
1897 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1898 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
1899 CFG_LINK_SPEED_RSSI_HIGH_MIN,
1900 CFG_LINK_SPEED_RSSI_HIGH_MAX,
1901 NULL, 0 ),
1902
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001903 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07001904 hdd_config_t, linkSpeedRssiMid,
1905 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1906 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
1907 CFG_LINK_SPEED_RSSI_MID_MIN,
1908 CFG_LINK_SPEED_RSSI_MID_MAX,
1909 NULL, 0 ),
1910
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001911 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07001912 hdd_config_t, linkSpeedRssiLow,
1913 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1914 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
1915 CFG_LINK_SPEED_RSSI_LOW_MIN,
1916 CFG_LINK_SPEED_RSSI_LOW_MAX,
1917 NULL, 0 ),
1918
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001919#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001920 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001921 hdd_config_t, nRoamPrefer5GHz,
1922 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1923 CFG_ROAM_PREFER_5GHZ_DEFAULT,
1924 CFG_ROAM_PREFER_5GHZ_MIN,
1925 CFG_ROAM_PREFER_5GHZ_MAX,
1926 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001927
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001928 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001929 hdd_config_t, nRoamIntraBand,
1930 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1931 CFG_ROAM_INTRA_BAND_DEFAULT,
1932 CFG_ROAM_INTRA_BAND_MIN,
1933 CFG_ROAM_INTRA_BAND_MAX,
1934 cbNotifySetRoamIntraBand, 0 ),
1935
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07001936 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
1937 hdd_config_t, nProbes,
1938 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1939 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
1940 CFG_ROAM_SCAN_N_PROBES_MIN,
1941 CFG_ROAM_SCAN_N_PROBES_MAX,
1942 cbNotifySetRoamScanNProbes, 0 ),
1943
1944 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
1945 hdd_config_t, nRoamScanHomeAwayTime,
1946 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1947 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
1948 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
1949 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
1950 cbNotifySetRoamScanHomeAwayTime, 0 ),
1951
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08001952#endif
1953
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001954 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001955 hdd_config_t, isP2pDeviceAddrAdministrated,
1956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1957 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
1958 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
1959 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001960
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001961 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001962 hdd_config_t, enableMCC,
1963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1964 CFG_ENABLE_MCC_ENABLED_DEFAULT,
1965 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001966 CFG_ENABLE_MCC_ENABLED_MAX ),
1967
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001968 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001969 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1971 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
1972 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
1973 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07001974
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001975 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001976 hdd_config_t, thermalMitigationEnable,
1977 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1978 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
1979 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001980 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001981
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001982 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001983 hdd_config_t, enableModulatedDTIM,
1984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1985 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
1986 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001987 CFG_ENABLE_MODULATED_DTIM_MAX ),
1988
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001989 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07001990 hdd_config_t, fEnableMCAddrList,
1991 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1992 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
1993 CFG_MC_ADDR_LIST_ENABLE_MIN,
1994 CFG_MC_ADDR_LIST_ENABLE_MAX ),
1995
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001996#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07001997 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001998 hdd_config_t, vhtChannelWidth,
1999 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2000 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2001 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002002 CFG_VHT_CHANNEL_WIDTH_MAX),
2003
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002004 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002005 hdd_config_t, vhtRxMCS,
2006 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2007 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2008 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002009 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2010
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002011 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002012 hdd_config_t, vhtTxMCS,
2013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2014 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2015 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002016 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2017#endif
2018
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002019 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002020 hdd_config_t, enableFirstScan2GOnly,
2021 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2022 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2023 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002024 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2025
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002026 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002027 hdd_config_t, skipDfsChnlInP2pSearch,
2028 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2029 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2030 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002031 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2032
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002033 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002034 hdd_config_t, ignoreDynamicDtimInP2pMode,
2035 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2036 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2037 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002038 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2039
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002040 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002041 hdd_config_t,numBuffAdvert ,
2042 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2043 CFG_NUM_BUFF_ADVERT_DEFAULT,
2044 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002045 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002046
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002047 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002048 hdd_config_t, configMccParam,
2049 VAR_FLAGS_OPTIONAL,
2050 CFG_MCC_CONFIG_PARAM_DEFAULT,
2051 CFG_MCC_CONFIG_PARAM_MIN,
2052 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002053 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002054 hdd_config_t, enableRxSTBC,
2055 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2056 CFG_ENABLE_RX_STBC_DEFAULT,
2057 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302058 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002059#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002060 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002061 hdd_config_t, fEnableTDLSSupport,
2062 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2063 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2064 CFG_TDLS_SUPPORT_ENABLE_MIN,
2065 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302066
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002067 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302068 hdd_config_t, fEnableTDLSImplicitTrigger,
2069 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2070 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2071 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2072 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2073
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002074 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302075 hdd_config_t, fTDLSTxStatsPeriod,
2076 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2077 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2078 CFG_TDLS_TX_STATS_PERIOD_MIN,
2079 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2080
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002081 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302082 hdd_config_t, fTDLSTxPacketThreshold,
2083 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2084 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2085 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2086 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2087
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002088 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302089 hdd_config_t, fTDLSDiscoveryPeriod,
2090 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2091 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2092 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2093 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2094
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002095 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302096 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2097 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2098 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2099 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2100 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2101
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002102 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002103 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302104 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002105 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2106 CFG_TDLS_IDLE_TIMEOUT_MIN,
2107 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2108
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002109 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002110 hdd_config_t, fTDLSIdlePacketThreshold,
2111 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2112 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2113 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2114 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302115
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002116 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002117 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302118 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2119 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2120 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2121 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002122
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002123 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002124 hdd_config_t, fTDLSRSSITriggerThreshold,
2125 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2126 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2127 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2128 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2129
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002130 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002131 hdd_config_t, fTDLSRSSITeardownThreshold,
2132 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2133 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2134 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2135 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302136
2137REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2138 hdd_config_t, fTDLSUapsdMask,
2139 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2140 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2141 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2142 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2143
2144REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2145 hdd_config_t, fEnableTDLSBufferSta,
2146 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2147 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2148 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2149 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2150
2151REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2152 hdd_config_t, fTDLSPuapsdInactivityTimer,
2153 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2154 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2155 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2156 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2157
2158REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2159 hdd_config_t, fTDLSRxFrameThreshold,
2160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2161 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2162 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2163 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002164#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002165
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002166#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002167 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002168 hdd_config_t, fEnableVSTASupport,
2169 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2170 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2171 CFG_VSTA_SUPPORT_ENABLE_MIN,
2172 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2173#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002174 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002175 hdd_config_t, enableLpwrImgTransition,
2176 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2177 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2178 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002179 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2180
Yathish9f22e662012-12-10 14:21:35 -08002181#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002182 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002183 hdd_config_t, fEnableActiveModeOffload,
2184 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2185 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2186 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2187 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2188#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002189 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002190 hdd_config_t, enableLpwrImgTransition,
2191 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2192 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2193 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2194 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2195
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002196
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002197 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002198 hdd_config_t, scanAgingTimeout,
2199 VAR_FLAGS_OPTIONAL,
2200 CFG_SCAN_AGING_PARAM_DEFAULT,
2201 CFG_SCAN_AGING_PARAM_MIN,
2202 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002203
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002204 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002205 hdd_config_t, enableTxLdpc,
2206 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2207 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2208 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2209 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2210
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002211 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302212 hdd_config_t, enableMCCAdaptiveScheduler,
2213 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2214 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2215 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2216 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2217
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002218 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302219 hdd_config_t, isAndroidPsEn,
2220 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2221 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2222 CFG_ANDRIOD_POWER_SAVE_MIN,
2223 CFG_ANDRIOD_POWER_SAVE_MAX),
2224
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002225 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002226 hdd_config_t, AdHocChannel5G,
2227 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2228 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2229 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2230 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2231
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002232 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002233 hdd_config_t, AdHocChannel24G,
2234 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2235 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2236 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2237 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2238
2239
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002240#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002241 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002242 hdd_config_t, enableTxBF,
2243 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2244 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2245 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2246 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002247
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002248 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002249 hdd_config_t, txBFCsnValue,
2250 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2251 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2252 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2253 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2254
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002255#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302256
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002257 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302258 hdd_config_t, sapAllowAllChannel,
2259 VAR_FLAGS_OPTIONAL,
2260 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2261 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2262 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002263
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002264#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002265 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002266 hdd_config_t, disableLDPCWithTxbfAP,
2267 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2268 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2269 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2270 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2271#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002272
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002273 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002274 hdd_config_t, listOfNonDfsCountryCode,
2275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2276 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2277
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002278 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2279 hdd_config_t, enableSSR,
2280 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2281 CFG_ENABLE_SSR_DEFAULT,
2282 CFG_ENABLE_SSR_MIN,
2283 CFG_ENABLE_SSR_MAX,
2284 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302285
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002286 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302287 hdd_config_t, listOfNon11acCountryCode,
2288 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2289 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2290
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002291 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302292 hdd_config_t, cfgMaxMediumTime,
2293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2294 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2295 CFG_MAX_MEDIUM_TIME_STAMIN,
2296 CFG_MAX_MEDIUM_TIME_STAMAX ),
2297
Leo Chang64d68bc2013-06-04 15:40:52 -07002298 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2299 hdd_config_t, enableTrafficMonitor,
2300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2301 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2302 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2303 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2304
2305 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2306 hdd_config_t, trafficIdleTimeout,
2307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2308 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2309 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2310 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002311
2312#ifdef WLAN_FEATURE_11AC
2313 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2314 hdd_config_t, enableVhtFor24GHzBand,
2315 VAR_FLAGS_OPTIONAL,
2316 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2317 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2318 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2319#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302320
2321 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2322 hdd_config_t, fScanOffload,
2323 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2324 CFG_SCAN_OFFLOAD_DEFAULT,
2325 CFG_SCAN_OFFLOAD_DISABLE,
2326 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002327
2328#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2329 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2330 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2332 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2333 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2334 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2335 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2336#endif
2337
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002338 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2339 hdd_config_t, fEnableAdaptRxDrain,
2340 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2341 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2342 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2343 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2344
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002345 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2346 hdd_config_t, dynSplitscan,
2347 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2348 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2349 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2350 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2351
2352 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2353 hdd_config_t, txRxThresholdForSplitScan,
2354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2355 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2356 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2357 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2358
2359 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2360 hdd_config_t, trafficMntrTmrForSplitScan,
2361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2362 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2363 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2364 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2365
krunal soni4f087d22013-07-29 16:32:26 -07002366 REG_VARIABLE( CFG_ENABLE_OXYNWK_NAME, WLAN_PARAM_Integer,
2367 hdd_config_t, enableOxygenNwk,
2368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2369 CFG_ENABLE_OXYNWK_DEFAULT,
2370 CFG_ENABLE_OXYNWK_MIN,
2371 CFG_ENABLE_OXYNWK_MAX ),
Yue Ma0fd23872013-08-01 15:56:47 -07002372
2373 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2374 hdd_config_t, flexConnectPowerFactor,
2375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2376 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2377 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2378 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2379
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002380 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2381 hdd_config_t, enableIbssHeartBeatOffload,
2382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2383 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2384 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2385 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2386
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302387 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2388 hdd_config_t, antennaDiversity,
2389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2390 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2391 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2392 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302393
2394 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2395 hdd_config_t, fEnableSNRMonitoring,
2396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2397 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2398 CFG_ENABLE_SNR_MONITORING_MIN,
2399 CFG_ENABLE_SNR_MONITORING_MAX),
2400
Jeff Johnson295189b2012-06-20 16:38:30 -07002401};
2402
2403/*
2404 * This function returns a pointer to the character after the occurence
2405 * of a new line character. It also modifies the original string by replacing
2406 * the '\n' character with the null character.
2407 * Function returns NULL if no new line character was found before end of
2408 * string was reached
2409 */
2410static char* get_next_line(char* str)
2411{
2412 char c;
2413
2414 if( str == NULL || *str == '\0') {
2415 return NULL;
2416 }
2417
2418 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002419 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002420 str = str + 1;
2421 c = *str;
2422 }
2423
2424 if (c == '\0' ) {
2425 return NULL;
2426 }
2427 else
2428 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002429 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002430 return (str+1);
2431 }
2432
2433 return NULL;
2434}
2435
2436// look for space. Ascii values to look are -
2437// 0x09 == horizontal tab
2438// 0x0a == Newline ("\n")
2439// 0x0b == vertical tab
2440// 0x0c == Newpage or feed form.
2441// 0x0d == carriage return (CR or "\r")
2442// Null ('\0') should not considered as space.
2443#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2444
2445/*
2446 * This function trims any leading and trailing white spaces
2447 */
2448static char *i_trim(char *str)
2449
2450{
2451 char *ptr;
2452
2453 if(*str == '\0') return str;
2454
2455 /* Find the first non white-space*/
2456 for (ptr = str; i_isspace(*ptr); ptr++);
2457 if (*ptr == '\0')
2458 return str;
2459
2460 /* This is the new start of the string*/
2461 str = ptr;
2462
2463 /* Find the last non white-space */
2464 ptr += strlen(ptr) - 1;
2465 for (; ptr != str && i_isspace(*ptr); ptr--);
2466 /* Null terminate the following character */
2467 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002468
Jeff Johnson295189b2012-06-20 16:38:30 -07002469 return str;
2470}
2471
2472
2473//Structure to store each entry in qcom_cfg.ini file
2474typedef struct
2475{
2476 char *name;
2477 char *value;
2478}tCfgIniEntry;
2479
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002480static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002481 tCfgIniEntry* iniTable, unsigned long entries);
2482
2483#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002484void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002485{
2486 unsigned long i;
2487
2488 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002489 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002490 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2491 }
2492}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002493#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002494
2495/*
2496 * This function reads the qcom_cfg.ini file and
2497 * parses each 'Name=Value' pair in the ini file
2498 */
2499VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2500{
2501 int status, i=0;
2502 /** Pointer for firmware image data */
2503 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002504 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002505 size_t size;
2506 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002507 /* cfgIniTable is static to avoid excess stack usage */
2508 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002509 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2510
2511 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2512
2513 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002514
Jeff Johnson295189b2012-06-20 16:38:30 -07002515 if(status)
2516 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002517 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002518 vos_status = VOS_STATUS_E_FAILURE;
2519 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002520 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002521 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002522 {
2523 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002524 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002525 vos_status = VOS_STATUS_E_FAILURE;
2526 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002527 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002528
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002529 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002530
2531 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002532
Jeff Johnson295189b2012-06-20 16:38:30 -07002533 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002534 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002535 release_firmware(fw);
2536 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002537 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002538 pTemp = buffer;
2539
2540 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2541 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002542
Jeff Johnson295189b2012-06-20 16:38:30 -07002543 while (buffer != NULL)
2544 {
2545 line = get_next_line(buffer);
2546 buffer = i_trim(buffer);
2547
2548 hddLog(LOG1, "%s: item", buffer);
2549
2550 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2551 buffer = line;
2552 continue;
2553 }
2554 else if(strncmp(buffer, "END", 3) == 0 ) {
2555 break;
2556 }
2557 else
2558 {
2559 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002560 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002561 buffer++;
2562 if(*buffer != '\0') {
2563 *buffer++ = '\0';
2564 i_trim(name);
2565 if(strlen (name) != 0) {
2566 buffer = i_trim(buffer);
2567 if(strlen(buffer)>0) {
2568 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002569 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002570 buffer++;
2571 *buffer = '\0';
2572 cfgIniTable[i].name= name;
2573 cfgIniTable[i++].value= value;
2574 if(i >= MAX_CFG_INI_ITEMS) {
2575 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002576 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002577 break;
2578 }
2579 }
2580 }
2581 }
2582 }
2583 buffer = line;
2584 }
2585
2586 //Loop through the registry table and apply all these configs
2587 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2588
Jeff Johnson4416a782013-03-25 14:17:50 -07002589config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002590 release_firmware(fw);
2591 vos_mem_free(pTemp);
2592 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002593}
Jeff Johnson295189b2012-06-20 16:38:30 -07002594
2595
2596static void print_hdd_cfg(hdd_context_t *pHddCtx)
2597{
2598 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
2599 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %lu",pHddCtx->cfg_ini->RTSThreshold) ;
2600 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
2601 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
2602 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
2603 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
2604 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%lu]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
2605 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
2606 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]",
2607 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
2608 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
2609 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
2610
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002611 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002612 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2613 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
2614 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
2615 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
2616 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
2617 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
2618 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
2619
2620
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002621 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002622 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2623 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
2624 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
2625 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
2626 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
2627 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
2628 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
2629
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002630 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002631 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2632 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
2633 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
2634 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
2635 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
2636 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
2637 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
2638
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002639 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07002640 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
2641 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
2642 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
2643 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
2644 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
2645 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
2646 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
2647
Jeff Johnson295189b2012-06-20 16:38:30 -07002648
2649 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
2650
2651 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
2652 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
2653 pHddCtx->cfg_ini->apCntryCode[2]);
2654 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
2655 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
2656
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002657 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 -07002658 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
2659 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
2660 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 -08002661
Jeff Johnson295189b2012-06-20 16:38:30 -07002662 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
2663 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%lu]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
2664 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%lu]",pHddCtx->cfg_ini->dot11Mode);
2665 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
2666 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
2667 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
2668 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
2669
2670 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
2671 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
2672
2673 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
2674 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
2675
2676 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
2677 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
2678
2679 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
2680 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%lu] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
2681#ifdef FEATURE_WLAN_CCX
2682 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%lu] ",pHddCtx->cfg_ini->InfraInactivityInterval);
2683 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
2684 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
2685 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 -08002686#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07002687#ifdef FEATURE_WLAN_LFR
2688 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 -08002689#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07002690#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
2691 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 -08002692 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 -07002693#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002694#ifdef FEATURE_WLAN_OKC
2695 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%lu] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
2696#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002697 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
2698 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
2699 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
2700 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
2701 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
2702
2703 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
2704 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
2705 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
2706 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
2707 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
2708
2709 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
2710 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
2711 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
2712 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
2713 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
2714
2715 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
2716 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
2717 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
2718 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%lx] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
2719 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
2720
2721 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
2722 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
2723 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
2724 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
2725 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%lu] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
2726 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
2727 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 -08002728#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07002729 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%lu] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
2730#endif
2731
2732#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
2733 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
2734 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
2735 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
2736 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
2737 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%lu] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
2738 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%lu] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
2739 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 -08002740 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 -07002741#endif
2742 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
2743 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
2744 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
2745 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
2746 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
2747 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
2748 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
2749
2750 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
2751 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2752 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
2753#ifdef WLAN_BTAMP_FEATURE
2754 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
2755#endif //WLAN_BTAMP_FEATURE
2756 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
2757 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
2758 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
2759 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
2760 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
2761 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
2762 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
2763 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
2764 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
2765 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
2766 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
2767 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
2768 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 -07002769#ifdef WLAN_FEATURE_11AC
2770 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
2771#endif
2772 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
2773 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
2774 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 +05302775 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 -08002776 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 -07002777 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 -07002778 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 -07002779
Leo Chang64d68bc2013-06-04 15:40:52 -07002780 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
2781 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 -07002782 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 -07002783 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 +05302784 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 +05302785 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
2786 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
2787 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
2788 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod);
2789
Jeff Johnson295189b2012-06-20 16:38:30 -07002790}
2791
2792
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002793
Jeff Johnson295189b2012-06-20 16:38:30 -07002794#define CFG_VALUE_MAX_LEN 256
2795#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
2796VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
2797{
2798 unsigned int idx;
2799 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2800 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2801 v_U32_t value;
2802 char valueStr[CFG_VALUE_MAX_LEN];
2803 char configStr[CFG_ENTRY_MAX_LEN];
2804 char *fmt;
2805 void *pField;
2806 v_MACADDR_t *pMacAddr;
2807 char *pCur = pBuf;
2808 int curlen;
2809
2810 // start with an empty string
2811 *pCur = '\0';
2812
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002813 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07002814 {
2815 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
2816
2817 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2818 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002819 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07002820 {
2821 value = 0;
2822 memcpy( &value, pField, pRegEntry->VarSize );
2823 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
2824 {
2825 fmt = "%x";
2826 }
2827 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
2828 {
2829 fmt = "%d";
2830 }
2831 else
2832 {
2833 fmt = "%u";
2834 }
2835 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
2836 }
2837 else if ( WLAN_PARAM_String == pRegEntry->RegType )
2838 {
2839 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
2840 }
2841 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
2842 {
2843 pMacAddr = (v_MACADDR_t *) pField;
2844 snprintf(valueStr, CFG_VALUE_MAX_LEN,
2845 "%02x:%02x:%02x:%02x:%02x:%02x",
2846 pMacAddr->bytes[0],
2847 pMacAddr->bytes[1],
2848 pMacAddr->bytes[2],
2849 pMacAddr->bytes[3],
2850 pMacAddr->bytes[4],
2851 pMacAddr->bytes[5]);
2852 }
2853 else
2854 {
2855 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
2856 }
2857 curlen = snprintf(configStr, CFG_ENTRY_MAX_LEN,
2858 "%s=[%s]%s\n",
2859 pRegEntry->RegName,
2860 valueStr,
2861 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
2862 "*" : "");
2863
2864 // ideally we want to return the config to the application
2865 // however the config is too big so we just printk() for now
2866#ifdef RETURN_IN_BUFFER
2867 if (curlen <= buflen)
2868 {
2869 // copy string + '\0'
2870 memcpy(pCur, configStr, curlen+1);
2871
2872 // account for addition;
2873 pCur += curlen;
2874 buflen -= curlen;
2875 }
2876 else
2877 {
2878 // buffer space exhausted, return what we have
2879 return VOS_STATUS_E_RESOURCES;
2880 }
2881#else
2882 printk(KERN_CRIT "%s", configStr);
2883#endif // RETURN_IN_BUFFER
2884
2885}
2886
2887#ifndef RETURN_IN_BUFFER
2888 // notify application that output is in system log
2889 snprintf(pCur, buflen, "WLAN configuration written to system log");
2890#endif // RETURN_IN_BUFFER
2891
2892 return VOS_STATUS_SUCCESS;
2893}
2894
2895static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002896 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07002897{
2898 VOS_STATUS status = VOS_STATUS_E_FAILURE;
2899 unsigned long i;
2900
2901 for (i = 0; i < entries; i++) {
2902 if (strcmp(iniTable[i].name, name) == 0) {
2903 *value = iniTable[i].value;
2904 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
2905 WLAN_INI_FILE, name, *value);
2906 return VOS_STATUS_SUCCESS;
2907 }
2908 }
2909
2910 return status;
2911}
2912
2913static int parseHexDigit(char c)
2914{
2915 if (c >= '0' && c <= '9')
2916 return c-'0';
2917 if (c >= 'a' && c <= 'f')
2918 return c-'a'+10;
2919 if (c >= 'A' && c <= 'F')
2920 return c-'A'+10;
2921
2922 return 0;
2923}
2924
2925
2926static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
2927{
2928 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
2929 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
2930 unsigned int idx;
2931 void *pField;
2932 char *value_str = NULL;
2933 unsigned long len_value_str;
2934 char *candidate;
2935 v_U32_t value;
2936 v_S31_t svalue;
2937 void *pStructBase = pHddCtx->cfg_ini;
2938 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
2939 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
2940 v_U32_t cbOutString;
2941 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002942 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07002943
2944 // sanity test
2945 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
2946 {
2947 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002948 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07002949 }
2950
2951 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
2952 {
2953 //Calculate the address of the destination field in the structure.
2954 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
2955
2956 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
2957
2958 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
2959 {
2960 // If we could not read the cfg item and it is required, this is an error.
2961 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002962 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07002963 ret_status = VOS_STATUS_E_FAILURE;
2964 break;
2965 }
2966
2967 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
2968 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
2969 {
2970 // If successfully read from the registry, use the value read.
2971 // If not, use the default value.
2972 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002973 rv = kstrtoul(value_str, 10, &value);
2974 if (rv < 0) {
2975 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
2976 __func__, pRegEntry->RegName);
2977 value = pRegEntry->VarDefault;
2978 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002979 }
2980 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08002981 rv = kstrtoul(value_str, 16, &value);
2982 if (rv < 0) {
2983 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
2984 __func__, pRegEntry->RegName);
2985 value = pRegEntry->VarDefault;
2986 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002987 }
2988 else {
2989 value = pRegEntry->VarDefault;
2990 }
2991
2992 // If this parameter needs range checking, do it here.
2993 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
2994 {
2995 if ( value > pRegEntry->VarMax )
2996 {
2997 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002998 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07002999 value = pRegEntry->VarMax;
3000 }
3001
3002 if ( value < pRegEntry->VarMin )
3003 {
3004 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003005 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003006 value = pRegEntry->VarMin;
3007 }
3008 }
3009 // If this parameter needs range checking, do it here.
3010 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3011 {
3012 if ( value > pRegEntry->VarMax )
3013 {
3014 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%lu > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003015 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003016 value = pRegEntry->VarDefault;
3017 }
3018
3019 if ( value < pRegEntry->VarMin )
3020 {
3021 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%lu < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003022 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003023 value = pRegEntry->VarDefault;
3024 }
3025 }
3026
3027 // Move the variable into the output field.
3028 memcpy( pField, &value, pRegEntry->VarSize );
3029 }
3030 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3031 {
3032 // If successfully read from the registry, use the value read.
3033 // If not, use the default value.
3034 if (VOS_STATUS_SUCCESS == match_status)
3035 {
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003036 rv = kstrtol(value_str, 10, &svalue);
3037 if (rv < 0) {
3038 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3039 __func__, pRegEntry->RegName);
3040 svalue = (v_S31_t)pRegEntry->VarDefault;
3041 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003042 }
3043 else
3044 {
3045 svalue = (v_S31_t)pRegEntry->VarDefault;
3046 }
3047
3048 // If this parameter needs range checking, do it here.
3049 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3050 {
3051 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3052 {
3053 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003054 "[%ld > %ld]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003055 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3056 svalue = (v_S31_t)pRegEntry->VarMax;
3057 }
3058
3059 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3060 {
3061 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003062 "[%ld < %ld]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003063 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3064 svalue = (v_S31_t)pRegEntry->VarMin;
3065 }
3066 }
3067 // If this parameter needs range checking, do it here.
3068 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3069 {
3070 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3071 {
3072 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
3073 "[%ld > %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003074 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003075 (int)pRegEntry->VarMax,
3076 (int)pRegEntry->VarDefault );
3077 svalue = (v_S31_t)pRegEntry->VarDefault;
3078 }
3079
3080 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3081 {
3082 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
3083 "[%ld < %ld]. Enforcing Default= %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003084 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003085 (int)pRegEntry->VarMin,
3086 (int)pRegEntry->VarDefault);
3087 svalue = pRegEntry->VarDefault;
3088 }
3089 }
3090
3091 // Move the variable into the output field.
3092 memcpy( pField, &svalue, pRegEntry->VarSize );
3093 }
3094 // Handle string parameters
3095 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3096 {
3097#ifdef WLAN_CFG_DEBUG
3098 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 -08003099 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003100#endif
3101
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003102 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003103 {
3104 len_value_str = strlen(value_str);
3105
3106 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003107 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003108 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003109 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3110 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3111 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3112 }
3113 else
3114 {
3115 memcpy( pField, (void *)(value_str), len_value_str);
3116 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3117 }
3118 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003119 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003120 {
3121 // Failed to read the string parameter from the registry. Use the default.
3122 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3123 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003124 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003125 }
3126 }
3127 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3128 {
3129 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003130 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3131 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003132 continue;
3133 }
3134 candidate = (char*)pRegEntry->VarDefault;
3135 if ( match_status == VOS_STATUS_SUCCESS) {
3136 len_value_str = strlen(value_str);
3137 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003138 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003139 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003140 }
3141 else
3142 candidate = value_str;
3143 }
3144 //parse the string and store it in the byte array
3145 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3146 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003147 ((char*)pField)[i] =
3148 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003149 }
3150 }
3151 else
3152 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003153 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003154 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003155 }
3156
3157 // did we successfully parse a cfg item for this parameter?
3158 if( (match_status == VOS_STATUS_SUCCESS) &&
3159 (idx < MAX_CFG_INI_ITEMS) )
3160 {
3161 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3162 }
3163 }
3164
3165 print_hdd_cfg(pHddCtx);
3166
3167 return( ret_status );
3168}
3169
3170eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3171{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003172 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003173 {
3174 case (eHDD_DOT11_MODE_abg):
3175 return eCSR_DOT11_MODE_abg;
3176 case (eHDD_DOT11_MODE_11b):
3177 return eCSR_DOT11_MODE_11b;
3178 case (eHDD_DOT11_MODE_11g):
3179 return eCSR_DOT11_MODE_11g;
3180 default:
3181 case (eHDD_DOT11_MODE_11n):
3182 return eCSR_DOT11_MODE_11n;
3183 case (eHDD_DOT11_MODE_11g_ONLY):
3184 return eCSR_DOT11_MODE_11g_ONLY;
3185 case (eHDD_DOT11_MODE_11n_ONLY):
3186 return eCSR_DOT11_MODE_11n_ONLY;
3187 case (eHDD_DOT11_MODE_11b_ONLY):
3188 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003189#ifdef WLAN_FEATURE_11AC
3190 case (eHDD_DOT11_MODE_11ac_ONLY):
3191 return eCSR_DOT11_MODE_11ac_ONLY;
3192 case (eHDD_DOT11_MODE_11ac):
3193 return eCSR_DOT11_MODE_11ac;
3194#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003195 case (eHDD_DOT11_MODE_AUTO):
3196 return eCSR_DOT11_MODE_AUTO;
3197 }
3198
3199}
3200
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003201static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003202{
3203 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3204 tSmeBtcConfig btcParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003205
Jeff Johnson295189b2012-06-20 16:38:30 -07003206 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3207
3208 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003209 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003210 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3211
Jeff Johnson32d95a32012-09-10 13:15:23 -07003212 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3213 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3214 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3215 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3216 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3217 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3218 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3219 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3220 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3221 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3222 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3223 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3224 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3225
Jeff Johnson295189b2012-06-20 16:38:30 -07003226 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3227}
3228
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003229static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003230{
3231 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3232
3233 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003234
Jeff Johnson295189b2012-06-20 16:38:30 -07003235 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003236
Jeff Johnson295189b2012-06-20 16:38:30 -07003237 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3238 {
3239 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3240 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3241 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3242 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3243 }
3244 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3245 {
3246 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3247 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3248 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3249 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3250 }
3251 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3252 {
3253 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3254 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3255 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3256 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3257 }
3258
3259 if (pConfig->fIsImpsEnabled)
3260 {
3261 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3262 }
3263 else
3264 {
3265 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3266 }
3267
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303268 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3269 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3270 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3271
Jeff Johnson295189b2012-06-20 16:38:30 -07003272 if (pConfig->fIsBmpsEnabled)
3273 {
3274 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3275 }
3276 else
3277 {
3278 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3279 }
3280
3281 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3282
3283 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3284 {
3285 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3286 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003287
Jeff Johnson295189b2012-06-20 16:38:30 -07003288 if(pConfig->fIsAutoBmpsTimerEnabled)
3289 {
3290 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3291 }
3292
3293}
3294
3295#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3296static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3297{
3298 char *s = str;
3299
3300 if( str == NULL || intArray == NULL || len == NULL )
3301 {
3302 return VOS_STATUS_E_INVAL;
3303 }
3304 *len = 0;
3305
Jeff Johnson295189b2012-06-20 16:38:30 -07003306 while ( (s != NULL) && (*len < intArrayMaxLen) )
3307 {
3308 int val;
3309 //Increment length only if sscanf succesfully extracted one element.
3310 //Any other return value means error. Ignore it.
3311 if( sscanf(s, "%d", &val ) == 1 )
3312 {
3313 intArray[*len] = (tANI_U8) val;
3314 *len += 1;
3315 }
3316 s = strpbrk( s, "," );
3317 if( s )
3318 s++;
3319 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003320
3321 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003322
Jeff Johnson295189b2012-06-20 16:38:30 -07003323}
3324#endif
3325
3326
3327v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3328{
3329 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003330#ifdef WLAN_SOFTAP_VSTA_FEATURE
3331 tANI_U32 val;
3332#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003333
3334 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303335 tSirMacHTCapabilityInfo htCapInfo;
3336
Jeff Johnson295189b2012-06-20 16:38:30 -07003337
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003338 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003339 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3340 {
3341 fStatus = FALSE;
3342 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3343 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003344
3345 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003346 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3347 {
3348 fStatus = FALSE;
3349 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3350 }
3351
3352 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3353 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3354 {
3355 fStatus = FALSE;
3356 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3357 }
3358
3359 if ( 0 != pConfig->Cfg1Id )
3360 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003361 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003362 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3363 {
3364 fStatus = FALSE;
3365 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3366 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003367
Jeff Johnson295189b2012-06-20 16:38:30 -07003368 }
3369
3370 if ( 0 != pConfig->Cfg2Id )
3371 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003372 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003373 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3374 {
3375 fStatus = FALSE;
3376 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3377 }
3378 }
3379
3380 if ( 0 != pConfig->Cfg3Id )
3381 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003382 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003383 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3384 {
3385 fStatus = FALSE;
3386 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3387 }
3388 }
3389
3390 if ( 0 != pConfig->Cfg4Id )
3391 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003392 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003393 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3394 {
3395 fStatus = FALSE;
3396 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3397 }
3398 }
3399
3400 if ( 0 != pConfig->Cfg5Id )
3401 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003402 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003403 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3404 {
3405 fStatus = FALSE;
3406 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3407 }
3408 }
3409
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003410 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003411 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3412 {
3413 fStatus = FALSE;
3414 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3415 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003416
3417 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003418 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3419 {
3420 fStatus = FALSE;
3421 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3422 }
3423
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003424 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003425 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3426 {
3427 fStatus = FALSE;
3428 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3429 }
3430
3431 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3432 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3433 {
3434 fStatus = FALSE;
3435 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3436 }
3437
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003438 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003439 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003440 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003441 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3442 {
3443 fStatus = FALSE;
3444 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3445 }
3446 }
3447 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003448 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003449 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3450 {
3451 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
3452 "MAC Addr (IBSS BSSID) read from Registry is: %02x-%02x-%02x-%02x-%02x-%02x",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003453 pConfig->IbssBssid.bytes[0], pConfig->IbssBssid.bytes[1], pConfig->IbssBssid.bytes[2],
Jeff Johnson295189b2012-06-20 16:38:30 -07003454 pConfig->IbssBssid.bytes[3], pConfig->IbssBssid.bytes[4], pConfig->IbssBssid.bytes[5]);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003455 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003456 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3457 {
3458 fStatus = FALSE;
3459 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3460 }
3461 }
3462 else
3463 {
3464 fStatus = FALSE;
3465 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3466 }
3467 }
3468
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003469 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003470 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3471 {
3472 fStatus = FALSE;
3473 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3474 }
3475
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003476 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003477 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3478 {
3479 fStatus = FALSE;
3480 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3481 }
3482
3483 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3484 {
3485 fStatus = FALSE;
3486 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3487 }
3488
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003489 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003490 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3491 {
3492 fStatus = FALSE;
3493 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3494 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003495
Jeff Johnson295189b2012-06-20 16:38:30 -07003496 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3497 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3498 {
3499 fStatus = FALSE;
3500 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3501 }
3502
Jeff Johnson295189b2012-06-20 16:38:30 -07003503 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3504 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3505 {
3506 fStatus = FALSE;
3507 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3508 }
3509
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003510 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003511 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3512 {
3513 fStatus = FALSE;
3514 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3515 }
3516
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003517 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003518 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3519 {
3520 fStatus = FALSE;
3521 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3522 }
3523
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003524 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003525 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3526 {
3527 fStatus = FALSE;
3528 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3529 }
3530
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003531 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003532 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3533 {
3534 fStatus = FALSE;
3535 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3536 }
3537
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003538 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003539 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3540 {
3541 fStatus = FALSE;
3542 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3543 }
3544
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003545 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003546 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3547 {
3548 fStatus = FALSE;
3549 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3550 }
3551
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003552 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003553 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3554 {
3555 fStatus = FALSE;
3556 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3557 }
3558
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003559 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003560 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3561 {
3562 fStatus = FALSE;
3563 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003564 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003565
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003566 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003567 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3568 {
3569 fStatus = FALSE;
3570 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3571 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003572
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303573 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
3574 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3575 {
3576 fStatus = FALSE;
3577 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
3578 }
3579
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303580 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
3581 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3582 {
3583 fStatus = FALSE;
3584 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM\n");
3585 }
3586
3587
Jeff Johnson295189b2012-06-20 16:38:30 -07003588#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003589 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07003590 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3591 {
3592 fStatus = FALSE;
3593 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
3594 }
3595
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003596 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003597 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3598 {
3599 fStatus = FALSE;
3600 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
3601 }
3602
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003603 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003604 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3605 {
3606 fStatus = FALSE;
3607 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
3608 }
3609
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003610 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07003611 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3612#endif
3613
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003614 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07003615 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3616 {
3617 fStatus = FALSE;
3618 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
3619 }
3620
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003621 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07003622 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3623 {
3624 fStatus = FALSE;
3625 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
3626 }
3627
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003628 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003629 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3630 {
3631 fStatus = FALSE;
3632 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
3633 }
3634
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003635 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003636 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3637 {
3638 fStatus = FALSE;
3639 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
3640 }
3641
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003642 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003643 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3644 {
3645 fStatus = FALSE;
3646 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
3647 }
3648
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003649 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07003650 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3651 {
3652 fStatus = FALSE;
3653 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
3654 }
3655
3656 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
3657 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3658 {
3659 fStatus = FALSE;
3660 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
3661 }
3662
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003663 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003664 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3665 {
3666 fStatus = FALSE;
3667 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
3668 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003669 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003670 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3671 {
3672 fStatus = FALSE;
3673 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
3674 }
3675
3676 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
3677 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3678 {
3679 fStatus = FALSE;
3680 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 -08003681 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003682
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003683 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07003684 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08003685 {
3686 fStatus = FALSE;
3687 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3688 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003689 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003690 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3691 {
3692 fStatus = FALSE;
3693 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
3694 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003695 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07003696 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3697 {
3698 fStatus = FALSE;
3699 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
3700 }
3701
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003702 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07003703 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3704 {
3705 fStatus = FALSE;
3706 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
3707 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003708 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07003709 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3710 {
3711 fStatus = FALSE;
3712 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
3713 }
3714
Jeff Johnson295189b2012-06-20 16:38:30 -07003715 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
3716 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3717 {
3718 fStatus = FALSE;
3719 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
3720 }
3721
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003722 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07003723 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
3724 ==eHAL_STATUS_FAILURE)
3725 {
3726 fStatus = FALSE;
3727 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
3728 }
3729
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003730 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07003731 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
3732 ==eHAL_STATUS_FAILURE)
3733 {
3734 fStatus = FALSE;
3735 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
3736 }
3737
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003738 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003739 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3740 {
3741 fStatus = FALSE;
3742 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
3743 }
3744
Jeff Johnsond13512a2012-07-17 11:42:19 -07003745
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003746 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07003747 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3748 {
3749 fStatus = FALSE;
3750 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
3751 }
3752
Jeff Johnsone7245742012-09-05 17:12:55 -07003753#ifdef WLAN_FEATURE_11AC
3754 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
3755 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
3756 /* we update only the least significant 2 bits in the corresponding fields */
3757 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
3758 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
3759 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
3760 {
3761 {
3762 tANI_U32 temp = 0;
3763
3764 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003765 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003766
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003767 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07003768 temp, NULL, eANI_BOOLEAN_FALSE)
3769 ==eHAL_STATUS_FAILURE)
3770 {
3771 fStatus = FALSE;
3772 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
3773 }
3774
3775 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003776 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003777
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003778 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003779 temp, NULL, eANI_BOOLEAN_FALSE)
3780 ==eHAL_STATUS_FAILURE)
3781 {
3782 fStatus = FALSE;
3783 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
3784 }
3785
3786 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003787 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07003788
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003789 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07003790 temp, NULL, eANI_BOOLEAN_FALSE)
3791 ==eHAL_STATUS_FAILURE)
3792 {
3793 fStatus = FALSE;
3794 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
3795 }
3796 }
3797 }
3798#endif
3799
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003800 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07003801 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3802 {
3803 fStatus = FALSE;
3804 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
3805 }
3806
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003807 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303808 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3809 ==eHAL_STATUS_FAILURE)
3810 {
3811 fStatus = FALSE;
3812 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
3813 }
3814
3815 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
3816 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
3817
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003818 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303819 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
3820 ==eHAL_STATUS_FAILURE)
3821 {
3822 fStatus = FALSE;
3823 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
3824 }
3825
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003826 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303827 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
3828 ==eHAL_STATUS_FAILURE)
3829 {
3830 fStatus = FALSE;
3831 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
3832 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003833
3834#ifdef WLAN_SOFTAP_VSTA_FEATURE
3835 if(pConfig->fEnableVSTASupport)
3836 {
3837 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
3838 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
3839 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
3840 }
3841 else
3842 {
3843 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
3844 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003845 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003846 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3847 {
3848 fStatus = FALSE;
3849 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
3850 }
3851#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003852 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08003853 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
3854 ==eHAL_STATUS_FAILURE)
3855 {
3856 fStatus = FALSE;
3857 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
3858 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303859
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08003860 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
3861 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3862 {
3863 fStatus = FALSE;
3864 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
3865 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08003866 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
3867 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3868 {
3869 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003870 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 -08003871 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07003872
3873 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
3874 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3875 {
3876 fStatus = FALSE;
3877 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
3878 }
3879
3880 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
3881 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3882 {
3883 fStatus = FALSE;
3884 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
3885 }
3886
3887 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
3888 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3889 {
3890 fStatus = FALSE;
3891 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
3892 }
3893
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05303894 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
3895 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3896 {
3897 fStatus = FALSE;
3898 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
3899 }
3900
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303901#ifdef FEATURE_WLAN_TDLS
3902
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003903 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
3904 pConfig->fTDLSUapsdMask, NULL,
3905 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303906 {
3907 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003908 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303909 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003910 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
3911 pConfig->fEnableTDLSBufferSta, NULL,
3912 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303913 {
3914 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003915 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303916 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003917 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
3918 pConfig->fTDLSPuapsdInactivityTimer, NULL,
3919 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303920 {
3921 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003922 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303923 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003924 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
3925 pConfig->fTDLSRxFrameThreshold, NULL,
3926 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303927 {
3928 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003929 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05303930 }
3931#endif
3932
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07003933 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
3934 pConfig->fEnableAdaptRxDrain, NULL,
3935 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3936 {
3937 fStatus = FALSE;
3938 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
3939 }
Yue Ma0fd23872013-08-01 15:56:47 -07003940
3941 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
3942 pConfig->flexConnectPowerFactor, NULL,
3943 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
3944 {
3945 fStatus = FALSE;
3946 hddLog(LOGE, "Failure: Could not pass on "
3947 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
3948 }
3949
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05303950 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
3951 pConfig->antennaDiversity, NULL,
3952 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3953 {
3954 fStatus = FALSE;
3955 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
3956 }
3957
Jeff Johnson295189b2012-06-20 16:38:30 -07003958 return fStatus;
3959}
3960
3961
3962/**---------------------------------------------------------------------------
3963
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003964 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07003965
3966 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003967
Jeff Johnson295189b2012-06-20 16:38:30 -07003968 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003969
Jeff Johnson295189b2012-06-20 16:38:30 -07003970 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003971
Jeff Johnson295189b2012-06-20 16:38:30 -07003972 --------------------------------------------------------------------------*/
3973
3974VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
3975{
3976 VOS_STATUS status = VOS_STATUS_SUCCESS;
3977 eHalStatus halStatus;
3978 tSmeConfigParams smeConfig;
3979
3980 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3981
3982 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
3983
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003984 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003985 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
3986 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
3987
3988 // Config params obtained from the registry
Madan Mohan Koyyalamudic3a240c2012-09-28 15:34:08 -07003989 if (is_crda_regulatory_entry_valid() == VOS_TRUE)
3990 sme_setRegInfo(pHddCtx->hHal, pConfig->crdaDefaultCountryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003991 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
3992 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
3993 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
3994 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
3995 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
3996
3997 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
3998
3999 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4000 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4001 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4002 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4003 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4004 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4005 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4006 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4007 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4008 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4009 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4010 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4011 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4012 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4013 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4014 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4015 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004016 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07004017 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4018 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4019 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4020 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004021 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4022 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004023 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004024#ifdef WLAN_AP_STA_CONCURRENCY
4025 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4026 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4027 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4028 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4029 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004030 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4031 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4032
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004033#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004034 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4035 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4036
4037#if defined WLAN_FEATURE_VOWIFI
4038 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4039 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4040#endif
4041 //Remaining config params not obtained from registry
4042 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004043#ifdef WLAN_FEATURE_11AC
4044 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004045 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004046 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004047 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004048#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004049 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4050 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004051 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4052 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4053 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004054 if (pConfig->nBandCapability == eCSR_BAND_24)
4055 {
4056 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4057 } else {
4058 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4059 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004060 smeConfig.csrConfig.cbChoice = 0;
4061 smeConfig.csrConfig.bgScanInterval = 0;
4062 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004063 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4064 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4065 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004066#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4067 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004068 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004069 smeConfig.csrConfig.nProbes = pConfig->nProbes;
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07004070
4071 if (pConfig->nRoamScanHomeAwayTime < (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
4072 {
4073 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
4074 "%s: Invalid config, Home away time(%d) is less than twice RF switching time + channel max time(%d)"
4075 " Hence enforcing home away time to disable (0)",
4076 __func__, pConfig->nRoamScanHomeAwayTime,
4077 (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
4078 pConfig->nRoamScanHomeAwayTime = 0;
4079 }
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004080 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004081#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004082 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4083
Jeff Johnson295189b2012-06-20 16:38:30 -07004084 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004085 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4086 {
4087 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004088
Jeff Johnson7dda7772013-02-27 08:36:13 -08004089 /* if there is a requirement that HDD will control the default
4090 * channel list & country code (say from .ini file) we need to
4091 * add some logic here. Otherwise the default 11d info should
4092 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004093 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004094 else
4095 {
4096 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4097 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004098
Jeff Johnson7dda7772013-02-27 08:36:13 -08004099 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4100 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4101 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4102 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004103 hdd_set_power_save_config(pHddCtx, &smeConfig);
4104 hdd_set_btc_config(pHddCtx);
4105
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004106#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004107 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4108#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004109#ifdef FEATURE_WLAN_LFR
4110 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
4111#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004112#ifdef FEATURE_WLAN_CCX
4113 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004114 if( pConfig->isCcxIniFeatureEnabled )
4115 {
4116 pConfig->isFastTransitionEnabled = TRUE;
4117 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004118#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004119#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004120 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Jeff Johnson43971f52012-07-17 12:26:56 -07004121 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004122 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Jeff Johnson295189b2012-06-20 16:38:30 -07004123#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004124#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4125 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004126 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4127
4128 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4129 {
4130 /* Disable roaming in concurrency if roam scan offload is disabled */
4131 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4132 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004133#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004134#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4135 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4136 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004137 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4138 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004139 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004140 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004141 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004142 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004143 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4144 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4145 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004146 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4147#endif
4148
4149 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4150 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4151
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004152 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004153 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004154 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004155
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004156 //Scan Results Aging Time out value
4157 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4158
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004159 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4160
krunal soni4f087d22013-07-29 16:32:26 -07004161 // Prop IE enabling/disabling option
4162 smeConfig.csrConfig.enableOxygenNwk = pConfig->enableOxygenNwk;
4163
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004164 /* update SSR config */
4165 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304166 /* Update the Directed scan offload setting */
4167 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004168
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004169 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004170 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4171 {
4172 status = VOS_STATUS_E_FAILURE;
4173 }
4174
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004175
4176 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004177}
4178
4179
4180/**---------------------------------------------------------------------------
4181
4182 \brief hdd_execute_config_command() -
4183
4184 This function executes an arbitrary configuration set command
4185
4186 \param - pHddCtx - Pointer to the HDD Adapter.
4187 \parmm - command - a configuration command of the form:
4188 <name>=<value>
4189
4190 \return - 0 for success, non zero for failure
4191
4192 --------------------------------------------------------------------------*/
4193
4194VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4195{
4196 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4197 REG_TABLE_ENTRY *pRegEntry;
4198 char *clone;
4199 char *pCmd;
4200 void *pField;
4201 char *name;
4202 char *value_str;
4203 v_U32_t value;
4204 v_S31_t svalue;
4205 size_t len_value_str;
4206 unsigned int idx;
4207 unsigned int i;
4208 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004209 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004210
4211 // assume failure until proven otherwise
4212 vstatus = VOS_STATUS_E_FAILURE;
4213
4214 // clone the command so that we can manipulate it
4215 clone = kstrdup(command, GFP_ATOMIC);
4216 if (NULL == clone)
4217 {
4218 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004219 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004220 return vstatus;
4221 }
4222
4223 // 'clone' will point to the beginning of the string so it can be freed
4224 // 'pCmd' will be used to walk/parse the command
4225 pCmd = clone;
4226
4227 // get rid of leading/trailing whitespace
4228 pCmd = i_trim(pCmd);
4229 if ('\0' == *pCmd)
4230 {
4231 // only whitespace
4232 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004233 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004234 goto done;
4235 }
4236
4237 // parse the <name> = <value>
4238 name = pCmd;
4239 while (('=' != *pCmd) && ('\0' != *pCmd))
4240 {
4241 pCmd++;
4242 }
4243 if ('\0' == *pCmd)
4244 {
4245 // did not find '='
4246 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004247 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004248 goto done;
4249 }
4250
4251 // replace '=' with NUL to terminate the <name>
4252 *pCmd++ = '\0';
4253 name = i_trim(name);
4254 if ('\0' == *name)
4255 {
4256 // did not find a name
4257 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004258 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004259 goto done;
4260 }
4261
4262 value_str = i_trim(pCmd);
4263 if ('\0' == *value_str)
4264 {
4265 // did not find a value
4266 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004267 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004268 goto done;
4269 }
4270
4271 // lookup the configuration item
4272 for (idx = 0; idx < tableSize; idx++)
4273 {
4274 if (0 == strcmp(name, g_registry_table[idx].RegName))
4275 {
4276 // found a match
4277 break;
4278 }
4279 }
4280 if (tableSize == idx)
4281 {
4282 // did not match the name
4283 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004284 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004285 goto done;
4286 }
4287
4288 pRegEntry = &g_registry_table[idx];
4289 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4290 {
4291 // does not support dynamic configuration
4292 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004293 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004294 goto done;
4295 }
4296
4297 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4298
4299 switch (pRegEntry->RegType)
4300 {
4301 case WLAN_PARAM_Integer:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004302 rv = kstrtoul(value_str, 10, &value);
4303 if (rv < 0)
4304 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004305 if (value < pRegEntry->VarMin)
4306 {
4307 // out of range
4308 hddLog(LOGE, "%s: invalid command, value %u < min value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004309 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004310 goto done;
4311 }
4312 if (value > pRegEntry->VarMax)
4313 {
4314 // out of range
4315 hddLog(LOGE, "%s: invalid command, value %u > max value %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004316 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004317 goto done;
4318 }
4319 memcpy(pField, &value, pRegEntry->VarSize);
4320 break;
4321
4322 case WLAN_PARAM_HexInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004323 rv = kstrtoul(value_str, 16, &value);
4324 if (rv < 0)
4325 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004326 if (value < pRegEntry->VarMin)
4327 {
4328 // out of range
4329 hddLog(LOGE, "%s: invalid command, value %x < min value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004330 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004331 goto done;
4332 }
4333 if (value > pRegEntry->VarMax)
4334 {
4335 // out of range
4336 hddLog(LOGE, "%s: invalid command, value %x > max value %x",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004337 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004338 goto done;
4339 }
4340 memcpy(pField, &value, pRegEntry->VarSize);
4341 break;
4342
4343 case WLAN_PARAM_SignedInteger:
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004344 rv = kstrtol(value_str, 10, &svalue);
4345 if (rv < 0)
4346 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004347 if (svalue < (v_S31_t)pRegEntry->VarMin)
4348 {
4349 // out of range
4350 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004351 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004352 goto done;
4353 }
4354 if (svalue > (v_S31_t)pRegEntry->VarMax)
4355 {
4356 // out of range
4357 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004358 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004359 goto done;
4360 }
4361 memcpy(pField, &svalue, pRegEntry->VarSize);
4362 break;
4363
4364 case WLAN_PARAM_String:
4365 len_value_str = strlen(value_str);
4366 if (len_value_str > (pRegEntry->VarSize - 1))
4367 {
4368 // too big
4369 hddLog(LOGE,
4370 "%s: invalid command, string [%s] length "
4371 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004372 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004373 len_value_str, (pRegEntry->VarSize - 1));
4374 goto done;
4375 }
4376 // copy string plus NUL
4377 memcpy(pField, value_str, (len_value_str + 1));
4378 break;
4379
4380 case WLAN_PARAM_MacAddr:
4381 len_value_str = strlen(value_str);
4382 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4383 {
4384 // out of range
4385 hddLog(LOGE,
4386 "%s: invalid command, MAC address [%s] length "
4387 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004388 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004389 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4390 goto done;
4391 }
4392 //parse the string and store it in the byte array
4393 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4394 {
4395 ((char*)pField)[i] = (char)
4396 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4397 parseHexDigit(value_str[(i * 2) + 1]));
4398 }
4399 break;
4400
4401 default:
4402 goto done;
4403 }
4404
4405 // if we get here, we had a successful modification
4406 vstatus = VOS_STATUS_SUCCESS;
4407
4408 // config table has been modified, is there a notifier?
4409 if (NULL != pRegEntry->pfnDynamicNotify)
4410 {
4411 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4412 }
4413
4414 // note that this item was explicitly configured
4415 if (idx < MAX_CFG_INI_ITEMS)
4416 {
4417 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4418 }
4419 done:
4420 kfree(clone);
4421 return vstatus;
4422}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004423
4424/**---------------------------------------------------------------------------
4425
4426 \brief hdd_is_okc_mode_enabled() -
4427
4428 This function returns whether OKC mode is enabled or not
4429
4430 \param - pHddCtx - Pointer to the HDD Adapter.
4431
4432 \return - 1 for enabled, zero for disabled
4433
4434 --------------------------------------------------------------------------*/
4435
4436tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4437{
4438 if (NULL == pHddCtx)
4439 {
4440 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4441 return -EINVAL;
4442 }
4443
4444#ifdef FEATURE_WLAN_OKC
4445 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4446#else
4447 return eANI_BOOLEAN_FALSE;
4448#endif
4449}