blob: b02bccf912556d70a10c8abe0211e03153a82ac5 [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{
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -070091 if (pHddCtx->cfg_ini->nSelect5GHzMargin)
92 {
93 /*
94 LFR2.0 firmware posts roam candidates whose RSSI is above the
95 look down threshold and RoamRssiDiff better than current AP Rssi.
96 if gSelect5GHzMargin is non-zero; then the expectation is firmware
97 should post all the roam candidates whose RSSI is above lookdown
98 threshold and don't ignore the APs in RoamRssiDiff zone.
99
100 For ex: RoamRssiDiff=5, Lookdown threshold=-78 and
101 gSelect5GHzMargin=30 then firmware selects APs
102 with Rssi -73 or better as roam candidates.
103 if the 5G AP Rssi is -75 it will be ignored.
104 if 2.4G AP Rssi is -45 and 5G AP with -75 is available,
105 STA should connect to 5G AP, hence RoamRssiDiff is set to 0.
106 */
107 pHddCtx->cfg_ini->RoamRssiDiff = 0;
108 }
109
Srinivas Girigowdade697412013-02-14 16:31:48 -0800110 sme_UpdateRoamRssiDiff((tHalHandle)(pHddCtx->hHal),
111 pHddCtx->cfg_ini->RoamRssiDiff);
112}
113
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800114static void cbNotifySetFastTransitionEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
115{
116 sme_UpdateFastTransitionEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastTransitionEnabled);
117}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700118
119static void cbNotifySetRoamIntraBand(hdd_context_t *pHddCtx, unsigned long NotifyId)
120{
121 sme_setRoamIntraBand((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamIntraBand);
122}
Srinivas Girigowda100eb322013-03-15 16:48:20 -0700123
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -0700124static void cbNotifySetWESMode(hdd_context_t *pHddCtx, unsigned long NotifyId)
125{
126 // at the point this routine is called, the value in the cfg_ini table has already been updated
127 sme_UpdateWESMode((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isWESModeEnabled);
128}
129
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700130static void cbNotifySetRoamScanNProbes(hdd_context_t *pHddCtx, unsigned long NotifyId)
131{
132 sme_UpdateRoamScanNProbes((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nProbes);
133}
134
135static void cbNotifySetRoamScanHomeAwayTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
136{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700137 tANI_U16 scanChannelMaxTime = 0;
138
139 /* Home Away Time should be atleast equal to (MaxDwell time + (2*RFS)),
140 * where RFS is the RF Switching time. It is twice RFS to consider the
141 * time to go off channel and return to the home channel. */
142
143 scanChannelMaxTime = sme_getNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal));
144 if (pHddCtx->cfg_ini->nRoamScanHomeAwayTime < (scanChannelMaxTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
145 {
146 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
Srinivas Girigowdafa7157d2013-10-31 10:14:22 -0700147 "%s: Invalid config, Home away time(%d) is less than (twice RF switching time + channel max time)(%d)"
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700148 " Hence enforcing home away time to disable (0)",
149 __func__, pHddCtx->cfg_ini->nRoamScanHomeAwayTime, (scanChannelMaxTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
150 pHddCtx->cfg_ini->nRoamScanHomeAwayTime = 0;
151 }
152
153 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime, eANI_BOOLEAN_TRUE);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700154}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700155#endif
156
157#ifdef FEATURE_WLAN_OKC
158static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
159{
160 // at the point this routine is called, the value in the cfg_ini table has already been updated
161}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800162#endif
163
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800164#ifdef FEATURE_WLAN_LFR
165static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
166{
167 // at the point this routine is called, the value in the cfg_ini table has already been updated
168 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
169}
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -0800170
171static void NotifyIsMAWCIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
172{
173 /* at the point this routine is called, the value in the cfg_ini table has already been updated */
174 sme_UpdateIsMAWCIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->MAWCEnabled );
175}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800176#endif
177
178#ifdef FEATURE_WLAN_CCX
179static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
180{
181 // at the point this routine is called, the value in the cfg_ini table has already been updated
182 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
183}
184#endif
185
186static void cbNotifySetFwRssiMonitoring(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_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
190}
191
Srinivas Girigowdade697412013-02-14 16:31:48 -0800192#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
193static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
194{
195 // at the point this routine is called, the value in the cfg_ini table has already been updated
196 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
197}
198
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700199static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
200{
201 // at the point this routine is called, the value in the cfg_ini table has already been updated
202 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
203}
204
Srinivas Girigowdade697412013-02-14 16:31:48 -0800205static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
206{
207 // at the point this routine is called, the value in the cfg_ini table has already been updated
208 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
209}
210
211static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
212{
213 // at the point this routine is called, the value in the cfg_ini table has already been updated
214 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
215}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700216
217static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
218{
219 // at the point this routine is called, the value in the cfg_ini table has already been updated
220 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
221}
222
223static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
224{
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700225 tANI_U16 homeAwayTime = 0;
226
227 /* Home Away Time should be atleast equal to (MaxDwell time + (2*RFS)),
228 * where RFS is the RF Switching time. It is twice RFS to consider the
229 * time to go off channel and return to the home channel. */
230 homeAwayTime = sme_getRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal));
231 if (homeAwayTime < (pHddCtx->cfg_ini->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
232 {
233 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
Srinivas Girigowdafa7157d2013-10-31 10:14:22 -0700234 "%s: Invalid config, Home away time(%d) is less than (twice RF switching time + channel max time)(%d)"
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -0700235 " Hence enforcing home away time to disable (0)",
236 __func__, homeAwayTime, (pHddCtx->cfg_ini->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
237 homeAwayTime = 0;
238 pHddCtx->cfg_ini->nRoamScanHomeAwayTime = homeAwayTime;
239 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), homeAwayTime, eANI_BOOLEAN_FALSE);
240 }
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700241 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
242}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800243#endif
244
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700245static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
246{
247 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
248}
249
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700250#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
251static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
252{
253 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700254 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
255 {
256 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
257 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
258 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700259}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700260
261static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
262{
263 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
264}
265
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700266#endif
267
Jeff Johnson295189b2012-06-20 16:38:30 -0700268REG_TABLE_ENTRY g_registry_table[] =
269{
270 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800271 hdd_config_t, RTSThreshold,
272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
273 CFG_RTS_THRESHOLD_DEFAULT,
274 CFG_RTS_THRESHOLD_MIN,
275 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700276
277 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800278 hdd_config_t, FragmentationThreshold,
279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
280 CFG_FRAG_THRESHOLD_DEFAULT,
281 CFG_FRAG_THRESHOLD_MIN,
282 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700283
284 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800285 hdd_config_t, Calibration,
286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
287 CFG_CALIBRATION_DEFAULT,
288 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700289 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800290
Jeff Johnson295189b2012-06-20 16:38:30 -0700291 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800292 hdd_config_t, CalibrationPeriod,
293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
294 CFG_CALIBRATION_PERIOD_DEFAULT,
295 CFG_CALIBRATION_PERIOD_MIN,
296 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700297
298 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
299 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
301 CFG_OPERATING_CHANNEL_DEFAULT,
302 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700303 CFG_OPERATING_CHANNEL_MAX ),
304
305 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800306 hdd_config_t, ShortSlotTimeEnabled,
307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
308 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
309 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700310 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
311
312 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800313 hdd_config_t, Is11dSupportEnabled,
314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
315 CFG_11D_SUPPORT_ENABLED_DEFAULT,
316 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700317 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800318
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800319 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800320 hdd_config_t, Is11hSupportEnabled,
321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
322 CFG_11H_SUPPORT_ENABLED_DEFAULT,
323 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800324 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700325
326 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800327 hdd_config_t, fEnforce11dChannels,
328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
329 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
330 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700331 CFG_ENFORCE_11D_CHANNELS_MAX ),
332
333 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800334 hdd_config_t, fSupplicantCountryCodeHasPriority,
335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
336 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
337 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700338 CFG_COUNTRY_CODE_PRIORITY_MAX),
339
340 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800341 hdd_config_t, fEnforceCountryCodeMatch,
342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
343 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
344 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700345 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
346
347 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800348 hdd_config_t, fEnforceDefaultDomain,
349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
350 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
351 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700352 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800353
Jeff Johnson295189b2012-06-20 16:38:30 -0700354 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
355 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
357 CFG_GENERIC_ID1_DEFAULT,
358 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700359 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800360
Jeff Johnson295189b2012-06-20 16:38:30 -0700361 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
362 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
364 CFG_GENERIC_ID2_DEFAULT,
365 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700366 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800367
Jeff Johnson295189b2012-06-20 16:38:30 -0700368 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
369 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
371 CFG_GENERIC_ID3_DEFAULT,
372 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700373 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800374
Jeff Johnson295189b2012-06-20 16:38:30 -0700375 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
376 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800377 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
378 CFG_GENERIC_ID4_DEFAULT,
379 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700380 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800381
Jeff Johnson295189b2012-06-20 16:38:30 -0700382 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
383 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800384 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
385 CFG_GENERIC_ID5_DEFAULT,
386 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700387 CFG_GENERIC_ID5_MAX ),
388
389 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
390 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800391 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
392 CFG_GENERIC_VALUE1_DEFAULT,
393 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700394 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800395
Jeff Johnson295189b2012-06-20 16:38:30 -0700396 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
397 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800398 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
399 CFG_GENERIC_VALUE2_DEFAULT,
400 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700401 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800402
Jeff Johnson295189b2012-06-20 16:38:30 -0700403 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
404 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800405 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
406 CFG_GENERIC_VALUE3_DEFAULT,
407 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700408 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800409
Jeff Johnson295189b2012-06-20 16:38:30 -0700410 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
411 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800412 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
413 CFG_GENERIC_VALUE4_DEFAULT,
414 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700415 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800416
Jeff Johnson295189b2012-06-20 16:38:30 -0700417 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
418 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800419 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
420 CFG_GENERIC_VALUE5_DEFAULT,
421 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700422 CFG_GENERIC_VALUE5_MAX ),
423
424 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800425 hdd_config_t, HeartbeatThresh24,
426 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
427 CFG_HEARTBEAT_THRESH_24_DEFAULT,
428 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700429 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800430
Jeff Johnson295189b2012-06-20 16:38:30 -0700431 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800432 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700433 VAR_FLAGS_OPTIONAL,
434 (void *)CFG_POWER_USAGE_DEFAULT ),
435
436 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800437 hdd_config_t, nEnableSuspend,
438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
439 CFG_ENABLE_SUSPEND_DEFAULT,
440 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700441 CFG_ENABLE_SUSPEND_MAX ),
442
443 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800444 hdd_config_t, nEnableDriverStop,
445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
446 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
447 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700448 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
449
450 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800451 hdd_config_t, fIsImpsEnabled,
452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
453 CFG_ENABLE_IMPS_DEFAULT,
454 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700455 CFG_ENABLE_IMPS_MAX ),
456
457 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800458 hdd_config_t, fIsLogpEnabled,
459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
460 CFG_ENABLE_LOGP_DEFAULT,
461 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700462 CFG_ENABLE_LOGP_MAX ),
463
464 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800465 hdd_config_t, nImpsMinSleepTime,
466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
467 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
468 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700469 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
470
471 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800472 hdd_config_t, nImpsMaxSleepTime,
473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
474 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
475 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700476 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
477
478 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
479 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
481 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
482 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700483 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
484
485 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800486 hdd_config_t, fIsBmpsEnabled,
487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
488 CFG_ENABLE_BMPS_DEFAULT,
489 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700490 CFG_ENABLE_BMPS_MAX ),
491
492 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800493 hdd_config_t, nBmpsMinListenInterval,
494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
495 CFG_BMPS_MINIMUM_LI_DEFAULT,
496 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700497 CFG_BMPS_MINIMUM_LI_MAX ),
498
499 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800500 hdd_config_t, nBmpsMaxListenInterval,
501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
502 CFG_BMPS_MAXIMUM_LI_DEFAULT,
503 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700504 CFG_BMPS_MAXIMUM_LI_MAX ),
505
506 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
507 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
509 CFG_BMPS_MODERATE_LI_DEFAULT,
510 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700511 CFG_BMPS_MODERATE_LI_MAX ),
512
513 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800514 hdd_config_t, fIsAutoBmpsTimerEnabled,
515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
516 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
517 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700518 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
519
520 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800521 hdd_config_t, nAutoBmpsTimerValue,
522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
523 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
524 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700525 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
526
527 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800528 hdd_config_t, dot11Mode,
529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
530 CFG_DOT11_MODE_DEFAULT,
531 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700532 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800533
Jeff Johnson295189b2012-06-20 16:38:30 -0700534 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800535 hdd_config_t, nChannelBondingMode24GHz,
536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
537 CFG_CHANNEL_BONDING_MODE_DEFAULT,
538 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700539 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800540
Jeff Johnson295189b2012-06-20 16:38:30 -0700541 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800542 hdd_config_t, nChannelBondingMode5GHz,
543 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
544 CFG_CHANNEL_BONDING_MODE_DEFAULT,
545 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700546 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800547
548 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
549 hdd_config_t, MaxRxAmpduFactor,
550 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
551 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
552 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700553 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800554
Jeff Johnson295189b2012-06-20 16:38:30 -0700555 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800556 hdd_config_t, TxRate,
557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
558 CFG_FIXED_RATE_DEFAULT,
559 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700560 CFG_FIXED_RATE_MAX ),
561
562 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800563 hdd_config_t, ShortGI20MhzEnable,
564 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
565 CFG_SHORT_GI_20MHZ_DEFAULT,
566 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700567 CFG_SHORT_GI_20MHZ_MAX ),
568
569 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800570 hdd_config_t, BlockAckAutoSetup,
571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
572 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
573 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700574 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800575
Jeff Johnson295189b2012-06-20 16:38:30 -0700576 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800577 hdd_config_t, ScanResultAgeCount,
578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
579 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
580 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700581 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
582
583 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800584 hdd_config_t, nScanAgeTimeNCNPS,
585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
586 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
587 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700588 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
589
590 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800591 hdd_config_t, nScanAgeTimeNCPS,
592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
593 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
594 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700595 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
596
597 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800598 hdd_config_t, nScanAgeTimeCNPS,
599 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
600 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
601 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700602 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
603
604 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800605 hdd_config_t, nScanAgeTimeCPS,
606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
607 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
608 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700609 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
610
611 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800612 hdd_config_t, nRssiCatGap,
613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
614 CFG_RSSI_CATEGORY_GAP_DEFAULT,
615 CFG_RSSI_CATEGORY_GAP_MIN,
616 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700617
Jeff Johnson295189b2012-06-20 16:38:30 -0700618 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800619 hdd_config_t, fIsShortPreamble,
620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
621 CFG_SHORT_PREAMBLE_DEFAULT,
622 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700623 CFG_SHORT_PREAMBLE_MAX ),
624
625 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800626 hdd_config_t, fIsAutoIbssBssid,
627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_IBSS_AUTO_BSSID_DEFAULT,
629 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700630 CFG_IBSS_AUTO_BSSID_MAX ),
631
632 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL,
635 (void *)CFG_IBSS_BSSID_DEFAULT ),
636
637 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800638 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700639 VAR_FLAGS_OPTIONAL,
640 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
641
642 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800643 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700644 VAR_FLAGS_OPTIONAL,
645 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
646
647 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800648 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700649 VAR_FLAGS_OPTIONAL,
650 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
651
652 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800653 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700654 VAR_FLAGS_OPTIONAL,
655 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
656
Jeff Johnson295189b2012-06-20 16:38:30 -0700657 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800658 hdd_config_t, apUapsdEnabled,
659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
660 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
661 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700662 CFG_AP_QOS_UAPSD_MODE_MAX ),
663
664 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800665 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700666 VAR_FLAGS_OPTIONAL,
667 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
668
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700669 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
670 hdd_config_t, apRandomBssidEnabled,
671 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
672 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
673 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
674 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
675
Jeff Johnson295189b2012-06-20 16:38:30 -0700676 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800677 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700678 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
679 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
680 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
681 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
682
683 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
684 hdd_config_t, apProtection,
685 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
686 CFG_AP_PROTECTION_MODE_DEFAULT,
687 CFG_AP_PROTECTION_MODE_MIN,
688 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800689
Jeff Johnson295189b2012-06-20 16:38:30 -0700690 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800691 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700692 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
693 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
694 CFG_AP_OBSS_PROTECTION_MODE_MIN,
695 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800696
Jeff Johnson295189b2012-06-20 16:38:30 -0700697 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800698 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700699 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
700 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
701 CFG_AP_STA_SECURITY_SEPERATION_MIN,
702 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
703
704 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800705 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700706 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
707 CFG_FRAMES_PROCESSING_TH_DEFAULT,
708 CFG_FRAMES_PROCESSING_TH_MIN,
709 CFG_FRAMES_PROCESSING_TH_MAX ),
710
711 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
712 hdd_config_t, apStartChannelNum,
713 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
714 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
715 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
716 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
717
718 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
719 hdd_config_t, apEndChannelNum,
720 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
721 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
722 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
723 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
724
725 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
726 hdd_config_t, apOperatingBand,
727 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
728 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
729 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
730 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
731
732 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
733 hdd_config_t, apAutoChannelSelection,
734 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
735 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
736 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
737 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800738
Jeff Johnson295189b2012-06-20 16:38:30 -0700739 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
740 hdd_config_t, enableLTECoex,
741 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
742 CFG_ENABLE_LTE_COEX_DEFAULT,
743 CFG_ENABLE_LTE_COEX_MIN,
744 CFG_ENABLE_LTE_COEX_MAX ),
745
746 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
747 hdd_config_t, apKeepAlivePeriod,
748 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
749 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
750 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
751 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
752
753 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
754 hdd_config_t, goKeepAlivePeriod,
755 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
756 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
757 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
758 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
759
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530760 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
761 hdd_config_t, apLinkMonitorPeriod,
762 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
763 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
764 CFG_AP_LINK_MONITOR_PERIOD_MIN,
765 CFG_AP_LINK_MONITOR_PERIOD_MAX),
766
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530767 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
768 hdd_config_t, goLinkMonitorPeriod,
769 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
770 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
771 CFG_GO_LINK_MONITOR_PERIOD_MIN,
772 CFG_GO_LINK_MONITOR_PERIOD_MAX),
773
Jeff Johnson295189b2012-06-20 16:38:30 -0700774 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
775 hdd_config_t, disablePacketFilter,
776 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
777 CFG_DISABLE_PACKET_FILTER_DEFAULT,
778 CFG_DISABLE_PACKET_FILTER_MIN,
779 CFG_DISABLE_PACKET_FILTER_MAX ),
780
781 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800782 hdd_config_t, nBeaconInterval,
783 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
784 CFG_BEACON_INTERVAL_DEFAULT,
785 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700786 CFG_BEACON_INTERVAL_MAX ),
787
Jeff Johnson295189b2012-06-20 16:38:30 -0700788 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800789 hdd_config_t, nEnableIdleScan,
790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
791 CFG_ENABLE_IDLE_SCAN_DEFAULT,
792 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700793 CFG_ENABLE_IDLE_SCAN_MAX ),
794
795 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800796 hdd_config_t, nRoamingTime,
797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
798 CFG_ROAMING_TIME_DEFAULT,
799 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700800 CFG_ROAMING_TIME_MAX ),
801
802 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800803 hdd_config_t, nVccRssiTrigger,
804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
805 CFG_VCC_RSSI_TRIGGER_DEFAULT,
806 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700807 CFG_VCC_RSSI_TRIGGER_MAX ),
808
809 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800810 hdd_config_t, nVccUlMacLossThreshold,
811 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
812 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
813 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700814 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
815
816 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800817 hdd_config_t, nPassiveMaxChnTime,
818 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
819 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
820 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700821 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
822
823 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800824 hdd_config_t, nPassiveMinChnTime,
825 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
826 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
827 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700828 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
829
830 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800831 hdd_config_t, nActiveMaxChnTime,
832 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
833 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
834 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700835 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
836
837 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800838 hdd_config_t, nActiveMinChnTime,
839 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
840 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
841 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700842 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700843
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800844 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
845 hdd_config_t, nActiveMaxChnTimeBtc,
846 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
847 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
848 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
849 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
850
851 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
852 hdd_config_t, nActiveMinChnTimeBtc,
853 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
854 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
855 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
856 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
857
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700858 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
859 hdd_config_t, retryLimitZero,
860 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
861 CFG_RETRY_LIMIT_ZERO_DEFAULT,
862 CFG_RETRY_LIMIT_ZERO_MIN,
863 CFG_RETRY_LIMIT_ZERO_MAX ),
864
865 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
866 hdd_config_t, retryLimitOne,
867 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
868 CFG_RETRY_LIMIT_ONE_DEFAULT,
869 CFG_RETRY_LIMIT_ONE_MIN,
870 CFG_RETRY_LIMIT_ONE_MAX ),
871
872 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
873 hdd_config_t, retryLimitTwo,
874 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
875 CFG_RETRY_LIMIT_TWO_DEFAULT,
876 CFG_RETRY_LIMIT_TWO_MIN,
877 CFG_RETRY_LIMIT_TWO_MAX ),
878
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700879 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
880 hdd_config_t, disableAggWithBtc,
881 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
882 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
883 CFG_DISABLE_AGG_WITH_BTC_MIN,
884 CFG_DISABLE_AGG_WITH_BTC_MAX ),
885
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700886#ifdef WLAN_AP_STA_CONCURRENCY
887 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800888 hdd_config_t, nPassiveMaxChnTimeConc,
889 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
890 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
891 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700892 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
893
894 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800895 hdd_config_t, nPassiveMinChnTimeConc,
896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
897 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
898 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700899 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
900
901 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800902 hdd_config_t, nActiveMaxChnTimeConc,
903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
904 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
905 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700906 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
907
908 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800909 hdd_config_t, nActiveMinChnTimeConc,
910 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
911 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
912 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700913 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
914
915 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800916 hdd_config_t, nRestTimeConc,
917 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
918 CFG_REST_TIME_CONC_DEFAULT,
919 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700920 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800921
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700922 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
923 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800924 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700925 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
926 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
927 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
928
929 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
930 hdd_config_t, nNumP2PChanCombinedConc,
931 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
932 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
933 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
934 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700935#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800936
Jeff Johnson295189b2012-06-20 16:38:30 -0700937 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800938 hdd_config_t, nMaxPsPoll,
939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
940 CFG_MAX_PS_POLL_DEFAULT,
941 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700942 CFG_MAX_PS_POLL_MAX ),
943
944 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800945 hdd_config_t, nTxPowerCap,
946 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
947 CFG_MAX_TX_POWER_DEFAULT,
948 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700949 CFG_MAX_TX_POWER_MAX ),
950
951 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
952 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800953 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
954 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
955 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700956 CFG_LOW_GAIN_OVERRIDE_MAX ),
957
958 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
959 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800960 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
961 CFG_RSSI_FILTER_PERIOD_DEFAULT,
962 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700963 CFG_RSSI_FILTER_PERIOD_MAX ),
964
965 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
966 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800967 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
968 CFG_IGNORE_DTIM_DEFAULT,
969 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700970 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800971
Yue Mac24062f2013-05-13 17:01:29 -0700972 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
973 hdd_config_t, fMaxLIModulatedDTIM,
974 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
975 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
976 CFG_MAX_LI_MODULATED_DTIM_MIN,
977 CFG_MAX_LI_MODULATED_DTIM_MAX ),
978
Jeff Johnson295189b2012-06-20 16:38:30 -0700979 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800980 hdd_config_t, nRxAnt,
981 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
982 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
983 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700984 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
985
986 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800987 hdd_config_t, fEnableFwHeartBeatMonitoring,
988 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
989 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
990 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700991 CFG_FW_HEART_BEAT_MONITORING_MAX ),
992
993 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800994 hdd_config_t, fEnableFwBeaconFiltering,
995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
996 CFG_FW_BEACON_FILTERING_DEFAULT,
997 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700998 CFG_FW_BEACON_FILTERING_MAX ),
999
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001000 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001001 hdd_config_t, fEnableFwRssiMonitoring,
1002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1003 CFG_FW_RSSI_MONITORING_DEFAULT,
1004 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001005 CFG_FW_RSSI_MONITORING_MAX,
1006 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001007
1008 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001009 hdd_config_t, nDataInactivityTimeout,
1010 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1011 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
1012 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001013 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001014
Jeff Johnson295189b2012-06-20 16:38:30 -07001015 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001016 hdd_config_t, nthBeaconFilter,
1017 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1018 CFG_NTH_BEACON_FILTER_DEFAULT,
1019 CFG_NTH_BEACON_FILTER_MIN,
1020 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001021
1022 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001023 hdd_config_t, WmmMode,
1024 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1025 CFG_QOS_WMM_MODE_DEFAULT,
1026 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001027 CFG_QOS_WMM_MODE_MAX ),
1028
1029 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001030 hdd_config_t, b80211eIsEnabled,
1031 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1032 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
1033 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001034 CFG_QOS_WMM_80211E_ENABLED_MAX ),
1035
1036 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001037 hdd_config_t, UapsdMask,
1038 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1039 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
1040 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001041 CFG_QOS_WMM_UAPSD_MASK_MAX ),
1042
Jeff Johnson295189b2012-06-20 16:38:30 -07001043 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001044 hdd_config_t, InfraUapsdVoSrvIntv,
1045 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1046 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1047 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001048 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1049
1050 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001051 hdd_config_t, InfraUapsdVoSuspIntv,
1052 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1053 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1054 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001055 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1056
1057 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001058 hdd_config_t, InfraUapsdViSrvIntv,
1059 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1060 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1061 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001062 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1063
1064 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001065 hdd_config_t, InfraUapsdViSuspIntv,
1066 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1067 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1068 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001069 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1070
1071 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001072 hdd_config_t, InfraUapsdBeSrvIntv,
1073 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1074 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1075 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001076 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1077
1078 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001079 hdd_config_t, InfraUapsdBeSuspIntv,
1080 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1081 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1082 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001083 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1084
1085 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001086 hdd_config_t, InfraUapsdBkSrvIntv,
1087 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1088 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1089 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001090 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1091
1092 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001093 hdd_config_t, InfraUapsdBkSuspIntv,
1094 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1095 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1096 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001097 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1098
1099#ifdef FEATURE_WLAN_CCX
1100 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001101 hdd_config_t, InfraInactivityInterval,
1102 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1103 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1104 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001105 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001106 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001107 hdd_config_t, isCcxIniFeatureEnabled,
1108 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1109 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1110 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001111 CFG_CCX_FEATURE_ENABLED_MAX,
1112 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001113#endif // FEATURE_WLAN_CCX
1114
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001115#ifdef FEATURE_WLAN_LFR
1116 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001117 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001118 hdd_config_t, isFastRoamIniFeatureEnabled,
1119 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1120 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1121 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001122 CFG_LFR_FEATURE_ENABLED_MAX,
1123 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08001124
1125 /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */
1126 REG_DYNAMIC_VARIABLE( CFG_LFR_MAWC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1127 hdd_config_t, MAWCEnabled,
1128 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1129 CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT,
1130 CFG_LFR_MAWC_FEATURE_ENABLED_MIN,
1131 CFG_LFR_MAWC_FEATURE_ENABLED_MAX,
1132 NotifyIsMAWCIniFeatureEnabled, 0 ),
1133
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001134#endif // FEATURE_WLAN_LFR
1135
1136#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001137 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001138 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001139 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001140 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1141 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1142 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001143 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1144 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001145
Srinivas Girigowdade697412013-02-14 16:31:48 -08001146 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001147 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001148 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1149 hdd_config_t, RoamRssiDiff,
1150 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1151 CFG_ROAM_RSSI_DIFF_DEFAULT,
1152 CFG_ROAM_RSSI_DIFF_MIN,
1153 CFG_ROAM_RSSI_DIFF_MAX,
1154 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001155
1156 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001157 hdd_config_t, nImmediateRoamRssiDiff,
1158 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1159 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1160 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001161 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1162 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001163
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07001164 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1165 hdd_config_t, isWESModeEnabled,
1166 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1167 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1168 CFG_ENABLE_WES_MODE_NAME_MIN,
1169 CFG_ENABLE_WES_MODE_NAME_MAX,
1170 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001171#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001172#ifdef FEATURE_WLAN_OKC
1173 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1174 hdd_config_t, isOkcIniFeatureEnabled,
1175 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1176 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1177 CFG_OKC_FEATURE_ENABLED_MIN,
1178 CFG_OKC_FEATURE_ENABLED_MAX,
1179 cbNotifySetOkcFeatureEnabled, 0 ),
1180#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001181#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1182 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1183 hdd_config_t, isRoamOffloadScanEnabled,
1184 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1185 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1186 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1187 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1188 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1189#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001190 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001191 hdd_config_t, PktClassificationBasis,
1192 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1193 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1194 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001195 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1196
1197 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001198 hdd_config_t, InfraDirAcVo,
1199 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1200 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1201 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001202 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1203
1204 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001205 hdd_config_t, InfraNomMsduSizeAcVo,
1206 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1207 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1208 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001209 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1210
1211 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001212 hdd_config_t, InfraMeanDataRateAcVo,
1213 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1214 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1215 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001216 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1217
1218 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001219 hdd_config_t, InfraMinPhyRateAcVo,
1220 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1221 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1222 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001223 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1224
1225 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001226 hdd_config_t, InfraSbaAcVo,
1227 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1228 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1229 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001230 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1231
1232 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001233 hdd_config_t, InfraDirAcVi,
1234 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1235 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1236 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001237 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1238
1239 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001240 hdd_config_t, InfraNomMsduSizeAcVi,
1241 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1242 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1243 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001244 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1245
1246 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001247 hdd_config_t, InfraMeanDataRateAcVi,
1248 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1249 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1250 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001251 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1252
1253 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001254 hdd_config_t, InfraMinPhyRateAcVi,
1255 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1256 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1257 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001258 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1259
1260 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001261 hdd_config_t, InfraSbaAcVi,
1262 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1263 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1264 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001265 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1266
1267 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001268 hdd_config_t, InfraDirAcBe,
1269 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1270 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1271 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001272 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1273
1274 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001275 hdd_config_t, InfraNomMsduSizeAcBe,
1276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1277 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1278 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001279 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1280
1281 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001282 hdd_config_t, InfraMeanDataRateAcBe,
1283 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1284 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1285 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001286 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1287
1288 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001289 hdd_config_t, InfraMinPhyRateAcBe,
1290 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1291 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1292 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001293 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1294
1295 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001296 hdd_config_t, InfraSbaAcBe,
1297 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1298 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1299 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001300 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1301
1302 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001303 hdd_config_t, InfraDirAcBk,
1304 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1305 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1306 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001307 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1308
1309 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001310 hdd_config_t, InfraNomMsduSizeAcBk,
1311 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1312 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1313 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001314 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1315
1316 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001317 hdd_config_t, InfraMeanDataRateAcBk,
1318 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1319 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1320 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001321 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1322
1323 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001324 hdd_config_t, InfraMinPhyRateAcBk,
1325 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1326 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1327 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001328 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1329
1330 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001331 hdd_config_t, InfraSbaAcBk,
1332 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1333 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1334 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001335 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1336
1337 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001338 hdd_config_t, WfqBkWeight,
1339 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1340 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1341 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001342 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1343
1344 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001345 hdd_config_t, WfqBeWeight,
1346 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1347 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1348 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001349 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1350
1351 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001352 hdd_config_t, WfqViWeight,
1353 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1354 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1355 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001356 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1357
1358 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001359 hdd_config_t, WfqVoWeight,
1360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1361 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1362 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001363 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1364
1365 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001366 hdd_config_t, DelayedTriggerFrmInt,
1367 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1368 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1369 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001370 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1371
1372 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001373 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001374 VAR_FLAGS_OPTIONAL,
1375 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1376
1377 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001378 hdd_config_t, bImplicitQosEnabled,
1379 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1380 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1381 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001382 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1383
Jeff Johnson295189b2012-06-20 16:38:30 -07001384 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001385 hdd_config_t, btcExecutionMode,
1386 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1387 CFG_BTC_EXECUTION_MODE_DEFAULT,
1388 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001389 CFG_BTC_EXECUTION_MODE_MAX ),
1390
1391 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1392 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1393 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1394 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1395 CFG_BTC_DHCP_PROTECTION_MIN,
1396 CFG_BTC_DHCP_PROTECTION_MAX ),
1397
1398 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1399 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1400 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1401 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1402 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1403 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1404
Jeff Johnson32d95a32012-09-10 13:15:23 -07001405 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1406 hdd_config_t, btcStaticLenInqBt,
1407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1408 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1409 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1410 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1411
1412 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1413 hdd_config_t, btcStaticLenPageBt,
1414 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1415 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1416 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1417 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1418
1419 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1420 hdd_config_t, btcStaticLenConnBt,
1421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1422 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1423 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1424 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1425
1426 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1427 hdd_config_t, btcStaticLenLeBt,
1428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1429 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1430 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1431 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1432
1433 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1434 hdd_config_t, btcStaticLenInqWlan,
1435 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1436 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1437 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1438 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1439
1440 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1441 hdd_config_t, btcStaticLenPageWlan,
1442 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1443 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1444 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1445 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1446
1447 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1448 hdd_config_t, btcStaticLenConnWlan,
1449 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1450 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1451 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1452 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1453
1454 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1455 hdd_config_t, btcStaticLenLeWlan,
1456 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1457 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1458 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1459 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1460
1461 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1462 hdd_config_t, btcDynMaxLenBt,
1463 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1464 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1465 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1466 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1467
1468 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1469 hdd_config_t, btcDynMaxLenWlan,
1470 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1471 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1472 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1473 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1474
1475 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1476 hdd_config_t, btcMaxScoBlockPerc,
1477 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1478 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1479 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1480 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1481
1482 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1483 hdd_config_t, btcDhcpProtOnA2dp,
1484 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1485 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1486 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1487 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1488
1489 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1490 hdd_config_t, btcDhcpProtOnSco,
1491 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1492 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1493 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1494 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1495
Wilson Tsaof8b37942013-09-06 10:49:00 -07001496 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1497 hdd_config_t, mwsCoexVictimWANFreq[0],
1498 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1499 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1500 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1501 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1502
1503 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1504 hdd_config_t, mwsCoexVictimWLANFreq[0],
1505 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1506 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1507 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1508 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1509
1510 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1511 hdd_config_t, mwsCoexVictimConfig[0],
1512 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1513 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1514 CFG_MWS_COEX_VX_CONFIG_MIN,
1515 CFG_MWS_COEX_VX_CONFIG_MAX ),
1516
1517 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1518 hdd_config_t, mwsCoexVictimConfig2[0],
1519 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1520 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1521 CFG_MWS_COEX_VX_CONFIG_MIN,
1522 CFG_MWS_COEX_VX_CONFIG_MAX ),
1523
1524 REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1525 hdd_config_t, mwsCoexVictimWANFreq[1],
1526 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1527 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1528 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1529 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1530
1531 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1532 hdd_config_t, mwsCoexVictimWLANFreq[1],
1533 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1534 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1535 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1536 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1537
1538 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1539 hdd_config_t, mwsCoexVictimConfig[1],
1540 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1541 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1542 CFG_MWS_COEX_VX_CONFIG_MIN,
1543 CFG_MWS_COEX_VX_CONFIG_MAX ),
1544
1545 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1546 hdd_config_t, mwsCoexVictimConfig2[1],
1547 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1548 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1549 CFG_MWS_COEX_VX_CONFIG_MIN,
1550 CFG_MWS_COEX_VX_CONFIG_MAX ),
1551
1552 REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1553 hdd_config_t, mwsCoexVictimWANFreq[2],
1554 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1555 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1556 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1557 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1558
1559 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1560 hdd_config_t, mwsCoexVictimWLANFreq[2],
1561 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1562 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1563 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1564 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1565
1566 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1567 hdd_config_t, mwsCoexVictimConfig[2],
1568 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1569 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1570 CFG_MWS_COEX_VX_CONFIG_MIN,
1571 CFG_MWS_COEX_VX_CONFIG_MAX ),
1572
1573 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1574 hdd_config_t, mwsCoexVictimConfig2[2],
1575 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1576 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1577 CFG_MWS_COEX_VX_CONFIG_MIN,
1578 CFG_MWS_COEX_VX_CONFIG_MAX ),
1579
1580 REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1581 hdd_config_t, mwsCoexVictimWANFreq[3],
1582 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1583 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1584 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1585 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1586
1587 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1588 hdd_config_t, mwsCoexVictimWLANFreq[3],
1589 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1590 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1591 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1592 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1593
1594 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1595 hdd_config_t, mwsCoexVictimConfig[3],
1596 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1597 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1598 CFG_MWS_COEX_VX_CONFIG_MIN,
1599 CFG_MWS_COEX_VX_CONFIG_MAX ),
1600
1601 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1602 hdd_config_t, mwsCoexVictimConfig2[3],
1603 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1604 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1605 CFG_MWS_COEX_VX_CONFIG_MIN,
1606 CFG_MWS_COEX_VX_CONFIG_MAX ),
1607
1608 REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1609 hdd_config_t, mwsCoexVictimWANFreq[4],
1610 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1611 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1612 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1613 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1614
1615 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1616 hdd_config_t, mwsCoexVictimWLANFreq[4],
1617 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1618 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1619 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1620 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1621
1622 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1623 hdd_config_t, mwsCoexVictimConfig[4],
1624 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1625 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1626 CFG_MWS_COEX_VX_CONFIG_MIN,
1627 CFG_MWS_COEX_VX_CONFIG_MAX ),
1628
1629 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1630 hdd_config_t, mwsCoexVictimConfig2[4],
1631 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1632 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1633 CFG_MWS_COEX_VX_CONFIG_MIN,
1634 CFG_MWS_COEX_VX_CONFIG_MAX ),
1635
1636 REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1637 hdd_config_t, mwsCoexVictimWANFreq[5],
1638 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1639 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1640 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1641 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1642
1643 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1644 hdd_config_t, mwsCoexVictimWLANFreq[5],
1645 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1646 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1647 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1648 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1649
1650 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1651 hdd_config_t, mwsCoexVictimConfig[5],
1652 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1653 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1654 CFG_MWS_COEX_VX_CONFIG_MIN,
1655 CFG_MWS_COEX_VX_CONFIG_MAX ),
1656
1657 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1658 hdd_config_t, mwsCoexVictimConfig2[5],
1659 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1660 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1661 CFG_MWS_COEX_VX_CONFIG_MIN,
1662 CFG_MWS_COEX_VX_CONFIG_MAX ),
1663
1664 REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1665 hdd_config_t, mwsCoexVictimWANFreq[6],
1666 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1667 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1668 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1669 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1670
1671 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1672 hdd_config_t, mwsCoexVictimWLANFreq[6],
1673 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1674 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1675 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1676 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1677
1678 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1679 hdd_config_t, mwsCoexVictimConfig[6],
1680 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1681 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1682 CFG_MWS_COEX_VX_CONFIG_MIN,
1683 CFG_MWS_COEX_VX_CONFIG_MAX ),
1684
1685 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1686 hdd_config_t, mwsCoexVictimConfig2[6],
1687 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1688 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1689 CFG_MWS_COEX_VX_CONFIG_MIN,
1690 CFG_MWS_COEX_VX_CONFIG_MAX ),
1691
1692 REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1693 hdd_config_t, mwsCoexVictimWANFreq[7],
1694 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1695 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1696 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1697 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1698
1699 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1700 hdd_config_t, mwsCoexVictimWLANFreq[7],
1701 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1702 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1703 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1704 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1705
1706 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1707 hdd_config_t, mwsCoexVictimConfig[7],
1708 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1709 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1710 CFG_MWS_COEX_VX_CONFIG_MIN,
1711 CFG_MWS_COEX_VX_CONFIG_MAX ),
1712
1713 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1714 hdd_config_t, mwsCoexVictimConfig2[7],
1715 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1716 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1717 CFG_MWS_COEX_VX_CONFIG_MIN,
1718 CFG_MWS_COEX_VX_CONFIG_MAX ),
1719
1720 REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1721 hdd_config_t, mwsCoexVictimWANFreq[8],
1722 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1723 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1724 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1725 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1726
1727 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1728 hdd_config_t, mwsCoexVictimWLANFreq[8],
1729 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1730 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1731 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1732 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1733
1734 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1735 hdd_config_t, mwsCoexVictimConfig[8],
1736 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1737 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1738 CFG_MWS_COEX_VX_CONFIG_MIN,
1739 CFG_MWS_COEX_VX_CONFIG_MAX ),
1740
1741 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1742 hdd_config_t, mwsCoexVictimConfig2[8],
1743 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1744 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1745 CFG_MWS_COEX_VX_CONFIG_MIN,
1746 CFG_MWS_COEX_VX_CONFIG_MAX ),
1747
1748 REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1749 hdd_config_t, mwsCoexVictimWANFreq[9],
1750 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1751 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1752 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1753 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1754
1755 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1756 hdd_config_t, mwsCoexVictimWLANFreq[9],
1757 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1758 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1759 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1760 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1761
1762 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1763 hdd_config_t, mwsCoexVictimConfig[9],
1764 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1765 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1766 CFG_MWS_COEX_VX_CONFIG_MIN,
1767 CFG_MWS_COEX_VX_CONFIG_MAX ),
1768
1769 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1770 hdd_config_t, mwsCoexVictimConfig2[9],
1771 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1772 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1773 CFG_MWS_COEX_VX_CONFIG_MIN,
1774 CFG_MWS_COEX_VX_CONFIG_MAX ),
1775
1776 REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1777 hdd_config_t, mwsCoexModemBackoff,
1778 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1779 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1780 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1781 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1782
1783 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1784 hdd_config_t, mwsCoexConfig[0],
1785 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1786 CFG_MWS_COEX_CONFIGX_DEFAULT,
1787 CFG_MWS_COEX_CONFIGX_MIN,
1788 CFG_MWS_COEX_CONFIGX_MAX ),
1789
1790 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1791 hdd_config_t, mwsCoexConfig[1],
1792 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1793 CFG_MWS_COEX_CONFIGX_DEFAULT,
1794 CFG_MWS_COEX_CONFIGX_MIN,
1795 CFG_MWS_COEX_CONFIGX_MAX ),
1796
1797 REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer,
1798 hdd_config_t, mwsCoexConfig[2],
1799 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1800 CFG_MWS_COEX_CONFIGX_DEFAULT,
1801 CFG_MWS_COEX_CONFIGX_MIN,
1802 CFG_MWS_COEX_CONFIGX_MAX ),
1803
1804 REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer,
1805 hdd_config_t, mwsCoexConfig[3],
1806 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1807 CFG_MWS_COEX_CONFIGX_DEFAULT,
1808 CFG_MWS_COEX_CONFIGX_MIN,
1809 CFG_MWS_COEX_CONFIGX_MAX ),
1810
1811 REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer,
1812 hdd_config_t, mwsCoexConfig[4],
1813 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1814 CFG_MWS_COEX_CONFIGX_DEFAULT,
1815 CFG_MWS_COEX_CONFIGX_MIN,
1816 CFG_MWS_COEX_CONFIGX_MAX ),
1817
1818 REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer,
1819 hdd_config_t, mwsCoexConfig[5],
1820 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1821 CFG_MWS_COEX_CONFIGX_DEFAULT,
1822 CFG_MWS_COEX_CONFIGX_MIN,
1823 CFG_MWS_COEX_CONFIGX_MAX ),
1824
1825 REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1826 hdd_config_t, SARPowerBackoff,
1827 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1828 CFG_SAR_POWER_BACKOFF_DEFAULT,
1829 CFG_SAR_POWER_BACKOFF_MIN,
1830 CFG_SAR_POWER_BACKOFF_MAX ),
1831
Jeff Johnson295189b2012-06-20 16:38:30 -07001832 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001833 hdd_config_t, nEnableListenMode,
1834 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1835 CFG_AP_LISTEN_MODE_DEFAULT,
1836 CFG_AP_LISTEN_MODE_MIN,
1837 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001838
1839 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1840 hdd_config_t, nAPAutoShutOff,
1841 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1842 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1843 CFG_AP_AUTO_SHUT_OFF_MIN,
1844 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001845
1846#if defined WLAN_FEATURE_VOWIFI
1847 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001848 hdd_config_t, fRrmEnable,
1849 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1850 CFG_RRM_ENABLE_DEFAULT,
1851 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001852 CFG_RRM_ENABLE_MAX ),
1853
1854 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001855 hdd_config_t, nInChanMeasMaxDuration,
1856 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1857 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1858 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001859 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1860
1861 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001862 hdd_config_t, nOutChanMeasMaxDuration,
1863 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1864 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1865 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001866 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1867
1868 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001869 hdd_config_t, nRrmRandnIntvl,
1870 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1871 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1872 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001873 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1874#endif
1875
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001876#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001877 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001878 hdd_config_t, fFTResourceReqSupported,
1879 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1880 CFG_FT_RESOURCE_REQ_DEFAULT,
1881 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001882 CFG_FT_RESOURCE_REQ_MAX ),
1883#endif
1884
1885#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001886 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001887 hdd_config_t, nNeighborScanPeriod,
1888 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1889 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1890 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001891 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1892 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001893
1894 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001895 hdd_config_t, nNeighborReassocRssiThreshold,
1896 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1897 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1898 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001899 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1900
Srinivas Girigowdade697412013-02-14 16:31:48 -08001901 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001902 hdd_config_t, nNeighborLookupRssiThreshold,
1903 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1904 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1905 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001906 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1907 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001908
1909 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001910 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001911 VAR_FLAGS_OPTIONAL,
1912 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1913
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001914 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001915 hdd_config_t, nNeighborScanMinChanTime,
1916 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1917 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1918 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001919 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1920 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001921
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001922 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001923 hdd_config_t, nNeighborScanMaxChanTime,
1924 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1925 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1926 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001927 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1928 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001929
1930 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1931 hdd_config_t, nMaxNeighborReqTries,
1932 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1933 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1934 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1935 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1936
Srinivas Girigowdade697412013-02-14 16:31:48 -08001937 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001938 hdd_config_t, nNeighborResultsRefreshPeriod,
1939 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1940 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1941 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001942 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1943 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1944
1945 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1946 hdd_config_t, nEmptyScanRefreshPeriod,
1947 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1948 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1949 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1950 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1951 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001952#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1953
1954 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001955 hdd_config_t, burstSizeDefinition,
1956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1957 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1958 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001959 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1960
1961 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1962 hdd_config_t, mcastBcastFilterSetting,
1963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1964 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1965 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1966 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1967
1968 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1969 hdd_config_t, fhostArpOffload,
1970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1971 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1972 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1973 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1974
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301975 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1976 hdd_config_t, fhostNSOffload,
1977 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1978 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1979 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1980 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1981
Jeff Johnson295189b2012-06-20 16:38:30 -07001982 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001983 hdd_config_t, tsInfoAckPolicy,
1984 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1985 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1986 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001987 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1988
1989 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1990 hdd_config_t, bSingleTidRc,
1991 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1992 CFG_SINGLE_TID_RC_DEFAULT,
1993 CFG_SINGLE_TID_RC_MIN,
1994 CFG_SINGLE_TID_RC_MAX),
1995
1996 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1997 hdd_config_t, dynamicPsPollValue,
1998 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1999 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
2000 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
2001 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
2002
2003 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
2004 hdd_config_t, teleBcnWakeupEn,
2005 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2006 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
2007 CFG_TELE_BCN_WAKEUP_EN_MIN,
2008 CFG_TELE_BCN_WAKEUP_EN_MAX ),
2009
2010 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
2011 hdd_config_t, infraStaKeepAlivePeriod,
2012 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2013 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
2014 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
2015 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
2016
2017 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002018 hdd_config_t, AddTSWhenACMIsOff,
2019 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2020 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
2021 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002022 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
2023
2024
2025 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002026 hdd_config_t, fValidateScanList,
2027 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2028 CFG_VALIDATE_SCAN_LIST_DEFAULT,
2029 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002030 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002031
Jeff Johnson295189b2012-06-20 16:38:30 -07002032 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002033 hdd_config_t, nNullDataApRespTimeout,
2034 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2035 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
2036 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002037 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
2038
2039 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002040 hdd_config_t, apDataAvailPollPeriodInMs,
2041 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2042 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2043 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002044 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002045
Jeff Johnson295189b2012-06-20 16:38:30 -07002046 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002047 hdd_config_t, enableBtAmp,
2048 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2049 CFG_ENABLE_BTAMP_DEFAULT,
2050 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002051 CFG_ENABLE_BTAMP_MAX ),
2052
2053#ifdef WLAN_BTAMP_FEATURE
2054 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002055 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002056 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2057 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2058 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2059 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2060#endif //WLAN_BTAMP_FEATURE
2061 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002062 hdd_config_t, nBandCapability,
2063 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2064 CFG_BAND_CAPABILITY_DEFAULT,
2065 CFG_BAND_CAPABILITY_MIN,
2066 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002067
2068 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002069 hdd_config_t, fEnableBeaconEarlyTermination,
2070 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2071 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2072 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2073 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002074/* CFG_VOS_TRACE_ENABLE Parameters */
2075 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2076 hdd_config_t, vosTraceEnableBAP,
2077 VAR_FLAGS_OPTIONAL,
2078 CFG_VOS_TRACE_ENABLE_DEFAULT,
2079 CFG_VOS_TRACE_ENABLE_MIN,
2080 CFG_VOS_TRACE_ENABLE_MAX ),
2081
2082 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2083 hdd_config_t, vosTraceEnableTL,
2084 VAR_FLAGS_OPTIONAL,
2085 CFG_VOS_TRACE_ENABLE_DEFAULT,
2086 CFG_VOS_TRACE_ENABLE_MIN,
2087 CFG_VOS_TRACE_ENABLE_MAX ),
2088
2089 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2090 hdd_config_t, vosTraceEnableWDI,
2091 VAR_FLAGS_OPTIONAL,
2092 CFG_VOS_TRACE_ENABLE_DEFAULT,
2093 CFG_VOS_TRACE_ENABLE_MIN,
2094 CFG_VOS_TRACE_ENABLE_MAX ),
2095
2096 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2097 hdd_config_t, vosTraceEnableHDD,
2098 VAR_FLAGS_OPTIONAL,
2099 CFG_VOS_TRACE_ENABLE_DEFAULT,
2100 CFG_VOS_TRACE_ENABLE_MIN,
2101 CFG_VOS_TRACE_ENABLE_MAX ),
2102
2103 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2104 hdd_config_t, vosTraceEnableSME,
2105 VAR_FLAGS_OPTIONAL,
2106 CFG_VOS_TRACE_ENABLE_DEFAULT,
2107 CFG_VOS_TRACE_ENABLE_MIN,
2108 CFG_VOS_TRACE_ENABLE_MAX ),
2109
2110 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2111 hdd_config_t, vosTraceEnablePE,
2112 VAR_FLAGS_OPTIONAL,
2113 CFG_VOS_TRACE_ENABLE_DEFAULT,
2114 CFG_VOS_TRACE_ENABLE_MIN,
2115 CFG_VOS_TRACE_ENABLE_MAX ),
2116
Katya Nigam70d68332013-09-16 16:49:45 +05302117 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PMC_NAME, WLAN_PARAM_Integer,
2118 hdd_config_t, vosTraceEnablePMC,
2119 VAR_FLAGS_OPTIONAL,
2120 CFG_VOS_TRACE_ENABLE_DEFAULT,
2121 CFG_VOS_TRACE_ENABLE_MIN,
2122 CFG_VOS_TRACE_ENABLE_MAX ),
2123
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002124 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2125 hdd_config_t, vosTraceEnableWDA,
2126 VAR_FLAGS_OPTIONAL,
2127 CFG_VOS_TRACE_ENABLE_DEFAULT,
2128 CFG_VOS_TRACE_ENABLE_MIN,
2129 CFG_VOS_TRACE_ENABLE_MAX ),
2130
2131 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2132 hdd_config_t, vosTraceEnableSYS,
2133 VAR_FLAGS_OPTIONAL,
2134 CFG_VOS_TRACE_ENABLE_DEFAULT,
2135 CFG_VOS_TRACE_ENABLE_MIN,
2136 CFG_VOS_TRACE_ENABLE_MAX ),
2137
2138 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2139 hdd_config_t, vosTraceEnableVOSS,
2140 VAR_FLAGS_OPTIONAL,
2141 CFG_VOS_TRACE_ENABLE_DEFAULT,
2142 CFG_VOS_TRACE_ENABLE_MIN,
2143 CFG_VOS_TRACE_ENABLE_MAX ),
2144
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002145 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2146 hdd_config_t, vosTraceEnableSAP,
2147 VAR_FLAGS_OPTIONAL,
2148 CFG_VOS_TRACE_ENABLE_DEFAULT,
2149 CFG_VOS_TRACE_ENABLE_MIN,
2150 CFG_VOS_TRACE_ENABLE_MAX ),
2151
2152 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2153 hdd_config_t, vosTraceEnableHDDSAP,
2154 VAR_FLAGS_OPTIONAL,
2155 CFG_VOS_TRACE_ENABLE_DEFAULT,
2156 CFG_VOS_TRACE_ENABLE_MIN,
2157 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002158
Jeff Johnson295189b2012-06-20 16:38:30 -07002159 /* note that since the default value is out of range we cannot
2160 enable range check, otherwise we get a system log message */
2161 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2162 hdd_config_t, wdiTraceEnableDAL,
2163 VAR_FLAGS_OPTIONAL,
2164 CFG_WDI_TRACE_ENABLE_DEFAULT,
2165 CFG_WDI_TRACE_ENABLE_MIN,
2166 CFG_WDI_TRACE_ENABLE_MAX ),
2167
2168 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2169 hdd_config_t, wdiTraceEnableCTL,
2170 VAR_FLAGS_OPTIONAL,
2171 CFG_WDI_TRACE_ENABLE_DEFAULT,
2172 CFG_WDI_TRACE_ENABLE_MIN,
2173 CFG_WDI_TRACE_ENABLE_MAX ),
2174
2175 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2176 hdd_config_t, wdiTraceEnableDAT,
2177 VAR_FLAGS_OPTIONAL,
2178 CFG_WDI_TRACE_ENABLE_DEFAULT,
2179 CFG_WDI_TRACE_ENABLE_MIN,
2180 CFG_WDI_TRACE_ENABLE_MAX ),
2181
2182 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2183 hdd_config_t, wdiTraceEnablePAL,
2184 VAR_FLAGS_OPTIONAL,
2185 CFG_WDI_TRACE_ENABLE_DEFAULT,
2186 CFG_WDI_TRACE_ENABLE_MIN,
2187 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002188
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002189 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002190 hdd_config_t, nTeleBcnTransListenInterval,
2191 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2192 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2193 CFG_TELE_BCN_TRANS_LI_MIN,
2194 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002195
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002196 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002197 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2198 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2199 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2200 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2201 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002202
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002203 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002204 hdd_config_t, nTeleBcnMaxListenInterval,
2205 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2206 CFG_TELE_BCN_MAX_LI_DEFAULT,
2207 CFG_TELE_BCN_MAX_LI_MIN,
2208 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002209
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002210 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002211 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2212 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2213 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2214 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2215 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002216
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002217 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002218 hdd_config_t, bcnEarlyTermWakeInterval,
2219 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2220 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2221 CFG_BCN_EARLY_TERM_WAKE_MIN,
2222 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002223
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002224 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002225 hdd_config_t, apDataAvailPollPeriodInMs,
2226 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2227 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2228 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002229 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2230
2231 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002232 hdd_config_t, enableCloseLoop,
2233 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2234 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2235 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002236 CFG_ENABLE_CLOSE_LOOP_MAX ),
2237
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002238 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002239 hdd_config_t, enableBypass11d,
2240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2241 CFG_ENABLE_BYPASS_11D_DEFAULT,
2242 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002243 CFG_ENABLE_BYPASS_11D_MAX ),
2244
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002245 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002246 hdd_config_t, enableDFSChnlScan,
2247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2248 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2249 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002250 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2251
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002252 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002253 hdd_config_t, enableDynamicDTIM,
2254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2255 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2256 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002257 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2258
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002259 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002260 hdd_config_t, enableAutomaticTxPowerControl,
2261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2262 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2263 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002264 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2265
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002266 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002267 hdd_config_t, ShortGI40MhzEnable,
2268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2269 CFG_SHORT_GI_40MHZ_DEFAULT,
2270 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002271 CFG_SHORT_GI_40MHZ_MAX ),
2272
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002273 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002274 hdd_config_t, reportMaxLinkSpeed,
2275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2276 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2277 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002278 CFG_REPORT_MAX_LINK_SPEED_MAX,
2279 NULL, 0 ),
2280
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002281 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002282 hdd_config_t, linkSpeedRssiHigh,
2283 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2284 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2285 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2286 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2287 NULL, 0 ),
2288
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002289 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002290 hdd_config_t, linkSpeedRssiMid,
2291 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2292 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2293 CFG_LINK_SPEED_RSSI_MID_MIN,
2294 CFG_LINK_SPEED_RSSI_MID_MAX,
2295 NULL, 0 ),
2296
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002297 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002298 hdd_config_t, linkSpeedRssiLow,
2299 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2300 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2301 CFG_LINK_SPEED_RSSI_LOW_MIN,
2302 CFG_LINK_SPEED_RSSI_LOW_MAX,
2303 NULL, 0 ),
2304
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002305#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002306 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002307 hdd_config_t, nRoamPrefer5GHz,
2308 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2309 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2310 CFG_ROAM_PREFER_5GHZ_MIN,
2311 CFG_ROAM_PREFER_5GHZ_MAX,
2312 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002313
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002314 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002315 hdd_config_t, nRoamIntraBand,
2316 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2317 CFG_ROAM_INTRA_BAND_DEFAULT,
2318 CFG_ROAM_INTRA_BAND_MIN,
2319 CFG_ROAM_INTRA_BAND_MAX,
2320 cbNotifySetRoamIntraBand, 0 ),
2321
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002322 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2323 hdd_config_t, nProbes,
2324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2325 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2326 CFG_ROAM_SCAN_N_PROBES_MIN,
2327 CFG_ROAM_SCAN_N_PROBES_MAX,
2328 cbNotifySetRoamScanNProbes, 0 ),
2329
2330 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2331 hdd_config_t, nRoamScanHomeAwayTime,
2332 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2333 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2334 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2335 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2336 cbNotifySetRoamScanHomeAwayTime, 0 ),
2337
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002338#endif
2339
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002340 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002341 hdd_config_t, isP2pDeviceAddrAdministrated,
2342 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2343 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2344 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2345 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002346
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002347 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002348 hdd_config_t, enableMCC,
2349 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2350 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2351 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002352 CFG_ENABLE_MCC_ENABLED_MAX ),
2353
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002354 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002355 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002356 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2357 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2358 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2359 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002360
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002361 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002362 hdd_config_t, thermalMitigationEnable,
2363 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2364 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2365 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002366 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002367
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002368 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002369 hdd_config_t, enableModulatedDTIM,
2370 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2371 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2372 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002373 CFG_ENABLE_MODULATED_DTIM_MAX ),
2374
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002375 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002376 hdd_config_t, fEnableMCAddrList,
2377 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2378 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2379 CFG_MC_ADDR_LIST_ENABLE_MIN,
2380 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2381
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002382#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002383 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002384 hdd_config_t, vhtChannelWidth,
2385 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2386 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2387 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002388 CFG_VHT_CHANNEL_WIDTH_MAX),
2389
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002390 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002391 hdd_config_t, vhtRxMCS,
2392 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2393 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2394 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002395 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2396
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002397 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002398 hdd_config_t, vhtTxMCS,
2399 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2400 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2401 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002402 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2403#endif
2404
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002405 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002406 hdd_config_t, enableFirstScan2GOnly,
2407 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2408 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2409 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002410 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2411
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002412 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002413 hdd_config_t, skipDfsChnlInP2pSearch,
2414 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2415 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2416 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002417 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2418
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002419 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002420 hdd_config_t, ignoreDynamicDtimInP2pMode,
2421 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2422 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2423 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002424 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2425
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002426 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002427 hdd_config_t,numBuffAdvert ,
2428 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2429 CFG_NUM_BUFF_ADVERT_DEFAULT,
2430 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002431 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002432
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002433 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002434 hdd_config_t, configMccParam,
2435 VAR_FLAGS_OPTIONAL,
2436 CFG_MCC_CONFIG_PARAM_DEFAULT,
2437 CFG_MCC_CONFIG_PARAM_MIN,
2438 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002439 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002440 hdd_config_t, enableRxSTBC,
2441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2442 CFG_ENABLE_RX_STBC_DEFAULT,
2443 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302444 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002445#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002446 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002447 hdd_config_t, fEnableTDLSSupport,
2448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2449 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2450 CFG_TDLS_SUPPORT_ENABLE_MIN,
2451 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302452
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002453 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302454 hdd_config_t, fEnableTDLSImplicitTrigger,
2455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2456 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2457 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2458 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2459
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002460 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302461 hdd_config_t, fTDLSTxStatsPeriod,
2462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2463 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2464 CFG_TDLS_TX_STATS_PERIOD_MIN,
2465 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2466
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002467 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302468 hdd_config_t, fTDLSTxPacketThreshold,
2469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2470 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2471 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2472 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2473
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002474 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302475 hdd_config_t, fTDLSDiscoveryPeriod,
2476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2477 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2478 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2479 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2480
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002481 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302482 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2483 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2484 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2485 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2486 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2487
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002488 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002489 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302490 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002491 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2492 CFG_TDLS_IDLE_TIMEOUT_MIN,
2493 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2494
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002495 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002496 hdd_config_t, fTDLSIdlePacketThreshold,
2497 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2498 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2499 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2500 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302501
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002502 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002503 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2505 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2506 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2507 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002508
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002509 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002510 hdd_config_t, fTDLSRSSITriggerThreshold,
2511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2512 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2513 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2514 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2515
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002516 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002517 hdd_config_t, fTDLSRSSITeardownThreshold,
2518 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2519 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2520 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2521 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302522
2523REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2524 hdd_config_t, fTDLSUapsdMask,
2525 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2526 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2527 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2528 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2529
2530REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2531 hdd_config_t, fEnableTDLSBufferSta,
2532 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2533 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2534 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2535 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2536
2537REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2538 hdd_config_t, fTDLSPuapsdInactivityTimer,
2539 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2540 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2541 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2542 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2543
2544REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2545 hdd_config_t, fTDLSRxFrameThreshold,
2546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2547 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2548 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2549 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002550#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002551
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002552#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002553 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002554 hdd_config_t, fEnableVSTASupport,
2555 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2556 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2557 CFG_VSTA_SUPPORT_ENABLE_MIN,
2558 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2559#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002560 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002561 hdd_config_t, enableLpwrImgTransition,
2562 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2563 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2564 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002565 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2566
Yathish9f22e662012-12-10 14:21:35 -08002567#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002568 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002569 hdd_config_t, fEnableActiveModeOffload,
2570 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2571 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2572 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2573 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2574#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002575 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002576 hdd_config_t, enableLpwrImgTransition,
2577 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2578 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2579 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2580 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2581
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002582
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002583 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002584 hdd_config_t, scanAgingTimeout,
2585 VAR_FLAGS_OPTIONAL,
2586 CFG_SCAN_AGING_PARAM_DEFAULT,
2587 CFG_SCAN_AGING_PARAM_MIN,
2588 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002589
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002590 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002591 hdd_config_t, enableTxLdpc,
2592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2593 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2594 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2595 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2596
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002597 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302598 hdd_config_t, enableMCCAdaptiveScheduler,
2599 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2600 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2601 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2602 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2603
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002604 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302605 hdd_config_t, isAndroidPsEn,
2606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2607 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2608 CFG_ANDRIOD_POWER_SAVE_MIN,
2609 CFG_ANDRIOD_POWER_SAVE_MAX),
2610
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002611 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002612 hdd_config_t, AdHocChannel5G,
2613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2614 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2615 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2616 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2617
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002618 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002619 hdd_config_t, AdHocChannel24G,
2620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2621 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2622 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2623 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2624
2625
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002626#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002627 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002628 hdd_config_t, enableTxBF,
2629 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2630 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2631 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2632 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002633
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002634 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002635 hdd_config_t, txBFCsnValue,
2636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2637 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2638 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2639 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2640
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002641#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302642
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002643 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302644 hdd_config_t, sapAllowAllChannel,
2645 VAR_FLAGS_OPTIONAL,
2646 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2647 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2648 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002649
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002650#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002651 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002652 hdd_config_t, disableLDPCWithTxbfAP,
2653 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2654 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2655 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2656 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2657#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002658
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002659 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002660 hdd_config_t, listOfNonDfsCountryCode,
2661 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2662 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2663
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002664 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2665 hdd_config_t, enableSSR,
2666 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2667 CFG_ENABLE_SSR_DEFAULT,
2668 CFG_ENABLE_SSR_MIN,
2669 CFG_ENABLE_SSR_MAX,
2670 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302671
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002672 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302673 hdd_config_t, listOfNon11acCountryCode,
2674 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2675 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2676
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002677 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302678 hdd_config_t, cfgMaxMediumTime,
2679 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2680 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2681 CFG_MAX_MEDIUM_TIME_STAMIN,
2682 CFG_MAX_MEDIUM_TIME_STAMAX ),
2683
Leo Chang64d68bc2013-06-04 15:40:52 -07002684 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2685 hdd_config_t, enableTrafficMonitor,
2686 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2687 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2688 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2689 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2690
2691 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2692 hdd_config_t, trafficIdleTimeout,
2693 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2694 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2695 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2696 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002697
2698#ifdef WLAN_FEATURE_11AC
2699 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2700 hdd_config_t, enableVhtFor24GHzBand,
2701 VAR_FLAGS_OPTIONAL,
2702 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2703 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2704 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2705#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302706
2707 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2708 hdd_config_t, fScanOffload,
2709 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2710 CFG_SCAN_OFFLOAD_DEFAULT,
2711 CFG_SCAN_OFFLOAD_DISABLE,
2712 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002713
2714#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2715 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2716 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2717 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2718 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2719 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2720 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2721 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2722#endif
2723
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002724 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2725 hdd_config_t, fEnableAdaptRxDrain,
2726 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2727 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2728 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2729 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2730
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002731 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2732 hdd_config_t, dynSplitscan,
2733 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2734 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2735 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2736 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2737
2738 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2739 hdd_config_t, txRxThresholdForSplitScan,
2740 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2741 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2742 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2743 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2744
2745 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2746 hdd_config_t, trafficMntrTmrForSplitScan,
2747 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2748 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2749 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2750 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2751
Yue Ma0fd23872013-08-01 15:56:47 -07002752 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2753 hdd_config_t, flexConnectPowerFactor,
2754 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2755 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2756 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2757 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2758
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002759 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2760 hdd_config_t, enableIbssHeartBeatOffload,
2761 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2762 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2763 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2764 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2765
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302766 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2767 hdd_config_t, antennaDiversity,
2768 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2769 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2770 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2771 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302772
2773 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2774 hdd_config_t, fEnableSNRMonitoring,
2775 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2776 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2777 CFG_ENABLE_SNR_MONITORING_MIN,
2778 CFG_ENABLE_SNR_MONITORING_MAX),
2779
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302780#ifdef FEATURE_WLAN_SCAN_PNO
Hardik Kantilal Patel3dfd8792013-11-13 20:34:57 +05302781 REG_VARIABLE( CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer,
2782 hdd_config_t, configPNOScanSupport,
2783 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2784 CFG_PNO_SCAN_SUPPORT_DEFAULT,
2785 CFG_PNO_SCAN_SUPPORT_DISABLE,
2786 CFG_PNO_SCAN_SUPPORT_ENABLE),
2787
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302788 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2789 hdd_config_t, configPNOScanTimerRepeatValue,
2790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2791 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2792 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2793 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2794#endif
krunal soni5afa96c2013-09-06 22:19:02 -07002795 REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
2796 hdd_config_t, isAmsduSupportInAMPDU,
2797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2798 CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
2799 CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
2800 CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302801
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07002802 REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer,
2803 hdd_config_t, nSelect5GHzMargin,
2804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2805 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2806 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2807 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX ),
2808
krunal sonie9002db2013-11-25 14:24:17 -08002809 REG_VARIABLE( CFG_COALESING_IN_IBSS_NAME , WLAN_PARAM_Integer,
2810 hdd_config_t, isCoalesingInIBSSAllowed,
2811 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2812 CFG_COALESING_IN_IBSS_DEFAULT,
2813 CFG_COALESING_IN_IBSS_MIN,
2814 CFG_COALESING_IN_IBSS_MAX ),
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05302815
2816 REG_VARIABLE( CFG_DISABLE_ATH_NAME , WLAN_PARAM_Integer,
2817 hdd_config_t, cfgAthDisable,
2818 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2819 CFG_DISABLE_ATH_DEFAULT,
2820 CFG_DISABLE_ATH_MIN,
2821 CFG_DISABLE_ATH_MAX ),
c_hpothu6d7dc922013-12-02 12:36:41 +05302822 REG_VARIABLE(CFG_BTC_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2823 hdd_config_t, cfgBtcActiveWlanLen,
2824 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2825 CFG_BTC_ACTIVE_WLAN_LEN_DEFAULT,
2826 CFG_BTC_ACTIVE_WLAN_LEN_MIN,
2827 CFG_BTC_ACTIVE_WLAN_LEN_MAX ),
2828
2829 REG_VARIABLE(CFG_BTC_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2830 hdd_config_t, cfgBtcActiveBtLen,
2831 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2832 CFG_BTC_ACTIVE_BT_LEN_DEFAULT,
2833 CFG_BTC_ACTIVE_BT_LEN_MIN,
2834 CFG_BTC_ACTIVE_BT_LEN_MAX ),
2835
2836 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2837 hdd_config_t, cfgBtcSapActiveWlanLen,
2838 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2839 CFG_BTC_SAP_ACTIVE_WLAN_LEN_DEFAULT,
2840 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MIN,
2841 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MAX ),
2842
2843 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2844 hdd_config_t, cfgBtcSapActiveBtLen,
2845 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2846 CFG_BTC_SAP_ACTIVE_BT_LEN_DEFAULT,
2847 CFG_BTC_SAP_ACTIVE_BT_LEN_MIN,
2848 CFG_BTC_SAP_ACTIVE_BT_LEN_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002849};
2850
2851/*
2852 * This function returns a pointer to the character after the occurence
2853 * of a new line character. It also modifies the original string by replacing
2854 * the '\n' character with the null character.
2855 * Function returns NULL if no new line character was found before end of
2856 * string was reached
2857 */
2858static char* get_next_line(char* str)
2859{
2860 char c;
2861
2862 if( str == NULL || *str == '\0') {
2863 return NULL;
2864 }
2865
2866 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002867 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002868 str = str + 1;
2869 c = *str;
2870 }
2871
2872 if (c == '\0' ) {
2873 return NULL;
2874 }
2875 else
2876 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002877 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002878 return (str+1);
2879 }
2880
2881 return NULL;
2882}
2883
2884// look for space. Ascii values to look are -
2885// 0x09 == horizontal tab
2886// 0x0a == Newline ("\n")
2887// 0x0b == vertical tab
2888// 0x0c == Newpage or feed form.
2889// 0x0d == carriage return (CR or "\r")
2890// Null ('\0') should not considered as space.
2891#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2892
2893/*
2894 * This function trims any leading and trailing white spaces
2895 */
2896static char *i_trim(char *str)
2897
2898{
2899 char *ptr;
2900
2901 if(*str == '\0') return str;
2902
2903 /* Find the first non white-space*/
2904 for (ptr = str; i_isspace(*ptr); ptr++);
2905 if (*ptr == '\0')
2906 return str;
2907
2908 /* This is the new start of the string*/
2909 str = ptr;
2910
2911 /* Find the last non white-space */
2912 ptr += strlen(ptr) - 1;
2913 for (; ptr != str && i_isspace(*ptr); ptr--);
2914 /* Null terminate the following character */
2915 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002916
Jeff Johnson295189b2012-06-20 16:38:30 -07002917 return str;
2918}
2919
2920
2921//Structure to store each entry in qcom_cfg.ini file
2922typedef struct
2923{
2924 char *name;
2925 char *value;
2926}tCfgIniEntry;
2927
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002928static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002929 tCfgIniEntry* iniTable, unsigned long entries);
2930
2931#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002932void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002933{
2934 unsigned long i;
2935
2936 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002937 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002938 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2939 }
2940}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002941#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002942
2943/*
2944 * This function reads the qcom_cfg.ini file and
2945 * parses each 'Name=Value' pair in the ini file
2946 */
2947VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2948{
2949 int status, i=0;
2950 /** Pointer for firmware image data */
2951 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002952 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002953 size_t size;
2954 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002955 /* cfgIniTable is static to avoid excess stack usage */
2956 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002957 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2958
2959 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2960
2961 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002962
Jeff Johnson295189b2012-06-20 16:38:30 -07002963 if(status)
2964 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002965 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002966 vos_status = VOS_STATUS_E_FAILURE;
2967 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002968 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002969 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002970 {
2971 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002972 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002973 vos_status = VOS_STATUS_E_FAILURE;
2974 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002975 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002976
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002977 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002978
2979 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002980
Jeff Johnson295189b2012-06-20 16:38:30 -07002981 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002982 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002983 release_firmware(fw);
2984 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002985 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002986 pTemp = buffer;
2987
2988 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2989 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002990
Jeff Johnson295189b2012-06-20 16:38:30 -07002991 while (buffer != NULL)
2992 {
2993 line = get_next_line(buffer);
2994 buffer = i_trim(buffer);
2995
2996 hddLog(LOG1, "%s: item", buffer);
2997
2998 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2999 buffer = line;
3000 continue;
3001 }
3002 else if(strncmp(buffer, "END", 3) == 0 ) {
3003 break;
3004 }
3005 else
3006 {
3007 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003008 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003009 buffer++;
3010 if(*buffer != '\0') {
3011 *buffer++ = '\0';
3012 i_trim(name);
3013 if(strlen (name) != 0) {
3014 buffer = i_trim(buffer);
3015 if(strlen(buffer)>0) {
3016 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003017 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003018 buffer++;
3019 *buffer = '\0';
3020 cfgIniTable[i].name= name;
3021 cfgIniTable[i++].value= value;
3022 if(i >= MAX_CFG_INI_ITEMS) {
3023 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003024 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07003025 break;
3026 }
3027 }
3028 }
3029 }
3030 }
3031 buffer = line;
3032 }
3033
3034 //Loop through the registry table and apply all these configs
3035 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
3036
Jeff Johnson4416a782013-03-25 14:17:50 -07003037config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07003038 release_firmware(fw);
3039 vos_mem_free(pTemp);
3040 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003041}
Jeff Johnson295189b2012-06-20 16:38:30 -07003042
3043
3044static void print_hdd_cfg(hdd_context_t *pHddCtx)
3045{
3046 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003047 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RTSThreshold] Value = %u",pHddCtx->cfg_ini->RTSThreshold) ;
Jeff Johnson295189b2012-06-20 16:38:30 -07003048 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
3049 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
3050 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
3051 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [AutoBmpsTimerEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsAutoBmpsTimerEnabled);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003052 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nAutoBmpsTimerValue] Value = [%u]",pHddCtx->cfg_ini->nAutoBmpsTimerValue);
Jeff Johnson295189b2012-06-20 16:38:30 -07003053 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
Arif Hussaina7c8e412013-11-20 11:06:42 -08003054 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
3055 "Name = [gIbssBssid] Value =["MAC_ADDRESS_STR"]",
3056 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->IbssBssid.bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003057
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003058 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003059 "Name = [Intf0MacAddress] Value =["MAC_ADDRESS_STR"]",
3060 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[0].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003061
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003062 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003063 "Name = [Intf1MacAddress] Value =["MAC_ADDRESS_STR"]",
3064 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[1].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003065
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003066 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003067 "Name = [Intf2MacAddress] Value =["MAC_ADDRESS_STR"]",
3068 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[2].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003069
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003070 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003071 "Name = [Intf3MacAddress] Value =["MAC_ADDRESS_STR"]",
3072 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[3].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003073
3074 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
3075
3076 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
3077 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
3078 pHddCtx->cfg_ini->apCntryCode[2]);
3079 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
3080 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
3081
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003082 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 -07003083 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
3084 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
3085 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 -08003086
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003087 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3088 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3089 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [dot11Mode] Value = [%u]",pHddCtx->cfg_ini->dot11Mode);
Jeff Johnson295189b2012-06-20 16:38:30 -07003090 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3091 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3092 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3093 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3094
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003095 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3096 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003097
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003098 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3099 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003100
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003101 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3102 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003103
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003104 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3105 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSuspIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSuspIntv);
Jeff Johnson295189b2012-06-20 16:38:30 -07003106#ifdef FEATURE_WLAN_CCX
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003107 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%u] ",pHddCtx->cfg_ini->InfraInactivityInterval);
3108 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%u] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
3109 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3110 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gTxPowerCap] Value = [%u] dBm ",pHddCtx->cfg_ini->nTxPowerCap);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003111#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003112#ifdef FEATURE_WLAN_LFR
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08003113 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [MAWCEnabled] Value = [%u] ",pHddCtx->cfg_ini->MAWCEnabled);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003114 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastRoamEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003115#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07003116#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003117 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->RoamRssiDiff);
3118 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
3119 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [isWESModeEnabled] Value = [%u] ",pHddCtx->cfg_ini->isWESModeEnabled);
Jeff Johnson43971f52012-07-17 12:26:56 -07003120#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003121#ifdef FEATURE_WLAN_OKC
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003122 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OkcEnabled] Value = [%u] ",pHddCtx->cfg_ini->isOkcIniFeatureEnabled);
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003123#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003124 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3125 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVo);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003126 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3127 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVo);
Jeff Johnson295189b2012-06-20 16:38:30 -07003128 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3129
3130 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3131 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcVi);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003132 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3133 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcVi);
Jeff Johnson295189b2012-06-20 16:38:30 -07003134 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3135
3136 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3137 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBe);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003138 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3139 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBe);
Jeff Johnson295189b2012-06-20 16:38:30 -07003140 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3141
3142 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3143 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraNomMsduSizeAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraNomMsduSizeAcBk);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003144 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3145 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMinPhyRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMinPhyRateAcBk);
Jeff Johnson295189b2012-06-20 16:38:30 -07003146 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3147
3148 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3149 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3150 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3151 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqVoWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqVoWeight);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003152 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [DelayedTriggerFrmInt] Value = [%u] ",pHddCtx->cfg_ini->DelayedTriggerFrmInt);
Jeff Johnson295189b2012-06-20 16:38:30 -07003153 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3154 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 -08003155#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003156 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fFTResourceReqSupported] Value = [%u] ",pHddCtx->cfg_ini->fFTResourceReqSupported);
Jeff Johnson295189b2012-06-20 16:38:30 -07003157#endif
3158
3159#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003160 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3161 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3162 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3163 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3164 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%u] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3165 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3166 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
3167 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nEmptyScanRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
Jeff Johnson295189b2012-06-20 16:38:30 -07003168#endif
3169 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3170 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3171 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3172 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3173 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3174 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3175 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3176
3177 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3178 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3179 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3180#ifdef WLAN_BTAMP_FEATURE
3181 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3182#endif //WLAN_BTAMP_FEATURE
3183 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3184 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3185 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3186 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3187 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3188 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3189 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3190 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3191 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3192 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3193 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3194 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3195 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 -07003196#ifdef WLAN_FEATURE_11AC
3197 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
3198#endif
3199 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3200 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3201 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 +05303202 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 -08003203 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 -07003204 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 -07003205 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 -07003206
Leo Chang64d68bc2013-06-04 15:40:52 -07003207 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3208 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 -07003209 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 -07003210 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 +05303211 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 +05303212 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3213 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3214 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3215 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod);
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003216 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%u] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
3217 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nSelect5GHzMargin] Value = [%u] ",pHddCtx->cfg_ini->nSelect5GHzMargin);
krunal sonie9002db2013-11-25 14:24:17 -08003218 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gCoalesingInIBSS] Value = [%lu] ",pHddCtx->cfg_ini->isCoalesingInIBSSAllowed);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303219
Jeff Johnson295189b2012-06-20 16:38:30 -07003220}
3221
3222
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003223
Jeff Johnson295189b2012-06-20 16:38:30 -07003224#define CFG_VALUE_MAX_LEN 256
3225#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3226VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3227{
3228 unsigned int idx;
3229 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3230 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3231 v_U32_t value;
3232 char valueStr[CFG_VALUE_MAX_LEN];
3233 char configStr[CFG_ENTRY_MAX_LEN];
3234 char *fmt;
3235 void *pField;
3236 v_MACADDR_t *pMacAddr;
3237 char *pCur = pBuf;
3238 int curlen;
3239
3240 // start with an empty string
3241 *pCur = '\0';
3242
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003243 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003244 {
3245 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3246
3247 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3248 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003249 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003250 {
3251 value = 0;
3252 memcpy( &value, pField, pRegEntry->VarSize );
3253 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3254 {
3255 fmt = "%x";
3256 }
3257 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3258 {
3259 fmt = "%d";
3260 }
3261 else
3262 {
3263 fmt = "%u";
3264 }
3265 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3266 }
3267 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3268 {
3269 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3270 }
3271 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3272 {
3273 pMacAddr = (v_MACADDR_t *) pField;
3274 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3275 "%02x:%02x:%02x:%02x:%02x:%02x",
3276 pMacAddr->bytes[0],
3277 pMacAddr->bytes[1],
3278 pMacAddr->bytes[2],
3279 pMacAddr->bytes[3],
3280 pMacAddr->bytes[4],
3281 pMacAddr->bytes[5]);
3282 }
3283 else
3284 {
3285 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3286 }
Sameer Thalappilb0a30232013-09-27 15:37:48 -07003287 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
Jeff Johnson295189b2012-06-20 16:38:30 -07003288 "%s=[%s]%s\n",
3289 pRegEntry->RegName,
3290 valueStr,
3291 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3292 "*" : "");
3293
3294 // ideally we want to return the config to the application
3295 // however the config is too big so we just printk() for now
3296#ifdef RETURN_IN_BUFFER
3297 if (curlen <= buflen)
3298 {
3299 // copy string + '\0'
3300 memcpy(pCur, configStr, curlen+1);
3301
3302 // account for addition;
3303 pCur += curlen;
3304 buflen -= curlen;
3305 }
3306 else
3307 {
3308 // buffer space exhausted, return what we have
3309 return VOS_STATUS_E_RESOURCES;
3310 }
3311#else
3312 printk(KERN_CRIT "%s", configStr);
3313#endif // RETURN_IN_BUFFER
3314
3315}
3316
3317#ifndef RETURN_IN_BUFFER
3318 // notify application that output is in system log
3319 snprintf(pCur, buflen, "WLAN configuration written to system log");
3320#endif // RETURN_IN_BUFFER
3321
3322 return VOS_STATUS_SUCCESS;
3323}
3324
3325static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003326 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003327{
3328 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3329 unsigned long i;
3330
3331 for (i = 0; i < entries; i++) {
3332 if (strcmp(iniTable[i].name, name) == 0) {
3333 *value = iniTable[i].value;
3334 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3335 WLAN_INI_FILE, name, *value);
3336 return VOS_STATUS_SUCCESS;
3337 }
3338 }
3339
3340 return status;
3341}
3342
3343static int parseHexDigit(char c)
3344{
3345 if (c >= '0' && c <= '9')
3346 return c-'0';
3347 if (c >= 'a' && c <= 'f')
3348 return c-'a'+10;
3349 if (c >= 'A' && c <= 'F')
3350 return c-'A'+10;
3351
3352 return 0;
3353}
3354
3355
3356static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3357{
3358 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3359 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3360 unsigned int idx;
3361 void *pField;
3362 char *value_str = NULL;
3363 unsigned long len_value_str;
3364 char *candidate;
3365 v_U32_t value;
3366 v_S31_t svalue;
3367 void *pStructBase = pHddCtx->cfg_ini;
3368 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3369 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3370 v_U32_t cbOutString;
3371 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003372 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003373
3374 // sanity test
3375 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3376 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003377 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003378 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003379 }
3380
3381 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3382 {
3383 //Calculate the address of the destination field in the structure.
3384 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3385
3386 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3387
3388 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3389 {
3390 // If we could not read the cfg item and it is required, this is an error.
3391 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003392 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003393 ret_status = VOS_STATUS_E_FAILURE;
3394 break;
3395 }
3396
3397 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3398 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3399 {
3400 // If successfully read from the registry, use the value read.
3401 // If not, use the default value.
3402 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003403 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003404 if (rv < 0) {
3405 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3406 __func__, pRegEntry->RegName);
3407 value = pRegEntry->VarDefault;
3408 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003409 }
3410 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003411 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003412 if (rv < 0) {
3413 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3414 __func__, pRegEntry->RegName);
3415 value = pRegEntry->VarDefault;
3416 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003417 }
3418 else {
3419 value = pRegEntry->VarDefault;
3420 }
3421
3422 // If this parameter needs range checking, do it here.
3423 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3424 {
3425 if ( value > pRegEntry->VarMax )
3426 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003427 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003428 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003429 value = pRegEntry->VarMax;
3430 }
3431
3432 if ( value < pRegEntry->VarMin )
3433 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003434 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003435 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003436 value = pRegEntry->VarMin;
3437 }
3438 }
3439 // If this parameter needs range checking, do it here.
3440 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3441 {
3442 if ( value > pRegEntry->VarMax )
3443 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003444 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003445 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003446 value = pRegEntry->VarDefault;
3447 }
3448
3449 if ( value < pRegEntry->VarMin )
3450 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003451 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003452 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003453 value = pRegEntry->VarDefault;
3454 }
3455 }
3456
3457 // Move the variable into the output field.
3458 memcpy( pField, &value, pRegEntry->VarSize );
3459 }
3460 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3461 {
3462 // If successfully read from the registry, use the value read.
3463 // If not, use the default value.
3464 if (VOS_STATUS_SUCCESS == match_status)
3465 {
Jeff Johnson02797792013-10-26 19:17:13 -07003466 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003467 if (rv < 0) {
3468 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3469 __func__, pRegEntry->RegName);
3470 svalue = (v_S31_t)pRegEntry->VarDefault;
3471 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003472 }
3473 else
3474 {
3475 svalue = (v_S31_t)pRegEntry->VarDefault;
3476 }
3477
3478 // If this parameter needs range checking, do it here.
3479 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3480 {
3481 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3482 {
3483 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003484 "[%d > %d]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003485 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3486 svalue = (v_S31_t)pRegEntry->VarMax;
3487 }
3488
3489 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3490 {
3491 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003492 "[%d < %d]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003493 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3494 svalue = (v_S31_t)pRegEntry->VarMin;
3495 }
3496 }
3497 // If this parameter needs range checking, do it here.
3498 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3499 {
3500 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3501 {
3502 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003503 "[%d > %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003504 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003505 (int)pRegEntry->VarMax,
3506 (int)pRegEntry->VarDefault );
3507 svalue = (v_S31_t)pRegEntry->VarDefault;
3508 }
3509
3510 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3511 {
3512 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003513 "[%d < %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003514 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003515 (int)pRegEntry->VarMin,
3516 (int)pRegEntry->VarDefault);
3517 svalue = pRegEntry->VarDefault;
3518 }
3519 }
3520
3521 // Move the variable into the output field.
3522 memcpy( pField, &svalue, pRegEntry->VarSize );
3523 }
3524 // Handle string parameters
3525 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3526 {
3527#ifdef WLAN_CFG_DEBUG
3528 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 -08003529 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003530#endif
3531
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003532 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003533 {
3534 len_value_str = strlen(value_str);
3535
3536 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003537 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003538 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003539 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3540 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3541 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3542 }
3543 else
3544 {
3545 memcpy( pField, (void *)(value_str), len_value_str);
3546 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3547 }
3548 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003549 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003550 {
3551 // Failed to read the string parameter from the registry. Use the default.
3552 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3553 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003554 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003555 }
3556 }
3557 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3558 {
3559 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003560 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3561 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003562 continue;
3563 }
3564 candidate = (char*)pRegEntry->VarDefault;
3565 if ( match_status == VOS_STATUS_SUCCESS) {
3566 len_value_str = strlen(value_str);
3567 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003568 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003569 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003570 }
3571 else
3572 candidate = value_str;
3573 }
3574 //parse the string and store it in the byte array
3575 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3576 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003577 ((char*)pField)[i] =
3578 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003579 }
3580 }
3581 else
3582 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003583 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003584 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003585 }
3586
3587 // did we successfully parse a cfg item for this parameter?
3588 if( (match_status == VOS_STATUS_SUCCESS) &&
3589 (idx < MAX_CFG_INI_ITEMS) )
3590 {
3591 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3592 }
3593 }
3594
3595 print_hdd_cfg(pHddCtx);
3596
3597 return( ret_status );
3598}
3599
3600eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3601{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003602 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003603 {
3604 case (eHDD_DOT11_MODE_abg):
3605 return eCSR_DOT11_MODE_abg;
3606 case (eHDD_DOT11_MODE_11b):
3607 return eCSR_DOT11_MODE_11b;
3608 case (eHDD_DOT11_MODE_11g):
3609 return eCSR_DOT11_MODE_11g;
3610 default:
3611 case (eHDD_DOT11_MODE_11n):
3612 return eCSR_DOT11_MODE_11n;
3613 case (eHDD_DOT11_MODE_11g_ONLY):
3614 return eCSR_DOT11_MODE_11g_ONLY;
3615 case (eHDD_DOT11_MODE_11n_ONLY):
3616 return eCSR_DOT11_MODE_11n_ONLY;
3617 case (eHDD_DOT11_MODE_11b_ONLY):
3618 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003619#ifdef WLAN_FEATURE_11AC
3620 case (eHDD_DOT11_MODE_11ac_ONLY):
3621 return eCSR_DOT11_MODE_11ac_ONLY;
3622 case (eHDD_DOT11_MODE_11ac):
3623 return eCSR_DOT11_MODE_11ac;
3624#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003625 case (eHDD_DOT11_MODE_AUTO):
3626 return eCSR_DOT11_MODE_AUTO;
3627 }
3628
3629}
3630
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003631static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003632{
3633 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3634 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07003635 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003636
Jeff Johnson295189b2012-06-20 16:38:30 -07003637 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3638
3639 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003640 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003641 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3642
Jeff Johnson32d95a32012-09-10 13:15:23 -07003643 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3644 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3645 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3646 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3647 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3648 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3649 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3650 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3651 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3652 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3653 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3654 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3655 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3656
Wilson Tsaof8b37942013-09-06 10:49:00 -07003657 for (i = 0; i < 10; i++)
3658 {
3659 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
3660 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
3661 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
3662 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
3663 }
3664 for (i = 0; i < 6; i++)
3665 {
3666 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
3667 }
3668 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
3669 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
3670
Jeff Johnson295189b2012-06-20 16:38:30 -07003671 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3672}
3673
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003674static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003675{
3676 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3677
3678 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003679
Jeff Johnson295189b2012-06-20 16:38:30 -07003680 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003681
Jeff Johnson295189b2012-06-20 16:38:30 -07003682 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3683 {
3684 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3685 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3686 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3687 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3688 }
3689 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3690 {
3691 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3692 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3693 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3694 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3695 }
3696 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3697 {
3698 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3699 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3700 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3701 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3702 }
3703
3704 if (pConfig->fIsImpsEnabled)
3705 {
3706 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3707 }
3708 else
3709 {
3710 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3711 }
3712
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303713 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3714 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3715 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3716
Jeff Johnson295189b2012-06-20 16:38:30 -07003717 if (pConfig->fIsBmpsEnabled)
3718 {
3719 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3720 }
3721 else
3722 {
3723 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3724 }
3725
3726 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3727
3728 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3729 {
3730 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3731 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003732
Jeff Johnson295189b2012-06-20 16:38:30 -07003733 if(pConfig->fIsAutoBmpsTimerEnabled)
3734 {
3735 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3736 }
3737
3738}
3739
3740#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3741static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3742{
3743 char *s = str;
3744
3745 if( str == NULL || intArray == NULL || len == NULL )
3746 {
3747 return VOS_STATUS_E_INVAL;
3748 }
3749 *len = 0;
3750
Jeff Johnson295189b2012-06-20 16:38:30 -07003751 while ( (s != NULL) && (*len < intArrayMaxLen) )
3752 {
3753 int val;
3754 //Increment length only if sscanf succesfully extracted one element.
3755 //Any other return value means error. Ignore it.
3756 if( sscanf(s, "%d", &val ) == 1 )
3757 {
3758 intArray[*len] = (tANI_U8) val;
3759 *len += 1;
3760 }
3761 s = strpbrk( s, "," );
3762 if( s )
3763 s++;
3764 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003765
3766 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003767
Jeff Johnson295189b2012-06-20 16:38:30 -07003768}
3769#endif
3770
3771
3772v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3773{
3774 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003775#ifdef WLAN_SOFTAP_VSTA_FEATURE
3776 tANI_U32 val;
3777#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003778
3779 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303780 tSirMacHTCapabilityInfo htCapInfo;
3781
Jeff Johnson295189b2012-06-20 16:38:30 -07003782
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003783 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003784 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3785 {
3786 fStatus = FALSE;
3787 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3788 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003789
3790 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003791 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3792 {
3793 fStatus = FALSE;
3794 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3795 }
3796
3797 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3798 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3799 {
3800 fStatus = FALSE;
3801 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3802 }
3803
3804 if ( 0 != pConfig->Cfg1Id )
3805 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003806 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003807 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3808 {
3809 fStatus = FALSE;
3810 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3811 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003812
Jeff Johnson295189b2012-06-20 16:38:30 -07003813 }
3814
3815 if ( 0 != pConfig->Cfg2Id )
3816 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003817 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003818 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3819 {
3820 fStatus = FALSE;
3821 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3822 }
3823 }
3824
3825 if ( 0 != pConfig->Cfg3Id )
3826 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003827 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003828 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3829 {
3830 fStatus = FALSE;
3831 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3832 }
3833 }
3834
3835 if ( 0 != pConfig->Cfg4Id )
3836 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003837 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003838 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3839 {
3840 fStatus = FALSE;
3841 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3842 }
3843 }
3844
3845 if ( 0 != pConfig->Cfg5Id )
3846 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003847 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003848 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3849 {
3850 fStatus = FALSE;
3851 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3852 }
3853 }
3854
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003855 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003856 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3857 {
3858 fStatus = FALSE;
3859 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM\n");
3860 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003861
3862 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003863 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3864 {
3865 fStatus = FALSE;
3866 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3867 }
3868
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003869 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003870 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3871 {
3872 fStatus = FALSE;
3873 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3874 }
3875
3876 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3877 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3878 {
3879 fStatus = FALSE;
3880 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3881 }
3882
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003883 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003884 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003885 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003886 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3887 {
3888 fStatus = FALSE;
3889 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3890 }
3891 }
3892 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003893 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003894 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3895 {
3896 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
Arif Hussain24bafea2013-11-15 15:10:03 -08003897 "MAC Addr (IBSS BSSID) read from Registry is: " MAC_ADDRESS_STR,
3898 MAC_ADDR_ARRAY(pConfig->IbssBssid.bytes));
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003899 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003900 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3901 {
3902 fStatus = FALSE;
3903 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3904 }
3905 }
3906 else
3907 {
3908 fStatus = FALSE;
3909 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3910 }
3911 }
3912
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003913 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003914 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3915 {
3916 fStatus = FALSE;
3917 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3918 }
3919
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003920 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003921 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3922 {
3923 fStatus = FALSE;
3924 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3925 }
3926
3927 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3928 {
3929 fStatus = FALSE;
3930 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3931 }
3932
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003933 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003934 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3935 {
3936 fStatus = FALSE;
3937 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3938 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003939
Jeff Johnson295189b2012-06-20 16:38:30 -07003940 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3941 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3942 {
3943 fStatus = FALSE;
3944 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3945 }
3946
Jeff Johnson295189b2012-06-20 16:38:30 -07003947 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3948 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3949 {
3950 fStatus = FALSE;
3951 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3952 }
3953
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003954 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003955 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3956 {
3957 fStatus = FALSE;
3958 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3959 }
3960
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003961 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003962 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3963 {
3964 fStatus = FALSE;
3965 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3966 }
3967
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003968 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003969 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3970 {
3971 fStatus = FALSE;
3972 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3973 }
3974
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003975 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003976 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3977 {
3978 fStatus = FALSE;
3979 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3980 }
3981
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003982 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003983 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3984 {
3985 fStatus = FALSE;
3986 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3987 }
3988
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003989 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003990 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3991 {
3992 fStatus = FALSE;
3993 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3994 }
3995
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003996 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003997 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3998 {
3999 fStatus = FALSE;
4000 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
4001 }
4002
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004003 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004004 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4005 {
4006 fStatus = FALSE;
4007 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004008 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004009
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004010 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004011 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4012 {
4013 fStatus = FALSE;
4014 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
4015 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004016
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304017 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
4018 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4019 {
4020 fStatus = FALSE;
4021 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
4022 }
4023
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304024 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
4025 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4026 {
4027 fStatus = FALSE;
4028 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM\n");
4029 }
4030
4031
Jeff Johnson295189b2012-06-20 16:38:30 -07004032#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004033 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07004034 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4035 {
4036 fStatus = FALSE;
4037 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
4038 }
4039
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004040 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004041 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4042 {
4043 fStatus = FALSE;
4044 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
4045 }
4046
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004047 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004048 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4049 {
4050 fStatus = FALSE;
4051 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
4052 }
4053
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004054 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07004055 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4056#endif
4057
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004058 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07004059 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4060 {
4061 fStatus = FALSE;
4062 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM\n");
4063 }
4064
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004065 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07004066 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4067 {
4068 fStatus = FALSE;
4069 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
4070 }
4071
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004072 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004073 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4074 {
4075 fStatus = FALSE;
4076 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
4077 }
4078
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004079 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004080 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4081 {
4082 fStatus = FALSE;
4083 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
4084 }
4085
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004086 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004087 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4088 {
4089 fStatus = FALSE;
4090 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
4091 }
4092
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004093 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004094 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4095 {
4096 fStatus = FALSE;
4097 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
4098 }
4099
4100 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4101 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4102 {
4103 fStatus = FALSE;
4104 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
4105 }
4106
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004107 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004108 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4109 {
4110 fStatus = FALSE;
4111 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
4112 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004113 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004114 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4115 {
4116 fStatus = FALSE;
4117 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
4118 }
4119
4120 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4121 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4122 {
4123 fStatus = FALSE;
4124 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 -08004125 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004126
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004127 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004128 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004129 {
4130 fStatus = FALSE;
4131 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4132 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004133 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004134 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4135 {
4136 fStatus = FALSE;
4137 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
4138 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004139 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004140 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4141 {
4142 fStatus = FALSE;
4143 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
4144 }
4145
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004146 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004147 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4148 {
4149 fStatus = FALSE;
4150 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
4151 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004152 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004153 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4154 {
4155 fStatus = FALSE;
4156 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
4157 }
4158
Jeff Johnson295189b2012-06-20 16:38:30 -07004159 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4160 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4161 {
4162 fStatus = FALSE;
4163 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4164 }
4165
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004166 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004167 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4168 ==eHAL_STATUS_FAILURE)
4169 {
4170 fStatus = FALSE;
4171 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
4172 }
4173
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004174 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004175 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4176 ==eHAL_STATUS_FAILURE)
4177 {
4178 fStatus = FALSE;
4179 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
4180 }
4181
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004182 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004183 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4184 {
4185 fStatus = FALSE;
4186 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
4187 }
4188
Jeff Johnsond13512a2012-07-17 11:42:19 -07004189
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004190 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004191 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4192 {
4193 fStatus = FALSE;
4194 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
4195 }
4196
Jeff Johnsone7245742012-09-05 17:12:55 -07004197#ifdef WLAN_FEATURE_11AC
4198 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4199 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4200 /* we update only the least significant 2 bits in the corresponding fields */
4201 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4202 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4203 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4204 {
4205 {
4206 tANI_U32 temp = 0;
4207
4208 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004209 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004210
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004211 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004212 temp, NULL, eANI_BOOLEAN_FALSE)
4213 ==eHAL_STATUS_FAILURE)
4214 {
4215 fStatus = FALSE;
4216 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
4217 }
4218
4219 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004220 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004221
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004222 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004223 temp, NULL, eANI_BOOLEAN_FALSE)
4224 ==eHAL_STATUS_FAILURE)
4225 {
4226 fStatus = FALSE;
4227 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
4228 }
4229
4230 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004231 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004232
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004233 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004234 temp, NULL, eANI_BOOLEAN_FALSE)
4235 ==eHAL_STATUS_FAILURE)
4236 {
4237 fStatus = FALSE;
4238 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
4239 }
4240 }
4241 }
4242#endif
4243
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004244 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004245 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4246 {
4247 fStatus = FALSE;
4248 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
4249 }
4250
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004251 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304252 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4253 ==eHAL_STATUS_FAILURE)
4254 {
4255 fStatus = FALSE;
4256 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
4257 }
4258
4259 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
4260 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
4261
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004262 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304263 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
4264 ==eHAL_STATUS_FAILURE)
4265 {
4266 fStatus = FALSE;
4267 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
4268 }
4269
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004270 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304271 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4272 ==eHAL_STATUS_FAILURE)
4273 {
4274 fStatus = FALSE;
4275 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
4276 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004277
4278#ifdef WLAN_SOFTAP_VSTA_FEATURE
4279 if(pConfig->fEnableVSTASupport)
4280 {
4281 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4282 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4283 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4284 }
4285 else
4286 {
4287 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4288 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004289 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004290 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4291 {
4292 fStatus = FALSE;
4293 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
4294 }
4295#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004296 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004297 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4298 ==eHAL_STATUS_FAILURE)
4299 {
4300 fStatus = FALSE;
4301 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
4302 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304303
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004304 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4305 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4306 {
4307 fStatus = FALSE;
4308 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
4309 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004310 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4311 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4312 {
4313 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004314 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 -08004315 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004316
4317 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4318 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4319 {
4320 fStatus = FALSE;
4321 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4322 }
4323
4324 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4325 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4326 {
4327 fStatus = FALSE;
4328 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4329 }
4330
4331 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4332 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4333 {
4334 fStatus = FALSE;
4335 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4336 }
4337
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304338 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4339 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4340 {
4341 fStatus = FALSE;
4342 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4343 }
4344
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304345#ifdef FEATURE_WLAN_TDLS
4346
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004347 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4348 pConfig->fTDLSUapsdMask, NULL,
4349 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304350 {
4351 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004352 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304353 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004354 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4355 pConfig->fEnableTDLSBufferSta, NULL,
4356 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304357 {
4358 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004359 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304360 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004361 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4362 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4363 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304364 {
4365 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004366 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304367 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004368 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4369 pConfig->fTDLSRxFrameThreshold, NULL,
4370 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304371 {
4372 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004373 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304374 }
4375#endif
4376
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004377 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4378 pConfig->fEnableAdaptRxDrain, NULL,
4379 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4380 {
4381 fStatus = FALSE;
4382 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4383 }
Yue Ma0fd23872013-08-01 15:56:47 -07004384
4385 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4386 pConfig->flexConnectPowerFactor, NULL,
4387 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4388 {
4389 fStatus = FALSE;
4390 hddLog(LOGE, "Failure: Could not pass on "
4391 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4392 }
4393
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304394 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4395 pConfig->antennaDiversity, NULL,
4396 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4397 {
4398 fStatus = FALSE;
4399 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4400 }
4401
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05304402 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ATH_DISABLE,
4403 pConfig->cfgAthDisable, NULL,
4404 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4405 {
4406 fStatus = FALSE;
4407 hddLog(LOGE, "Could not pass on WNI_CFG_ATH_DISABLE to CCM");
4408 }
c_hpothu6d7dc922013-12-02 12:36:41 +05304409
4410 if (ccmCfgSetInt(pHddCtx->hHal,
4411 WNI_CFG_BTC_ACTIVE_WLAN_LEN,
4412 pConfig->cfgBtcActiveWlanLen,
4413 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4414 {
4415 fStatus = FALSE;
4416 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4417 }
4418
4419 if (ccmCfgSetInt(pHddCtx->hHal,
4420 WNI_CFG_BTC_ACTIVE_BT_LEN,
4421 pConfig->cfgBtcActiveBtLen,
4422 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4423 {
4424 fStatus = FALSE;
4425 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4426 }
4427
4428 if (ccmCfgSetInt(pHddCtx->hHal,
4429 WNI_CFG_BTC_SAP_ACTIVE_WLAN_LEN,
4430 pConfig->cfgBtcSapActiveWlanLen,
4431 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4432 {
4433 fStatus = FALSE;
4434 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4435 }
4436
4437 if (ccmCfgSetInt(pHddCtx->hHal,
4438 WNI_CFG_BTC_SAP_ACTIVE_BT_LEN,
4439 pConfig->cfgBtcSapActiveBtLen,
4440 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4441 {
4442 fStatus = FALSE;
4443 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4444 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004445 return fStatus;
4446}
4447
4448
4449/**---------------------------------------------------------------------------
4450
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004451 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07004452
4453 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004454
Jeff Johnson295189b2012-06-20 16:38:30 -07004455 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004456
Jeff Johnson295189b2012-06-20 16:38:30 -07004457 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004458
Jeff Johnson295189b2012-06-20 16:38:30 -07004459 --------------------------------------------------------------------------*/
4460
4461VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
4462{
4463 VOS_STATUS status = VOS_STATUS_SUCCESS;
4464 eHalStatus halStatus;
4465 tSmeConfigParams smeConfig;
4466
4467 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4468
Amar Singhalfddc28c2013-09-05 13:03:40 -07004469
Jeff Johnson295189b2012-06-20 16:38:30 -07004470 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
4471
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004472 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07004473 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
4474 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
4475
4476 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07004477
Jeff Johnson295189b2012-06-20 16:38:30 -07004478 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
4479 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
4480 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
4481 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
4482 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
4483
4484 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
4485
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08004486 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_abg) ||
4487 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b) ||
4488 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g) ||
4489 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY) ||
4490 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY))
4491 {
4492 smeConfig.csrConfig.channelBondingMode24GHz = 0;
4493 smeConfig.csrConfig.channelBondingMode5GHz = 0;
4494 }
4495 else
4496 {
4497 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4498 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4499 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004500 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4501 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4502 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4503 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4504 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4505 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4506 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4507 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4508 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4509 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4510 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4511 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4512 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4513 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4514 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004515 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07004516 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4517 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4518 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4519 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004520 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4521 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004522 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004523#ifdef WLAN_AP_STA_CONCURRENCY
4524 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4525 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4526 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4527 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4528 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004529 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4530 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4531
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004532#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004533 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4534 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4535
4536#if defined WLAN_FEATURE_VOWIFI
4537 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4538 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4539#endif
4540 //Remaining config params not obtained from registry
4541 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004542#ifdef WLAN_FEATURE_11AC
4543 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004544 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004545 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004546 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004547#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004548 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4549 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004550 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4551 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4552 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004553 if (pConfig->nBandCapability == eCSR_BAND_24)
4554 {
4555 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4556 } else {
4557 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4558 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004559 smeConfig.csrConfig.cbChoice = 0;
4560 smeConfig.csrConfig.bgScanInterval = 0;
4561 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004562 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4563 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4564 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004565#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4566 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004567 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004568 smeConfig.csrConfig.nProbes = pConfig->nProbes;
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07004569
4570 if (pConfig->nRoamScanHomeAwayTime < (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
4571 {
4572 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
4573 "%s: Invalid config, Home away time(%d) is less than twice RF switching time + channel max time(%d)"
4574 " Hence enforcing home away time to disable (0)",
4575 __func__, pConfig->nRoamScanHomeAwayTime,
4576 (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
4577 pConfig->nRoamScanHomeAwayTime = 0;
4578 }
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004579 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004580#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004581 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4582
Jeff Johnson295189b2012-06-20 16:38:30 -07004583 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004584 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4585 {
4586 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004587
Jeff Johnson7dda7772013-02-27 08:36:13 -08004588 /* if there is a requirement that HDD will control the default
4589 * channel list & country code (say from .ini file) we need to
4590 * add some logic here. Otherwise the default 11d info should
4591 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004592 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004593 else
4594 {
4595 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4596 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004597
Jeff Johnson7dda7772013-02-27 08:36:13 -08004598 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4599 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4600 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4601 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004602 hdd_set_power_save_config(pHddCtx, &smeConfig);
4603 hdd_set_btc_config(pHddCtx);
4604
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004605#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004606 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4607#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004608#ifdef FEATURE_WLAN_LFR
4609 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004610 smeConfig.csrConfig.MAWCEnabled = pConfig->MAWCEnabled;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004611#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004612#ifdef FEATURE_WLAN_CCX
4613 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004614 if( pConfig->isCcxIniFeatureEnabled )
4615 {
4616 pConfig->isFastTransitionEnabled = TRUE;
4617 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004618#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004619#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004620 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07004621 if (pConfig->nSelect5GHzMargin)
4622 {
4623 pConfig->RoamRssiDiff = 0;
4624 }
Jeff Johnson43971f52012-07-17 12:26:56 -07004625 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004626 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07004627 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07004628#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004629#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4630 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004631 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4632
4633 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4634 {
4635 /* Disable roaming in concurrency if roam scan offload is disabled */
4636 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4637 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004638#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004639#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4640 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4641 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004642 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4643 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004644 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004645 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004646 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004647 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004648 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4649 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4650 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004651 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4652#endif
4653
4654 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4655 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4656
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004657 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004658 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004659 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004660
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004661 //Scan Results Aging Time out value
4662 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4663
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004664 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4665
krunal soni5afa96c2013-09-06 22:19:02 -07004666 smeConfig.csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07004667 smeConfig.csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
krunal soni5afa96c2013-09-06 22:19:02 -07004668
krunal sonie9002db2013-11-25 14:24:17 -08004669 smeConfig.csrConfig.isCoalesingInIBSSAllowed =
4670 pHddCtx->cfg_ini->isCoalesingInIBSSAllowed;
4671
4672
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004673 /* update SSR config */
4674 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304675 /* Update the Directed scan offload setting */
4676 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004677
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004678 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004679 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4680 {
4681 status = VOS_STATUS_E_FAILURE;
4682 }
4683
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004684
4685 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004686}
4687
4688
4689/**---------------------------------------------------------------------------
4690
4691 \brief hdd_execute_config_command() -
4692
4693 This function executes an arbitrary configuration set command
4694
4695 \param - pHddCtx - Pointer to the HDD Adapter.
4696 \parmm - command - a configuration command of the form:
4697 <name>=<value>
4698
4699 \return - 0 for success, non zero for failure
4700
4701 --------------------------------------------------------------------------*/
4702
4703VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4704{
4705 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4706 REG_TABLE_ENTRY *pRegEntry;
4707 char *clone;
4708 char *pCmd;
4709 void *pField;
4710 char *name;
4711 char *value_str;
4712 v_U32_t value;
4713 v_S31_t svalue;
4714 size_t len_value_str;
4715 unsigned int idx;
4716 unsigned int i;
4717 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004718 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004719
4720 // assume failure until proven otherwise
4721 vstatus = VOS_STATUS_E_FAILURE;
4722
4723 // clone the command so that we can manipulate it
4724 clone = kstrdup(command, GFP_ATOMIC);
4725 if (NULL == clone)
4726 {
4727 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004728 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004729 return vstatus;
4730 }
4731
4732 // 'clone' will point to the beginning of the string so it can be freed
4733 // 'pCmd' will be used to walk/parse the command
4734 pCmd = clone;
4735
4736 // get rid of leading/trailing whitespace
4737 pCmd = i_trim(pCmd);
4738 if ('\0' == *pCmd)
4739 {
4740 // only whitespace
4741 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004742 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004743 goto done;
4744 }
4745
4746 // parse the <name> = <value>
4747 name = pCmd;
4748 while (('=' != *pCmd) && ('\0' != *pCmd))
4749 {
4750 pCmd++;
4751 }
4752 if ('\0' == *pCmd)
4753 {
4754 // did not find '='
4755 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004756 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004757 goto done;
4758 }
4759
4760 // replace '=' with NUL to terminate the <name>
4761 *pCmd++ = '\0';
4762 name = i_trim(name);
4763 if ('\0' == *name)
4764 {
4765 // did not find a name
4766 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004767 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004768 goto done;
4769 }
4770
4771 value_str = i_trim(pCmd);
4772 if ('\0' == *value_str)
4773 {
4774 // did not find a value
4775 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004776 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004777 goto done;
4778 }
4779
4780 // lookup the configuration item
4781 for (idx = 0; idx < tableSize; idx++)
4782 {
4783 if (0 == strcmp(name, g_registry_table[idx].RegName))
4784 {
4785 // found a match
4786 break;
4787 }
4788 }
4789 if (tableSize == idx)
4790 {
4791 // did not match the name
4792 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004793 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004794 goto done;
4795 }
4796
4797 pRegEntry = &g_registry_table[idx];
4798 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4799 {
4800 // does not support dynamic configuration
4801 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004802 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004803 goto done;
4804 }
4805
4806 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4807
4808 switch (pRegEntry->RegType)
4809 {
4810 case WLAN_PARAM_Integer:
Jeff Johnson02797792013-10-26 19:17:13 -07004811 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004812 if (rv < 0)
4813 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004814 if (value < pRegEntry->VarMin)
4815 {
4816 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004817 hddLog(LOGE, "%s: invalid command, value %u < min value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004818 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004819 goto done;
4820 }
4821 if (value > pRegEntry->VarMax)
4822 {
4823 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004824 hddLog(LOGE, "%s: invalid command, value %u > max value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004825 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004826 goto done;
4827 }
4828 memcpy(pField, &value, pRegEntry->VarSize);
4829 break;
4830
4831 case WLAN_PARAM_HexInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07004832 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004833 if (rv < 0)
4834 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004835 if (value < pRegEntry->VarMin)
4836 {
4837 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004838 hddLog(LOGE, "%s: invalid command, value %x < min value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004839 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004840 goto done;
4841 }
4842 if (value > pRegEntry->VarMax)
4843 {
4844 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004845 hddLog(LOGE, "%s: invalid command, value %x > max value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004846 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004847 goto done;
4848 }
4849 memcpy(pField, &value, pRegEntry->VarSize);
4850 break;
4851
4852 case WLAN_PARAM_SignedInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07004853 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004854 if (rv < 0)
4855 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004856 if (svalue < (v_S31_t)pRegEntry->VarMin)
4857 {
4858 // out of range
4859 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004860 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004861 goto done;
4862 }
4863 if (svalue > (v_S31_t)pRegEntry->VarMax)
4864 {
4865 // out of range
4866 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004867 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004868 goto done;
4869 }
4870 memcpy(pField, &svalue, pRegEntry->VarSize);
4871 break;
4872
4873 case WLAN_PARAM_String:
4874 len_value_str = strlen(value_str);
4875 if (len_value_str > (pRegEntry->VarSize - 1))
4876 {
4877 // too big
4878 hddLog(LOGE,
4879 "%s: invalid command, string [%s] length "
4880 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004881 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004882 len_value_str, (pRegEntry->VarSize - 1));
4883 goto done;
4884 }
4885 // copy string plus NUL
4886 memcpy(pField, value_str, (len_value_str + 1));
4887 break;
4888
4889 case WLAN_PARAM_MacAddr:
4890 len_value_str = strlen(value_str);
4891 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4892 {
4893 // out of range
4894 hddLog(LOGE,
4895 "%s: invalid command, MAC address [%s] length "
4896 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004897 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004898 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4899 goto done;
4900 }
4901 //parse the string and store it in the byte array
4902 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4903 {
4904 ((char*)pField)[i] = (char)
4905 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4906 parseHexDigit(value_str[(i * 2) + 1]));
4907 }
4908 break;
4909
4910 default:
4911 goto done;
4912 }
4913
4914 // if we get here, we had a successful modification
4915 vstatus = VOS_STATUS_SUCCESS;
4916
4917 // config table has been modified, is there a notifier?
4918 if (NULL != pRegEntry->pfnDynamicNotify)
4919 {
4920 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4921 }
4922
4923 // note that this item was explicitly configured
4924 if (idx < MAX_CFG_INI_ITEMS)
4925 {
4926 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4927 }
4928 done:
4929 kfree(clone);
4930 return vstatus;
4931}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004932
4933/**---------------------------------------------------------------------------
4934
4935 \brief hdd_is_okc_mode_enabled() -
4936
4937 This function returns whether OKC mode is enabled or not
4938
4939 \param - pHddCtx - Pointer to the HDD Adapter.
4940
4941 \return - 1 for enabled, zero for disabled
4942
4943 --------------------------------------------------------------------------*/
4944
4945tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4946{
4947 if (NULL == pHddCtx)
4948 {
4949 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4950 return -EINVAL;
4951 }
4952
4953#ifdef FEATURE_WLAN_OKC
4954 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4955#else
4956 return eANI_BOOLEAN_FALSE;
4957#endif
4958}