blob: 4a63eb766e7f1451c9bd19d253e109731e4c4fcb [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
2781 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2782 hdd_config_t, configPNOScanTimerRepeatValue,
2783 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2784 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2785 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2786 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2787#endif
krunal soni5afa96c2013-09-06 22:19:02 -07002788 REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
2789 hdd_config_t, isAmsduSupportInAMPDU,
2790 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2791 CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
2792 CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
2793 CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302794
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07002795 REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer,
2796 hdd_config_t, nSelect5GHzMargin,
2797 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2798 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2799 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2800 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX ),
2801
krunal sonie9002db2013-11-25 14:24:17 -08002802 REG_VARIABLE( CFG_COALESING_IN_IBSS_NAME , WLAN_PARAM_Integer,
2803 hdd_config_t, isCoalesingInIBSSAllowed,
2804 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2805 CFG_COALESING_IN_IBSS_DEFAULT,
2806 CFG_COALESING_IN_IBSS_MIN,
2807 CFG_COALESING_IN_IBSS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002808};
2809
2810/*
2811 * This function returns a pointer to the character after the occurence
2812 * of a new line character. It also modifies the original string by replacing
2813 * the '\n' character with the null character.
2814 * Function returns NULL if no new line character was found before end of
2815 * string was reached
2816 */
2817static char* get_next_line(char* str)
2818{
2819 char c;
2820
2821 if( str == NULL || *str == '\0') {
2822 return NULL;
2823 }
2824
2825 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002826 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002827 str = str + 1;
2828 c = *str;
2829 }
2830
2831 if (c == '\0' ) {
2832 return NULL;
2833 }
2834 else
2835 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002836 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002837 return (str+1);
2838 }
2839
2840 return NULL;
2841}
2842
2843// look for space. Ascii values to look are -
2844// 0x09 == horizontal tab
2845// 0x0a == Newline ("\n")
2846// 0x0b == vertical tab
2847// 0x0c == Newpage or feed form.
2848// 0x0d == carriage return (CR or "\r")
2849// Null ('\0') should not considered as space.
2850#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2851
2852/*
2853 * This function trims any leading and trailing white spaces
2854 */
2855static char *i_trim(char *str)
2856
2857{
2858 char *ptr;
2859
2860 if(*str == '\0') return str;
2861
2862 /* Find the first non white-space*/
2863 for (ptr = str; i_isspace(*ptr); ptr++);
2864 if (*ptr == '\0')
2865 return str;
2866
2867 /* This is the new start of the string*/
2868 str = ptr;
2869
2870 /* Find the last non white-space */
2871 ptr += strlen(ptr) - 1;
2872 for (; ptr != str && i_isspace(*ptr); ptr--);
2873 /* Null terminate the following character */
2874 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002875
Jeff Johnson295189b2012-06-20 16:38:30 -07002876 return str;
2877}
2878
2879
2880//Structure to store each entry in qcom_cfg.ini file
2881typedef struct
2882{
2883 char *name;
2884 char *value;
2885}tCfgIniEntry;
2886
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002887static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002888 tCfgIniEntry* iniTable, unsigned long entries);
2889
2890#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002891void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002892{
2893 unsigned long i;
2894
2895 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002896 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002897 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2898 }
2899}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002900#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002901
2902/*
2903 * This function reads the qcom_cfg.ini file and
2904 * parses each 'Name=Value' pair in the ini file
2905 */
2906VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2907{
2908 int status, i=0;
2909 /** Pointer for firmware image data */
2910 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002911 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002912 size_t size;
2913 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002914 /* cfgIniTable is static to avoid excess stack usage */
2915 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002916 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2917
2918 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2919
2920 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002921
Jeff Johnson295189b2012-06-20 16:38:30 -07002922 if(status)
2923 {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002924 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d\n",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002925 vos_status = VOS_STATUS_E_FAILURE;
2926 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002927 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002928 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002929 {
2930 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002931 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002932 vos_status = VOS_STATUS_E_FAILURE;
2933 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002934 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002935
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002936 hddLog(LOG1, "%s: qcom_cfg.ini Size %d\n",__func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002937
2938 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002939
Jeff Johnson295189b2012-06-20 16:38:30 -07002940 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002941 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002942 release_firmware(fw);
2943 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002944 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002945 pTemp = buffer;
2946
2947 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2948 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002949
Jeff Johnson295189b2012-06-20 16:38:30 -07002950 while (buffer != NULL)
2951 {
2952 line = get_next_line(buffer);
2953 buffer = i_trim(buffer);
2954
2955 hddLog(LOG1, "%s: item", buffer);
2956
2957 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2958 buffer = line;
2959 continue;
2960 }
2961 else if(strncmp(buffer, "END", 3) == 0 ) {
2962 break;
2963 }
2964 else
2965 {
2966 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002967 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002968 buffer++;
2969 if(*buffer != '\0') {
2970 *buffer++ = '\0';
2971 i_trim(name);
2972 if(strlen (name) != 0) {
2973 buffer = i_trim(buffer);
2974 if(strlen(buffer)>0) {
2975 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002976 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002977 buffer++;
2978 *buffer = '\0';
2979 cfgIniTable[i].name= name;
2980 cfgIniTable[i++].value= value;
2981 if(i >= MAX_CFG_INI_ITEMS) {
2982 hddLog(LOGE,"%s: Number of items in %s > %d \n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002983 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07002984 break;
2985 }
2986 }
2987 }
2988 }
2989 }
2990 buffer = line;
2991 }
2992
2993 //Loop through the registry table and apply all these configs
2994 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
2995
Jeff Johnson4416a782013-03-25 14:17:50 -07002996config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07002997 release_firmware(fw);
2998 vos_mem_free(pTemp);
2999 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003000}
Jeff Johnson295189b2012-06-20 16:38:30 -07003001
3002
3003static void print_hdd_cfg(hdd_context_t *pHddCtx)
3004{
3005 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003006 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 -07003007 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
3008 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
3009 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
3010 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 -07003011 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 -07003012 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
3013 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssBssid] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
3014 pHddCtx->cfg_ini->IbssBssid.bytes[0],pHddCtx->cfg_ini->IbssBssid.bytes[1],
3015 pHddCtx->cfg_ini->IbssBssid.bytes[2],pHddCtx->cfg_ini->IbssBssid.bytes[3],
3016 pHddCtx->cfg_ini->IbssBssid.bytes[4],pHddCtx->cfg_ini->IbssBssid.bytes[5]);
3017
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003018 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003019 "Name = [Intf0MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
3020 pHddCtx->cfg_ini->intfMacAddr[0].bytes[0],
3021 pHddCtx->cfg_ini->intfMacAddr[0].bytes[1],
3022 pHddCtx->cfg_ini->intfMacAddr[0].bytes[2],
3023 pHddCtx->cfg_ini->intfMacAddr[0].bytes[3],
3024 pHddCtx->cfg_ini->intfMacAddr[0].bytes[4],
3025 pHddCtx->cfg_ini->intfMacAddr[0].bytes[5]);
3026
3027
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003028 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003029 "Name = [Intf1MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
3030 pHddCtx->cfg_ini->intfMacAddr[1].bytes[0],
3031 pHddCtx->cfg_ini->intfMacAddr[1].bytes[1],
3032 pHddCtx->cfg_ini->intfMacAddr[1].bytes[2],
3033 pHddCtx->cfg_ini->intfMacAddr[1].bytes[3],
3034 pHddCtx->cfg_ini->intfMacAddr[1].bytes[4],
3035 pHddCtx->cfg_ini->intfMacAddr[1].bytes[5]);
3036
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003037 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003038 "Name = [Intf2MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
3039 pHddCtx->cfg_ini->intfMacAddr[2].bytes[0],
3040 pHddCtx->cfg_ini->intfMacAddr[2].bytes[1],
3041 pHddCtx->cfg_ini->intfMacAddr[2].bytes[2],
3042 pHddCtx->cfg_ini->intfMacAddr[2].bytes[3],
3043 pHddCtx->cfg_ini->intfMacAddr[2].bytes[4],
3044 pHddCtx->cfg_ini->intfMacAddr[2].bytes[5]);
3045
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003046 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07003047 "Name = [Intf3MacAddress] Value =[0x%x 0x%x 0x%x 0x%x 0x%x 0x%x]",
3048 pHddCtx->cfg_ini->intfMacAddr[3].bytes[0],
3049 pHddCtx->cfg_ini->intfMacAddr[3].bytes[1],
3050 pHddCtx->cfg_ini->intfMacAddr[3].bytes[2],
3051 pHddCtx->cfg_ini->intfMacAddr[3].bytes[3],
3052 pHddCtx->cfg_ini->intfMacAddr[3].bytes[4],
3053 pHddCtx->cfg_ini->intfMacAddr[3].bytes[5]);
3054
Jeff Johnson295189b2012-06-20 16:38:30 -07003055
3056 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]\n",pHddCtx->cfg_ini->apUapsdEnabled);
3057
3058 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]\n",
3059 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
3060 pHddCtx->cfg_ini->apCntryCode[2]);
3061 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
3062 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]\n", pHddCtx->cfg_ini->nAPAutoShutOff);
3063
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003064 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 -07003065 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]\n",pHddCtx->cfg_ini->apProtection);
3066 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]\n",pHddCtx->cfg_ini->apOBSSProtEnabled);
3067 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 -08003068
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003069 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3070 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3071 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 -07003072 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3073 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3074 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3075 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3076
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003077 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3078 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 -07003079
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003080 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3081 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 -07003082
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003083 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3084 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 -07003085
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003086 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3087 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 -07003088#ifdef FEATURE_WLAN_CCX
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003089 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%u] ",pHddCtx->cfg_ini->InfraInactivityInterval);
3090 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%u] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
3091 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3092 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 -08003093#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003094#ifdef FEATURE_WLAN_LFR
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08003095 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 -07003096 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 -08003097#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07003098#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003099 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->RoamRssiDiff);
3100 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
3101 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 -07003102#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003103#ifdef FEATURE_WLAN_OKC
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003104 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 -07003105#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003106 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3107 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 -07003108 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3109 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 -07003110 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3111
3112 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3113 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 -07003114 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3115 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 -07003116 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3117
3118 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3119 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 -07003120 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3121 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 -07003122 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3123
3124 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3125 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 -07003126 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3127 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 -07003128 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3129
3130 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3131 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3132 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3133 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 -07003134 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 -07003135 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3136 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 -08003137#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003138 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 -07003139#endif
3140
3141#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003142 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3143 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3144 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3145 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3146 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%u] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3147 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3148 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
3149 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 -07003150#endif
3151 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3152 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3153 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3154 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3155 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3156 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3157 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3158
3159 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3160 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3161 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3162#ifdef WLAN_BTAMP_FEATURE
3163 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3164#endif //WLAN_BTAMP_FEATURE
3165 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3166 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3167 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3168 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3169 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3170 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3171 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3172 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3173 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3174 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3175 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3176 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3177 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 -07003178#ifdef WLAN_FEATURE_11AC
3179 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]\n",pHddCtx->cfg_ini->vhtChannelWidth);
3180#endif
3181 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3182 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3183 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 +05303184 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 -08003185 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 -07003186 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 -07003187 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 -07003188
Leo Chang64d68bc2013-06-04 15:40:52 -07003189 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3190 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 -07003191 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 -07003192 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 +05303193 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 +05303194 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3195 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3196 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3197 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 -07003198 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%u] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
3199 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 -08003200 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 +05303201
Jeff Johnson295189b2012-06-20 16:38:30 -07003202}
3203
3204
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003205
Jeff Johnson295189b2012-06-20 16:38:30 -07003206#define CFG_VALUE_MAX_LEN 256
3207#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3208VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3209{
3210 unsigned int idx;
3211 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3212 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3213 v_U32_t value;
3214 char valueStr[CFG_VALUE_MAX_LEN];
3215 char configStr[CFG_ENTRY_MAX_LEN];
3216 char *fmt;
3217 void *pField;
3218 v_MACADDR_t *pMacAddr;
3219 char *pCur = pBuf;
3220 int curlen;
3221
3222 // start with an empty string
3223 *pCur = '\0';
3224
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003225 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003226 {
3227 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3228
3229 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3230 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003231 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003232 {
3233 value = 0;
3234 memcpy( &value, pField, pRegEntry->VarSize );
3235 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3236 {
3237 fmt = "%x";
3238 }
3239 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3240 {
3241 fmt = "%d";
3242 }
3243 else
3244 {
3245 fmt = "%u";
3246 }
3247 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3248 }
3249 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3250 {
3251 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3252 }
3253 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3254 {
3255 pMacAddr = (v_MACADDR_t *) pField;
3256 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3257 "%02x:%02x:%02x:%02x:%02x:%02x",
3258 pMacAddr->bytes[0],
3259 pMacAddr->bytes[1],
3260 pMacAddr->bytes[2],
3261 pMacAddr->bytes[3],
3262 pMacAddr->bytes[4],
3263 pMacAddr->bytes[5]);
3264 }
3265 else
3266 {
3267 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3268 }
Sameer Thalappilb0a30232013-09-27 15:37:48 -07003269 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
Jeff Johnson295189b2012-06-20 16:38:30 -07003270 "%s=[%s]%s\n",
3271 pRegEntry->RegName,
3272 valueStr,
3273 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3274 "*" : "");
3275
3276 // ideally we want to return the config to the application
3277 // however the config is too big so we just printk() for now
3278#ifdef RETURN_IN_BUFFER
3279 if (curlen <= buflen)
3280 {
3281 // copy string + '\0'
3282 memcpy(pCur, configStr, curlen+1);
3283
3284 // account for addition;
3285 pCur += curlen;
3286 buflen -= curlen;
3287 }
3288 else
3289 {
3290 // buffer space exhausted, return what we have
3291 return VOS_STATUS_E_RESOURCES;
3292 }
3293#else
3294 printk(KERN_CRIT "%s", configStr);
3295#endif // RETURN_IN_BUFFER
3296
3297}
3298
3299#ifndef RETURN_IN_BUFFER
3300 // notify application that output is in system log
3301 snprintf(pCur, buflen, "WLAN configuration written to system log");
3302#endif // RETURN_IN_BUFFER
3303
3304 return VOS_STATUS_SUCCESS;
3305}
3306
3307static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003308 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003309{
3310 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3311 unsigned long i;
3312
3313 for (i = 0; i < entries; i++) {
3314 if (strcmp(iniTable[i].name, name) == 0) {
3315 *value = iniTable[i].value;
3316 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3317 WLAN_INI_FILE, name, *value);
3318 return VOS_STATUS_SUCCESS;
3319 }
3320 }
3321
3322 return status;
3323}
3324
3325static int parseHexDigit(char c)
3326{
3327 if (c >= '0' && c <= '9')
3328 return c-'0';
3329 if (c >= 'a' && c <= 'f')
3330 return c-'a'+10;
3331 if (c >= 'A' && c <= 'F')
3332 return c-'A'+10;
3333
3334 return 0;
3335}
3336
3337
3338static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3339{
3340 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3341 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3342 unsigned int idx;
3343 void *pField;
3344 char *value_str = NULL;
3345 unsigned long len_value_str;
3346 char *candidate;
3347 v_U32_t value;
3348 v_S31_t svalue;
3349 void *pStructBase = pHddCtx->cfg_ini;
3350 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3351 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3352 v_U32_t cbOutString;
3353 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003354 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003355
3356 // sanity test
3357 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3358 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003359 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003360 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003361 }
3362
3363 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3364 {
3365 //Calculate the address of the destination field in the structure.
3366 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3367
3368 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3369
3370 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3371 {
3372 // If we could not read the cfg item and it is required, this is an error.
3373 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003374 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003375 ret_status = VOS_STATUS_E_FAILURE;
3376 break;
3377 }
3378
3379 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3380 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3381 {
3382 // If successfully read from the registry, use the value read.
3383 // If not, use the default value.
3384 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003385 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003386 if (rv < 0) {
3387 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3388 __func__, pRegEntry->RegName);
3389 value = pRegEntry->VarDefault;
3390 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003391 }
3392 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003393 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003394 if (rv < 0) {
3395 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3396 __func__, pRegEntry->RegName);
3397 value = pRegEntry->VarDefault;
3398 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003399 }
3400 else {
3401 value = pRegEntry->VarDefault;
3402 }
3403
3404 // If this parameter needs range checking, do it here.
3405 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3406 {
3407 if ( value > pRegEntry->VarMax )
3408 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003409 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003410 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003411 value = pRegEntry->VarMax;
3412 }
3413
3414 if ( value < pRegEntry->VarMin )
3415 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003416 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003417 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003418 value = pRegEntry->VarMin;
3419 }
3420 }
3421 // If this parameter needs range checking, do it here.
3422 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3423 {
3424 if ( value > pRegEntry->VarMax )
3425 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003426 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003427 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003428 value = pRegEntry->VarDefault;
3429 }
3430
3431 if ( value < pRegEntry->VarMin )
3432 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003433 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003434 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003435 value = pRegEntry->VarDefault;
3436 }
3437 }
3438
3439 // Move the variable into the output field.
3440 memcpy( pField, &value, pRegEntry->VarSize );
3441 }
3442 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3443 {
3444 // If successfully read from the registry, use the value read.
3445 // If not, use the default value.
3446 if (VOS_STATUS_SUCCESS == match_status)
3447 {
Jeff Johnson02797792013-10-26 19:17:13 -07003448 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003449 if (rv < 0) {
3450 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3451 __func__, pRegEntry->RegName);
3452 svalue = (v_S31_t)pRegEntry->VarDefault;
3453 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003454 }
3455 else
3456 {
3457 svalue = (v_S31_t)pRegEntry->VarDefault;
3458 }
3459
3460 // If this parameter needs range checking, do it here.
3461 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3462 {
3463 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3464 {
3465 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003466 "[%d > %d]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003467 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3468 svalue = (v_S31_t)pRegEntry->VarMax;
3469 }
3470
3471 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3472 {
3473 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003474 "[%d < %d]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003475 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3476 svalue = (v_S31_t)pRegEntry->VarMin;
3477 }
3478 }
3479 // If this parameter needs range checking, do it here.
3480 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3481 {
3482 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3483 {
3484 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003485 "[%d > %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003486 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003487 (int)pRegEntry->VarMax,
3488 (int)pRegEntry->VarDefault );
3489 svalue = (v_S31_t)pRegEntry->VarDefault;
3490 }
3491
3492 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3493 {
3494 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003495 "[%d < %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003496 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003497 (int)pRegEntry->VarMin,
3498 (int)pRegEntry->VarDefault);
3499 svalue = pRegEntry->VarDefault;
3500 }
3501 }
3502
3503 // Move the variable into the output field.
3504 memcpy( pField, &svalue, pRegEntry->VarSize );
3505 }
3506 // Handle string parameters
3507 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3508 {
3509#ifdef WLAN_CFG_DEBUG
3510 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 -08003511 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003512#endif
3513
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003514 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003515 {
3516 len_value_str = strlen(value_str);
3517
3518 if(len_value_str > (pRegEntry->VarSize - 1)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003519 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003520 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003521 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3522 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3523 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3524 }
3525 else
3526 {
3527 memcpy( pField, (void *)(value_str), len_value_str);
3528 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3529 }
3530 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003531 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003532 {
3533 // Failed to read the string parameter from the registry. Use the default.
3534 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3535 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003536 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003537 }
3538 }
3539 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3540 {
3541 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003542 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]\n",
3543 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003544 continue;
3545 }
3546 candidate = (char*)pRegEntry->VarDefault;
3547 if ( match_status == VOS_STATUS_SUCCESS) {
3548 len_value_str = strlen(value_str);
3549 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003550 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003551 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003552 }
3553 else
3554 candidate = value_str;
3555 }
3556 //parse the string and store it in the byte array
3557 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3558 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003559 ((char*)pField)[i] =
3560 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003561 }
3562 }
3563 else
3564 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003565 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table\n",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003566 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003567 }
3568
3569 // did we successfully parse a cfg item for this parameter?
3570 if( (match_status == VOS_STATUS_SUCCESS) &&
3571 (idx < MAX_CFG_INI_ITEMS) )
3572 {
3573 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3574 }
3575 }
3576
3577 print_hdd_cfg(pHddCtx);
3578
3579 return( ret_status );
3580}
3581
3582eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3583{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003584 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003585 {
3586 case (eHDD_DOT11_MODE_abg):
3587 return eCSR_DOT11_MODE_abg;
3588 case (eHDD_DOT11_MODE_11b):
3589 return eCSR_DOT11_MODE_11b;
3590 case (eHDD_DOT11_MODE_11g):
3591 return eCSR_DOT11_MODE_11g;
3592 default:
3593 case (eHDD_DOT11_MODE_11n):
3594 return eCSR_DOT11_MODE_11n;
3595 case (eHDD_DOT11_MODE_11g_ONLY):
3596 return eCSR_DOT11_MODE_11g_ONLY;
3597 case (eHDD_DOT11_MODE_11n_ONLY):
3598 return eCSR_DOT11_MODE_11n_ONLY;
3599 case (eHDD_DOT11_MODE_11b_ONLY):
3600 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003601#ifdef WLAN_FEATURE_11AC
3602 case (eHDD_DOT11_MODE_11ac_ONLY):
3603 return eCSR_DOT11_MODE_11ac_ONLY;
3604 case (eHDD_DOT11_MODE_11ac):
3605 return eCSR_DOT11_MODE_11ac;
3606#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003607 case (eHDD_DOT11_MODE_AUTO):
3608 return eCSR_DOT11_MODE_AUTO;
3609 }
3610
3611}
3612
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003613static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003614{
3615 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3616 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07003617 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003618
Jeff Johnson295189b2012-06-20 16:38:30 -07003619 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3620
3621 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003622 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003623 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3624
Jeff Johnson32d95a32012-09-10 13:15:23 -07003625 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3626 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3627 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3628 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3629 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3630 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3631 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3632 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3633 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3634 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3635 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3636 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3637 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3638
Wilson Tsaof8b37942013-09-06 10:49:00 -07003639 for (i = 0; i < 10; i++)
3640 {
3641 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
3642 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
3643 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
3644 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
3645 }
3646 for (i = 0; i < 6; i++)
3647 {
3648 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
3649 }
3650 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
3651 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
3652
Jeff Johnson295189b2012-06-20 16:38:30 -07003653 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3654}
3655
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003656static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003657{
3658 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3659
3660 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003661
Jeff Johnson295189b2012-06-20 16:38:30 -07003662 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003663
Jeff Johnson295189b2012-06-20 16:38:30 -07003664 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3665 {
3666 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3667 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3668 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3669 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3670 }
3671 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3672 {
3673 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3674 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3675 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3676 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3677 }
3678 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3679 {
3680 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3681 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3682 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3683 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3684 }
3685
3686 if (pConfig->fIsImpsEnabled)
3687 {
3688 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3689 }
3690 else
3691 {
3692 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3693 }
3694
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303695 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3696 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3697 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3698
Jeff Johnson295189b2012-06-20 16:38:30 -07003699 if (pConfig->fIsBmpsEnabled)
3700 {
3701 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3702 }
3703 else
3704 {
3705 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3706 }
3707
3708 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3709
3710 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3711 {
3712 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params\n");
3713 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003714
Jeff Johnson295189b2012-06-20 16:38:30 -07003715 if(pConfig->fIsAutoBmpsTimerEnabled)
3716 {
3717 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3718 }
3719
3720}
3721
3722#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3723static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3724{
3725 char *s = str;
3726
3727 if( str == NULL || intArray == NULL || len == NULL )
3728 {
3729 return VOS_STATUS_E_INVAL;
3730 }
3731 *len = 0;
3732
Jeff Johnson295189b2012-06-20 16:38:30 -07003733 while ( (s != NULL) && (*len < intArrayMaxLen) )
3734 {
3735 int val;
3736 //Increment length only if sscanf succesfully extracted one element.
3737 //Any other return value means error. Ignore it.
3738 if( sscanf(s, "%d", &val ) == 1 )
3739 {
3740 intArray[*len] = (tANI_U8) val;
3741 *len += 1;
3742 }
3743 s = strpbrk( s, "," );
3744 if( s )
3745 s++;
3746 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003747
3748 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003749
Jeff Johnson295189b2012-06-20 16:38:30 -07003750}
3751#endif
3752
3753
3754v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3755{
3756 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003757#ifdef WLAN_SOFTAP_VSTA_FEATURE
3758 tANI_U32 val;
3759#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003760
3761 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303762 tSirMacHTCapabilityInfo htCapInfo;
3763
Jeff Johnson295189b2012-06-20 16:38:30 -07003764
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003765 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003766 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3767 {
3768 fStatus = FALSE;
3769 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM\n");
3770 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003771
3772 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003773 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3774 {
3775 fStatus = FALSE;
3776 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM\n");
3777 }
3778
3779 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3780 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3781 {
3782 fStatus = FALSE;
3783 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM\n");
3784 }
3785
3786 if ( 0 != pConfig->Cfg1Id )
3787 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003788 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003789 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3790 {
3791 fStatus = FALSE;
3792 hddLog(LOGE, "Could not pass on Cfg1Id to CCM\n");
3793 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003794
Jeff Johnson295189b2012-06-20 16:38:30 -07003795 }
3796
3797 if ( 0 != pConfig->Cfg2Id )
3798 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003799 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003800 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3801 {
3802 fStatus = FALSE;
3803 hddLog(LOGE, "Could not pass on Cfg2Id to CCM\n");
3804 }
3805 }
3806
3807 if ( 0 != pConfig->Cfg3Id )
3808 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003809 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003810 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3811 {
3812 fStatus = FALSE;
3813 hddLog(LOGE, "Could not pass on Cfg3Id to CCM\n");
3814 }
3815 }
3816
3817 if ( 0 != pConfig->Cfg4Id )
3818 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003819 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003820 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3821 {
3822 fStatus = FALSE;
3823 hddLog(LOGE, "Could not pass on Cfg4Id to CCM\n");
3824 }
3825 }
3826
3827 if ( 0 != pConfig->Cfg5Id )
3828 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003829 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003830 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3831 {
3832 fStatus = FALSE;
3833 hddLog(LOGE, "Could not pass on Cfg5Id to CCM\n");
3834 }
3835 }
3836
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003837 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
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 WNI_CFG_BA_AUTO_SETUP to CCM\n");
3842 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003843
3844 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003845 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3846 {
3847 fStatus = FALSE;
3848 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM\n");
3849 }
3850
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003851 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003852 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3853 {
3854 fStatus = FALSE;
3855 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM\n");
3856 }
3857
3858 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3859 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3860 {
3861 fStatus = FALSE;
3862 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM\n");
3863 }
3864
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003865 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003866 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003867 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003868 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3869 {
3870 fStatus = FALSE;
3871 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3872 }
3873 }
3874 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003875 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003876 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3877 {
3878 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
Arif Hussain24bafea2013-11-15 15:10:03 -08003879 "MAC Addr (IBSS BSSID) read from Registry is: " MAC_ADDRESS_STR,
3880 MAC_ADDR_ARRAY(pConfig->IbssBssid.bytes));
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003881 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003882 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3883 {
3884 fStatus = FALSE;
3885 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3886 }
3887 }
3888 else
3889 {
3890 fStatus = FALSE;
3891 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM\n");
3892 }
3893 }
3894
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003895 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003896 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3897 {
3898 fStatus = FALSE;
3899 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM\n");
3900 }
3901
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003902 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003903 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3904 {
3905 fStatus = FALSE;
3906 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM\n");
3907 }
3908
3909 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3910 {
3911 fStatus = FALSE;
3912 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL\n" );
3913 }
3914
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003915 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003916 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3917 {
3918 fStatus = FALSE;
3919 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL\n");
3920 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003921
Jeff Johnson295189b2012-06-20 16:38:30 -07003922 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3923 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3924 {
3925 fStatus = FALSE;
3926 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM\n");
3927 }
3928
Jeff Johnson295189b2012-06-20 16:38:30 -07003929 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3930 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3931 {
3932 fStatus = FALSE;
3933 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM\n" );
3934 }
3935
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003936 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003937 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3938 {
3939 fStatus = FALSE;
3940 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM\n");
3941 }
3942
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003943 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003944 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3945 {
3946 fStatus = FALSE;
3947 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM\n");
3948 }
3949
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003950 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003951 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3952 {
3953 fStatus = FALSE;
3954 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM\n");
3955 }
3956
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003957 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003958 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3959 {
3960 fStatus = FALSE;
3961 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM\n");
3962 }
3963
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003964 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003965 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3966 {
3967 fStatus = FALSE;
3968 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM\n");
3969 }
3970
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003971 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003972 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3973 {
3974 fStatus = FALSE;
3975 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM\n");
3976 }
3977
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003978 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003979 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3980 {
3981 fStatus = FALSE;
3982 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM\n");
3983 }
3984
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003985 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003986 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3987 {
3988 fStatus = FALSE;
3989 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM\n");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003990 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003991
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003992 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003993 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3994 {
3995 fStatus = FALSE;
3996 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
3997 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003998
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05303999 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
4000 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4001 {
4002 fStatus = FALSE;
4003 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
4004 }
4005
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304006 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
4007 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4008 {
4009 fStatus = FALSE;
4010 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM\n");
4011 }
4012
4013
Jeff Johnson295189b2012-06-20 16:38:30 -07004014#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004015 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07004016 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4017 {
4018 fStatus = FALSE;
4019 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM\n");
4020 }
4021
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004022 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004023 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4024 {
4025 fStatus = FALSE;
4026 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM\n");
4027 }
4028
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004029 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004030 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4031 {
4032 fStatus = FALSE;
4033 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM\n");
4034 }
4035
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004036 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07004037 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4038#endif
4039
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004040 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
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_SINGLE_TID_RC configuration info to CCM\n");
4045 }
4046
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004047 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
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_TELE_BCN_WAKEUP_EN configuration info to CCM\n" );
4052 }
4053
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004054 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004055 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4056 {
4057 fStatus = FALSE;
4058 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM\n" );
4059 }
4060
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004061 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004062 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4063 {
4064 fStatus = FALSE;
4065 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM\n" );
4066 }
4067
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004068 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004069 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4070 {
4071 fStatus = FALSE;
4072 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM\n" );
4073 }
4074
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004075 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004076 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4077 {
4078 fStatus = FALSE;
4079 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM\n" );
4080 }
4081
4082 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4083 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4084 {
4085 fStatus = FALSE;
4086 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM\n" );
4087 }
4088
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004089 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004090 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4091 {
4092 fStatus = FALSE;
4093 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM\n" );
4094 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004095 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004096 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4097 {
4098 fStatus = FALSE;
4099 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM\n" );
4100 }
4101
4102 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4103 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4104 {
4105 fStatus = FALSE;
4106 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 -08004107 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004108
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004109 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004110 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004111 {
4112 fStatus = FALSE;
4113 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4114 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004115 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004116 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4117 {
4118 fStatus = FALSE;
4119 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM\n" );
4120 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004121 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004122 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4123 {
4124 fStatus = FALSE;
4125 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM\n" );
4126 }
4127
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004128 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004129 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4130 {
4131 fStatus = FALSE;
4132 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM\n" );
4133 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004134 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004135 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4136 {
4137 fStatus = FALSE;
4138 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM\n" );
4139 }
4140
Jeff Johnson295189b2012-06-20 16:38:30 -07004141 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4142 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4143 {
4144 fStatus = FALSE;
4145 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM\n" );
4146 }
4147
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004148 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004149 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4150 ==eHAL_STATUS_FAILURE)
4151 {
4152 fStatus = FALSE;
4153 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM\n");
4154 }
4155
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004156 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004157 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4158 ==eHAL_STATUS_FAILURE)
4159 {
4160 fStatus = FALSE;
4161 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM\n");
4162 }
4163
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004164 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004165 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4166 {
4167 fStatus = FALSE;
4168 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM\n");
4169 }
4170
Jeff Johnsond13512a2012-07-17 11:42:19 -07004171
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004172 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004173 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4174 {
4175 fStatus = FALSE;
4176 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM\n");
4177 }
4178
Jeff Johnsone7245742012-09-05 17:12:55 -07004179#ifdef WLAN_FEATURE_11AC
4180 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4181 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4182 /* we update only the least significant 2 bits in the corresponding fields */
4183 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4184 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4185 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4186 {
4187 {
4188 tANI_U32 temp = 0;
4189
4190 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004191 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004192
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004193 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004194 temp, NULL, eANI_BOOLEAN_FALSE)
4195 ==eHAL_STATUS_FAILURE)
4196 {
4197 fStatus = FALSE;
4198 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM\n");
4199 }
4200
4201 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004202 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004203
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004204 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004205 temp, NULL, eANI_BOOLEAN_FALSE)
4206 ==eHAL_STATUS_FAILURE)
4207 {
4208 fStatus = FALSE;
4209 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM\n");
4210 }
4211
4212 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004213 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004214
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004215 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004216 temp, NULL, eANI_BOOLEAN_FALSE)
4217 ==eHAL_STATUS_FAILURE)
4218 {
4219 fStatus = FALSE;
4220 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM\n");
4221 }
4222 }
4223 }
4224#endif
4225
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004226 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004227 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4228 {
4229 fStatus = FALSE;
4230 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
4231 }
4232
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004233 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304234 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4235 ==eHAL_STATUS_FAILURE)
4236 {
4237 fStatus = FALSE;
4238 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM\n");
4239 }
4240
4241 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
4242 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
4243
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004244 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304245 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
4246 ==eHAL_STATUS_FAILURE)
4247 {
4248 fStatus = FALSE;
4249 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM\n");
4250 }
4251
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004252 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304253 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4254 ==eHAL_STATUS_FAILURE)
4255 {
4256 fStatus = FALSE;
4257 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM\n");
4258 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004259
4260#ifdef WLAN_SOFTAP_VSTA_FEATURE
4261 if(pConfig->fEnableVSTASupport)
4262 {
4263 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4264 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4265 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4266 }
4267 else
4268 {
4269 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4270 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004271 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004272 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4273 {
4274 fStatus = FALSE;
4275 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM\n" );
4276 }
4277#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004278 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004279 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4280 ==eHAL_STATUS_FAILURE)
4281 {
4282 fStatus = FALSE;
4283 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM\n");
4284 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304285
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004286 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4287 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4288 {
4289 fStatus = FALSE;
4290 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM\n");
4291 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004292 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4293 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4294 {
4295 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004296 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 -08004297 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004298
4299 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4300 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4301 {
4302 fStatus = FALSE;
4303 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4304 }
4305
4306 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4307 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4308 {
4309 fStatus = FALSE;
4310 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4311 }
4312
4313 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4314 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4315 {
4316 fStatus = FALSE;
4317 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4318 }
4319
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304320 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4321 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4322 {
4323 fStatus = FALSE;
4324 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4325 }
4326
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304327#ifdef FEATURE_WLAN_TDLS
4328
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004329 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4330 pConfig->fTDLSUapsdMask, NULL,
4331 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304332 {
4333 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004334 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304335 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004336 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4337 pConfig->fEnableTDLSBufferSta, NULL,
4338 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304339 {
4340 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004341 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304342 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004343 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4344 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4345 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304346 {
4347 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004348 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304349 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004350 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4351 pConfig->fTDLSRxFrameThreshold, NULL,
4352 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304353 {
4354 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004355 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304356 }
4357#endif
4358
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004359 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4360 pConfig->fEnableAdaptRxDrain, NULL,
4361 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4362 {
4363 fStatus = FALSE;
4364 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4365 }
Yue Ma0fd23872013-08-01 15:56:47 -07004366
4367 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4368 pConfig->flexConnectPowerFactor, NULL,
4369 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4370 {
4371 fStatus = FALSE;
4372 hddLog(LOGE, "Failure: Could not pass on "
4373 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4374 }
4375
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304376 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4377 pConfig->antennaDiversity, NULL,
4378 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4379 {
4380 fStatus = FALSE;
4381 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4382 }
4383
Jeff Johnson295189b2012-06-20 16:38:30 -07004384 return fStatus;
4385}
4386
4387
4388/**---------------------------------------------------------------------------
4389
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004390 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07004391
4392 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004393
Jeff Johnson295189b2012-06-20 16:38:30 -07004394 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004395
Jeff Johnson295189b2012-06-20 16:38:30 -07004396 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004397
Jeff Johnson295189b2012-06-20 16:38:30 -07004398 --------------------------------------------------------------------------*/
4399
4400VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
4401{
4402 VOS_STATUS status = VOS_STATUS_SUCCESS;
4403 eHalStatus halStatus;
4404 tSmeConfigParams smeConfig;
4405
4406 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4407
Amar Singhalfddc28c2013-09-05 13:03:40 -07004408
Jeff Johnson295189b2012-06-20 16:38:30 -07004409 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
4410
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004411 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Jeff Johnson295189b2012-06-20 16:38:30 -07004412 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d\n", __func__,
4413 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
4414
4415 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07004416
Jeff Johnson295189b2012-06-20 16:38:30 -07004417 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
4418 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
4419 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
4420 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
4421 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
4422
4423 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
4424
4425 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4426 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4427 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4428 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4429 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4430 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4431 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4432 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4433 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4434 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4435 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4436 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4437 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4438 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4439 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4440 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4441 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004442 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07004443 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4444 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4445 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4446 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004447 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4448 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004449 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004450#ifdef WLAN_AP_STA_CONCURRENCY
4451 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4452 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4453 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4454 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4455 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004456 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4457 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4458
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004459#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004460 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4461 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4462
4463#if defined WLAN_FEATURE_VOWIFI
4464 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4465 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4466#endif
4467 //Remaining config params not obtained from registry
4468 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004469#ifdef WLAN_FEATURE_11AC
4470 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004471 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004472 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004473 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004474#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004475 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4476 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004477 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4478 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4479 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004480 if (pConfig->nBandCapability == eCSR_BAND_24)
4481 {
4482 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4483 } else {
4484 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4485 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004486 smeConfig.csrConfig.cbChoice = 0;
4487 smeConfig.csrConfig.bgScanInterval = 0;
4488 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004489 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4490 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4491 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004492#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4493 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004494 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004495 smeConfig.csrConfig.nProbes = pConfig->nProbes;
Srinivas Girigowda6cf0b822013-06-27 14:00:20 -07004496
4497 if (pConfig->nRoamScanHomeAwayTime < (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)))
4498 {
4499 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_WARN,
4500 "%s: Invalid config, Home away time(%d) is less than twice RF switching time + channel max time(%d)"
4501 " Hence enforcing home away time to disable (0)",
4502 __func__, pConfig->nRoamScanHomeAwayTime,
4503 (pConfig->nNeighborScanMaxChanTime + (2 * HDD_ROAM_SCAN_CHANNEL_SWITCH_TIME)));
4504 pConfig->nRoamScanHomeAwayTime = 0;
4505 }
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004506 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004507#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004508 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4509
Jeff Johnson295189b2012-06-20 16:38:30 -07004510 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004511 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4512 {
4513 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004514
Jeff Johnson7dda7772013-02-27 08:36:13 -08004515 /* if there is a requirement that HDD will control the default
4516 * channel list & country code (say from .ini file) we need to
4517 * add some logic here. Otherwise the default 11d info should
4518 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004519 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004520 else
4521 {
4522 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4523 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004524
Jeff Johnson7dda7772013-02-27 08:36:13 -08004525 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4526 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4527 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4528 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004529 hdd_set_power_save_config(pHddCtx, &smeConfig);
4530 hdd_set_btc_config(pHddCtx);
4531
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004532#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004533 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4534#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004535#ifdef FEATURE_WLAN_LFR
4536 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004537 smeConfig.csrConfig.MAWCEnabled = pConfig->MAWCEnabled;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004538#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004539#ifdef FEATURE_WLAN_CCX
4540 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004541 if( pConfig->isCcxIniFeatureEnabled )
4542 {
4543 pConfig->isFastTransitionEnabled = TRUE;
4544 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004545#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004546#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004547 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07004548 if (pConfig->nSelect5GHzMargin)
4549 {
4550 pConfig->RoamRssiDiff = 0;
4551 }
Jeff Johnson43971f52012-07-17 12:26:56 -07004552 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004553 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07004554 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07004555#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004556#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4557 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004558 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4559
4560 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4561 {
4562 /* Disable roaming in concurrency if roam scan offload is disabled */
4563 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4564 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004565#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004566#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4567 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4568 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004569 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4570 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004571 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004572 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004573 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004574 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004575 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4576 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4577 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004578 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4579#endif
4580
4581 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4582 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4583
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004584 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004585 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004586 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004587
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004588 //Scan Results Aging Time out value
4589 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4590
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004591 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4592
krunal soni5afa96c2013-09-06 22:19:02 -07004593 smeConfig.csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07004594 smeConfig.csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
krunal soni5afa96c2013-09-06 22:19:02 -07004595
krunal sonie9002db2013-11-25 14:24:17 -08004596 smeConfig.csrConfig.isCoalesingInIBSSAllowed =
4597 pHddCtx->cfg_ini->isCoalesingInIBSSAllowed;
4598
4599
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004600 /* update SSR config */
4601 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304602 /* Update the Directed scan offload setting */
4603 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004604
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004605 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004606 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4607 {
4608 status = VOS_STATUS_E_FAILURE;
4609 }
4610
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004611
4612 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004613}
4614
4615
4616/**---------------------------------------------------------------------------
4617
4618 \brief hdd_execute_config_command() -
4619
4620 This function executes an arbitrary configuration set command
4621
4622 \param - pHddCtx - Pointer to the HDD Adapter.
4623 \parmm - command - a configuration command of the form:
4624 <name>=<value>
4625
4626 \return - 0 for success, non zero for failure
4627
4628 --------------------------------------------------------------------------*/
4629
4630VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4631{
4632 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4633 REG_TABLE_ENTRY *pRegEntry;
4634 char *clone;
4635 char *pCmd;
4636 void *pField;
4637 char *name;
4638 char *value_str;
4639 v_U32_t value;
4640 v_S31_t svalue;
4641 size_t len_value_str;
4642 unsigned int idx;
4643 unsigned int i;
4644 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004645 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004646
4647 // assume failure until proven otherwise
4648 vstatus = VOS_STATUS_E_FAILURE;
4649
4650 // clone the command so that we can manipulate it
4651 clone = kstrdup(command, GFP_ATOMIC);
4652 if (NULL == clone)
4653 {
4654 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004655 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004656 return vstatus;
4657 }
4658
4659 // 'clone' will point to the beginning of the string so it can be freed
4660 // 'pCmd' will be used to walk/parse the command
4661 pCmd = clone;
4662
4663 // get rid of leading/trailing whitespace
4664 pCmd = i_trim(pCmd);
4665 if ('\0' == *pCmd)
4666 {
4667 // only whitespace
4668 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004669 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004670 goto done;
4671 }
4672
4673 // parse the <name> = <value>
4674 name = pCmd;
4675 while (('=' != *pCmd) && ('\0' != *pCmd))
4676 {
4677 pCmd++;
4678 }
4679 if ('\0' == *pCmd)
4680 {
4681 // did not find '='
4682 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004683 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004684 goto done;
4685 }
4686
4687 // replace '=' with NUL to terminate the <name>
4688 *pCmd++ = '\0';
4689 name = i_trim(name);
4690 if ('\0' == *name)
4691 {
4692 // did not find a name
4693 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004694 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004695 goto done;
4696 }
4697
4698 value_str = i_trim(pCmd);
4699 if ('\0' == *value_str)
4700 {
4701 // did not find a value
4702 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004703 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004704 goto done;
4705 }
4706
4707 // lookup the configuration item
4708 for (idx = 0; idx < tableSize; idx++)
4709 {
4710 if (0 == strcmp(name, g_registry_table[idx].RegName))
4711 {
4712 // found a match
4713 break;
4714 }
4715 }
4716 if (tableSize == idx)
4717 {
4718 // did not match the name
4719 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004720 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004721 goto done;
4722 }
4723
4724 pRegEntry = &g_registry_table[idx];
4725 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4726 {
4727 // does not support dynamic configuration
4728 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004729 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004730 goto done;
4731 }
4732
4733 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4734
4735 switch (pRegEntry->RegType)
4736 {
4737 case WLAN_PARAM_Integer:
Jeff Johnson02797792013-10-26 19:17:13 -07004738 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004739 if (rv < 0)
4740 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004741 if (value < pRegEntry->VarMin)
4742 {
4743 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004744 hddLog(LOGE, "%s: invalid command, value %u < min value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004745 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004746 goto done;
4747 }
4748 if (value > pRegEntry->VarMax)
4749 {
4750 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004751 hddLog(LOGE, "%s: invalid command, value %u > max value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004752 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004753 goto done;
4754 }
4755 memcpy(pField, &value, pRegEntry->VarSize);
4756 break;
4757
4758 case WLAN_PARAM_HexInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07004759 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004760 if (rv < 0)
4761 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004762 if (value < pRegEntry->VarMin)
4763 {
4764 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004765 hddLog(LOGE, "%s: invalid command, value %x < min value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004766 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004767 goto done;
4768 }
4769 if (value > pRegEntry->VarMax)
4770 {
4771 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004772 hddLog(LOGE, "%s: invalid command, value %x > max value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004773 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004774 goto done;
4775 }
4776 memcpy(pField, &value, pRegEntry->VarSize);
4777 break;
4778
4779 case WLAN_PARAM_SignedInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07004780 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004781 if (rv < 0)
4782 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004783 if (svalue < (v_S31_t)pRegEntry->VarMin)
4784 {
4785 // out of range
4786 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004787 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004788 goto done;
4789 }
4790 if (svalue > (v_S31_t)pRegEntry->VarMax)
4791 {
4792 // out of range
4793 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004794 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004795 goto done;
4796 }
4797 memcpy(pField, &svalue, pRegEntry->VarSize);
4798 break;
4799
4800 case WLAN_PARAM_String:
4801 len_value_str = strlen(value_str);
4802 if (len_value_str > (pRegEntry->VarSize - 1))
4803 {
4804 // too big
4805 hddLog(LOGE,
4806 "%s: invalid command, string [%s] length "
4807 "%u exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004808 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004809 len_value_str, (pRegEntry->VarSize - 1));
4810 goto done;
4811 }
4812 // copy string plus NUL
4813 memcpy(pField, value_str, (len_value_str + 1));
4814 break;
4815
4816 case WLAN_PARAM_MacAddr:
4817 len_value_str = strlen(value_str);
4818 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4819 {
4820 // out of range
4821 hddLog(LOGE,
4822 "%s: invalid command, MAC address [%s] length "
4823 "%u is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004824 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004825 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4826 goto done;
4827 }
4828 //parse the string and store it in the byte array
4829 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4830 {
4831 ((char*)pField)[i] = (char)
4832 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4833 parseHexDigit(value_str[(i * 2) + 1]));
4834 }
4835 break;
4836
4837 default:
4838 goto done;
4839 }
4840
4841 // if we get here, we had a successful modification
4842 vstatus = VOS_STATUS_SUCCESS;
4843
4844 // config table has been modified, is there a notifier?
4845 if (NULL != pRegEntry->pfnDynamicNotify)
4846 {
4847 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4848 }
4849
4850 // note that this item was explicitly configured
4851 if (idx < MAX_CFG_INI_ITEMS)
4852 {
4853 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4854 }
4855 done:
4856 kfree(clone);
4857 return vstatus;
4858}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004859
4860/**---------------------------------------------------------------------------
4861
4862 \brief hdd_is_okc_mode_enabled() -
4863
4864 This function returns whether OKC mode is enabled or not
4865
4866 \param - pHddCtx - Pointer to the HDD Adapter.
4867
4868 \return - 1 for enabled, zero for disabled
4869
4870 --------------------------------------------------------------------------*/
4871
4872tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4873{
4874 if (NULL == pHddCtx)
4875 {
4876 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4877 return -EINVAL;
4878 }
4879
4880#ifdef FEATURE_WLAN_OKC
4881 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4882#else
4883 return eANI_BOOLEAN_FALSE;
4884#endif
4885}