blob: a6c2aa0c078aac628f1cc80933c76cadfdbcb535 [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 sme_UpdateRoamScanHomeAwayTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nRoamScanHomeAwayTime, eANI_BOOLEAN_TRUE);
Varun Reddy Yeturu920df212013-05-22 08:07:23 -0700138}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700139#endif
140
141#ifdef FEATURE_WLAN_OKC
142static void cbNotifySetOkcFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
143{
144 // at the point this routine is called, the value in the cfg_ini table has already been updated
145}
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -0800146#endif
147
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800148#ifdef FEATURE_WLAN_LFR
149static void NotifyIsFastRoamIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
150{
151 // at the point this routine is called, the value in the cfg_ini table has already been updated
152 sme_UpdateIsFastRoamIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isFastRoamIniFeatureEnabled );
153}
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -0800154
155static void NotifyIsMAWCIniFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
156{
157 /* at the point this routine is called, the value in the cfg_ini table has already been updated */
158 sme_UpdateIsMAWCIniFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->MAWCEnabled );
159}
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800160#endif
161
162#ifdef FEATURE_WLAN_CCX
163static void cbNotifySetCcxFeatureEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
164{
165 // at the point this routine is called, the value in the cfg_ini table has already been updated
166 sme_UpdateIsCcxFeatureEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isCcxIniFeatureEnabled );
167}
168#endif
169
170static void cbNotifySetFwRssiMonitoring(hdd_context_t *pHddCtx, unsigned long NotifyId)
171{
172 // at the point this routine is called, the value in the cfg_ini table has already been updated
173 sme_UpdateConfigFwRssiMonitoring((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->fEnableFwRssiMonitoring );
174}
175
Srinivas Girigowdade697412013-02-14 16:31:48 -0800176#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
177static void cbNotifySetNeighborLookupRssiThreshold(hdd_context_t *pHddCtx, unsigned long NotifyId)
178{
179 // at the point this routine is called, the value in the cfg_ini table has already been updated
180 sme_setNeighborLookupRssiThreshold((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborLookupRssiThreshold );
181}
182
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700183static void cbNotifySetNeighborScanPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
184{
185 // at the point this routine is called, the value in the cfg_ini table has already been updated
186 sme_setNeighborScanPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanPeriod );
187}
188
Srinivas Girigowdade697412013-02-14 16:31:48 -0800189static void cbNotifySetNeighborResultsRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
190{
191 // at the point this routine is called, the value in the cfg_ini table has already been updated
192 sme_setNeighborScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod );
193}
194
195static void cbNotifySetEmptyScanRefreshPeriod(hdd_context_t *pHddCtx, unsigned long NotifyId)
196{
197 // at the point this routine is called, the value in the cfg_ini table has already been updated
198 sme_UpdateEmptyScanRefreshPeriod((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nEmptyScanRefreshPeriod);
199}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700200
201static void cbNotifySetNeighborScanMinChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
202{
203 // at the point this routine is called, the value in the cfg_ini table has already been updated
204 sme_setNeighborScanMinChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMinChanTime);
205}
206
207static void cbNotifySetNeighborScanMaxChanTime(hdd_context_t *pHddCtx, unsigned long NotifyId)
208{
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -0700209 sme_setNeighborScanMaxChanTime((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
210}
Srinivas Girigowdade697412013-02-14 16:31:48 -0800211#endif
212
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -0700213static void cbNotifySetEnableSSR(hdd_context_t *pHddCtx, unsigned long NotifyId)
214{
215 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
216}
217
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700218#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
219static void cbNotifyUpdateRoamScanOffloadEnabled(hdd_context_t *pHddCtx, unsigned long NotifyId)
220{
221 sme_UpdateRoamScanOffloadEnabled((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->isRoamOffloadScanEnabled);
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700222 if (0 == pHddCtx->cfg_ini->isRoamOffloadScanEnabled)
223 {
224 pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled = 0;
225 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
226 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700227}
Srinivas Girigowda830bbd02013-06-13 19:44:16 -0700228
229static void cbNotifySetEnableFastRoamInConcurrency(hdd_context_t *pHddCtx, unsigned long NotifyId)
230{
231 sme_UpdateEnableFastRoamInConcurrency((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->bFastRoamInConIniFeatureEnabled );
232}
233
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -0700234#endif
235
Jeff Johnson295189b2012-06-20 16:38:30 -0700236REG_TABLE_ENTRY g_registry_table[] =
237{
238 REG_VARIABLE( CFG_RTS_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800239 hdd_config_t, RTSThreshold,
240 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
241 CFG_RTS_THRESHOLD_DEFAULT,
242 CFG_RTS_THRESHOLD_MIN,
243 CFG_RTS_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700244
245 REG_VARIABLE( CFG_FRAG_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800246 hdd_config_t, FragmentationThreshold,
247 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
248 CFG_FRAG_THRESHOLD_DEFAULT,
249 CFG_FRAG_THRESHOLD_MIN,
250 CFG_FRAG_THRESHOLD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700251
252 REG_VARIABLE( CFG_CALIBRATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800253 hdd_config_t, Calibration,
254 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
255 CFG_CALIBRATION_DEFAULT,
256 CFG_CALIBRATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700257 CFG_CALIBRATION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800258
Jeff Johnson295189b2012-06-20 16:38:30 -0700259 REG_VARIABLE( CFG_CALIBRATION_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800260 hdd_config_t, CalibrationPeriod,
261 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
262 CFG_CALIBRATION_PERIOD_DEFAULT,
263 CFG_CALIBRATION_PERIOD_MIN,
264 CFG_CALIBRATION_PERIOD_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700265
266 REG_VARIABLE( CFG_OPERATING_CHANNEL_NAME, WLAN_PARAM_Integer,
267 hdd_config_t, OperatingChannel,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800268 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
269 CFG_OPERATING_CHANNEL_DEFAULT,
270 CFG_OPERATING_CHANNEL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700271 CFG_OPERATING_CHANNEL_MAX ),
272
273 REG_VARIABLE( CFG_SHORT_SLOT_TIME_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800274 hdd_config_t, ShortSlotTimeEnabled,
275 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
276 CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT,
277 CFG_SHORT_SLOT_TIME_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700278 CFG_SHORT_SLOT_TIME_ENABLED_MAX ),
279
280 REG_VARIABLE( CFG_11D_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800281 hdd_config_t, Is11dSupportEnabled,
282 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
283 CFG_11D_SUPPORT_ENABLED_DEFAULT,
284 CFG_11D_SUPPORT_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700285 CFG_11D_SUPPORT_ENABLED_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800286
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800287 REG_VARIABLE( CFG_11H_SUPPORT_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800288 hdd_config_t, Is11hSupportEnabled,
289 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
290 CFG_11H_SUPPORT_ENABLED_DEFAULT,
291 CFG_11H_SUPPORT_ENABLED_MIN,
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -0800292 CFG_11H_SUPPORT_ENABLED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700293
294 REG_VARIABLE( CFG_ENFORCE_11D_CHANNELS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800295 hdd_config_t, fEnforce11dChannels,
296 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
297 CFG_ENFORCE_11D_CHANNELS_DEFAULT,
298 CFG_ENFORCE_11D_CHANNELS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700299 CFG_ENFORCE_11D_CHANNELS_MAX ),
300
301 REG_VARIABLE( CFG_COUNTRY_CODE_PRIORITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800302 hdd_config_t, fSupplicantCountryCodeHasPriority,
303 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
304 CFG_COUNTRY_CODE_PRIORITY_DEFAULT,
305 CFG_COUNTRY_CODE_PRIORITY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700306 CFG_COUNTRY_CODE_PRIORITY_MAX),
307
308 REG_VARIABLE( CFG_ENFORCE_COUNTRY_CODE_MATCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800309 hdd_config_t, fEnforceCountryCodeMatch,
310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
311 CFG_ENFORCE_COUNTRY_CODE_MATCH_DEFAULT,
312 CFG_ENFORCE_COUNTRY_CODE_MATCH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700313 CFG_ENFORCE_COUNTRY_CODE_MATCH_MAX ),
314
315 REG_VARIABLE( CFG_ENFORCE_DEFAULT_DOMAIN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800316 hdd_config_t, fEnforceDefaultDomain,
317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
318 CFG_ENFORCE_DEFAULT_DOMAIN_DEFAULT,
319 CFG_ENFORCE_DEFAULT_DOMAIN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700320 CFG_ENFORCE_DEFAULT_DOMAIN_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800321
Jeff Johnson295189b2012-06-20 16:38:30 -0700322 REG_VARIABLE( CFG_GENERIC_ID1_NAME, WLAN_PARAM_Integer,
323 hdd_config_t, Cfg1Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
325 CFG_GENERIC_ID1_DEFAULT,
326 CFG_GENERIC_ID1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700327 CFG_GENERIC_ID1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800328
Jeff Johnson295189b2012-06-20 16:38:30 -0700329 REG_VARIABLE( CFG_GENERIC_ID2_NAME, WLAN_PARAM_Integer,
330 hdd_config_t, Cfg2Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
332 CFG_GENERIC_ID2_DEFAULT,
333 CFG_GENERIC_ID2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700334 CFG_GENERIC_ID2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800335
Jeff Johnson295189b2012-06-20 16:38:30 -0700336 REG_VARIABLE( CFG_GENERIC_ID3_NAME, WLAN_PARAM_Integer,
337 hdd_config_t, Cfg3Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800338 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
339 CFG_GENERIC_ID3_DEFAULT,
340 CFG_GENERIC_ID3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700341 CFG_GENERIC_ID3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800342
Jeff Johnson295189b2012-06-20 16:38:30 -0700343 REG_VARIABLE( CFG_GENERIC_ID4_NAME, WLAN_PARAM_Integer,
344 hdd_config_t, Cfg4Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800345 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
346 CFG_GENERIC_ID4_DEFAULT,
347 CFG_GENERIC_ID4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700348 CFG_GENERIC_ID4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800349
Jeff Johnson295189b2012-06-20 16:38:30 -0700350 REG_VARIABLE( CFG_GENERIC_ID5_NAME, WLAN_PARAM_Integer,
351 hdd_config_t, Cfg5Id,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800352 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
353 CFG_GENERIC_ID5_DEFAULT,
354 CFG_GENERIC_ID5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700355 CFG_GENERIC_ID5_MAX ),
356
357 REG_VARIABLE( CFG_GENERIC_VALUE1_NAME, WLAN_PARAM_Integer,
358 hdd_config_t, Cfg1Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800359 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
360 CFG_GENERIC_VALUE1_DEFAULT,
361 CFG_GENERIC_VALUE1_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700362 CFG_GENERIC_VALUE1_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800363
Jeff Johnson295189b2012-06-20 16:38:30 -0700364 REG_VARIABLE( CFG_GENERIC_VALUE2_NAME, WLAN_PARAM_Integer,
365 hdd_config_t, Cfg2Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800366 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
367 CFG_GENERIC_VALUE2_DEFAULT,
368 CFG_GENERIC_VALUE2_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700369 CFG_GENERIC_VALUE2_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800370
Jeff Johnson295189b2012-06-20 16:38:30 -0700371 REG_VARIABLE( CFG_GENERIC_VALUE3_NAME, WLAN_PARAM_Integer,
372 hdd_config_t, Cfg3Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800373 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
374 CFG_GENERIC_VALUE3_DEFAULT,
375 CFG_GENERIC_VALUE3_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700376 CFG_GENERIC_VALUE3_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800377
Jeff Johnson295189b2012-06-20 16:38:30 -0700378 REG_VARIABLE( CFG_GENERIC_VALUE4_NAME, WLAN_PARAM_Integer,
379 hdd_config_t, Cfg4Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800380 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
381 CFG_GENERIC_VALUE4_DEFAULT,
382 CFG_GENERIC_VALUE4_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700383 CFG_GENERIC_VALUE4_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800384
Jeff Johnson295189b2012-06-20 16:38:30 -0700385 REG_VARIABLE( CFG_GENERIC_VALUE5_NAME, WLAN_PARAM_Integer,
386 hdd_config_t, Cfg5Value,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800387 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
388 CFG_GENERIC_VALUE5_DEFAULT,
389 CFG_GENERIC_VALUE5_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700390 CFG_GENERIC_VALUE5_MAX ),
391
392 REG_VARIABLE( CFG_HEARTBEAT_THRESH_24_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800393 hdd_config_t, HeartbeatThresh24,
394 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
395 CFG_HEARTBEAT_THRESH_24_DEFAULT,
396 CFG_HEARTBEAT_THRESH_24_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700397 CFG_HEARTBEAT_THRESH_24_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800398
Jeff Johnson295189b2012-06-20 16:38:30 -0700399 REG_VARIABLE_STRING( CFG_POWER_USAGE_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800400 hdd_config_t, PowerUsageControl,
Jeff Johnson295189b2012-06-20 16:38:30 -0700401 VAR_FLAGS_OPTIONAL,
402 (void *)CFG_POWER_USAGE_DEFAULT ),
403
404 REG_VARIABLE( CFG_ENABLE_SUSPEND_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800405 hdd_config_t, nEnableSuspend,
406 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
407 CFG_ENABLE_SUSPEND_DEFAULT,
408 CFG_ENABLE_SUSPEND_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700409 CFG_ENABLE_SUSPEND_MAX ),
410
411 REG_VARIABLE( CFG_ENABLE_ENABLE_DRIVER_STOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800412 hdd_config_t, nEnableDriverStop,
413 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
414 CFG_ENABLE_ENABLE_DRIVER_STOP_DEFAULT,
415 CFG_ENABLE_ENABLE_DRIVER_STOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700416 CFG_ENABLE_ENABLE_DRIVER_STOP_MAX ),
417
418 REG_VARIABLE( CFG_ENABLE_IMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800419 hdd_config_t, fIsImpsEnabled,
420 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
421 CFG_ENABLE_IMPS_DEFAULT,
422 CFG_ENABLE_IMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700423 CFG_ENABLE_IMPS_MAX ),
424
425 REG_VARIABLE( CFG_ENABLE_LOGP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800426 hdd_config_t, fIsLogpEnabled,
427 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
428 CFG_ENABLE_LOGP_DEFAULT,
429 CFG_ENABLE_LOGP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700430 CFG_ENABLE_LOGP_MAX ),
431
432 REG_VARIABLE( CFG_IMPS_MINIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800433 hdd_config_t, nImpsMinSleepTime,
434 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
435 CFG_IMPS_MINIMUM_SLEEP_TIME_DEFAULT,
436 CFG_IMPS_MINIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700437 CFG_IMPS_MINIMUM_SLEEP_TIME_MAX ),
438
439 REG_VARIABLE( CFG_IMPS_MAXIMUM_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800440 hdd_config_t, nImpsMaxSleepTime,
441 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
442 CFG_IMPS_MAXIMUM_SLEEP_TIME_DEFAULT,
443 CFG_IMPS_MAXIMUM_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700444 CFG_IMPS_MAXIMUM_SLEEP_TIME_MAX ),
445
446 REG_VARIABLE( CFG_IMPS_MODERATE_SLEEP_TIME_NAME, WLAN_PARAM_Integer,
447 hdd_config_t, nImpsModSleepTime,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800448 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
449 CFG_IMPS_MODERATE_SLEEP_TIME_DEFAULT,
450 CFG_IMPS_MODERATE_SLEEP_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700451 CFG_IMPS_MODERATE_SLEEP_TIME_MAX ),
452
453 REG_VARIABLE( CFG_ENABLE_BMPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800454 hdd_config_t, fIsBmpsEnabled,
455 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
456 CFG_ENABLE_BMPS_DEFAULT,
457 CFG_ENABLE_BMPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700458 CFG_ENABLE_BMPS_MAX ),
459
460 REG_VARIABLE( CFG_BMPS_MINIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800461 hdd_config_t, nBmpsMinListenInterval,
462 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
463 CFG_BMPS_MINIMUM_LI_DEFAULT,
464 CFG_BMPS_MINIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700465 CFG_BMPS_MINIMUM_LI_MAX ),
466
467 REG_VARIABLE( CFG_BMPS_MAXIMUM_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800468 hdd_config_t, nBmpsMaxListenInterval,
469 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
470 CFG_BMPS_MAXIMUM_LI_DEFAULT,
471 CFG_BMPS_MAXIMUM_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700472 CFG_BMPS_MAXIMUM_LI_MAX ),
473
474 REG_VARIABLE( CFG_BMPS_MODERATE_LI_NAME, WLAN_PARAM_Integer,
475 hdd_config_t, nBmpsModListenInterval,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800476 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
477 CFG_BMPS_MODERATE_LI_DEFAULT,
478 CFG_BMPS_MODERATE_LI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700479 CFG_BMPS_MODERATE_LI_MAX ),
480
481 REG_VARIABLE( CFG_ENABLE_AUTO_BMPS_TIMER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800482 hdd_config_t, fIsAutoBmpsTimerEnabled,
483 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
484 CFG_ENABLE_AUTO_BMPS_TIMER_DEFAULT,
485 CFG_ENABLE_AUTO_BMPS_TIMER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700486 CFG_ENABLE_AUTO_BMPS_TIMER_MAX ),
487
488 REG_VARIABLE( CFG_AUTO_BMPS_TIMER_VALUE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800489 hdd_config_t, nAutoBmpsTimerValue,
490 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
491 CFG_AUTO_BMPS_TIMER_VALUE_DEFAULT,
492 CFG_AUTO_BMPS_TIMER_VALUE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700493 CFG_AUTO_BMPS_TIMER_VALUE_MAX ),
494
495 REG_VARIABLE( CFG_DOT11_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800496 hdd_config_t, dot11Mode,
497 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
498 CFG_DOT11_MODE_DEFAULT,
499 CFG_DOT11_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700500 CFG_DOT11_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800501
Jeff Johnson295189b2012-06-20 16:38:30 -0700502 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_24GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800503 hdd_config_t, nChannelBondingMode24GHz,
504 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
505 CFG_CHANNEL_BONDING_MODE_DEFAULT,
506 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700507 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800508
Jeff Johnson295189b2012-06-20 16:38:30 -0700509 REG_VARIABLE( CFG_CHANNEL_BONDING_MODE_5GHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800510 hdd_config_t, nChannelBondingMode5GHz,
511 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
512 CFG_CHANNEL_BONDING_MODE_DEFAULT,
513 CFG_CHANNEL_BONDING_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700514 CFG_CHANNEL_BONDING_MODE_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800515
516 REG_VARIABLE( CFG_MAX_RX_AMPDU_FACTOR_NAME, WLAN_PARAM_Integer,
517 hdd_config_t, MaxRxAmpduFactor,
518 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
519 CFG_MAX_RX_AMPDU_FACTOR_DEFAULT,
520 CFG_MAX_RX_AMPDU_FACTOR_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700521 CFG_MAX_RX_AMPDU_FACTOR_MAX),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800522
Jeff Johnson295189b2012-06-20 16:38:30 -0700523 REG_VARIABLE( CFG_FIXED_RATE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800524 hdd_config_t, TxRate,
525 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
526 CFG_FIXED_RATE_DEFAULT,
527 CFG_FIXED_RATE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700528 CFG_FIXED_RATE_MAX ),
529
530 REG_VARIABLE( CFG_SHORT_GI_20MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800531 hdd_config_t, ShortGI20MhzEnable,
532 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
533 CFG_SHORT_GI_20MHZ_DEFAULT,
534 CFG_SHORT_GI_20MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700535 CFG_SHORT_GI_20MHZ_MAX ),
536
537 REG_VARIABLE( CFG_BLOCK_ACK_AUTO_SETUP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800538 hdd_config_t, BlockAckAutoSetup,
539 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
540 CFG_BLOCK_ACK_AUTO_SETUP_DEFAULT,
541 CFG_BLOCK_ACK_AUTO_SETUP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700542 CFG_BLOCK_ACK_AUTO_SETUP_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800543
Jeff Johnson295189b2012-06-20 16:38:30 -0700544 REG_VARIABLE( CFG_SCAN_RESULT_AGE_COUNT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800545 hdd_config_t, ScanResultAgeCount,
546 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
547 CFG_SCAN_RESULT_AGE_COUNT_DEFAULT,
548 CFG_SCAN_RESULT_AGE_COUNT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700549 CFG_SCAN_RESULT_AGE_COUNT_MAX ),
550
551 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800552 hdd_config_t, nScanAgeTimeNCNPS,
553 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
554 CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT,
555 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700556 CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX ),
557
558 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800559 hdd_config_t, nScanAgeTimeNCPS,
560 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
561 CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT,
562 CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700563 CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX ),
564
565 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800566 hdd_config_t, nScanAgeTimeCNPS,
567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
568 CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT,
569 CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700570 CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX ),
571
572 REG_VARIABLE( CFG_SCAN_RESULT_AGE_TIME_CPS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800573 hdd_config_t, nScanAgeTimeCPS,
574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
575 CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT,
576 CFG_SCAN_RESULT_AGE_TIME_CPS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700577 CFG_SCAN_RESULT_AGE_TIME_CPS_MAX ),
578
579 REG_VARIABLE( CFG_RSSI_CATEGORY_GAP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800580 hdd_config_t, nRssiCatGap,
581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
582 CFG_RSSI_CATEGORY_GAP_DEFAULT,
583 CFG_RSSI_CATEGORY_GAP_MIN,
584 CFG_RSSI_CATEGORY_GAP_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700585
Jeff Johnson295189b2012-06-20 16:38:30 -0700586 REG_VARIABLE( CFG_SHORT_PREAMBLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800587 hdd_config_t, fIsShortPreamble,
588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
589 CFG_SHORT_PREAMBLE_DEFAULT,
590 CFG_SHORT_PREAMBLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700591 CFG_SHORT_PREAMBLE_MAX ),
592
593 REG_VARIABLE( CFG_IBSS_AUTO_BSSID_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800594 hdd_config_t, fIsAutoIbssBssid,
595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
596 CFG_IBSS_AUTO_BSSID_DEFAULT,
597 CFG_IBSS_AUTO_BSSID_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700598 CFG_IBSS_AUTO_BSSID_MAX ),
599
600 REG_VARIABLE_STRING( CFG_IBSS_BSSID_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800601 hdd_config_t, IbssBssid,
Jeff Johnson295189b2012-06-20 16:38:30 -0700602 VAR_FLAGS_OPTIONAL,
603 (void *)CFG_IBSS_BSSID_DEFAULT ),
604
605 REG_VARIABLE_STRING( CFG_INTF0_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800606 hdd_config_t, intfMacAddr[0],
Jeff Johnson295189b2012-06-20 16:38:30 -0700607 VAR_FLAGS_OPTIONAL,
608 (void *)CFG_INTF0_MAC_ADDR_DEFAULT ),
609
610 REG_VARIABLE_STRING( CFG_INTF1_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800611 hdd_config_t, intfMacAddr[1],
Jeff Johnson295189b2012-06-20 16:38:30 -0700612 VAR_FLAGS_OPTIONAL,
613 (void *)CFG_INTF1_MAC_ADDR_DEFAULT ),
614
615 REG_VARIABLE_STRING( CFG_INTF2_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800616 hdd_config_t, intfMacAddr[2],
Jeff Johnson295189b2012-06-20 16:38:30 -0700617 VAR_FLAGS_OPTIONAL,
618 (void *)CFG_INTF2_MAC_ADDR_DEFAULT ),
619
620 REG_VARIABLE_STRING( CFG_INTF3_MAC_ADDR_NAME, WLAN_PARAM_MacAddr,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800621 hdd_config_t, intfMacAddr[3],
Jeff Johnson295189b2012-06-20 16:38:30 -0700622 VAR_FLAGS_OPTIONAL,
623 (void *)CFG_INTF3_MAC_ADDR_DEFAULT ),
624
Jeff Johnson295189b2012-06-20 16:38:30 -0700625 REG_VARIABLE( CFG_AP_QOS_UAPSD_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800626 hdd_config_t, apUapsdEnabled,
627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
628 CFG_AP_QOS_UAPSD_MODE_DEFAULT,
629 CFG_AP_QOS_UAPSD_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700630 CFG_AP_QOS_UAPSD_MODE_MAX ),
631
632 REG_VARIABLE_STRING( CFG_AP_COUNTRY_CODE, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800633 hdd_config_t, apCntryCode,
Jeff Johnson295189b2012-06-20 16:38:30 -0700634 VAR_FLAGS_OPTIONAL,
635 (void *)CFG_AP_COUNTRY_CODE_DEFAULT ),
636
Madan Mohan Koyyalamudi3ff2a0b2012-10-15 14:33:46 -0700637 REG_VARIABLE( CFG_AP_ENABLE_RANDOM_BSSID_NAME, WLAN_PARAM_Integer,
638 hdd_config_t, apRandomBssidEnabled,
639 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
640 CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT,
641 CFG_AP_ENABLE_RANDOM_BSSID_MIN,
642 CFG_AP_ENABLE_RANDOM_BSSID_MAX ),
643
Jeff Johnson295189b2012-06-20 16:38:30 -0700644 REG_VARIABLE( CFG_AP_ENABLE_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800645 hdd_config_t, apProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700646 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
647 CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT,
648 CFG_AP_ENABLE_PROTECTION_MODE_MIN,
649 CFG_AP_ENABLE_PROTECTION_MODE_MAX ),
650
651 REG_VARIABLE( CFG_AP_PROTECTION_MODE_NAME, WLAN_PARAM_HexInteger,
652 hdd_config_t, apProtection,
653 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
654 CFG_AP_PROTECTION_MODE_DEFAULT,
655 CFG_AP_PROTECTION_MODE_MIN,
656 CFG_AP_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800657
Jeff Johnson295189b2012-06-20 16:38:30 -0700658 REG_VARIABLE( CFG_AP_OBSS_PROTECTION_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800659 hdd_config_t, apOBSSProtEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -0700660 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
661 CFG_AP_OBSS_PROTECTION_MODE_DEFAULT,
662 CFG_AP_OBSS_PROTECTION_MODE_MIN,
663 CFG_AP_OBSS_PROTECTION_MODE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800664
Jeff Johnson295189b2012-06-20 16:38:30 -0700665 REG_VARIABLE( CFG_AP_STA_SECURITY_SEPERATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800666 hdd_config_t, apDisableIntraBssFwd,
Jeff Johnson295189b2012-06-20 16:38:30 -0700667 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
668 CFG_AP_STA_SECURITY_SEPERATION_DEFAULT,
669 CFG_AP_STA_SECURITY_SEPERATION_MIN,
670 CFG_AP_STA_SECURITY_SEPERATION_MAX ),
671
672 REG_VARIABLE( CFG_FRAMES_PROCESSING_TH_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800673 hdd_config_t, MinFramesProcThres,
Jeff Johnson295189b2012-06-20 16:38:30 -0700674 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
675 CFG_FRAMES_PROCESSING_TH_DEFAULT,
676 CFG_FRAMES_PROCESSING_TH_MIN,
677 CFG_FRAMES_PROCESSING_TH_MAX ),
678
679 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_START_CHANNEL , WLAN_PARAM_Integer,
680 hdd_config_t, apStartChannelNum,
681 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
682 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_DEFAULT,
683 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MIN,
684 CFG_SAP_CHANNEL_SELECT_START_CHANNEL_MAX ),
685
686 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_END_CHANNEL , WLAN_PARAM_Integer,
687 hdd_config_t, apEndChannelNum,
688 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
689 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_DEFAULT,
690 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MIN,
691 CFG_SAP_CHANNEL_SELECT_END_CHANNEL_MAX ),
692
693 REG_VARIABLE(CFG_SAP_CHANNEL_SELECT_OPERATING_BAND , WLAN_PARAM_Integer,
694 hdd_config_t, apOperatingBand,
695 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
696 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_DEFAULT,
697 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MIN,
698 CFG_SAP_CHANNEL_SELECT_OPERATING_BAND_MAX ),
699
700 REG_VARIABLE(CFG_SAP_AUTO_CHANNEL_SELECTION_NAME , WLAN_PARAM_Integer,
701 hdd_config_t, apAutoChannelSelection,
702 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
703 CFG_SAP_AUTO_CHANNEL_SELECTION_DEFAULT,
704 CFG_SAP_AUTO_CHANNEL_SELECTION_MIN,
705 CFG_SAP_AUTO_CHANNEL_SELECTION_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800706
Jeff Johnson295189b2012-06-20 16:38:30 -0700707 REG_VARIABLE(CFG_ENABLE_LTE_COEX , WLAN_PARAM_Integer,
708 hdd_config_t, enableLTECoex,
709 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
710 CFG_ENABLE_LTE_COEX_DEFAULT,
711 CFG_ENABLE_LTE_COEX_MIN,
712 CFG_ENABLE_LTE_COEX_MAX ),
713
714 REG_VARIABLE( CFG_AP_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
715 hdd_config_t, apKeepAlivePeriod,
716 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
717 CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT,
718 CFG_AP_KEEP_ALIVE_PERIOD_MIN,
719 CFG_AP_KEEP_ALIVE_PERIOD_MAX),
720
721 REG_VARIABLE( CFG_GO_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
722 hdd_config_t, goKeepAlivePeriod,
723 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
724 CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT,
725 CFG_GO_KEEP_ALIVE_PERIOD_MIN,
726 CFG_GO_KEEP_ALIVE_PERIOD_MAX),
727
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +0530728 REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
729 hdd_config_t, apLinkMonitorPeriod,
730 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
731 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
732 CFG_AP_LINK_MONITOR_PERIOD_MIN,
733 CFG_AP_LINK_MONITOR_PERIOD_MAX),
734
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +0530735 REG_VARIABLE( CFG_GO_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
736 hdd_config_t, goLinkMonitorPeriod,
737 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
738 CFG_GO_LINK_MONITOR_PERIOD_DEFAULT,
739 CFG_GO_LINK_MONITOR_PERIOD_MIN,
740 CFG_GO_LINK_MONITOR_PERIOD_MAX),
741
Jeff Johnson295189b2012-06-20 16:38:30 -0700742 REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
743 hdd_config_t, disablePacketFilter,
744 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
745 CFG_DISABLE_PACKET_FILTER_DEFAULT,
746 CFG_DISABLE_PACKET_FILTER_MIN,
747 CFG_DISABLE_PACKET_FILTER_MAX ),
748
749 REG_VARIABLE( CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800750 hdd_config_t, nBeaconInterval,
751 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
752 CFG_BEACON_INTERVAL_DEFAULT,
753 CFG_BEACON_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700754 CFG_BEACON_INTERVAL_MAX ),
755
Jeff Johnson295189b2012-06-20 16:38:30 -0700756 REG_VARIABLE( CFG_ENABLE_IDLE_SCAN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800757 hdd_config_t, nEnableIdleScan,
758 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
759 CFG_ENABLE_IDLE_SCAN_DEFAULT,
760 CFG_ENABLE_IDLE_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700761 CFG_ENABLE_IDLE_SCAN_MAX ),
762
763 REG_VARIABLE( CFG_ROAMING_TIME_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800764 hdd_config_t, nRoamingTime,
765 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
766 CFG_ROAMING_TIME_DEFAULT,
767 CFG_ROAMING_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700768 CFG_ROAMING_TIME_MAX ),
769
770 REG_VARIABLE( CFG_VCC_RSSI_TRIGGER_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800771 hdd_config_t, nVccRssiTrigger,
772 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
773 CFG_VCC_RSSI_TRIGGER_DEFAULT,
774 CFG_VCC_RSSI_TRIGGER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700775 CFG_VCC_RSSI_TRIGGER_MAX ),
776
777 REG_VARIABLE( CFG_VCC_UL_MAC_LOSS_THRESH_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800778 hdd_config_t, nVccUlMacLossThreshold,
779 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
780 CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT,
781 CFG_VCC_UL_MAC_LOSS_THRESH_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700782 CFG_VCC_UL_MAC_LOSS_THRESH_MAX ),
783
784 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800785 hdd_config_t, nPassiveMaxChnTime,
786 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
787 CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT,
788 CFG_PASSIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700789 CFG_PASSIVE_MAX_CHANNEL_TIME_MAX ),
790
791 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800792 hdd_config_t, nPassiveMinChnTime,
793 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
794 CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT,
795 CFG_PASSIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700796 CFG_PASSIVE_MIN_CHANNEL_TIME_MAX ),
797
798 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800799 hdd_config_t, nActiveMaxChnTime,
800 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
801 CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT,
802 CFG_ACTIVE_MAX_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700803 CFG_ACTIVE_MAX_CHANNEL_TIME_MAX ),
804
805 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800806 hdd_config_t, nActiveMinChnTime,
807 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
808 CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT,
809 CFG_ACTIVE_MIN_CHANNEL_TIME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700810 CFG_ACTIVE_MIN_CHANNEL_TIME_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700811
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800812 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
813 hdd_config_t, nActiveMaxChnTimeBtc,
814 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
815 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_DEFAULT,
816 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MIN,
817 CFG_ACTIVE_MAX_CHANNEL_TIME_BTC_MAX ),
818
819 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_NAME, WLAN_PARAM_Integer,
820 hdd_config_t, nActiveMinChnTimeBtc,
821 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
822 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_DEFAULT,
823 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MIN,
824 CFG_ACTIVE_MIN_CHANNEL_TIME_BTC_MAX ),
825
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -0700826 REG_VARIABLE( CFG_RETRY_LIMIT_ZERO_NAME, WLAN_PARAM_Integer,
827 hdd_config_t, retryLimitZero,
828 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
829 CFG_RETRY_LIMIT_ZERO_DEFAULT,
830 CFG_RETRY_LIMIT_ZERO_MIN,
831 CFG_RETRY_LIMIT_ZERO_MAX ),
832
833 REG_VARIABLE( CFG_RETRY_LIMIT_ONE_NAME, WLAN_PARAM_Integer,
834 hdd_config_t, retryLimitOne,
835 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
836 CFG_RETRY_LIMIT_ONE_DEFAULT,
837 CFG_RETRY_LIMIT_ONE_MIN,
838 CFG_RETRY_LIMIT_ONE_MAX ),
839
840 REG_VARIABLE( CFG_RETRY_LIMIT_TWO_NAME, WLAN_PARAM_Integer,
841 hdd_config_t, retryLimitTwo,
842 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
843 CFG_RETRY_LIMIT_TWO_DEFAULT,
844 CFG_RETRY_LIMIT_TWO_MIN,
845 CFG_RETRY_LIMIT_TWO_MAX ),
846
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -0700847 REG_VARIABLE( CFG_DISABLE_AGG_WITH_BTC_NAME, WLAN_PARAM_Integer,
848 hdd_config_t, disableAggWithBtc,
849 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
850 CFG_DISABLE_AGG_WITH_BTC_DEFAULT,
851 CFG_DISABLE_AGG_WITH_BTC_MIN,
852 CFG_DISABLE_AGG_WITH_BTC_MAX ),
853
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700854#ifdef WLAN_AP_STA_CONCURRENCY
855 REG_VARIABLE( CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800856 hdd_config_t, nPassiveMaxChnTimeConc,
857 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
858 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
859 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700860 CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX ),
861
862 REG_VARIABLE( CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800863 hdd_config_t, nPassiveMinChnTimeConc,
864 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
865 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
866 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700867 CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX ),
868
869 REG_VARIABLE( CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800870 hdd_config_t, nActiveMaxChnTimeConc,
871 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
872 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT,
873 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700874 CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX ),
875
876 REG_VARIABLE( CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800877 hdd_config_t, nActiveMinChnTimeConc,
878 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
879 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT,
880 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700881 CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX ),
882
883 REG_VARIABLE( CFG_REST_TIME_CONC_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800884 hdd_config_t, nRestTimeConc,
885 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
886 CFG_REST_TIME_CONC_DEFAULT,
887 CFG_REST_TIME_CONC_MIN,
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700888 CFG_REST_TIME_CONC_MAX ),
Vinay Malekal05fdc812012-12-17 13:04:30 -0800889
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700890 REG_VARIABLE( CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
891 hdd_config_t, nNumStaChanCombinedConc,
Vinay Malekal05fdc812012-12-17 13:04:30 -0800892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -0700893 CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
894 CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
895 CFG_NUM_STA_CHAN_COMBINED_CONC_MAX ),
896
897 REG_VARIABLE( CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
898 hdd_config_t, nNumP2PChanCombinedConc,
899 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
900 CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
901 CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
902 CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX ),
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -0700903#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800904
Jeff Johnson295189b2012-06-20 16:38:30 -0700905 REG_VARIABLE( CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800906 hdd_config_t, nMaxPsPoll,
907 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
908 CFG_MAX_PS_POLL_DEFAULT,
909 CFG_MAX_PS_POLL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700910 CFG_MAX_PS_POLL_MAX ),
911
912 REG_VARIABLE( CFG_MAX_TX_POWER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800913 hdd_config_t, nTxPowerCap,
914 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
915 CFG_MAX_TX_POWER_DEFAULT,
916 CFG_MAX_TX_POWER_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700917 CFG_MAX_TX_POWER_MAX ),
918
919 REG_VARIABLE( CFG_LOW_GAIN_OVERRIDE_NAME, WLAN_PARAM_Integer,
920 hdd_config_t, fIsLowGainOverride,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800921 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
922 CFG_LOW_GAIN_OVERRIDE_DEFAULT,
923 CFG_LOW_GAIN_OVERRIDE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700924 CFG_LOW_GAIN_OVERRIDE_MAX ),
925
926 REG_VARIABLE( CFG_RSSI_FILTER_PERIOD_NAME, WLAN_PARAM_Integer,
927 hdd_config_t, nRssiFilterPeriod,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800928 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
929 CFG_RSSI_FILTER_PERIOD_DEFAULT,
930 CFG_RSSI_FILTER_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700931 CFG_RSSI_FILTER_PERIOD_MAX ),
932
933 REG_VARIABLE( CFG_IGNORE_DTIM_NAME, WLAN_PARAM_Integer,
934 hdd_config_t, fIgnoreDtim,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800935 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
936 CFG_IGNORE_DTIM_DEFAULT,
937 CFG_IGNORE_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700938 CFG_IGNORE_DTIM_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800939
Yue Mac24062f2013-05-13 17:01:29 -0700940 REG_VARIABLE( CFG_MAX_LI_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
941 hdd_config_t, fMaxLIModulatedDTIM,
942 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
943 CFG_MAX_LI_MODULATED_DTIM_DEFAULT,
944 CFG_MAX_LI_MODULATED_DTIM_MIN,
945 CFG_MAX_LI_MODULATED_DTIM_MAX ),
946
Jeff Johnson295189b2012-06-20 16:38:30 -0700947 REG_VARIABLE( CFG_RX_ANT_CONFIGURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800948 hdd_config_t, nRxAnt,
949 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
950 CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT,
951 CFG_RX_ANT_CONFIGURATION_NAME_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700952 CFG_RX_ANT_CONFIGURATION_NAME_MAX ),
953
954 REG_VARIABLE( CFG_FW_HEART_BEAT_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800955 hdd_config_t, fEnableFwHeartBeatMonitoring,
956 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
957 CFG_FW_HEART_BEAT_MONITORING_DEFAULT,
958 CFG_FW_HEART_BEAT_MONITORING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700959 CFG_FW_HEART_BEAT_MONITORING_MAX ),
960
961 REG_VARIABLE( CFG_FW_BEACON_FILTERING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800962 hdd_config_t, fEnableFwBeaconFiltering,
963 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
964 CFG_FW_BEACON_FILTERING_DEFAULT,
965 CFG_FW_BEACON_FILTERING_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700966 CFG_FW_BEACON_FILTERING_MAX ),
967
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800968 REG_DYNAMIC_VARIABLE( CFG_FW_RSSI_MONITORING_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800969 hdd_config_t, fEnableFwRssiMonitoring,
970 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
971 CFG_FW_RSSI_MONITORING_DEFAULT,
972 CFG_FW_RSSI_MONITORING_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -0800973 CFG_FW_RSSI_MONITORING_MAX,
974 cbNotifySetFwRssiMonitoring, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700975
976 REG_VARIABLE( CFG_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800977 hdd_config_t, nDataInactivityTimeout,
978 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
979 CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT,
980 CFG_DATA_INACTIVITY_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700981 CFG_DATA_INACTIVITY_TIMEOUT_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800982
Jeff Johnson295189b2012-06-20 16:38:30 -0700983 REG_VARIABLE( CFG_NTH_BEACON_FILTER_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800984 hdd_config_t, nthBeaconFilter,
985 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
986 CFG_NTH_BEACON_FILTER_DEFAULT,
987 CFG_NTH_BEACON_FILTER_MIN,
988 CFG_NTH_BEACON_FILTER_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -0700989
990 REG_VARIABLE( CFG_QOS_WMM_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800991 hdd_config_t, WmmMode,
992 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
993 CFG_QOS_WMM_MODE_DEFAULT,
994 CFG_QOS_WMM_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -0700995 CFG_QOS_WMM_MODE_MAX ),
996
997 REG_VARIABLE( CFG_QOS_WMM_80211E_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -0800998 hdd_config_t, b80211eIsEnabled,
999 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1000 CFG_QOS_WMM_80211E_ENABLED_DEFAULT,
1001 CFG_QOS_WMM_80211E_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001002 CFG_QOS_WMM_80211E_ENABLED_MAX ),
1003
1004 REG_VARIABLE( CFG_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001005 hdd_config_t, UapsdMask,
1006 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1007 CFG_QOS_WMM_UAPSD_MASK_DEFAULT,
1008 CFG_QOS_WMM_UAPSD_MASK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001009 CFG_QOS_WMM_UAPSD_MASK_MAX ),
1010
Jeff Johnson295189b2012-06-20 16:38:30 -07001011 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001012 hdd_config_t, InfraUapsdVoSrvIntv,
1013 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1014 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT,
1015 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001016 CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX ),
1017
1018 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001019 hdd_config_t, InfraUapsdVoSuspIntv,
1020 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1021 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT,
1022 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001023 CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX ),
1024
1025 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001026 hdd_config_t, InfraUapsdViSrvIntv,
1027 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1028 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT,
1029 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001030 CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX ),
1031
1032 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001033 hdd_config_t, InfraUapsdViSuspIntv,
1034 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1035 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT,
1036 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001037 CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX ),
1038
1039 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001040 hdd_config_t, InfraUapsdBeSrvIntv,
1041 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1042 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT,
1043 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001044 CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX ),
1045
1046 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001047 hdd_config_t, InfraUapsdBeSuspIntv,
1048 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1049 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT,
1050 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001051 CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX ),
1052
1053 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001054 hdd_config_t, InfraUapsdBkSrvIntv,
1055 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1056 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT,
1057 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001058 CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX ),
1059
1060 REG_VARIABLE( CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001061 hdd_config_t, InfraUapsdBkSuspIntv,
1062 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1063 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT,
1064 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001065 CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX ),
1066
1067#ifdef FEATURE_WLAN_CCX
1068 REG_VARIABLE( CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001069 hdd_config_t, InfraInactivityInterval,
1070 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1071 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT,
1072 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001073 CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX),
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001074 REG_DYNAMIC_VARIABLE( CFG_CCX_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001075 hdd_config_t, isCcxIniFeatureEnabled,
1076 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1077 CFG_CCX_FEATURE_ENABLED_DEFAULT,
1078 CFG_CCX_FEATURE_ENABLED_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001079 CFG_CCX_FEATURE_ENABLED_MAX,
1080 cbNotifySetCcxFeatureEnabled, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001081#endif // FEATURE_WLAN_CCX
1082
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001083#ifdef FEATURE_WLAN_LFR
1084 // flag to turn ON/OFF Legacy Fast Roaming
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001085 REG_DYNAMIC_VARIABLE( CFG_LFR_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001086 hdd_config_t, isFastRoamIniFeatureEnabled,
1087 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1088 CFG_LFR_FEATURE_ENABLED_DEFAULT,
1089 CFG_LFR_FEATURE_ENABLED_MIN,
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001090 CFG_LFR_FEATURE_ENABLED_MAX,
1091 NotifyIsFastRoamIniFeatureEnabled, 0 ),
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08001092
1093 /* flag to turn ON/OFF Motion assistance for Legacy Fast Roaming */
1094 REG_DYNAMIC_VARIABLE( CFG_LFR_MAWC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1095 hdd_config_t, MAWCEnabled,
1096 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1097 CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT,
1098 CFG_LFR_MAWC_FEATURE_ENABLED_MIN,
1099 CFG_LFR_MAWC_FEATURE_ENABLED_MAX,
1100 NotifyIsMAWCIniFeatureEnabled, 0 ),
1101
Jeff Johnson04dd8a82012-06-29 20:41:40 -07001102#endif // FEATURE_WLAN_LFR
1103
1104#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07001105 // flag to turn ON/OFF 11r and CCX FastTransition
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001106 REG_DYNAMIC_VARIABLE( CFG_FAST_TRANSITION_ENABLED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001107 hdd_config_t, isFastTransitionEnabled,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001108 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1109 CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT,
1110 CFG_FAST_TRANSITION_ENABLED_NAME_MIN,
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08001111 CFG_FAST_TRANSITION_ENABLED_NAME_MAX,
1112 cbNotifySetFastTransitionEnabled, 0 ),
Jeff Johnson43971f52012-07-17 12:26:56 -07001113
Srinivas Girigowdade697412013-02-14 16:31:48 -08001114 /* Variable to specify the delta/difference between the RSSI of current AP
Jeff Johnson43971f52012-07-17 12:26:56 -07001115 * and roamable AP while roaming */
Srinivas Girigowdade697412013-02-14 16:31:48 -08001116 REG_DYNAMIC_VARIABLE( CFG_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
1117 hdd_config_t, RoamRssiDiff,
1118 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1119 CFG_ROAM_RSSI_DIFF_DEFAULT,
1120 CFG_ROAM_RSSI_DIFF_MIN,
1121 CFG_ROAM_RSSI_DIFF_MAX,
1122 cbNotifySetRoamRssiDiff, 0),
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001123
1124 REG_DYNAMIC_VARIABLE( CFG_IMMEDIATE_ROAM_RSSI_DIFF_NAME, WLAN_PARAM_Integer,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001125 hdd_config_t, nImmediateRoamRssiDiff,
1126 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1127 CFG_IMMEDIATE_ROAM_RSSI_DIFF_DEFAULT,
1128 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MIN,
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08001129 CFG_IMMEDIATE_ROAM_RSSI_DIFF_MAX,
1130 cbNotifySetImmediateRoamRssiDiff, 0),
Srinivas Girigowda100eb322013-03-15 16:48:20 -07001131
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07001132 REG_DYNAMIC_VARIABLE( CFG_ENABLE_WES_MODE_NAME, WLAN_PARAM_Integer,
1133 hdd_config_t, isWESModeEnabled,
1134 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1135 CFG_ENABLE_WES_MODE_NAME_DEFAULT,
1136 CFG_ENABLE_WES_MODE_NAME_MIN,
1137 CFG_ENABLE_WES_MODE_NAME_MAX,
1138 cbNotifySetWESMode, 0),
Jeff Johnson295189b2012-06-20 16:38:30 -07001139#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001140#ifdef FEATURE_WLAN_OKC
1141 REG_DYNAMIC_VARIABLE( CFG_OKC_FEATURE_ENABLED_NAME, WLAN_PARAM_Integer,
1142 hdd_config_t, isOkcIniFeatureEnabled,
1143 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1144 CFG_OKC_FEATURE_ENABLED_DEFAULT,
1145 CFG_OKC_FEATURE_ENABLED_MIN,
1146 CFG_OKC_FEATURE_ENABLED_MAX,
1147 cbNotifySetOkcFeatureEnabled, 0 ),
1148#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07001149#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
1150 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_OFFLOAD_ENABLED, WLAN_PARAM_Integer,
1151 hdd_config_t, isRoamOffloadScanEnabled,
1152 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1153 CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT,
1154 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN,
1155 CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX,
1156 cbNotifyUpdateRoamScanOffloadEnabled, 0),
1157#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07001158 REG_VARIABLE( CFG_QOS_WMM_PKT_CLASSIFY_BASIS_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001159 hdd_config_t, PktClassificationBasis,
1160 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1161 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_DEFAULT,
1162 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001163 CFG_QOS_WMM_PKT_CLASSIFY_BASIS_MAX ),
1164
1165 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001166 hdd_config_t, InfraDirAcVo,
1167 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1168 CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT,
1169 CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001170 CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX ),
1171
1172 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001173 hdd_config_t, InfraNomMsduSizeAcVo,
1174 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1175 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT,
1176 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001177 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX ),
1178
1179 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001180 hdd_config_t, InfraMeanDataRateAcVo,
1181 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1182 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT,
1183 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001184 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX ),
1185
1186 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001187 hdd_config_t, InfraMinPhyRateAcVo,
1188 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1189 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT,
1190 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001191 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX ),
1192
1193 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001194 hdd_config_t, InfraSbaAcVo,
1195 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1196 CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT,
1197 CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001198 CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX ),
1199
1200 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001201 hdd_config_t, InfraDirAcVi,
1202 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1203 CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT,
1204 CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001205 CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX ),
1206
1207 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001208 hdd_config_t, InfraNomMsduSizeAcVi,
1209 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1210 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT,
1211 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001212 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX ),
1213
1214 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001215 hdd_config_t, InfraMeanDataRateAcVi,
1216 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1217 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT,
1218 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001219 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX ),
1220
1221 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001222 hdd_config_t, InfraMinPhyRateAcVi,
1223 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1224 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT,
1225 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001226 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX ),
1227
1228 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001229 hdd_config_t, InfraSbaAcVi,
1230 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1231 CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT,
1232 CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001233 CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX ),
1234
1235 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001236 hdd_config_t, InfraDirAcBe,
1237 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1238 CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT,
1239 CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001240 CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX ),
1241
1242 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001243 hdd_config_t, InfraNomMsduSizeAcBe,
1244 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1245 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT,
1246 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001247 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX ),
1248
1249 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001250 hdd_config_t, InfraMeanDataRateAcBe,
1251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1252 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT,
1253 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001254 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX ),
1255
1256 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001257 hdd_config_t, InfraMinPhyRateAcBe,
1258 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1259 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT,
1260 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001261 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX ),
1262
1263 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001264 hdd_config_t, InfraSbaAcBe,
1265 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1266 CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT,
1267 CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001268 CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX ),
1269
1270 REG_VARIABLE( CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001271 hdd_config_t, InfraDirAcBk,
1272 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1273 CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT,
1274 CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001275 CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX ),
1276
1277 REG_VARIABLE( CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001278 hdd_config_t, InfraNomMsduSizeAcBk,
1279 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1280 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT,
1281 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001282 CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX ),
1283
1284 REG_VARIABLE( CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001285 hdd_config_t, InfraMeanDataRateAcBk,
1286 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1287 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT,
1288 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001289 CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX ),
1290
1291 REG_VARIABLE( CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001292 hdd_config_t, InfraMinPhyRateAcBk,
1293 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1294 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT,
1295 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001296 CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX ),
1297
1298 REG_VARIABLE( CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001299 hdd_config_t, InfraSbaAcBk,
1300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1301 CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT,
1302 CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001303 CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX ),
1304
1305 REG_VARIABLE( CFG_TL_WFQ_BK_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001306 hdd_config_t, WfqBkWeight,
1307 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1308 CFG_TL_WFQ_BK_WEIGHT_DEFAULT,
1309 CFG_TL_WFQ_BK_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001310 CFG_TL_WFQ_BK_WEIGHT_MAX ),
1311
1312 REG_VARIABLE( CFG_TL_WFQ_BE_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001313 hdd_config_t, WfqBeWeight,
1314 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1315 CFG_TL_WFQ_BE_WEIGHT_DEFAULT,
1316 CFG_TL_WFQ_BE_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001317 CFG_TL_WFQ_BE_WEIGHT_MAX ),
1318
1319 REG_VARIABLE( CFG_TL_WFQ_VI_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001320 hdd_config_t, WfqViWeight,
1321 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1322 CFG_TL_WFQ_VI_WEIGHT_DEFAULT,
1323 CFG_TL_WFQ_VI_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001324 CFG_TL_WFQ_VI_WEIGHT_MAX ),
1325
1326 REG_VARIABLE( CFG_TL_WFQ_VO_WEIGHT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001327 hdd_config_t, WfqVoWeight,
1328 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1329 CFG_TL_WFQ_VO_WEIGHT_DEFAULT,
1330 CFG_TL_WFQ_VO_WEIGHT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001331 CFG_TL_WFQ_VO_WEIGHT_MAX ),
1332
1333 REG_VARIABLE( CFG_TL_DELAYED_TRGR_FRM_INT_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001334 hdd_config_t, DelayedTriggerFrmInt,
1335 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1336 CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT,
1337 CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001338 CFG_TL_DELAYED_TRGR_FRM_INT_MAX ),
1339
1340 REG_VARIABLE_STRING( CFG_WOWL_PATTERN_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001341 hdd_config_t, wowlPattern,
Jeff Johnson295189b2012-06-20 16:38:30 -07001342 VAR_FLAGS_OPTIONAL,
1343 (void *)CFG_WOWL_PATTERN_DEFAULT ),
1344
1345 REG_VARIABLE( CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001346 hdd_config_t, bImplicitQosEnabled,
1347 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1348 CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT,
1349 CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001350 CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX ),
1351
Jeff Johnson295189b2012-06-20 16:38:30 -07001352 REG_VARIABLE( CFG_BTC_EXECUTION_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001353 hdd_config_t, btcExecutionMode,
1354 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1355 CFG_BTC_EXECUTION_MODE_DEFAULT,
1356 CFG_BTC_EXECUTION_MODE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001357 CFG_BTC_EXECUTION_MODE_MAX ),
1358
1359 REG_VARIABLE( CFG_BTC_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1360 hdd_config_t, btcConsBtSlotsToBlockDuringDhcp,
1361 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1362 CFG_BTC_DHCP_PROTECTION_DEFAULT,
1363 CFG_BTC_DHCP_PROTECTION_MIN,
1364 CFG_BTC_DHCP_PROTECTION_MAX ),
1365
1366 REG_VARIABLE( CFG_BTC_A2DP_DHCP_PROTECTION_NAME , WLAN_PARAM_Integer,
1367 hdd_config_t, btcA2DPBtSubIntervalsDuringDhcp,
1368 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1369 CFG_BTC_A2DP_DHCP_PROTECTION_DEFAULT,
1370 CFG_BTC_A2DP_DHCP_PROTECTION_MIN,
1371 CFG_BTC_A2DP_DHCP_PROTECTION_MAX ),
1372
Jeff Johnson32d95a32012-09-10 13:15:23 -07001373 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_BT_NAME , WLAN_PARAM_Integer,
1374 hdd_config_t, btcStaticLenInqBt,
1375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1376 CFG_BTC_STATIC_LEN_INQ_BT_DEFAULT,
1377 CFG_BTC_STATIC_LEN_INQ_BT_MIN,
1378 CFG_BTC_STATIC_LEN_INQ_BT_MAX ),
1379
1380 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_BT_NAME , WLAN_PARAM_Integer,
1381 hdd_config_t, btcStaticLenPageBt,
1382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1383 CFG_BTC_STATIC_LEN_PAGE_BT_DEFAULT,
1384 CFG_BTC_STATIC_LEN_PAGE_BT_MIN,
1385 CFG_BTC_STATIC_LEN_PAGE_BT_MAX ),
1386
1387 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_BT_NAME , WLAN_PARAM_Integer,
1388 hdd_config_t, btcStaticLenConnBt,
1389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1390 CFG_BTC_STATIC_LEN_CONN_BT_DEFAULT,
1391 CFG_BTC_STATIC_LEN_CONN_BT_MIN,
1392 CFG_BTC_STATIC_LEN_CONN_BT_MAX ),
1393
1394 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_BT_NAME , WLAN_PARAM_Integer,
1395 hdd_config_t, btcStaticLenLeBt,
1396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1397 CFG_BTC_STATIC_LEN_LE_BT_DEFAULT,
1398 CFG_BTC_STATIC_LEN_LE_BT_MIN,
1399 CFG_BTC_STATIC_LEN_LE_BT_MAX ),
1400
1401 REG_VARIABLE( CFG_BTC_STATIC_LEN_INQ_WLAN_NAME , WLAN_PARAM_Integer,
1402 hdd_config_t, btcStaticLenInqWlan,
1403 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1404 CFG_BTC_STATIC_LEN_INQ_WLAN_DEFAULT,
1405 CFG_BTC_STATIC_LEN_INQ_WLAN_MIN,
1406 CFG_BTC_STATIC_LEN_INQ_WLAN_MAX ),
1407
1408 REG_VARIABLE( CFG_BTC_STATIC_LEN_PAGE_WLAN_NAME , WLAN_PARAM_Integer,
1409 hdd_config_t, btcStaticLenPageWlan,
1410 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1411 CFG_BTC_STATIC_LEN_PAGE_WLAN_DEFAULT,
1412 CFG_BTC_STATIC_LEN_PAGE_WLAN_MIN,
1413 CFG_BTC_STATIC_LEN_PAGE_WLAN_MAX ),
1414
1415 REG_VARIABLE( CFG_BTC_STATIC_LEN_CONN_WLAN_NAME , WLAN_PARAM_Integer,
1416 hdd_config_t, btcStaticLenConnWlan,
1417 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1418 CFG_BTC_STATIC_LEN_CONN_WLAN_DEFAULT,
1419 CFG_BTC_STATIC_LEN_CONN_WLAN_MIN,
1420 CFG_BTC_STATIC_LEN_CONN_WLAN_MAX ),
1421
1422 REG_VARIABLE( CFG_BTC_STATIC_LEN_LE_WLAN_NAME , WLAN_PARAM_Integer,
1423 hdd_config_t, btcStaticLenLeWlan,
1424 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1425 CFG_BTC_STATIC_LEN_LE_WLAN_DEFAULT,
1426 CFG_BTC_STATIC_LEN_LE_WLAN_MIN,
1427 CFG_BTC_STATIC_LEN_LE_WLAN_MAX ),
1428
1429 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_BT_NAME , WLAN_PARAM_Integer,
1430 hdd_config_t, btcDynMaxLenBt,
1431 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1432 CFG_BTC_DYN_MAX_LEN_BT_DEFAULT,
1433 CFG_BTC_DYN_MAX_LEN_BT_MIN,
1434 CFG_BTC_DYN_MAX_LEN_BT_MAX ),
1435
1436 REG_VARIABLE( CFG_BTC_DYN_MAX_LEN_WLAN_NAME , WLAN_PARAM_Integer,
1437 hdd_config_t, btcDynMaxLenWlan,
1438 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1439 CFG_BTC_DYN_MAX_LEN_WLAN_DEFAULT,
1440 CFG_BTC_DYN_MAX_LEN_WLAN_MIN,
1441 CFG_BTC_DYN_MAX_LEN_WLAN_MAX ),
1442
1443 REG_VARIABLE( CFG_BTC_MAX_SCO_BLOCK_PERC_NAME , WLAN_PARAM_Integer,
1444 hdd_config_t, btcMaxScoBlockPerc,
1445 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1446 CFG_BTC_MAX_SCO_BLOCK_PERC_DEFAULT,
1447 CFG_BTC_MAX_SCO_BLOCK_PERC_MIN,
1448 CFG_BTC_MAX_SCO_BLOCK_PERC_MAX ),
1449
1450 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_A2DP_NAME , WLAN_PARAM_Integer,
1451 hdd_config_t, btcDhcpProtOnA2dp,
1452 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1453 CFG_BTC_DHCP_PROT_ON_A2DP_DEFAULT,
1454 CFG_BTC_DHCP_PROT_ON_A2DP_MIN,
1455 CFG_BTC_DHCP_PROT_ON_A2DP_MAX ),
1456
1457 REG_VARIABLE( CFG_BTC_DHCP_PROT_ON_SCO_NAME , WLAN_PARAM_Integer,
1458 hdd_config_t, btcDhcpProtOnSco,
1459 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1460 CFG_BTC_DHCP_PROT_ON_SCO_DEFAULT,
1461 CFG_BTC_DHCP_PROT_ON_SCO_MIN,
1462 CFG_BTC_DHCP_PROT_ON_SCO_MAX ),
1463
Wilson Tsaof8b37942013-09-06 10:49:00 -07001464 REG_VARIABLE( CFG_MWS_COEX_V1_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1465 hdd_config_t, mwsCoexVictimWANFreq[0],
1466 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1467 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1468 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1469 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1470
1471 REG_VARIABLE( CFG_MWS_COEX_V1_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1472 hdd_config_t, mwsCoexVictimWLANFreq[0],
1473 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1474 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1475 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1476 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1477
1478 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG_NAME , WLAN_PARAM_Integer,
1479 hdd_config_t, mwsCoexVictimConfig[0],
1480 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1481 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1482 CFG_MWS_COEX_VX_CONFIG_MIN,
1483 CFG_MWS_COEX_VX_CONFIG_MAX ),
1484
1485 REG_VARIABLE( CFG_MWS_COEX_V1_CONFIG2_NAME , WLAN_PARAM_Integer,
1486 hdd_config_t, mwsCoexVictimConfig2[0],
1487 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1488 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1489 CFG_MWS_COEX_VX_CONFIG_MIN,
1490 CFG_MWS_COEX_VX_CONFIG_MAX ),
1491
1492 REG_VARIABLE( CFG_MWS_COEX_V2_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1493 hdd_config_t, mwsCoexVictimWANFreq[1],
1494 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1495 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1496 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1497 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1498
1499 REG_VARIABLE( CFG_MWS_COEX_V2_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1500 hdd_config_t, mwsCoexVictimWLANFreq[1],
1501 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1502 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1503 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1504 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1505
1506 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG_NAME , WLAN_PARAM_Integer,
1507 hdd_config_t, mwsCoexVictimConfig[1],
1508 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1509 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1510 CFG_MWS_COEX_VX_CONFIG_MIN,
1511 CFG_MWS_COEX_VX_CONFIG_MAX ),
1512
1513 REG_VARIABLE( CFG_MWS_COEX_V2_CONFIG2_NAME , WLAN_PARAM_Integer,
1514 hdd_config_t, mwsCoexVictimConfig2[1],
1515 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1516 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1517 CFG_MWS_COEX_VX_CONFIG_MIN,
1518 CFG_MWS_COEX_VX_CONFIG_MAX ),
1519
1520 REG_VARIABLE( CFG_MWS_COEX_V3_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1521 hdd_config_t, mwsCoexVictimWANFreq[2],
1522 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1523 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1524 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1525 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1526
1527 REG_VARIABLE( CFG_MWS_COEX_V3_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1528 hdd_config_t, mwsCoexVictimWLANFreq[2],
1529 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1530 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1531 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1532 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1533
1534 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG_NAME , WLAN_PARAM_Integer,
1535 hdd_config_t, mwsCoexVictimConfig[2],
1536 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1537 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1538 CFG_MWS_COEX_VX_CONFIG_MIN,
1539 CFG_MWS_COEX_VX_CONFIG_MAX ),
1540
1541 REG_VARIABLE( CFG_MWS_COEX_V3_CONFIG2_NAME , WLAN_PARAM_Integer,
1542 hdd_config_t, mwsCoexVictimConfig2[2],
1543 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1544 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1545 CFG_MWS_COEX_VX_CONFIG_MIN,
1546 CFG_MWS_COEX_VX_CONFIG_MAX ),
1547
1548 REG_VARIABLE( CFG_MWS_COEX_V4_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1549 hdd_config_t, mwsCoexVictimWANFreq[3],
1550 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1551 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1552 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1553 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1554
1555 REG_VARIABLE( CFG_MWS_COEX_V4_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1556 hdd_config_t, mwsCoexVictimWLANFreq[3],
1557 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1558 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1559 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1560 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1561
1562 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG_NAME , WLAN_PARAM_Integer,
1563 hdd_config_t, mwsCoexVictimConfig[3],
1564 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1565 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1566 CFG_MWS_COEX_VX_CONFIG_MIN,
1567 CFG_MWS_COEX_VX_CONFIG_MAX ),
1568
1569 REG_VARIABLE( CFG_MWS_COEX_V4_CONFIG2_NAME , WLAN_PARAM_Integer,
1570 hdd_config_t, mwsCoexVictimConfig2[3],
1571 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1572 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1573 CFG_MWS_COEX_VX_CONFIG_MIN,
1574 CFG_MWS_COEX_VX_CONFIG_MAX ),
1575
1576 REG_VARIABLE( CFG_MWS_COEX_V5_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1577 hdd_config_t, mwsCoexVictimWANFreq[4],
1578 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1579 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1580 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1581 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1582
1583 REG_VARIABLE( CFG_MWS_COEX_V5_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1584 hdd_config_t, mwsCoexVictimWLANFreq[4],
1585 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1586 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1587 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1588 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1589
1590 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG_NAME , WLAN_PARAM_Integer,
1591 hdd_config_t, mwsCoexVictimConfig[4],
1592 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1593 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1594 CFG_MWS_COEX_VX_CONFIG_MIN,
1595 CFG_MWS_COEX_VX_CONFIG_MAX ),
1596
1597 REG_VARIABLE( CFG_MWS_COEX_V5_CONFIG2_NAME , WLAN_PARAM_Integer,
1598 hdd_config_t, mwsCoexVictimConfig2[4],
1599 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1600 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1601 CFG_MWS_COEX_VX_CONFIG_MIN,
1602 CFG_MWS_COEX_VX_CONFIG_MAX ),
1603
1604 REG_VARIABLE( CFG_MWS_COEX_V6_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1605 hdd_config_t, mwsCoexVictimWANFreq[5],
1606 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1607 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1608 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1609 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1610
1611 REG_VARIABLE( CFG_MWS_COEX_V6_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1612 hdd_config_t, mwsCoexVictimWLANFreq[5],
1613 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1614 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1615 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1616 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1617
1618 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG_NAME , WLAN_PARAM_Integer,
1619 hdd_config_t, mwsCoexVictimConfig[5],
1620 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1621 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1622 CFG_MWS_COEX_VX_CONFIG_MIN,
1623 CFG_MWS_COEX_VX_CONFIG_MAX ),
1624
1625 REG_VARIABLE( CFG_MWS_COEX_V6_CONFIG2_NAME , WLAN_PARAM_Integer,
1626 hdd_config_t, mwsCoexVictimConfig2[5],
1627 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1628 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1629 CFG_MWS_COEX_VX_CONFIG_MIN,
1630 CFG_MWS_COEX_VX_CONFIG_MAX ),
1631
1632 REG_VARIABLE( CFG_MWS_COEX_V7_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1633 hdd_config_t, mwsCoexVictimWANFreq[6],
1634 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1635 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1636 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1637 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1638
1639 REG_VARIABLE( CFG_MWS_COEX_V7_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1640 hdd_config_t, mwsCoexVictimWLANFreq[6],
1641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1642 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1643 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1644 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1645
1646 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG_NAME , WLAN_PARAM_Integer,
1647 hdd_config_t, mwsCoexVictimConfig[6],
1648 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1649 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1650 CFG_MWS_COEX_VX_CONFIG_MIN,
1651 CFG_MWS_COEX_VX_CONFIG_MAX ),
1652
1653 REG_VARIABLE( CFG_MWS_COEX_V7_CONFIG2_NAME , WLAN_PARAM_Integer,
1654 hdd_config_t, mwsCoexVictimConfig2[6],
1655 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1656 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1657 CFG_MWS_COEX_VX_CONFIG_MIN,
1658 CFG_MWS_COEX_VX_CONFIG_MAX ),
1659
1660 REG_VARIABLE( CFG_MWS_COEX_V8_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1661 hdd_config_t, mwsCoexVictimWANFreq[7],
1662 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1663 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1664 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1665 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1666
1667 REG_VARIABLE( CFG_MWS_COEX_V8_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1668 hdd_config_t, mwsCoexVictimWLANFreq[7],
1669 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1670 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1671 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1672 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1673
1674 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG_NAME , WLAN_PARAM_Integer,
1675 hdd_config_t, mwsCoexVictimConfig[7],
1676 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1677 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1678 CFG_MWS_COEX_VX_CONFIG_MIN,
1679 CFG_MWS_COEX_VX_CONFIG_MAX ),
1680
1681 REG_VARIABLE( CFG_MWS_COEX_V8_CONFIG2_NAME , WLAN_PARAM_Integer,
1682 hdd_config_t, mwsCoexVictimConfig2[7],
1683 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1684 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1685 CFG_MWS_COEX_VX_CONFIG_MIN,
1686 CFG_MWS_COEX_VX_CONFIG_MAX ),
1687
1688 REG_VARIABLE( CFG_MWS_COEX_V9_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1689 hdd_config_t, mwsCoexVictimWANFreq[8],
1690 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1691 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1692 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1693 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1694
1695 REG_VARIABLE( CFG_MWS_COEX_V9_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1696 hdd_config_t, mwsCoexVictimWLANFreq[8],
1697 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1698 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1699 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1700 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1701
1702 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG_NAME , WLAN_PARAM_Integer,
1703 hdd_config_t, mwsCoexVictimConfig[8],
1704 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1705 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1706 CFG_MWS_COEX_VX_CONFIG_MIN,
1707 CFG_MWS_COEX_VX_CONFIG_MAX ),
1708
1709 REG_VARIABLE( CFG_MWS_COEX_V9_CONFIG2_NAME , WLAN_PARAM_Integer,
1710 hdd_config_t, mwsCoexVictimConfig2[8],
1711 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1712 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1713 CFG_MWS_COEX_VX_CONFIG_MIN,
1714 CFG_MWS_COEX_VX_CONFIG_MAX ),
1715
1716 REG_VARIABLE( CFG_MWS_COEX_V10_WAN_FREQ_NAME , WLAN_PARAM_Integer,
1717 hdd_config_t, mwsCoexVictimWANFreq[9],
1718 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1719 CFG_MWS_COEX_VX_WAN_FREQ_DEFAULT,
1720 CFG_MWS_COEX_VX_WAN_FREQ_MIN,
1721 CFG_MWS_COEX_VX_WAN_FREQ_MAX ),
1722
1723 REG_VARIABLE( CFG_MWS_COEX_V10_WLAN_FREQ_NAME , WLAN_PARAM_Integer,
1724 hdd_config_t, mwsCoexVictimWLANFreq[9],
1725 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1726 CFG_MWS_COEX_VX_WLAN_FREQ_DEFAULT,
1727 CFG_MWS_COEX_VX_WLAN_FREQ_MIN,
1728 CFG_MWS_COEX_VX_WLAN_FREQ_MAX ),
1729
1730 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG_NAME , WLAN_PARAM_Integer,
1731 hdd_config_t, mwsCoexVictimConfig[9],
1732 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1733 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1734 CFG_MWS_COEX_VX_CONFIG_MIN,
1735 CFG_MWS_COEX_VX_CONFIG_MAX ),
1736
1737 REG_VARIABLE( CFG_MWS_COEX_V10_CONFIG2_NAME , WLAN_PARAM_Integer,
1738 hdd_config_t, mwsCoexVictimConfig2[9],
1739 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1740 CFG_MWS_COEX_VX_CONFIG_DEFAULT,
1741 CFG_MWS_COEX_VX_CONFIG_MIN,
1742 CFG_MWS_COEX_VX_CONFIG_MAX ),
1743
1744 REG_VARIABLE( CFG_MWS_COEX_MODEM_BACKOFF_NAME , WLAN_PARAM_Integer,
1745 hdd_config_t, mwsCoexModemBackoff,
1746 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1747 CFG_MWS_COEX_MODEM_BACKOFF_DEFAULT,
1748 CFG_MWS_COEX_MODEM_BACKOFF_MIN,
1749 CFG_MWS_COEX_MODEM_BACKOFF_MAX ),
1750
1751 REG_VARIABLE( CFG_MWS_COEX_CONFIG1_NAME , WLAN_PARAM_Integer,
1752 hdd_config_t, mwsCoexConfig[0],
1753 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1754 CFG_MWS_COEX_CONFIGX_DEFAULT,
1755 CFG_MWS_COEX_CONFIGX_MIN,
1756 CFG_MWS_COEX_CONFIGX_MAX ),
1757
1758 REG_VARIABLE( CFG_MWS_COEX_CONFIG2_NAME , WLAN_PARAM_Integer,
1759 hdd_config_t, mwsCoexConfig[1],
1760 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1761 CFG_MWS_COEX_CONFIGX_DEFAULT,
1762 CFG_MWS_COEX_CONFIGX_MIN,
1763 CFG_MWS_COEX_CONFIGX_MAX ),
1764
1765 REG_VARIABLE( CFG_MWS_COEX_CONFIG3_NAME , WLAN_PARAM_Integer,
1766 hdd_config_t, mwsCoexConfig[2],
1767 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1768 CFG_MWS_COEX_CONFIGX_DEFAULT,
1769 CFG_MWS_COEX_CONFIGX_MIN,
1770 CFG_MWS_COEX_CONFIGX_MAX ),
1771
1772 REG_VARIABLE( CFG_MWS_COEX_CONFIG4_NAME , WLAN_PARAM_Integer,
1773 hdd_config_t, mwsCoexConfig[3],
1774 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1775 CFG_MWS_COEX_CONFIGX_DEFAULT,
1776 CFG_MWS_COEX_CONFIGX_MIN,
1777 CFG_MWS_COEX_CONFIGX_MAX ),
1778
1779 REG_VARIABLE( CFG_MWS_COEX_CONFIG5_NAME , WLAN_PARAM_Integer,
1780 hdd_config_t, mwsCoexConfig[4],
1781 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1782 CFG_MWS_COEX_CONFIGX_DEFAULT,
1783 CFG_MWS_COEX_CONFIGX_MIN,
1784 CFG_MWS_COEX_CONFIGX_MAX ),
1785
1786 REG_VARIABLE( CFG_MWS_COEX_CONFIG6_NAME , WLAN_PARAM_Integer,
1787 hdd_config_t, mwsCoexConfig[5],
1788 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1789 CFG_MWS_COEX_CONFIGX_DEFAULT,
1790 CFG_MWS_COEX_CONFIGX_MIN,
1791 CFG_MWS_COEX_CONFIGX_MAX ),
1792
1793 REG_VARIABLE( CFG_SAR_POWER_BACKOFF_NAME , WLAN_PARAM_Integer,
1794 hdd_config_t, SARPowerBackoff,
1795 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1796 CFG_SAR_POWER_BACKOFF_DEFAULT,
1797 CFG_SAR_POWER_BACKOFF_MIN,
1798 CFG_SAR_POWER_BACKOFF_MAX ),
1799
Jeff Johnson295189b2012-06-20 16:38:30 -07001800 REG_VARIABLE( CFG_AP_LISTEN_MODE_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001801 hdd_config_t, nEnableListenMode,
1802 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1803 CFG_AP_LISTEN_MODE_DEFAULT,
1804 CFG_AP_LISTEN_MODE_MIN,
1805 CFG_AP_LISTEN_MODE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001806
1807 REG_VARIABLE( CFG_AP_AUTO_SHUT_OFF , WLAN_PARAM_Integer,
1808 hdd_config_t, nAPAutoShutOff,
1809 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1810 CFG_AP_AUTO_SHUT_OFF_DEFAULT,
1811 CFG_AP_AUTO_SHUT_OFF_MIN,
1812 CFG_AP_AUTO_SHUT_OFF_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001813
1814#if defined WLAN_FEATURE_VOWIFI
1815 REG_VARIABLE( CFG_RRM_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001816 hdd_config_t, fRrmEnable,
1817 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1818 CFG_RRM_ENABLE_DEFAULT,
1819 CFG_RRM_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001820 CFG_RRM_ENABLE_MAX ),
1821
1822 REG_VARIABLE( CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001823 hdd_config_t, nInChanMeasMaxDuration,
1824 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1825 CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1826 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001827 CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX ),
1828
1829 REG_VARIABLE( CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001830 hdd_config_t, nOutChanMeasMaxDuration,
1831 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1832 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT,
1833 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001834 CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX ),
1835
1836 REG_VARIABLE( CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001837 hdd_config_t, nRrmRandnIntvl,
1838 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1839 CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT,
1840 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001841 CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX ),
1842#endif
1843
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001844#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07001845 REG_VARIABLE( CFG_FT_RESOURCE_REQ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001846 hdd_config_t, fFTResourceReqSupported,
1847 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1848 CFG_FT_RESOURCE_REQ_DEFAULT,
1849 CFG_FT_RESOURCE_REQ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001850 CFG_FT_RESOURCE_REQ_MAX ),
1851#endif
1852
1853#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001854 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001855 hdd_config_t, nNeighborScanPeriod,
1856 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1857 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT,
1858 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001859 CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX,
1860 cbNotifySetNeighborScanPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001861
1862 REG_VARIABLE( CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001863 hdd_config_t, nNeighborReassocRssiThreshold,
1864 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1865 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_DEFAULT,
1866 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001867 CFG_NEIGHBOR_REASSOC_RSSI_THRESHOLD_MAX ),
1868
Srinivas Girigowdade697412013-02-14 16:31:48 -08001869 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001870 hdd_config_t, nNeighborLookupRssiThreshold,
1871 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1872 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT,
1873 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001874 CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX,
1875 cbNotifySetNeighborLookupRssiThreshold, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001876
1877 REG_VARIABLE_STRING( CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME, WLAN_PARAM_String,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001878 hdd_config_t, neighborScanChanList,
Jeff Johnson295189b2012-06-20 16:38:30 -07001879 VAR_FLAGS_OPTIONAL,
1880 (void *)CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ),
1881
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001882 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07001883 hdd_config_t, nNeighborScanMinChanTime,
1884 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1885 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT,
1886 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001887 CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX,
1888 cbNotifySetNeighborScanMinChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001889
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001890 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001891 hdd_config_t, nNeighborScanMaxChanTime,
1892 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1893 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT,
1894 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07001895 CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX,
1896 cbNotifySetNeighborScanMaxChanTime, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001897
1898 REG_VARIABLE( CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME, WLAN_PARAM_Integer,
1899 hdd_config_t, nMaxNeighborReqTries,
1900 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1901 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT,
1902 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN,
1903 CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX),
1904
Srinivas Girigowdade697412013-02-14 16:31:48 -08001905 REG_DYNAMIC_VARIABLE( CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001906 hdd_config_t, nNeighborResultsRefreshPeriod,
1907 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1908 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT,
1909 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN,
Srinivas Girigowdade697412013-02-14 16:31:48 -08001910 CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX,
1911 cbNotifySetNeighborResultsRefreshPeriod, 0 ),
1912
1913 REG_DYNAMIC_VARIABLE( CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME, WLAN_PARAM_Integer,
1914 hdd_config_t, nEmptyScanRefreshPeriod,
1915 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1916 CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT,
1917 CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN,
1918 CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX,
1919 cbNotifySetEmptyScanRefreshPeriod, 0 ),
Jeff Johnson295189b2012-06-20 16:38:30 -07001920#endif /* WLAN_FEATURE_NEIGHBOR_ROAMING */
1921
1922 REG_VARIABLE( CFG_QOS_WMM_BURST_SIZE_DEFN_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001923 hdd_config_t, burstSizeDefinition,
1924 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1925 CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT,
1926 CFG_QOS_WMM_BURST_SIZE_DEFN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001927 CFG_QOS_WMM_BURST_SIZE_DEFN_MAX ),
1928
1929 REG_VARIABLE( CFG_MCAST_BCAST_FILTER_SETTING_NAME, WLAN_PARAM_Integer,
1930 hdd_config_t, mcastBcastFilterSetting,
1931 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1932 CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT,
1933 CFG_MCAST_BCAST_FILTER_SETTING_MIN,
1934 CFG_MCAST_BCAST_FILTER_SETTING_MAX ),
1935
1936 REG_VARIABLE( CFG_ENABLE_HOST_ARPOFFLOAD_NAME, WLAN_PARAM_Integer,
1937 hdd_config_t, fhostArpOffload,
1938 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1939 CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT,
1940 CFG_ENABLE_HOST_ARPOFFLOAD_MIN,
1941 CFG_ENABLE_HOST_ARPOFFLOAD_MAX ),
1942
Gopichand Nakkala746a9452013-06-11 12:45:54 +05301943 REG_VARIABLE( CFG_ENABLE_HOST_NSOFFLOAD_NAME, WLAN_PARAM_Integer,
1944 hdd_config_t, fhostNSOffload,
1945 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1946 CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT,
1947 CFG_ENABLE_HOST_NSOFFLOAD_MIN,
1948 CFG_ENABLE_HOST_NSOFFLOAD_MAX ),
1949
Jeff Johnson295189b2012-06-20 16:38:30 -07001950 REG_VARIABLE( CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME , WLAN_PARAM_HexInteger,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001951 hdd_config_t, tsInfoAckPolicy,
1952 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1953 CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT,
1954 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001955 CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX ),
1956
1957 REG_VARIABLE( CFG_SINGLE_TID_RC_NAME, WLAN_PARAM_Integer,
1958 hdd_config_t, bSingleTidRc,
1959 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1960 CFG_SINGLE_TID_RC_DEFAULT,
1961 CFG_SINGLE_TID_RC_MIN,
1962 CFG_SINGLE_TID_RC_MAX),
1963
1964 REG_VARIABLE( CFG_DYNAMIC_PSPOLL_VALUE_NAME, WLAN_PARAM_Integer,
1965 hdd_config_t, dynamicPsPollValue,
1966 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1967 CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT,
1968 CFG_DYNAMIC_PSPOLL_VALUE_MIN,
1969 CFG_DYNAMIC_PSPOLL_VALUE_MAX ),
1970
1971 REG_VARIABLE( CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
1972 hdd_config_t, teleBcnWakeupEn,
1973 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1974 CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
1975 CFG_TELE_BCN_WAKEUP_EN_MIN,
1976 CFG_TELE_BCN_WAKEUP_EN_MAX ),
1977
1978 REG_VARIABLE( CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME, WLAN_PARAM_Integer,
1979 hdd_config_t, infraStaKeepAlivePeriod,
1980 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1981 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT,
1982 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN,
1983 CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX),
1984
1985 REG_VARIABLE( CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001986 hdd_config_t, AddTSWhenACMIsOff,
1987 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1988 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT,
1989 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001990 CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX ),
1991
1992
1993 REG_VARIABLE( CFG_VALIDATE_SCAN_LIST_NAME , WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001994 hdd_config_t, fValidateScanList,
1995 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
1996 CFG_VALIDATE_SCAN_LIST_DEFAULT,
1997 CFG_VALIDATE_SCAN_LIST_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07001998 CFG_VALIDATE_SCAN_LIST_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08001999
Jeff Johnson295189b2012-06-20 16:38:30 -07002000 REG_VARIABLE( CFG_NULLDATA_AP_RESP_TIMEOUT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002001 hdd_config_t, nNullDataApRespTimeout,
2002 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2003 CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT,
2004 CFG_NULLDATA_AP_RESP_TIMEOUT_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002005 CFG_NULLDATA_AP_RESP_TIMEOUT_MAX ),
2006
2007 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002008 hdd_config_t, apDataAvailPollPeriodInMs,
2009 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2010 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2011 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002012 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002013
Jeff Johnson295189b2012-06-20 16:38:30 -07002014 REG_VARIABLE( CFG_ENABLE_BTAMP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002015 hdd_config_t, enableBtAmp,
2016 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2017 CFG_ENABLE_BTAMP_DEFAULT,
2018 CFG_ENABLE_BTAMP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002019 CFG_ENABLE_BTAMP_MAX ),
2020
2021#ifdef WLAN_BTAMP_FEATURE
2022 REG_VARIABLE( CFG_BT_AMP_PREFERRED_CHANNEL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002023 hdd_config_t, preferredChannel,
Jeff Johnson295189b2012-06-20 16:38:30 -07002024 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2025 CFG_BT_AMP_PREFERRED_CHANNEL_DEFAULT,
2026 CFG_BT_AMP_PREFERRED_CHANNEL_MIN,
2027 CFG_BT_AMP_PREFERRED_CHANNEL_MAX ),
2028#endif //WLAN_BTAMP_FEATURE
2029 REG_VARIABLE( CFG_BAND_CAPABILITY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002030 hdd_config_t, nBandCapability,
2031 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2032 CFG_BAND_CAPABILITY_DEFAULT,
2033 CFG_BAND_CAPABILITY_MIN,
2034 CFG_BAND_CAPABILITY_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002035
2036 REG_VARIABLE( CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002037 hdd_config_t, fEnableBeaconEarlyTermination,
2038 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2039 CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT,
2040 CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN,
2041 CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX ),
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002042/* CFG_VOS_TRACE_ENABLE Parameters */
2043 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_BAP_NAME, WLAN_PARAM_Integer,
2044 hdd_config_t, vosTraceEnableBAP,
2045 VAR_FLAGS_OPTIONAL,
2046 CFG_VOS_TRACE_ENABLE_DEFAULT,
2047 CFG_VOS_TRACE_ENABLE_MIN,
2048 CFG_VOS_TRACE_ENABLE_MAX ),
2049
2050 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_TL_NAME, WLAN_PARAM_Integer,
2051 hdd_config_t, vosTraceEnableTL,
2052 VAR_FLAGS_OPTIONAL,
2053 CFG_VOS_TRACE_ENABLE_DEFAULT,
2054 CFG_VOS_TRACE_ENABLE_MIN,
2055 CFG_VOS_TRACE_ENABLE_MAX ),
2056
2057 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDI_NAME, WLAN_PARAM_Integer,
2058 hdd_config_t, vosTraceEnableWDI,
2059 VAR_FLAGS_OPTIONAL,
2060 CFG_VOS_TRACE_ENABLE_DEFAULT,
2061 CFG_VOS_TRACE_ENABLE_MIN,
2062 CFG_VOS_TRACE_ENABLE_MAX ),
2063
2064 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_NAME, WLAN_PARAM_Integer,
2065 hdd_config_t, vosTraceEnableHDD,
2066 VAR_FLAGS_OPTIONAL,
2067 CFG_VOS_TRACE_ENABLE_DEFAULT,
2068 CFG_VOS_TRACE_ENABLE_MIN,
2069 CFG_VOS_TRACE_ENABLE_MAX ),
2070
2071 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SME_NAME, WLAN_PARAM_Integer,
2072 hdd_config_t, vosTraceEnableSME,
2073 VAR_FLAGS_OPTIONAL,
2074 CFG_VOS_TRACE_ENABLE_DEFAULT,
2075 CFG_VOS_TRACE_ENABLE_MIN,
2076 CFG_VOS_TRACE_ENABLE_MAX ),
2077
2078 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PE_NAME, WLAN_PARAM_Integer,
2079 hdd_config_t, vosTraceEnablePE,
2080 VAR_FLAGS_OPTIONAL,
2081 CFG_VOS_TRACE_ENABLE_DEFAULT,
2082 CFG_VOS_TRACE_ENABLE_MIN,
2083 CFG_VOS_TRACE_ENABLE_MAX ),
2084
Katya Nigam70d68332013-09-16 16:49:45 +05302085 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_PMC_NAME, WLAN_PARAM_Integer,
2086 hdd_config_t, vosTraceEnablePMC,
2087 VAR_FLAGS_OPTIONAL,
2088 CFG_VOS_TRACE_ENABLE_DEFAULT,
2089 CFG_VOS_TRACE_ENABLE_MIN,
2090 CFG_VOS_TRACE_ENABLE_MAX ),
2091
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002092 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_WDA_NAME, WLAN_PARAM_Integer,
2093 hdd_config_t, vosTraceEnableWDA,
2094 VAR_FLAGS_OPTIONAL,
2095 CFG_VOS_TRACE_ENABLE_DEFAULT,
2096 CFG_VOS_TRACE_ENABLE_MIN,
2097 CFG_VOS_TRACE_ENABLE_MAX ),
2098
2099 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SYS_NAME, WLAN_PARAM_Integer,
2100 hdd_config_t, vosTraceEnableSYS,
2101 VAR_FLAGS_OPTIONAL,
2102 CFG_VOS_TRACE_ENABLE_DEFAULT,
2103 CFG_VOS_TRACE_ENABLE_MIN,
2104 CFG_VOS_TRACE_ENABLE_MAX ),
2105
2106 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_VOSS_NAME, WLAN_PARAM_Integer,
2107 hdd_config_t, vosTraceEnableVOSS,
2108 VAR_FLAGS_OPTIONAL,
2109 CFG_VOS_TRACE_ENABLE_DEFAULT,
2110 CFG_VOS_TRACE_ENABLE_MIN,
2111 CFG_VOS_TRACE_ENABLE_MAX ),
2112
Varun Reddy Yeturu587e6802013-01-24 12:21:41 -08002113 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
2114 hdd_config_t, vosTraceEnableSAP,
2115 VAR_FLAGS_OPTIONAL,
2116 CFG_VOS_TRACE_ENABLE_DEFAULT,
2117 CFG_VOS_TRACE_ENABLE_MIN,
2118 CFG_VOS_TRACE_ENABLE_MAX ),
2119
2120 REG_VARIABLE( CFG_VOS_TRACE_ENABLE_HDD_SAP_NAME, WLAN_PARAM_Integer,
2121 hdd_config_t, vosTraceEnableHDDSAP,
2122 VAR_FLAGS_OPTIONAL,
2123 CFG_VOS_TRACE_ENABLE_DEFAULT,
2124 CFG_VOS_TRACE_ENABLE_MIN,
2125 CFG_VOS_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002126
Jeff Johnson295189b2012-06-20 16:38:30 -07002127 /* note that since the default value is out of range we cannot
2128 enable range check, otherwise we get a system log message */
2129 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAL_NAME, WLAN_PARAM_Integer,
2130 hdd_config_t, wdiTraceEnableDAL,
2131 VAR_FLAGS_OPTIONAL,
2132 CFG_WDI_TRACE_ENABLE_DEFAULT,
2133 CFG_WDI_TRACE_ENABLE_MIN,
2134 CFG_WDI_TRACE_ENABLE_MAX ),
2135
2136 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_CTL_NAME, WLAN_PARAM_Integer,
2137 hdd_config_t, wdiTraceEnableCTL,
2138 VAR_FLAGS_OPTIONAL,
2139 CFG_WDI_TRACE_ENABLE_DEFAULT,
2140 CFG_WDI_TRACE_ENABLE_MIN,
2141 CFG_WDI_TRACE_ENABLE_MAX ),
2142
2143 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_DAT_NAME, WLAN_PARAM_Integer,
2144 hdd_config_t, wdiTraceEnableDAT,
2145 VAR_FLAGS_OPTIONAL,
2146 CFG_WDI_TRACE_ENABLE_DEFAULT,
2147 CFG_WDI_TRACE_ENABLE_MIN,
2148 CFG_WDI_TRACE_ENABLE_MAX ),
2149
2150 REG_VARIABLE( CFG_WDI_TRACE_ENABLE_PAL_NAME, WLAN_PARAM_Integer,
2151 hdd_config_t, wdiTraceEnablePAL,
2152 VAR_FLAGS_OPTIONAL,
2153 CFG_WDI_TRACE_ENABLE_DEFAULT,
2154 CFG_WDI_TRACE_ENABLE_MIN,
2155 CFG_WDI_TRACE_ENABLE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002156
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002157 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002158 hdd_config_t, nTeleBcnTransListenInterval,
2159 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2160 CFG_TELE_BCN_TRANS_LI_DEFAULT,
2161 CFG_TELE_BCN_TRANS_LI_MIN,
2162 CFG_TELE_BCN_TRANS_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002163
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002164 REG_VARIABLE( CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002165 hdd_config_t, nTeleBcnTransLiNumIdleBeacons,
2166 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2167 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT,
2168 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN,
2169 CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002170
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002171 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002172 hdd_config_t, nTeleBcnMaxListenInterval,
2173 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2174 CFG_TELE_BCN_MAX_LI_DEFAULT,
2175 CFG_TELE_BCN_MAX_LI_MIN,
2176 CFG_TELE_BCN_MAX_LI_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002177
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002178 REG_VARIABLE( CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002179 hdd_config_t, nTeleBcnMaxLiNumIdleBeacons,
2180 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2181 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT,
2182 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN,
2183 CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002184
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002185 REG_VARIABLE( CFG_BCN_EARLY_TERM_WAKE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002186 hdd_config_t, bcnEarlyTermWakeInterval,
2187 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2188 CFG_BCN_EARLY_TERM_WAKE_DEFAULT,
2189 CFG_BCN_EARLY_TERM_WAKE_MIN,
2190 CFG_BCN_EARLY_TERM_WAKE_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002191
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002192 REG_VARIABLE( CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002193 hdd_config_t, apDataAvailPollPeriodInMs,
2194 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2195 CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT,
2196 CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002197 CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX ),
2198
2199 REG_VARIABLE( CFG_ENABLE_CLOSE_LOOP_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002200 hdd_config_t, enableCloseLoop,
2201 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2202 CFG_ENABLE_CLOSE_LOOP_DEFAULT,
2203 CFG_ENABLE_CLOSE_LOOP_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002204 CFG_ENABLE_CLOSE_LOOP_MAX ),
2205
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002206 REG_VARIABLE( CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002207 hdd_config_t, enableBypass11d,
2208 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2209 CFG_ENABLE_BYPASS_11D_DEFAULT,
2210 CFG_ENABLE_BYPASS_11D_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002211 CFG_ENABLE_BYPASS_11D_MAX ),
2212
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002213 REG_VARIABLE( CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002214 hdd_config_t, enableDFSChnlScan,
2215 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2216 CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
2217 CFG_ENABLE_DFS_CHNL_SCAN_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002218 CFG_ENABLE_DFS_CHNL_SCAN_MAX ),
2219
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002220 REG_VARIABLE( CFG_ENABLE_DYNAMIC_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002221 hdd_config_t, enableDynamicDTIM,
2222 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2223 CFG_ENABLE_DYNAMIC_DTIM_DEFAULT,
2224 CFG_ENABLE_DYNAMIC_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002225 CFG_ENABLE_DYNAMIC_DTIM_MAX ),
2226
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002227 REG_VARIABLE( CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002228 hdd_config_t, enableAutomaticTxPowerControl,
2229 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2230 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT,
2231 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002232 CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX ),
2233
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002234 REG_VARIABLE( CFG_SHORT_GI_40MHZ_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002235 hdd_config_t, ShortGI40MhzEnable,
2236 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2237 CFG_SHORT_GI_40MHZ_DEFAULT,
2238 CFG_SHORT_GI_40MHZ_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002239 CFG_SHORT_GI_40MHZ_MAX ),
2240
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002241 REG_DYNAMIC_VARIABLE( CFG_REPORT_MAX_LINK_SPEED, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002242 hdd_config_t, reportMaxLinkSpeed,
2243 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2244 CFG_REPORT_MAX_LINK_SPEED_DEFAULT,
2245 CFG_REPORT_MAX_LINK_SPEED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002246 CFG_REPORT_MAX_LINK_SPEED_MAX,
2247 NULL, 0 ),
2248
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002249 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_HIGH, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002250 hdd_config_t, linkSpeedRssiHigh,
2251 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2252 CFG_LINK_SPEED_RSSI_HIGH_DEFAULT,
2253 CFG_LINK_SPEED_RSSI_HIGH_MIN,
2254 CFG_LINK_SPEED_RSSI_HIGH_MAX,
2255 NULL, 0 ),
2256
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002257 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_MID, WLAN_PARAM_SignedInteger,
Madan Mohan Koyyalamudi8df78d52012-11-02 12:30:06 -07002258 hdd_config_t, linkSpeedRssiMid,
2259 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2260 CFG_LINK_SPEED_RSSI_MID_DEFAULT,
2261 CFG_LINK_SPEED_RSSI_MID_MIN,
2262 CFG_LINK_SPEED_RSSI_MID_MAX,
2263 NULL, 0 ),
2264
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002265 REG_DYNAMIC_VARIABLE( CFG_LINK_SPEED_RSSI_LOW, WLAN_PARAM_SignedInteger,
Jeff Johnson295189b2012-06-20 16:38:30 -07002266 hdd_config_t, linkSpeedRssiLow,
2267 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2268 CFG_LINK_SPEED_RSSI_LOW_DEFAULT,
2269 CFG_LINK_SPEED_RSSI_LOW_MIN,
2270 CFG_LINK_SPEED_RSSI_LOW_MAX,
2271 NULL, 0 ),
2272
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002273#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002274 REG_DYNAMIC_VARIABLE( CFG_ROAM_PREFER_5GHZ, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002275 hdd_config_t, nRoamPrefer5GHz,
2276 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2277 CFG_ROAM_PREFER_5GHZ_DEFAULT,
2278 CFG_ROAM_PREFER_5GHZ_MIN,
2279 CFG_ROAM_PREFER_5GHZ_MAX,
2280 cbNotifySetRoamPrefer5GHz, 0 ),
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002281
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002282 REG_DYNAMIC_VARIABLE( CFG_ROAM_INTRA_BAND, WLAN_PARAM_Integer,
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07002283 hdd_config_t, nRoamIntraBand,
2284 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2285 CFG_ROAM_INTRA_BAND_DEFAULT,
2286 CFG_ROAM_INTRA_BAND_MIN,
2287 CFG_ROAM_INTRA_BAND_MAX,
2288 cbNotifySetRoamIntraBand, 0 ),
2289
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07002290 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_N_PROBES, WLAN_PARAM_Integer,
2291 hdd_config_t, nProbes,
2292 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2293 CFG_ROAM_SCAN_N_PROBES_DEFAULT,
2294 CFG_ROAM_SCAN_N_PROBES_MIN,
2295 CFG_ROAM_SCAN_N_PROBES_MAX,
2296 cbNotifySetRoamScanNProbes, 0 ),
2297
2298 REG_DYNAMIC_VARIABLE( CFG_ROAM_SCAN_HOME_AWAY_TIME, WLAN_PARAM_Integer,
2299 hdd_config_t, nRoamScanHomeAwayTime,
2300 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2301 CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT,
2302 CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN,
2303 CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX,
2304 cbNotifySetRoamScanHomeAwayTime, 0 ),
2305
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08002306#endif
2307
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002308 REG_VARIABLE( CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME, WLAN_PARAM_Integer,
Jeff Johnson295189b2012-06-20 16:38:30 -07002309 hdd_config_t, isP2pDeviceAddrAdministrated,
2310 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2311 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT,
2312 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN,
2313 CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX ),
Jeff Johnson295189b2012-06-20 16:38:30 -07002314
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002315 REG_VARIABLE( CFG_ENABLE_MCC_ENABLED_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002316 hdd_config_t, enableMCC,
2317 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2318 CFG_ENABLE_MCC_ENABLED_DEFAULT,
2319 CFG_ENABLE_MCC_ENABLED_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002320 CFG_ENABLE_MCC_ENABLED_MAX ),
2321
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002322 REG_VARIABLE( CFG_ALLOW_MCC_GO_DIFF_BI_NAME, WLAN_PARAM_Integer,
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002323 hdd_config_t, allowMCCGODiffBI,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002324 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2325 CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT,
2326 CFG_ALLOW_MCC_GO_DIFF_BI_MIN,
2327 CFG_ALLOW_MCC_GO_DIFF_BI_MAX ),
Mohit Khanna7ed53f02012-09-11 17:52:10 -07002328
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002329 REG_VARIABLE( CFG_THERMAL_MIGRATION_ENABLE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002330 hdd_config_t, thermalMitigationEnable,
2331 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2332 CFG_THERMAL_MIGRATION_ENABLE_DEFAULT,
2333 CFG_THERMAL_MIGRATION_ENABLE_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002334 CFG_THERMAL_MIGRATION_ENABLE_MAX ),
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002335
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002336 REG_VARIABLE( CFG_ENABLE_MODULATED_DTIM_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002337 hdd_config_t, enableModulatedDTIM,
2338 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2339 CFG_ENABLE_MODULATED_DTIM_DEFAULT,
2340 CFG_ENABLE_MODULATED_DTIM_MIN,
Jeff Johnson295189b2012-06-20 16:38:30 -07002341 CFG_ENABLE_MODULATED_DTIM_MAX ),
2342
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002343 REG_VARIABLE( CFG_MC_ADDR_LIST_ENABLE_NAME, WLAN_PARAM_Integer,
Jeff Johnsond13512a2012-07-17 11:42:19 -07002344 hdd_config_t, fEnableMCAddrList,
2345 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2346 CFG_MC_ADDR_LIST_ENABLE_DEFAULT,
2347 CFG_MC_ADDR_LIST_ENABLE_MIN,
2348 CFG_MC_ADDR_LIST_ENABLE_MAX ),
2349
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002350#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002351 REG_VARIABLE( CFG_VHT_CHANNEL_WIDTH, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002352 hdd_config_t, vhtChannelWidth,
2353 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2354 CFG_VHT_CHANNEL_WIDTH_DEFAULT,
2355 CFG_VHT_CHANNEL_WIDTH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002356 CFG_VHT_CHANNEL_WIDTH_MAX),
2357
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002358 REG_VARIABLE( CFG_VHT_ENABLE_RX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002359 hdd_config_t, vhtRxMCS,
2360 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2361 CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT,
2362 CFG_VHT_ENABLE_RX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002363 CFG_VHT_ENABLE_RX_MCS_8_9_MAX),
2364
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002365 REG_VARIABLE( CFG_VHT_ENABLE_TX_MCS_8_9, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002366 hdd_config_t, vhtTxMCS,
2367 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2368 CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT,
2369 CFG_VHT_ENABLE_TX_MCS_8_9_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002370 CFG_VHT_ENABLE_TX_MCS_8_9_MAX),
2371#endif
2372
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002373 REG_VARIABLE( CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002374 hdd_config_t, enableFirstScan2GOnly,
2375 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2376 CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT,
2377 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002378 CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX ),
2379
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002380 REG_VARIABLE( CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002381 hdd_config_t, skipDfsChnlInP2pSearch,
2382 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2383 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT,
2384 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002385 CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX ),
2386
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002387 REG_VARIABLE( CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002388 hdd_config_t, ignoreDynamicDtimInP2pMode,
2389 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2390 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT,
2391 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
Jeff Johnsone7245742012-09-05 17:12:55 -07002392 CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
2393
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002394 REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002395 hdd_config_t,numBuffAdvert ,
2396 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
2397 CFG_NUM_BUFF_ADVERT_DEFAULT,
2398 CFG_NUM_BUFF_ADVERT_MIN,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07002399 CFG_NUM_BUFF_ADVERT_MAX ),
Madan Mohan Koyyalamudi3f65e312012-11-06 15:31:12 -08002400
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002401 REG_VARIABLE( CFG_MCC_CONFIG_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudid5f04ca2012-11-06 15:51:26 -08002402 hdd_config_t, configMccParam,
2403 VAR_FLAGS_OPTIONAL,
2404 CFG_MCC_CONFIG_PARAM_DEFAULT,
2405 CFG_MCC_CONFIG_PARAM_MIN,
2406 CFG_MCC_CONFIG_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002407 REG_VARIABLE( CFG_ENABLE_RX_STBC, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002408 hdd_config_t, enableRxSTBC,
2409 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2410 CFG_ENABLE_RX_STBC_DEFAULT,
2411 CFG_ENABLE_RX_STBC_MIN,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05302412 CFG_ENABLE_RX_STBC_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002413#ifdef FEATURE_WLAN_TDLS
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002414 REG_VARIABLE( CFG_TDLS_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002415 hdd_config_t, fEnableTDLSSupport,
2416 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2417 CFG_TDLS_SUPPORT_ENABLE_DEFAULT,
2418 CFG_TDLS_SUPPORT_ENABLE_MIN,
2419 CFG_TDLS_SUPPORT_ENABLE_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302420
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002421 REG_VARIABLE( CFG_TDLS_IMPLICIT_TRIGGER, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302422 hdd_config_t, fEnableTDLSImplicitTrigger,
2423 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2424 CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT,
2425 CFG_TDLS_IMPLICIT_TRIGGER_MIN,
2426 CFG_TDLS_IMPLICIT_TRIGGER_MAX ),
2427
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002428 REG_VARIABLE( CFG_TDLS_TX_STATS_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302429 hdd_config_t, fTDLSTxStatsPeriod,
2430 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2431 CFG_TDLS_TX_STATS_PERIOD_DEFAULT,
2432 CFG_TDLS_TX_STATS_PERIOD_MIN,
2433 CFG_TDLS_TX_STATS_PERIOD_MAX ),
2434
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002435 REG_VARIABLE( CFG_TDLS_TX_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302436 hdd_config_t, fTDLSTxPacketThreshold,
2437 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2438 CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT,
2439 CFG_TDLS_TX_PACKET_THRESHOLD_MIN,
2440 CFG_TDLS_TX_PACKET_THRESHOLD_MAX ),
2441
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002442 REG_VARIABLE( CFG_TDLS_DISCOVERY_PERIOD, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302443 hdd_config_t, fTDLSDiscoveryPeriod,
2444 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2445 CFG_TDLS_DISCOVERY_PERIOD_DEFAULT,
2446 CFG_TDLS_DISCOVERY_PERIOD_MIN,
2447 CFG_TDLS_DISCOVERY_PERIOD_MAX ),
2448
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002449 REG_VARIABLE( CFG_TDLS_MAX_DISCOVERY_ATTEMPT, WLAN_PARAM_Integer,
Hoonki Leebf870f32013-01-19 15:53:30 +05302450 hdd_config_t, fTDLSMaxDiscoveryAttempt,
2451 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2452 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT,
2453 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN,
2454 CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX ),
2455
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002456 REG_VARIABLE( CFG_TDLS_IDLE_TIMEOUT, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002457 hdd_config_t, fTDLSIdleTimeout,
Hoonki Leebf870f32013-01-19 15:53:30 +05302458 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
Chilam Ng01120412013-02-19 18:32:21 -08002459 CFG_TDLS_IDLE_TIMEOUT_DEFAULT,
2460 CFG_TDLS_IDLE_TIMEOUT_MIN,
2461 CFG_TDLS_IDLE_TIMEOUT_MAX ),
2462
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002463 REG_VARIABLE( CFG_TDLS_IDLE_PACKET_THRESHOLD, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002464 hdd_config_t, fTDLSIdlePacketThreshold,
2465 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2466 CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT,
2467 CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN,
2468 CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX ),
Hoonki Leebf870f32013-01-19 15:53:30 +05302469
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002470 REG_VARIABLE( CFG_TDLS_RSSI_HYSTERESIS, WLAN_PARAM_Integer,
Chilam Ng01120412013-02-19 18:32:21 -08002471 hdd_config_t, fTDLSRSSIHysteresis,
Hoonki Leebf870f32013-01-19 15:53:30 +05302472 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2473 CFG_TDLS_RSSI_HYSTERESIS_DEFAULT,
2474 CFG_TDLS_RSSI_HYSTERESIS_MIN,
2475 CFG_TDLS_RSSI_HYSTERESIS_MAX ),
Chilam Ng01120412013-02-19 18:32:21 -08002476
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002477 REG_VARIABLE( CFG_TDLS_RSSI_TRIGGER_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002478 hdd_config_t, fTDLSRSSITriggerThreshold,
2479 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2480 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT,
2481 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN,
2482 CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX ),
2483
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002484 REG_VARIABLE( CFG_TDLS_RSSI_TEARDOWN_THRESHOLD, WLAN_PARAM_SignedInteger,
Chilam Ng01120412013-02-19 18:32:21 -08002485 hdd_config_t, fTDLSRSSITeardownThreshold,
2486 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2487 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT,
2488 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN,
2489 CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX ),
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05302490
2491REG_VARIABLE( CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME , WLAN_PARAM_HexInteger,
2492 hdd_config_t, fTDLSUapsdMask,
2493 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2494 CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT,
2495 CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN,
2496 CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX ),
2497
2498REG_VARIABLE( CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
2499 hdd_config_t, fEnableTDLSBufferSta,
2500 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2501 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT,
2502 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN,
2503 CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX ),
2504
2505REG_VARIABLE( CFG_TDLS_PUAPSD_INACTIVITY_TIME, WLAN_PARAM_Integer,
2506 hdd_config_t, fTDLSPuapsdInactivityTimer,
2507 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2508 CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT,
2509 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN,
2510 CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX ),
2511
2512REG_VARIABLE( CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD, WLAN_PARAM_Integer,
2513 hdd_config_t, fTDLSRxFrameThreshold,
2514 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2515 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT,
2516 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN,
2517 CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX ),
Sunil Dutt41de4e22013-11-14 18:09:02 +05302518
2519REG_VARIABLE( CFG_TDLS_EXTERNAL_CONTROL, WLAN_PARAM_Integer,
2520 hdd_config_t, fTDLSExternalControl,
2521 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2522 CFG_TDLS_EXTERNAL_CONTROL_DEFAULT,
2523 CFG_TDLS_EXTERNAL_CONTROL_MIN,
2524 CFG_TDLS_EXTERNAL_CONTROL_MAX ),
Mohit Khanna698ba2a2012-12-04 15:08:18 -08002525#endif
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002526
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002527#ifdef WLAN_SOFTAP_VSTA_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002528 REG_VARIABLE( CFG_VSTA_SUPPORT_ENABLE, WLAN_PARAM_Integer,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08002529 hdd_config_t, fEnableVSTASupport,
2530 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2531 CFG_VSTA_SUPPORT_ENABLE_DEFAULT,
2532 CFG_VSTA_SUPPORT_ENABLE_MIN,
2533 CFG_VSTA_SUPPORT_ENABLE_MAX ),
2534#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002535 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002536 hdd_config_t, enableLpwrImgTransition,
2537 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2538 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2539 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08002540 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2541
Yathish9f22e662012-12-10 14:21:35 -08002542#ifdef WLAN_ACTIVEMODE_OFFLOAD_FEATURE
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002543 REG_VARIABLE( CFG_ACTIVEMODE_OFFLOAD_ENABLE, WLAN_PARAM_Integer,
Yathish9f22e662012-12-10 14:21:35 -08002544 hdd_config_t, fEnableActiveModeOffload,
2545 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2546 CFG_ACTIVEMODE_OFFLOAD_ENABLE_DEFAULT,
2547 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MIN,
2548 CFG_ACTIVEMODE_OFFLOAD_ENABLE_MAX ),
2549#endif
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002550 REG_VARIABLE( CFG_ENABLE_LPWR_IMG_TRANSITION_NAME, WLAN_PARAM_Integer,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002551 hdd_config_t, enableLpwrImgTransition,
2552 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2553 CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT,
2554 CFG_ENABLE_LPWR_IMG_TRANSITION_MIN,
2555 CFG_ENABLE_LPWR_IMG_TRANSITION_MAX ),
2556
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002557
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002558 REG_VARIABLE( CFG_SCAN_AGING_PARAM_NAME, WLAN_PARAM_Integer,
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08002559 hdd_config_t, scanAgingTimeout,
2560 VAR_FLAGS_OPTIONAL,
2561 CFG_SCAN_AGING_PARAM_DEFAULT,
2562 CFG_SCAN_AGING_PARAM_MIN,
2563 CFG_SCAN_AGING_PARAM_MAX ),
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002564
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002565 REG_VARIABLE( CFG_TX_LDPC_ENABLE_FEATURE, WLAN_PARAM_Integer,
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08002566 hdd_config_t, enableTxLdpc,
2567 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2568 CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT,
2569 CFG_TX_LDPC_ENABLE_FEATURE_MIN,
2570 CFG_TX_LDPC_ENABLE_FEATURE_MAX ),
2571
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002572 REG_VARIABLE( CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302573 hdd_config_t, enableMCCAdaptiveScheduler,
2574 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2575 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT,
2576 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN,
2577 CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX ),
2578
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002579 REG_VARIABLE( CFG_ANDRIOD_POWER_SAVE_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05302580 hdd_config_t, isAndroidPsEn,
2581 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2582 CFG_ANDRIOD_POWER_SAVE_DEFAULT,
2583 CFG_ANDRIOD_POWER_SAVE_MIN,
2584 CFG_ANDRIOD_POWER_SAVE_MAX),
2585
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002586 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002587 hdd_config_t, AdHocChannel5G,
2588 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2589 CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT,
2590 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN,
2591 CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX),
2592
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002593 REG_VARIABLE( CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME, WLAN_PARAM_Integer,
Shailender Karmuchia734f332013-04-19 14:02:48 -07002594 hdd_config_t, AdHocChannel24G,
2595 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2596 CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT,
2597 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN,
2598 CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX),
2599
2600
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002601#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002602 REG_VARIABLE( CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE, WLAN_PARAM_Integer,
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002603 hdd_config_t, enableTxBF,
2604 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2605 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT,
2606 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN,
2607 CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX ),
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002608
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002609 REG_VARIABLE( CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED, WLAN_PARAM_Integer,
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08002610 hdd_config_t, txBFCsnValue,
2611 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2612 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT,
2613 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN,
2614 CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX ),
2615
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08002616#endif
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302617
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002618 REG_VARIABLE( CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
Madan Mohan Koyylamudi64267f72013-02-05 14:07:08 +05302619 hdd_config_t, sapAllowAllChannel,
2620 VAR_FLAGS_OPTIONAL,
2621 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
2622 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
2623 CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX ),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002624
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002625#ifdef WLAN_FEATURE_11AC
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002626 REG_VARIABLE( CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08002627 hdd_config_t, disableLDPCWithTxbfAP,
2628 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2629 CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT,
2630 CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN,
2631 CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX ),
2632#endif
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002633
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002634 REG_VARIABLE_STRING( CFG_LIST_OF_NON_DFS_COUNTRY_CODE, WLAN_PARAM_String,
Tushnim Bhattacharyya9cdf6082013-04-21 16:33:30 -07002635 hdd_config_t, listOfNonDfsCountryCode,
2636 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2637 (void *)CFG_LIST_OF_NON_DFS_COUNTRY_CODE_DEFAULT),
2638
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07002639 REG_DYNAMIC_VARIABLE( CFG_ENABLE_SSR, WLAN_PARAM_Integer,
2640 hdd_config_t, enableSSR,
2641 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2642 CFG_ENABLE_SSR_DEFAULT,
2643 CFG_ENABLE_SSR_MIN,
2644 CFG_ENABLE_SSR_MAX,
2645 cbNotifySetEnableSSR, 0 ),
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302646
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002647 REG_VARIABLE_STRING( CFG_LIST_OF_NON_11AC_COUNTRY_CODE, WLAN_PARAM_String,
Gopichand Nakkaladacbcb52013-04-18 16:41:54 +05302648 hdd_config_t, listOfNon11acCountryCode,
2649 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2650 (void *)CFG_LIST_OF_NON_11AC_COUNTRY_CODE_DEFAULT),
2651
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002652 REG_VARIABLE(CFG_MAX_MEDIUM_TIME, WLAN_PARAM_Integer,
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05302653 hdd_config_t, cfgMaxMediumTime,
2654 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2655 CFG_MAX_MEDIUM_TIME_STADEFAULT,
2656 CFG_MAX_MEDIUM_TIME_STAMIN,
2657 CFG_MAX_MEDIUM_TIME_STAMAX ),
2658
Leo Chang64d68bc2013-06-04 15:40:52 -07002659 REG_VARIABLE( CFG_ENABLE_TRAFFIC_MONITOR, WLAN_PARAM_Integer,
2660 hdd_config_t, enableTrafficMonitor,
2661 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2662 CFG_ENABLE_TRAFFIC_MONITOR_DEFAULT,
2663 CFG_ENABLE_TRAFFIC_MONITOR_MIN,
2664 CFG_ENABLE_TRAFFIC_MONITOR_MAX),
2665
2666 REG_VARIABLE( CFG_TRAFFIC_IDLE_TIMEOUT, WLAN_PARAM_Integer,
2667 hdd_config_t, trafficIdleTimeout,
2668 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2669 CFG_TRAFFIC_IDLE_TIMEOUT_DEFAULT,
2670 CFG_TRAFFIC_IDLE_TIMEOUT_MIN,
2671 CFG_TRAFFIC_IDLE_TIMEOUT_MAX),
Ravi Joshi83bfaa12013-05-28 22:12:08 -07002672
2673#ifdef WLAN_FEATURE_11AC
2674 REG_VARIABLE( CFG_ENABLE_VHT_FOR_24GHZ_NAME, WLAN_PARAM_Integer,
2675 hdd_config_t, enableVhtFor24GHzBand,
2676 VAR_FLAGS_OPTIONAL,
2677 CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT,
2678 CFG_ENABLE_VHT_FOR_24GHZ_MIN,
2679 CFG_ENABLE_VHT_FOR_24GHZ_MAX),
2680#endif
Gopichand Nakkala154bda22013-06-11 17:41:22 +05302681
2682 REG_VARIABLE( CFG_SCAN_OFFLOAD_NAME, WLAN_PARAM_Integer,
2683 hdd_config_t, fScanOffload,
2684 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2685 CFG_SCAN_OFFLOAD_DEFAULT,
2686 CFG_SCAN_OFFLOAD_DISABLE,
2687 CFG_SCAN_OFFLOAD_ENABLE ),
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07002688
2689#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
2690 REG_DYNAMIC_VARIABLE( CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY, WLAN_PARAM_Integer,
2691 hdd_config_t, bFastRoamInConIniFeatureEnabled,
2692 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2693 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT,
2694 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN,
2695 CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX,
2696 cbNotifySetEnableFastRoamInConcurrency, 0 ),
2697#endif
2698
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07002699 REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
2700 hdd_config_t, fEnableAdaptRxDrain,
2701 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2702 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
2703 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
2704 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
2705
Sudhir Sattayappa Kohalli37620692013-08-05 14:02:26 -07002706 REG_VARIABLE( CFG_DYNAMIC_SPLIT_SCAN_NAME, WLAN_PARAM_Integer,
2707 hdd_config_t, dynSplitscan,
2708 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2709 CFG_DYNAMIC_SPLIT_SCAN_DEFAULT,
2710 CFG_DYNAMIC_SPLIT_SCAN_MIN,
2711 CFG_DYNAMIC_SPLIT_SCAN_MAX ),
2712
2713 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_NAME, WLAN_PARAM_Integer,
2714 hdd_config_t, txRxThresholdForSplitScan,
2715 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2716 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_DEFAULT,
2717 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MIN,
2718 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_THRSHLD_MAX ),
2719
2720 REG_VARIABLE( CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_NAME, WLAN_PARAM_Integer,
2721 hdd_config_t, trafficMntrTmrForSplitScan,
2722 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2723 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_DEFAULT,
2724 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MIN,
2725 CFG_SPLIT_SCAN_TRAFFIC_MONITOR_TIMER_MAX ),
2726
Yue Ma0fd23872013-08-01 15:56:47 -07002727 REG_VARIABLE( CFG_FLEX_CONNECT_POWER_FACTOR_NAME, WLAN_PARAM_Integer,
2728 hdd_config_t, flexConnectPowerFactor,
2729 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX,
2730 CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT,
2731 CFG_FLEX_CONNECT_POWER_FACTOR_MIN,
2732 CFG_FLEX_CONNECT_POWER_FACTOR_MAX ),
2733
Ravi Joshid2ca7c42013-07-23 08:37:49 -07002734 REG_VARIABLE( CFG_ENABLE_HEART_BEAT_OFFLOAD, WLAN_PARAM_Integer,
2735 hdd_config_t, enableIbssHeartBeatOffload,
2736 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2737 CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT,
2738 CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN,
2739 CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX),
2740
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05302741 REG_VARIABLE( CFG_ANTENNA_DIVERSITY_PARAM_NAME, WLAN_PARAM_Integer,
2742 hdd_config_t, antennaDiversity,
2743 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2744 CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT,
2745 CFG_ANTENNA_DIVERSITY_PARAM_MIN,
2746 CFG_ANTENNA_DIVERSITY_PARAM_MAX),
Madan Mohan Koyyalamudid9383fd2013-08-13 09:27:30 +05302747
2748 REG_VARIABLE( CFG_ENABLE_SNR_MONITORING_NAME, WLAN_PARAM_Integer,
2749 hdd_config_t, fEnableSNRMonitoring,
2750 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
2751 CFG_ENABLE_SNR_MONITORING_DEFAULT,
2752 CFG_ENABLE_SNR_MONITORING_MIN,
2753 CFG_ENABLE_SNR_MONITORING_MAX),
2754
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302755#ifdef FEATURE_WLAN_SCAN_PNO
Hardik Kantilal Patel3dfd8792013-11-13 20:34:57 +05302756 REG_VARIABLE( CFG_PNO_SCAN_SUPPORT, WLAN_PARAM_Integer,
2757 hdd_config_t, configPNOScanSupport,
2758 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2759 CFG_PNO_SCAN_SUPPORT_DEFAULT,
2760 CFG_PNO_SCAN_SUPPORT_DISABLE,
2761 CFG_PNO_SCAN_SUPPORT_ENABLE),
2762
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302763 REG_VARIABLE( CFG_PNO_SCAN_TIMER_REPEAT_VALUE, WLAN_PARAM_Integer,
2764 hdd_config_t, configPNOScanTimerRepeatValue,
2765 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2766 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT,
2767 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
2768 CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
2769#endif
krunal soni5afa96c2013-09-06 22:19:02 -07002770 REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
2771 hdd_config_t, isAmsduSupportInAMPDU,
2772 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2773 CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
2774 CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
2775 CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
Madan Mohan Koyyalamudi1d16f462013-08-27 16:25:34 +05302776
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07002777 REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer,
2778 hdd_config_t, nSelect5GHzMargin,
2779 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2780 CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT,
2781 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN,
2782 CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX ),
2783
krunal sonie9002db2013-11-25 14:24:17 -08002784 REG_VARIABLE( CFG_COALESING_IN_IBSS_NAME , WLAN_PARAM_Integer,
2785 hdd_config_t, isCoalesingInIBSSAllowed,
2786 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2787 CFG_COALESING_IN_IBSS_DEFAULT,
2788 CFG_COALESING_IN_IBSS_MIN,
2789 CFG_COALESING_IN_IBSS_MAX ),
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05302790
2791 REG_VARIABLE( CFG_DISABLE_ATH_NAME , WLAN_PARAM_Integer,
2792 hdd_config_t, cfgAthDisable,
2793 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2794 CFG_DISABLE_ATH_DEFAULT,
2795 CFG_DISABLE_ATH_MIN,
2796 CFG_DISABLE_ATH_MAX ),
c_hpothu6d7dc922013-12-02 12:36:41 +05302797 REG_VARIABLE(CFG_BTC_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2798 hdd_config_t, cfgBtcActiveWlanLen,
2799 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2800 CFG_BTC_ACTIVE_WLAN_LEN_DEFAULT,
2801 CFG_BTC_ACTIVE_WLAN_LEN_MIN,
2802 CFG_BTC_ACTIVE_WLAN_LEN_MAX ),
2803
2804 REG_VARIABLE(CFG_BTC_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2805 hdd_config_t, cfgBtcActiveBtLen,
2806 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2807 CFG_BTC_ACTIVE_BT_LEN_DEFAULT,
2808 CFG_BTC_ACTIVE_BT_LEN_MIN,
2809 CFG_BTC_ACTIVE_BT_LEN_MAX ),
2810
2811 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_WLAN_LEN_NAME, WLAN_PARAM_Integer,
2812 hdd_config_t, cfgBtcSapActiveWlanLen,
2813 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2814 CFG_BTC_SAP_ACTIVE_WLAN_LEN_DEFAULT,
2815 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MIN,
2816 CFG_BTC_SAP_ACTIVE_WLAN_LEN_MAX ),
2817
2818 REG_VARIABLE(CFG_BTC_SAP_ACTIVE_BT_LEN_NAME, WLAN_PARAM_Integer,
2819 hdd_config_t, cfgBtcSapActiveBtLen,
2820 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2821 CFG_BTC_SAP_ACTIVE_BT_LEN_DEFAULT,
2822 CFG_BTC_SAP_ACTIVE_BT_LEN_MIN,
2823 CFG_BTC_SAP_ACTIVE_BT_LEN_MAX ),
Arif Hussaind5218912013-12-05 01:10:55 -08002824
2825#ifdef MEMORY_DEBUG
2826 REG_VARIABLE(CFG_ENABLE_MEMORY_DEBUG_NAME, WLAN_PARAM_Integer,
2827 hdd_config_t, IsMemoryDebugSupportEnabled,
2828 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
2829 CFG_ENABLE_MEMORY_DEBUG_DEFAULT,
2830 CFG_ENABLE_MEMORY_DEBUG_MIN,
2831 CFG_ENABLE_MEMORY_DEBUG_MAX ),
2832#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002833};
2834
2835/*
2836 * This function returns a pointer to the character after the occurence
2837 * of a new line character. It also modifies the original string by replacing
2838 * the '\n' character with the null character.
2839 * Function returns NULL if no new line character was found before end of
2840 * string was reached
2841 */
2842static char* get_next_line(char* str)
2843{
2844 char c;
2845
2846 if( str == NULL || *str == '\0') {
2847 return NULL;
2848 }
2849
2850 c = *str;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002851 while(c != '\n' && c != '\0' && c != 0xd) {
Jeff Johnson295189b2012-06-20 16:38:30 -07002852 str = str + 1;
2853 c = *str;
2854 }
2855
2856 if (c == '\0' ) {
2857 return NULL;
2858 }
2859 else
2860 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002861 *str = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07002862 return (str+1);
2863 }
2864
2865 return NULL;
2866}
2867
2868// look for space. Ascii values to look are -
2869// 0x09 == horizontal tab
2870// 0x0a == Newline ("\n")
2871// 0x0b == vertical tab
2872// 0x0c == Newpage or feed form.
2873// 0x0d == carriage return (CR or "\r")
2874// Null ('\0') should not considered as space.
2875#define i_isspace(ch) (((ch) >= 0x09 && (ch) <= 0x0d) || (ch) == ' ')
2876
2877/*
2878 * This function trims any leading and trailing white spaces
2879 */
2880static char *i_trim(char *str)
2881
2882{
2883 char *ptr;
2884
2885 if(*str == '\0') return str;
2886
2887 /* Find the first non white-space*/
2888 for (ptr = str; i_isspace(*ptr); ptr++);
2889 if (*ptr == '\0')
2890 return str;
2891
2892 /* This is the new start of the string*/
2893 str = ptr;
2894
2895 /* Find the last non white-space */
2896 ptr += strlen(ptr) - 1;
2897 for (; ptr != str && i_isspace(*ptr); ptr--);
2898 /* Null terminate the following character */
2899 ptr[1] = '\0';
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002900
Jeff Johnson295189b2012-06-20 16:38:30 -07002901 return str;
2902}
2903
2904
2905//Structure to store each entry in qcom_cfg.ini file
2906typedef struct
2907{
2908 char *name;
2909 char *value;
2910}tCfgIniEntry;
2911
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002912static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t * pHddCtx,
Jeff Johnson295189b2012-06-20 16:38:30 -07002913 tCfgIniEntry* iniTable, unsigned long entries);
2914
2915#ifdef WLAN_CFG_DEBUG
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002916void dump_cfg_ini (tCfgIniEntry* iniTable, unsigned long entries)
Jeff Johnson295189b2012-06-20 16:38:30 -07002917{
2918 unsigned long i;
2919
2920 for (i = 0; i < entries; i++) {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002921 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "%s entry Name=[%s] value=[%s]",
Jeff Johnson295189b2012-06-20 16:38:30 -07002922 WLAN_INI_FILE, iniTable[i].name, iniTable[i].value);
2923 }
2924}
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002925#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07002926
2927/*
2928 * This function reads the qcom_cfg.ini file and
2929 * parses each 'Name=Value' pair in the ini file
2930 */
2931VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
2932{
2933 int status, i=0;
2934 /** Pointer for firmware image data */
2935 const struct firmware *fw = NULL;
Jeff Johnson4416a782013-03-25 14:17:50 -07002936 char *buffer, *line, *pTemp = NULL;
Jeff Johnson295189b2012-06-20 16:38:30 -07002937 size_t size;
2938 char *name, *value;
Madan Mohan Koyyalamudi729972c2012-10-21 12:39:24 -07002939 /* cfgIniTable is static to avoid excess stack usage */
2940 static tCfgIniEntry cfgIniTable[MAX_CFG_INI_ITEMS];
Jeff Johnson295189b2012-06-20 16:38:30 -07002941 VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
2942
2943 memset(cfgIniTable, 0, sizeof(cfgIniTable));
2944
2945 status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002946
Jeff Johnson295189b2012-06-20 16:38:30 -07002947 if(status)
2948 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08002949 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d",__func__, status);
Jeff Johnson4416a782013-03-25 14:17:50 -07002950 vos_status = VOS_STATUS_E_FAILURE;
2951 goto config_exit;
Jeff Johnson295189b2012-06-20 16:38:30 -07002952 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002953 if(!fw || !fw->data || !fw->size)
Jeff Johnson295189b2012-06-20 16:38:30 -07002954 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08002955 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: %s download failed",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002956 __func__, WLAN_INI_FILE);
Jeff Johnson4416a782013-03-25 14:17:50 -07002957 vos_status = VOS_STATUS_E_FAILURE;
2958 goto config_exit;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002959 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002960
Jeff Johnson59a121e2013-11-30 09:46:08 -08002961 hddLog(LOG1, "%s: qcom_cfg.ini Size %zu", __func__, fw->size);
Jeff Johnson295189b2012-06-20 16:38:30 -07002962
2963 buffer = (char*)vos_mem_malloc(fw->size);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002964
Jeff Johnson295189b2012-06-20 16:38:30 -07002965 if(NULL == buffer) {
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07002966 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: kmalloc failure",__func__);
Jeff Johnson295189b2012-06-20 16:38:30 -07002967 release_firmware(fw);
2968 return VOS_STATUS_E_FAILURE;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002969 }
Jeff Johnson295189b2012-06-20 16:38:30 -07002970 pTemp = buffer;
2971
2972 vos_mem_copy((void*)buffer,(void *)fw->data, fw->size);
2973 size = fw->size;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002974
Jeff Johnson295189b2012-06-20 16:38:30 -07002975 while (buffer != NULL)
2976 {
2977 line = get_next_line(buffer);
2978 buffer = i_trim(buffer);
2979
2980 hddLog(LOG1, "%s: item", buffer);
2981
2982 if(strlen((char*)buffer) == 0 || *buffer == '#') {
2983 buffer = line;
2984 continue;
2985 }
2986 else if(strncmp(buffer, "END", 3) == 0 ) {
2987 break;
2988 }
2989 else
2990 {
2991 name = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08002992 while(*buffer != '=' && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07002993 buffer++;
2994 if(*buffer != '\0') {
2995 *buffer++ = '\0';
2996 i_trim(name);
2997 if(strlen (name) != 0) {
2998 buffer = i_trim(buffer);
2999 if(strlen(buffer)>0) {
3000 value = buffer;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003001 while(!i_isspace(*buffer) && *buffer != '\0')
Jeff Johnson295189b2012-06-20 16:38:30 -07003002 buffer++;
3003 *buffer = '\0';
3004 cfgIniTable[i].name= name;
3005 cfgIniTable[i++].value= value;
3006 if(i >= MAX_CFG_INI_ITEMS) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003007 hddLog(LOGE,"%s: Number of items in %s > %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003008 __func__, WLAN_INI_FILE, MAX_CFG_INI_ITEMS);
Jeff Johnson295189b2012-06-20 16:38:30 -07003009 break;
3010 }
3011 }
3012 }
3013 }
3014 }
3015 buffer = line;
3016 }
3017
3018 //Loop through the registry table and apply all these configs
3019 vos_status = hdd_apply_cfg_ini(pHddCtx, cfgIniTable, i);
3020
Jeff Johnson4416a782013-03-25 14:17:50 -07003021config_exit:
Jeff Johnson295189b2012-06-20 16:38:30 -07003022 release_firmware(fw);
3023 vos_mem_free(pTemp);
3024 return vos_status;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003025}
Jeff Johnson295189b2012-06-20 16:38:30 -07003026
3027
3028static void print_hdd_cfg(hdd_context_t *pHddCtx)
3029{
3030 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003031 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 -07003032 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [OperatingChannel] Value = [%u]",pHddCtx->cfg_ini->OperatingChannel);
3033 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PowerUsageControl] Value = [%s]",pHddCtx->cfg_ini->PowerUsageControl);
3034 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fIsImpsEnabled] Value = [%u]",pHddCtx->cfg_ini->fIsImpsEnabled);
3035 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 -07003036 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 -07003037 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nVccRssiTrigger] Value = [%u]",pHddCtx->cfg_ini->nVccRssiTrigger);
Arif Hussaina7c8e412013-11-20 11:06:42 -08003038 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
3039 "Name = [gIbssBssid] Value =["MAC_ADDRESS_STR"]",
3040 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->IbssBssid.bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003041
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003042 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003043 "Name = [Intf0MacAddress] Value =["MAC_ADDRESS_STR"]",
3044 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[0].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003045
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003046 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003047 "Name = [Intf1MacAddress] Value =["MAC_ADDRESS_STR"]",
3048 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[1].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003049
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003050 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003051 "Name = [Intf2MacAddress] Value =["MAC_ADDRESS_STR"]",
3052 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[2].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003053
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003054 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussaina7c8e412013-11-20 11:06:42 -08003055 "Name = [Intf3MacAddress] Value =["MAC_ADDRESS_STR"]",
3056 MAC_ADDR_ARRAY(pHddCtx->cfg_ini->intfMacAddr[3].bytes));
Jeff Johnson295189b2012-06-20 16:38:30 -07003057
Arif Hussain6d2a3322013-11-17 19:50:10 -08003058 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApEnableUapsd] value = [%u]",pHddCtx->cfg_ini->apUapsdEnabled);
Jeff Johnson295189b2012-06-20 16:38:30 -07003059
Arif Hussain6d2a3322013-11-17 19:50:10 -08003060 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPCntryCode] Value =[%c%c%c]",
Jeff Johnson295189b2012-06-20 16:38:30 -07003061 pHddCtx->cfg_ini->apCntryCode[0],pHddCtx->cfg_ini->apCntryCode[1],
3062 pHddCtx->cfg_ini->apCntryCode[2]);
3063 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApProt] value = [%u]", pHddCtx->cfg_ini->apProtEnabled);
Arif Hussain6d2a3322013-11-17 19:50:10 -08003064 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAPAutoShutOff] Value = [%u]", pHddCtx->cfg_ini->nAPAutoShutOff);
Jeff Johnson295189b2012-06-20 16:38:30 -07003065
Arif Hussain6d2a3322013-11-17 19:50:10 -08003066 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableListenMode] Value = [%u]", pHddCtx->cfg_ini->nEnableListenMode);
3067 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApProtection] value = [%u]",pHddCtx->cfg_ini->apProtection);
3068 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableApOBSSProt] value = [%u]",pHddCtx->cfg_ini->apOBSSProtEnabled);
3069 VOS_TRACE (VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApAutoChannelSelection] value = [%u]",pHddCtx->cfg_ini->apAutoChannelSelection);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003070
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003071 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode24GHz);
3072 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ChannelBondingMode] Value = [%u]",pHddCtx->cfg_ini->nChannelBondingMode5GHz);
3073 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 -07003074 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WmmMode] Value = [%u] ",pHddCtx->cfg_ini->WmmMode);
3075 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [UapsdMask] Value = [0x%x] ",pHddCtx->cfg_ini->UapsdMask);
3076 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [PktClassificationBasis] Value = [%u] ",pHddCtx->cfg_ini->PktClassificationBasis);
3077 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImplicitQosIsEnabled] Value = [%u]",(int)pHddCtx->cfg_ini->bImplicitQosEnabled);
3078
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003079 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdVoSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdVoSrvIntv);
3080 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 -07003081
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003082 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdViSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdViSrvIntv);
3083 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 -07003084
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003085 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBeSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBeSrvIntv);
3086 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 -07003087
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003088 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraUapsdBkSrvIntv] Value = [%u] ",pHddCtx->cfg_ini->InfraUapsdBkSrvIntv);
3089 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 -07003090#ifdef FEATURE_WLAN_CCX
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003091 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraInactivityInterval] Value = [%u] ",pHddCtx->cfg_ini->InfraInactivityInterval);
3092 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [CcxEnabled] Value = [%u] ",pHddCtx->cfg_ini->isCcxIniFeatureEnabled);
3093 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [FastTransitionEnabled] Value = [%u] ",pHddCtx->cfg_ini->isFastTransitionEnabled);
3094 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 -08003095#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07003096#ifdef FEATURE_WLAN_LFR
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08003097 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 -07003098 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 -08003099#endif
Jeff Johnson43971f52012-07-17 12:26:56 -07003100#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003101 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [RoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->RoamRssiDiff);
3102 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [ImmediateRoamRssiDiff] Value = [%u] ",pHddCtx->cfg_ini->nImmediateRoamRssiDiff);
3103 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 -07003104#endif
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07003105#ifdef FEATURE_WLAN_OKC
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003106 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 -07003107#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003108 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVo] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVo);
3109 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 -07003110 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVo);
3111 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 -07003112 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVo] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVo);
3113
3114 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcVi] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcVi);
3115 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 -07003116 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcVi);
3117 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 -07003118 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcVi] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcVi);
3119
3120 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBe] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBe);
3121 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 -07003122 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBe);
3123 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 -07003124 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBe] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBe);
3125
3126 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraDirAcBk] Value = [%u] ",pHddCtx->cfg_ini->InfraDirAcBk);
3127 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 -07003128 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraMeanDataRateAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraMeanDataRateAcBk);
3129 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 -07003130 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [InfraSbaAcBk] Value = [0x%x] ",pHddCtx->cfg_ini->InfraSbaAcBk);
3131
3132 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBkWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBkWeight);
3133 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqBeWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqBeWeight);
3134 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [WfqViWeight] Value = [%u] ",pHddCtx->cfg_ini->WfqViWeight);
3135 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 -07003136 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 -07003137 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [mcastBcastFilterSetting] Value = [%u] ",pHddCtx->cfg_ini->mcastBcastFilterSetting);
3138 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 -08003139#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003140 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 -07003141#endif
3142
3143#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003144 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborReassocRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborReassocRssiThreshold);
3145 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborLookupRssiThreshold] Value = [%u] ",pHddCtx->cfg_ini->nNeighborLookupRssiThreshold);
3146 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMinChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMinChanTime);
3147 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanMaxChanTime] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanMaxChanTime);
3148 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nMaxNeighborRetries] Value = [%u] ",pHddCtx->cfg_ini->nMaxNeighborReqTries);
3149 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborScanPeriod);
3150 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nNeighborScanResultsRefreshPeriod] Value = [%u] ",pHddCtx->cfg_ini->nNeighborResultsRefreshPeriod);
3151 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 -07003152#endif
3153 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [burstSizeDefinition] Value = [0x%x] ",pHddCtx->cfg_ini->burstSizeDefinition);
3154 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [tsInfoAckPolicy] Value = [0x%x] ",pHddCtx->cfg_ini->tsInfoAckPolicy);
3155 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [rfSettlingTimeUs] Value = [%u] ",pHddCtx->cfg_ini->rfSettlingTimeUs);
3156 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bSingleTidRc] Value = [%u] ",pHddCtx->cfg_ini->bSingleTidRc);
3157 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gDynamicPSPollvalue] Value = [%u] ",pHddCtx->cfg_ini->dynamicPsPollValue);
3158 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAddTSWhenACMIsOff] Value = [%u] ",pHddCtx->cfg_ini->AddTSWhenACMIsOff);
3159 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gValidateScanList] Value = [%u] ",pHddCtx->cfg_ini->fValidateScanList);
3160
3161 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gStaKeepAlivePeriod] Value = [%u] ",pHddCtx->cfg_ini->infraStaKeepAlivePeriod);
3162 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3163 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBtAmp] Value = [%u] ",pHddCtx->cfg_ini->enableBtAmp);
3164#ifdef WLAN_BTAMP_FEATURE
3165 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BtAmpPreferredChannel] Value = [%u] ",pHddCtx->cfg_ini->preferredChannel);
3166#endif //WLAN_BTAMP_FEATURE
3167 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [BandCapability] Value = [%u] ",pHddCtx->cfg_ini->nBandCapability);
3168 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [fEnableBeaconEarlyTermination] Value = [%u] ",pHddCtx->cfg_ini->fEnableBeaconEarlyTermination);
3169 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [teleBcnWakeupEnable] Value = [%u] ",pHddCtx->cfg_ini->teleBcnWakeupEn);
3170 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransListenInterval);
3171 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [transLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnTransLiNumIdleBeacons);
3172 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxListenInterval] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxListenInterval);
3173 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [maxLiNumIdleBeacons] Value = [%u] ",pHddCtx->cfg_ini->nTeleBcnMaxLiNumIdleBeacons);
3174 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [bcnEarlyTermWakeInterval] Value = [%u] ",pHddCtx->cfg_ini->bcnEarlyTermWakeInterval);
3175 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApDataAvailPollInterVal] Value = [%u] ",pHddCtx->cfg_ini->apDataAvailPollPeriodInMs);
3176 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableBypass11d] Value = [%u] ",pHddCtx->cfg_ini->enableBypass11d);
3177 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableDFSChnlScan] Value = [%u] ",pHddCtx->cfg_ini->enableDFSChnlScan);
3178 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gReportMaxLinkSpeed] Value = [%u] ",pHddCtx->cfg_ini->reportMaxLinkSpeed);
3179 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 -07003180#ifdef WLAN_FEATURE_11AC
Arif Hussain6d2a3322013-11-17 19:50:10 -08003181 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gVhtChannelWidth] value = [%u]",pHddCtx->cfg_ini->vhtChannelWidth);
Jeff Johnsone7245742012-09-05 17:12:55 -07003182#endif
3183 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [enableFirstScan2GOnly] Value = [%u] ",pHddCtx->cfg_ini->enableFirstScan2GOnly);
3184 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [skipDfsChnlInP2pSearch] Value = [%u] ",pHddCtx->cfg_ini->skipDfsChnlInP2pSearch);
3185 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 +05303186 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 -08003187 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 -07003188 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 -07003189 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 -07003190
Leo Chang64d68bc2013-06-04 15:40:52 -07003191 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gEnableTrafficMonitor] Value = [%u] ", pHddCtx->cfg_ini->enableTrafficMonitor);
3192 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 -07003193 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 -07003194 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 +05303195 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 +05303196 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->goLinkMonitorPeriod);
3197 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
3198 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
3199 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 -07003200 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%u] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
3201 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nSelect5GHzMargin] Value = [%u] ",pHddCtx->cfg_ini->nSelect5GHzMargin);
Jeff Johnson89aa2692013-11-25 16:23:43 -08003202 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gCoalesingInIBSS] Value = [%u] ",pHddCtx->cfg_ini->isCoalesingInIBSSAllowed);
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05303203
Jeff Johnson295189b2012-06-20 16:38:30 -07003204}
3205
3206
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07003207
Jeff Johnson295189b2012-06-20 16:38:30 -07003208#define CFG_VALUE_MAX_LEN 256
3209#define CFG_ENTRY_MAX_LEN (32+CFG_VALUE_MAX_LEN)
3210VOS_STATUS hdd_cfg_get_config(hdd_context_t *pHddCtx, char *pBuf, int buflen)
3211{
3212 unsigned int idx;
3213 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3214 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3215 v_U32_t value;
3216 char valueStr[CFG_VALUE_MAX_LEN];
3217 char configStr[CFG_ENTRY_MAX_LEN];
3218 char *fmt;
3219 void *pField;
3220 v_MACADDR_t *pMacAddr;
3221 char *pCur = pBuf;
3222 int curlen;
3223
3224 // start with an empty string
3225 *pCur = '\0';
3226
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003227 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
Jeff Johnson295189b2012-06-20 16:38:30 -07003228 {
3229 pField = ( (v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
3230
3231 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3232 ( WLAN_PARAM_SignedInteger == pRegEntry->RegType ) ||
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003233 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
Jeff Johnson295189b2012-06-20 16:38:30 -07003234 {
3235 value = 0;
3236 memcpy( &value, pField, pRegEntry->VarSize );
3237 if ( WLAN_PARAM_HexInteger == pRegEntry->RegType )
3238 {
3239 fmt = "%x";
3240 }
3241 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3242 {
3243 fmt = "%d";
3244 }
3245 else
3246 {
3247 fmt = "%u";
3248 }
3249 snprintf(valueStr, CFG_VALUE_MAX_LEN, fmt, value);
3250 }
3251 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3252 {
3253 snprintf(valueStr, CFG_VALUE_MAX_LEN, "%s", (char *)pField);
3254 }
3255 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3256 {
3257 pMacAddr = (v_MACADDR_t *) pField;
3258 snprintf(valueStr, CFG_VALUE_MAX_LEN,
3259 "%02x:%02x:%02x:%02x:%02x:%02x",
3260 pMacAddr->bytes[0],
3261 pMacAddr->bytes[1],
3262 pMacAddr->bytes[2],
3263 pMacAddr->bytes[3],
3264 pMacAddr->bytes[4],
3265 pMacAddr->bytes[5]);
3266 }
3267 else
3268 {
3269 snprintf(valueStr, CFG_VALUE_MAX_LEN, "(unhandled)");
3270 }
Sameer Thalappilb0a30232013-09-27 15:37:48 -07003271 curlen = scnprintf(configStr, CFG_ENTRY_MAX_LEN,
Jeff Johnson295189b2012-06-20 16:38:30 -07003272 "%s=[%s]%s\n",
3273 pRegEntry->RegName,
3274 valueStr,
3275 test_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg) ?
3276 "*" : "");
3277
3278 // ideally we want to return the config to the application
3279 // however the config is too big so we just printk() for now
3280#ifdef RETURN_IN_BUFFER
3281 if (curlen <= buflen)
3282 {
3283 // copy string + '\0'
3284 memcpy(pCur, configStr, curlen+1);
3285
3286 // account for addition;
3287 pCur += curlen;
3288 buflen -= curlen;
3289 }
3290 else
3291 {
3292 // buffer space exhausted, return what we have
3293 return VOS_STATUS_E_RESOURCES;
3294 }
3295#else
3296 printk(KERN_CRIT "%s", configStr);
3297#endif // RETURN_IN_BUFFER
3298
3299}
3300
3301#ifndef RETURN_IN_BUFFER
3302 // notify application that output is in system log
3303 snprintf(pCur, buflen, "WLAN configuration written to system log");
3304#endif // RETURN_IN_BUFFER
3305
3306 return VOS_STATUS_SUCCESS;
3307}
3308
3309static VOS_STATUS find_cfg_item (tCfgIniEntry* iniTable, unsigned long entries,
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003310 char *name, char** value)
Jeff Johnson295189b2012-06-20 16:38:30 -07003311{
3312 VOS_STATUS status = VOS_STATUS_E_FAILURE;
3313 unsigned long i;
3314
3315 for (i = 0; i < entries; i++) {
3316 if (strcmp(iniTable[i].name, name) == 0) {
3317 *value = iniTable[i].value;
3318 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Found %s entry for Name=[%s] Value=[%s] ",
3319 WLAN_INI_FILE, name, *value);
3320 return VOS_STATUS_SUCCESS;
3321 }
3322 }
3323
3324 return status;
3325}
3326
3327static int parseHexDigit(char c)
3328{
3329 if (c >= '0' && c <= '9')
3330 return c-'0';
3331 if (c >= 'a' && c <= 'f')
3332 return c-'a'+10;
3333 if (c >= 'A' && c <= 'F')
3334 return c-'A'+10;
3335
3336 return 0;
3337}
3338
3339
3340static VOS_STATUS hdd_apply_cfg_ini( hdd_context_t *pHddCtx, tCfgIniEntry* iniTable, unsigned long entries)
3341{
3342 VOS_STATUS match_status = VOS_STATUS_E_FAILURE;
3343 VOS_STATUS ret_status = VOS_STATUS_SUCCESS;
3344 unsigned int idx;
3345 void *pField;
3346 char *value_str = NULL;
3347 unsigned long len_value_str;
3348 char *candidate;
3349 v_U32_t value;
3350 v_S31_t svalue;
3351 void *pStructBase = pHddCtx->cfg_ini;
3352 REG_TABLE_ENTRY *pRegEntry = g_registry_table;
3353 unsigned long cRegTableEntries = sizeof(g_registry_table) / sizeof( g_registry_table[ 0 ]);
3354 v_U32_t cbOutString;
3355 int i;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003356 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07003357
3358 // sanity test
3359 if (MAX_CFG_INI_ITEMS < cRegTableEntries)
3360 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003361 hddLog(LOGE, "%s: MAX_CFG_INI_ITEMS too small, must be at least %ld",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003362 __func__, cRegTableEntries);
Jeff Johnson295189b2012-06-20 16:38:30 -07003363 }
3364
3365 for ( idx = 0; idx < cRegTableEntries; idx++, pRegEntry++ )
3366 {
3367 //Calculate the address of the destination field in the structure.
3368 pField = ( (v_U8_t *)pStructBase )+ pRegEntry->VarOffset;
3369
3370 match_status = find_cfg_item(iniTable, entries, pRegEntry->RegName, &value_str);
3371
3372 if( (match_status != VOS_STATUS_SUCCESS) && ( pRegEntry->Flags & VAR_FLAGS_REQUIRED ) )
3373 {
3374 // If we could not read the cfg item and it is required, this is an error.
3375 hddLog(LOGE, "%s: Failed to read required config parameter %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003376 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003377 ret_status = VOS_STATUS_E_FAILURE;
3378 break;
3379 }
3380
3381 if ( ( WLAN_PARAM_Integer == pRegEntry->RegType ) ||
3382 ( WLAN_PARAM_HexInteger == pRegEntry->RegType ) )
3383 {
3384 // If successfully read from the registry, use the value read.
3385 // If not, use the default value.
3386 if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_Integer == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003387 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003388 if (rv < 0) {
3389 hddLog(LOGE, "%s: Reg Parameter %s invalid. Enforcing default",
3390 __func__, pRegEntry->RegName);
3391 value = pRegEntry->VarDefault;
3392 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003393 }
3394 else if ( match_status == VOS_STATUS_SUCCESS && (WLAN_PARAM_HexInteger == pRegEntry->RegType)) {
Jeff Johnson02797792013-10-26 19:17:13 -07003395 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003396 if (rv < 0) {
3397 hddLog(LOGE, "%s: Reg paramter %s invalid. Enforcing default",
3398 __func__, pRegEntry->RegName);
3399 value = pRegEntry->VarDefault;
3400 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003401 }
3402 else {
3403 value = pRegEntry->VarDefault;
3404 }
3405
3406 // If this parameter needs range checking, do it here.
3407 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3408 {
3409 if ( value > pRegEntry->VarMax )
3410 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003411 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Maximum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003412 __func__, pRegEntry->RegName, value, pRegEntry->VarMax );
Jeff Johnson295189b2012-06-20 16:38:30 -07003413 value = pRegEntry->VarMax;
3414 }
3415
3416 if ( value < pRegEntry->VarMin )
3417 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003418 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Minimum",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003419 __func__, pRegEntry->RegName, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07003420 value = pRegEntry->VarMin;
3421 }
3422 }
3423 // If this parameter needs range checking, do it here.
3424 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3425 {
3426 if ( value > pRegEntry->VarMax )
3427 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003428 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum [%u > %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003429 __func__, pRegEntry->RegName, value, pRegEntry->VarMax, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003430 value = pRegEntry->VarDefault;
3431 }
3432
3433 if ( value < pRegEntry->VarMin )
3434 {
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003435 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum [%u < %lu]. Enforcing Default= %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003436 __func__, pRegEntry->RegName, value, pRegEntry->VarMin, pRegEntry->VarDefault );
Jeff Johnson295189b2012-06-20 16:38:30 -07003437 value = pRegEntry->VarDefault;
3438 }
3439 }
3440
3441 // Move the variable into the output field.
3442 memcpy( pField, &value, pRegEntry->VarSize );
3443 }
3444 else if ( WLAN_PARAM_SignedInteger == pRegEntry->RegType )
3445 {
3446 // If successfully read from the registry, use the value read.
3447 // If not, use the default value.
3448 if (VOS_STATUS_SUCCESS == match_status)
3449 {
Jeff Johnson02797792013-10-26 19:17:13 -07003450 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08003451 if (rv < 0) {
3452 hddLog(VOS_TRACE_LEVEL_WARN, "%s: Reg Parameter %s invalid. Enforcing Default",
3453 __func__, pRegEntry->RegName);
3454 svalue = (v_S31_t)pRegEntry->VarDefault;
3455 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003456 }
3457 else
3458 {
3459 svalue = (v_S31_t)pRegEntry->VarDefault;
3460 }
3461
3462 // If this parameter needs range checking, do it here.
3463 if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK )
3464 {
3465 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3466 {
3467 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003468 "[%d > %d]. Enforcing Maximum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003469 pRegEntry->RegName, svalue, (int)pRegEntry->VarMax );
3470 svalue = (v_S31_t)pRegEntry->VarMax;
3471 }
3472
3473 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3474 {
3475 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003476 "[%d < %d]. Enforcing Minimum", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07003477 pRegEntry->RegName, svalue, (int)pRegEntry->VarMin);
3478 svalue = (v_S31_t)pRegEntry->VarMin;
3479 }
3480 }
3481 // If this parameter needs range checking, do it here.
3482 else if ( pRegEntry->Flags & VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT )
3483 {
3484 if ( svalue > (v_S31_t)pRegEntry->VarMax )
3485 {
3486 hddLog(LOGE, "%s: Reg Parameter %s > allowed Maximum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003487 "[%d > %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003488 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003489 (int)pRegEntry->VarMax,
3490 (int)pRegEntry->VarDefault );
3491 svalue = (v_S31_t)pRegEntry->VarDefault;
3492 }
3493
3494 if ( svalue < (v_S31_t)pRegEntry->VarMin )
3495 {
3496 hddLog(LOGE, "%s: Reg Parameter %s < allowed Minimum "
Jeff Johnson0299d0a2013-10-30 12:37:43 -07003497 "[%d < %d]. Enforcing Default= %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003498 __func__, pRegEntry->RegName, svalue,
Jeff Johnson295189b2012-06-20 16:38:30 -07003499 (int)pRegEntry->VarMin,
3500 (int)pRegEntry->VarDefault);
3501 svalue = pRegEntry->VarDefault;
3502 }
3503 }
3504
3505 // Move the variable into the output field.
3506 memcpy( pField, &svalue, pRegEntry->VarSize );
3507 }
3508 // Handle string parameters
3509 else if ( WLAN_PARAM_String == pRegEntry->RegType )
3510 {
3511#ifdef WLAN_CFG_DEBUG
Arif Hussain6d2a3322013-11-17 19:50:10 -08003512 VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "RegName = %s, VarOffset %u VarSize %u VarDefault %s",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003513 pRegEntry->RegName, pRegEntry->VarOffset, pRegEntry->VarSize, (char*)pRegEntry->VarDefault);
Jeff Johnson295189b2012-06-20 16:38:30 -07003514#endif
3515
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003516 if ( match_status == VOS_STATUS_SUCCESS)
Jeff Johnson295189b2012-06-20 16:38:30 -07003517 {
3518 len_value_str = strlen(value_str);
3519
3520 if(len_value_str > (pRegEntry->VarSize - 1)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003521 hddLog(LOGE, "%s: Invalid Value=[%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003522 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003523 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3524 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
3525 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
3526 }
3527 else
3528 {
3529 memcpy( pField, (void *)(value_str), len_value_str);
3530 ( (v_U8_t *)pField )[ len_value_str ] = '\0';
3531 }
3532 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003533 else
Jeff Johnson295189b2012-06-20 16:38:30 -07003534 {
3535 // Failed to read the string parameter from the registry. Use the default.
3536 cbOutString = utilMin( strlen( (char *)pRegEntry->VarDefault ), pRegEntry->VarSize - 1 );
3537 memcpy( pField, (void *)(pRegEntry->VarDefault), cbOutString );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003538 ( (v_U8_t *)pField )[ cbOutString ] = '\0';
Jeff Johnson295189b2012-06-20 16:38:30 -07003539 }
3540 }
3541 else if ( WLAN_PARAM_MacAddr == pRegEntry->RegType )
3542 {
3543 if(pRegEntry->VarSize != VOS_MAC_ADDR_SIZE) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003544 hddLog(LOGE, "%s: Invalid VarSize %u for Name=[%s]",
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003545 __func__, pRegEntry->VarSize, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003546 continue;
3547 }
3548 candidate = (char*)pRegEntry->VarDefault;
3549 if ( match_status == VOS_STATUS_SUCCESS) {
3550 len_value_str = strlen(value_str);
3551 if(len_value_str != (VOS_MAC_ADDR_SIZE*2)) {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003552 hddLog(LOGE, "%s: Invalid MAC addr [%s] specified for Name=[%s] in %s",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003553 __func__, value_str, pRegEntry->RegName, WLAN_INI_FILE);
Jeff Johnson295189b2012-06-20 16:38:30 -07003554 }
3555 else
3556 candidate = value_str;
3557 }
3558 //parse the string and store it in the byte array
3559 for(i=0; i<VOS_MAC_ADDR_SIZE; i++)
3560 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003561 ((char*)pField)[i] =
3562 (char)(parseHexDigit(candidate[i*2])*16 + parseHexDigit(candidate[i*2+1]));
Jeff Johnson295189b2012-06-20 16:38:30 -07003563 }
3564 }
3565 else
3566 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003567 hddLog(LOGE, "%s: Unknown param type for name[%s] in registry table",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07003568 __func__, pRegEntry->RegName);
Jeff Johnson295189b2012-06-20 16:38:30 -07003569 }
3570
3571 // did we successfully parse a cfg item for this parameter?
3572 if( (match_status == VOS_STATUS_SUCCESS) &&
3573 (idx < MAX_CFG_INI_ITEMS) )
3574 {
3575 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
3576 }
3577 }
3578
3579 print_hdd_cfg(pHddCtx);
3580
3581 return( ret_status );
3582}
3583
3584eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode( eHddDot11Mode dot11Mode )
3585{
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003586 switch (dot11Mode)
Jeff Johnson295189b2012-06-20 16:38:30 -07003587 {
3588 case (eHDD_DOT11_MODE_abg):
3589 return eCSR_DOT11_MODE_abg;
3590 case (eHDD_DOT11_MODE_11b):
3591 return eCSR_DOT11_MODE_11b;
3592 case (eHDD_DOT11_MODE_11g):
3593 return eCSR_DOT11_MODE_11g;
3594 default:
3595 case (eHDD_DOT11_MODE_11n):
3596 return eCSR_DOT11_MODE_11n;
3597 case (eHDD_DOT11_MODE_11g_ONLY):
3598 return eCSR_DOT11_MODE_11g_ONLY;
3599 case (eHDD_DOT11_MODE_11n_ONLY):
3600 return eCSR_DOT11_MODE_11n_ONLY;
3601 case (eHDD_DOT11_MODE_11b_ONLY):
3602 return eCSR_DOT11_MODE_11b_ONLY;
Jeff Johnsone7245742012-09-05 17:12:55 -07003603#ifdef WLAN_FEATURE_11AC
3604 case (eHDD_DOT11_MODE_11ac_ONLY):
3605 return eCSR_DOT11_MODE_11ac_ONLY;
3606 case (eHDD_DOT11_MODE_11ac):
3607 return eCSR_DOT11_MODE_11ac;
3608#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003609 case (eHDD_DOT11_MODE_AUTO):
3610 return eCSR_DOT11_MODE_AUTO;
3611 }
3612
3613}
3614
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003615static void hdd_set_btc_config(hdd_context_t *pHddCtx)
Jeff Johnson295189b2012-06-20 16:38:30 -07003616{
3617 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3618 tSmeBtcConfig btcParams;
Wilson Tsaof8b37942013-09-06 10:49:00 -07003619 int i;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003620
Jeff Johnson295189b2012-06-20 16:38:30 -07003621 sme_BtcGetConfig(pHddCtx->hHal, &btcParams);
3622
3623 btcParams.btcExecutionMode = pConfig->btcExecutionMode;
Jeff Johnson295189b2012-06-20 16:38:30 -07003624 btcParams.btcConsBtSlotsToBlockDuringDhcp = pConfig->btcConsBtSlotsToBlockDuringDhcp;
Jeff Johnson295189b2012-06-20 16:38:30 -07003625 btcParams.btcA2DPBtSubIntervalsDuringDhcp = pConfig->btcA2DPBtSubIntervalsDuringDhcp;
3626
Jeff Johnson32d95a32012-09-10 13:15:23 -07003627 btcParams.btcStaticLenInqBt = pConfig->btcStaticLenInqBt;
3628 btcParams.btcStaticLenPageBt = pConfig->btcStaticLenPageBt;
3629 btcParams.btcStaticLenConnBt = pConfig->btcStaticLenConnBt;
3630 btcParams.btcStaticLenLeBt = pConfig->btcStaticLenLeBt;
3631 btcParams.btcStaticLenInqWlan = pConfig->btcStaticLenInqWlan;
3632 btcParams.btcStaticLenPageWlan = pConfig->btcStaticLenPageWlan;
3633 btcParams.btcStaticLenConnWlan = pConfig->btcStaticLenConnWlan;
3634 btcParams.btcStaticLenLeWlan = pConfig->btcStaticLenLeWlan;
3635 btcParams.btcDynMaxLenBt = pConfig->btcDynMaxLenBt;
3636 btcParams.btcDynMaxLenWlan = pConfig->btcDynMaxLenWlan;
3637 btcParams.btcMaxScoBlockPerc = pConfig->btcMaxScoBlockPerc;
3638 btcParams.btcDhcpProtOnA2dp = pConfig->btcDhcpProtOnA2dp;
3639 btcParams.btcDhcpProtOnSco = pConfig->btcDhcpProtOnSco;
3640
Wilson Tsaof8b37942013-09-06 10:49:00 -07003641 for (i = 0; i < 10; i++)
3642 {
3643 btcParams.mwsCoexVictimWANFreq[i] = pConfig->mwsCoexVictimWANFreq[i];
3644 btcParams.mwsCoexVictimWLANFreq[i] = pConfig->mwsCoexVictimWLANFreq[i];
3645 btcParams.mwsCoexVictimConfig[i] = pConfig->mwsCoexVictimConfig[i];
3646 btcParams.mwsCoexVictimConfig2[i] = pConfig->mwsCoexVictimConfig2[i];
3647 }
3648 for (i = 0; i < 6; i++)
3649 {
3650 btcParams.mwsCoexConfig[i] = pConfig->mwsCoexConfig[i];
3651 }
3652 btcParams.mwsCoexModemBackoff = pConfig->mwsCoexModemBackoff;
3653 btcParams.SARPowerBackoff = pConfig->SARPowerBackoff;
3654
Jeff Johnson295189b2012-06-20 16:38:30 -07003655 sme_BtcSetConfig(pHddCtx->hHal, &btcParams);
3656}
3657
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003658static void hdd_set_power_save_config(hdd_context_t *pHddCtx, tSmeConfigParams *smeConfig)
Jeff Johnson295189b2012-06-20 16:38:30 -07003659{
3660 hdd_config_t *pConfig = pHddCtx->cfg_ini;
3661
3662 tPmcBmpsConfigParams bmpsParams;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003663
Jeff Johnson295189b2012-06-20 16:38:30 -07003664 sme_GetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003665
Jeff Johnson295189b2012-06-20 16:38:30 -07003666 if (strcmp(pConfig->PowerUsageControl, "Min") == 0)
3667 {
3668 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMinSleepTime;
3669 bmpsParams.bmpsPeriod = pConfig->nBmpsMinListenInterval;
3670 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3671 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3672 }
3673 if (strcmp(pConfig->PowerUsageControl, "Max") == 0)
3674 {
3675 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsMaxSleepTime;
3676 bmpsParams.bmpsPeriod = pConfig->nBmpsMaxListenInterval;
3677 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3678 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3679 }
3680 if (strcmp(pConfig->PowerUsageControl, "Mod") == 0)
3681 {
3682 smeConfig->csrConfig.impsSleepTime = pConfig->nImpsModSleepTime;
3683 bmpsParams.bmpsPeriod = pConfig->nBmpsModListenInterval;
3684 bmpsParams.enableBeaconEarlyTermination = pConfig->fEnableBeaconEarlyTermination;
3685 bmpsParams.bcnEarlyTermWakeInterval = pConfig->bcnEarlyTermWakeInterval;
3686 }
3687
3688 if (pConfig->fIsImpsEnabled)
3689 {
3690 sme_EnablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3691 }
3692 else
3693 {
3694 sme_DisablePowerSave (pHddCtx->hHal, ePMC_IDLE_MODE_POWER_SAVE);
3695 }
3696
Madan Mohan Koyyalamudi69b34182013-01-16 08:51:40 +05303697 /*If isAndroidPsEn is 1 then Host driver and above layers control the PS mechanism
3698 If Value set to 0 Driver/Core Stack internally control the Power saving mechanism */
3699 sme_SetHostPowerSave (pHddCtx->hHal, pConfig->isAndroidPsEn);
3700
Jeff Johnson295189b2012-06-20 16:38:30 -07003701 if (pConfig->fIsBmpsEnabled)
3702 {
3703 sme_EnablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3704 }
3705 else
3706 {
3707 sme_DisablePowerSave (pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE);
3708 }
3709
3710 bmpsParams.trafficMeasurePeriod = pConfig->nAutoBmpsTimerValue;
3711
3712 if (sme_SetConfigPowerSave(pHddCtx->hHal, ePMC_BEACON_MODE_POWER_SAVE, &bmpsParams)== eHAL_STATUS_FAILURE)
3713 {
Arif Hussain6d2a3322013-11-17 19:50:10 -08003714 hddLog(LOGE, "SetConfigPowerSave failed to set BMPS params");
Jeff Johnson295189b2012-06-20 16:38:30 -07003715 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003716
Jeff Johnson295189b2012-06-20 16:38:30 -07003717 if(pConfig->fIsAutoBmpsTimerEnabled)
3718 {
3719 sme_StartAutoBmpsTimer(pHddCtx->hHal);
3720 }
3721
3722}
3723
3724#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
3725static VOS_STATUS hdd_string_to_u8_array( char *str, tANI_U8 *intArray, tANI_U8 *len, tANI_U8 intArrayMaxLen )
3726{
3727 char *s = str;
3728
3729 if( str == NULL || intArray == NULL || len == NULL )
3730 {
3731 return VOS_STATUS_E_INVAL;
3732 }
3733 *len = 0;
3734
Jeff Johnson295189b2012-06-20 16:38:30 -07003735 while ( (s != NULL) && (*len < intArrayMaxLen) )
3736 {
3737 int val;
3738 //Increment length only if sscanf succesfully extracted one element.
3739 //Any other return value means error. Ignore it.
3740 if( sscanf(s, "%d", &val ) == 1 )
3741 {
3742 intArray[*len] = (tANI_U8) val;
3743 *len += 1;
3744 }
3745 s = strpbrk( s, "," );
3746 if( s )
3747 s++;
3748 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003749
3750 return VOS_STATUS_SUCCESS;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003751
Jeff Johnson295189b2012-06-20 16:38:30 -07003752}
3753#endif
3754
3755
3756v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
3757{
3758 v_BOOL_t fStatus = TRUE;
Gopichand Nakkala976e3252013-01-03 15:45:56 -08003759#ifdef WLAN_SOFTAP_VSTA_FEATURE
3760 tANI_U32 val;
3761#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07003762
3763 hdd_config_t *pConfig = pHddCtx->cfg_ini;
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05303764 tSirMacHTCapabilityInfo htCapInfo;
3765
Jeff Johnson295189b2012-06-20 16:38:30 -07003766
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003767 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_20MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07003768 pConfig->ShortGI20MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3769 {
3770 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003771 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_20MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003772 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003773
3774 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_CONTROL, pConfig->Calibration,
Jeff Johnson295189b2012-06-20 16:38:30 -07003775 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3776 {
3777 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003778 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_CONTROL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003779 }
3780
3781 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CAL_PERIOD, pConfig->CalibrationPeriod,
3782 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3783 {
3784 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003785 hddLog(LOGE, "Could not pass on WNI_CFG_CAL_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003786 }
3787
3788 if ( 0 != pConfig->Cfg1Id )
3789 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003790 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg1Id, pConfig->Cfg1Value, NULL,
Jeff Johnson295189b2012-06-20 16:38:30 -07003791 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3792 {
3793 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003794 hddLog(LOGE, "Could not pass on Cfg1Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003795 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003796
Jeff Johnson295189b2012-06-20 16:38:30 -07003797 }
3798
3799 if ( 0 != pConfig->Cfg2Id )
3800 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003801 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg2Id, pConfig->Cfg2Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003802 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3803 {
3804 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003805 hddLog(LOGE, "Could not pass on Cfg2Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003806 }
3807 }
3808
3809 if ( 0 != pConfig->Cfg3Id )
3810 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003811 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg3Id, pConfig->Cfg3Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003812 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3813 {
3814 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003815 hddLog(LOGE, "Could not pass on Cfg3Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003816 }
3817 }
3818
3819 if ( 0 != pConfig->Cfg4Id )
3820 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003821 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg4Id, pConfig->Cfg4Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003822 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3823 {
3824 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003825 hddLog(LOGE, "Could not pass on Cfg4Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003826 }
3827 }
3828
3829 if ( 0 != pConfig->Cfg5Id )
3830 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003831 if (ccmCfgSetInt(pHddCtx->hHal, pConfig->Cfg5Id, pConfig->Cfg5Value,
Jeff Johnson295189b2012-06-20 16:38:30 -07003832 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3833 {
3834 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003835 hddLog(LOGE, "Could not pass on Cfg5Id to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003836 }
3837 }
3838
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003839 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BA_AUTO_SETUP, pConfig->BlockAckAutoSetup,
Jeff Johnson295189b2012-06-20 16:38:30 -07003840 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3841 {
3842 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003843 hddLog(LOGE, "Could not pass on WNI_CFG_BA_AUTO_SETUP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003844 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003845
3846 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FIXED_RATE, pConfig->TxRate,
Jeff Johnson295189b2012-06-20 16:38:30 -07003847 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3848 {
3849 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003850 hddLog(LOGE, "Could not pass on WNI_CFG_FIXED_RATE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003851 }
3852
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003853 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_RX_AMPDU_FACTOR,
Jeff Johnson295189b2012-06-20 16:38:30 -07003854 pConfig->MaxRxAmpduFactor, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3855 {
3856 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003857 hddLog(LOGE,"Could not pass on WNI_CFG_HT_AMPDU_PARAMS_MAX_RX_AMPDU_FACTOR to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003858 }
3859
3860 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_PREAMBLE, pConfig->fIsShortPreamble,
3861 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3862 {
3863 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003864 hddLog(LOGE,"Could not pass on WNI_CFG_SHORT_PREAMBLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003865 }
3866
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003867 if (pConfig->fIsAutoIbssBssid)
Jeff Johnson295189b2012-06-20 16:38:30 -07003868 {
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003869 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, (v_U8_t *)"000000000000",
Jeff Johnson295189b2012-06-20 16:38:30 -07003870 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3871 {
3872 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003873 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003874 }
3875 }
3876 else
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003877 {
Jeff Johnson295189b2012-06-20 16:38:30 -07003878 if ( VOS_FALSE == vos_is_macaddr_group( &pConfig->IbssBssid ))
3879 {
3880 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_MED,
Arif Hussain24bafea2013-11-15 15:10:03 -08003881 "MAC Addr (IBSS BSSID) read from Registry is: " MAC_ADDRESS_STR,
3882 MAC_ADDR_ARRAY(pConfig->IbssBssid.bytes));
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003883 if (ccmCfgSetStr(pHddCtx->hHal, WNI_CFG_BSSID, pConfig->IbssBssid.bytes,
Jeff Johnson295189b2012-06-20 16:38:30 -07003884 sizeof(v_BYTE_t) * VOS_MAC_ADDR_SIZE, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3885 {
3886 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003887 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003888 }
3889 }
3890 else
3891 {
3892 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003893 hddLog(LOGE,"Could not pass on WNI_CFG_BSSID to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003894 }
3895 }
3896
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003897 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_BEACON_INTERVAL, pConfig->nBeaconInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07003898 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3899 {
3900 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003901 hddLog(LOGE, "Could not pass on WNI_CFG_BEACON_INTERVAL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003902 }
3903
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003904 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_PS_POLL, pConfig->nMaxPsPoll,
Jeff Johnson295189b2012-06-20 16:38:30 -07003905 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3906 {
3907 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003908 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_PS_POLL to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003909 }
3910
3911 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_CURRENT_RX_ANTENNA, pConfig-> nRxAnt, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3912 {
3913 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003914 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_CURRENT_RX_ANTENNA configuration info to HAL" );
Jeff Johnson295189b2012-06-20 16:38:30 -07003915 }
3916
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003917 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_LOW_GAIN_OVERRIDE, pConfig->fIsLowGainOverride,
Jeff Johnson295189b2012-06-20 16:38:30 -07003918 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3919 {
3920 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003921 hddLog(LOGE, "Could not pass on WNI_CFG_LOW_GAIN_OVERRIDE to HAL");
Jeff Johnson295189b2012-06-20 16:38:30 -07003922 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003923
Jeff Johnson295189b2012-06-20 16:38:30 -07003924 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RSSI_FILTER_PERIOD, pConfig->nRssiFilterPeriod,
3925 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3926 {
3927 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003928 hddLog(LOGE, "Could not pass on WNI_CFG_RSSI_FILTER_PERIOD to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003929 }
3930
Jeff Johnson295189b2012-06-20 16:38:30 -07003931 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_IGNORE_DTIM, pConfig->fIgnoreDtim,
3932 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3933 {
3934 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003935 hddLog(LOGE, "Could not pass on WNI_IGNORE_DTIM configuration to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07003936 }
3937
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003938 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_HEART_BEAT, pConfig->fEnableFwHeartBeatMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003939 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3940 {
3941 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003942 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_HEART_BEAT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003943 }
3944
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003945 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_BCN_FILTER, pConfig->fEnableFwBeaconFiltering,
Jeff Johnson295189b2012-06-20 16:38:30 -07003946 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3947 {
3948 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003949 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_BCN_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003950 }
3951
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003952 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_ENABLE_RSSI_MONITOR, pConfig->fEnableFwRssiMonitoring,
Jeff Johnson295189b2012-06-20 16:38:30 -07003953 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3954 {
3955 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003956 hddLog(LOGE, "Failure: Could not pass on WNI_CFG_PS_RSSI_MONITOR configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003957 }
3958
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003959 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT, pConfig->nDataInactivityTimeout,
Jeff Johnson295189b2012-06-20 16:38:30 -07003960 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3961 {
3962 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003963 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_DATA_INACTIVITY_TIMEOUT configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003964 }
3965
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003966 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NTH_BEACON_FILTER, pConfig->nthBeaconFilter,
Jeff Johnson295189b2012-06-20 16:38:30 -07003967 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3968 {
3969 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003970 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_NTH_BEACON_FILTER configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003971 }
3972
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003973 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LTE_COEX, pConfig->enableLTECoex,
Jeff Johnson295189b2012-06-20 16:38:30 -07003974 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3975 {
3976 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003977 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LTE_COEX to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003978 }
3979
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003980 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE, pConfig->nEnableListenMode,
Jeff Johnson295189b2012-06-20 16:38:30 -07003981 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3982 {
3983 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003984 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003985 }
3986
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003987 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT, pConfig->apKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003988 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3989 {
3990 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003991 hddLog(LOGE, "Could not pass on WNI_CFG_AP_KEEP_ALIVE_TIMEOUT to CCM");
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003992 }
Jeff Johnson295189b2012-06-20 16:38:30 -07003993
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08003994 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_KEEP_ALIVE_TIMEOUT, pConfig->goKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07003995 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
3996 {
3997 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08003998 hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07003999 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004000
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304001 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
4002 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4003 {
4004 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004005 hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM");
Sejal Chauhanbcde8bc2013-03-04 18:06:36 +05304006 }
4007
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304008 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_GO_LINK_MONITOR_TIMEOUT, pConfig->goLinkMonitorPeriod,
4009 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4010 {
4011 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004012 hddLog(LOGE, "Could not pass on WNI_CFG_GO_LINK_MONITOR_TIMEOUT to CCM");
Madan Mohan Koyyalamudi2558bc92013-08-24 16:54:31 +05304013 }
4014
4015
Jeff Johnson295189b2012-06-20 16:38:30 -07004016#if defined WLAN_FEATURE_VOWIFI
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004017 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
Jeff Johnson295189b2012-06-20 16:38:30 -07004018 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4019 {
4020 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004021 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_ENABLE configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004022 }
4023
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004024 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_OPERATING_CHAN_MAX, pConfig->nInChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004025 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4026 {
4027 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004028 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OPERATING_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004029 }
4030
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004031 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_NON_OPERATING_CHAN_MAX, pConfig->nOutChanMeasMaxDuration,
Jeff Johnson295189b2012-06-20 16:38:30 -07004032 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4033 {
4034 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004035 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RRM_OUT_CHAN_MAX configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004036 }
4037
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004038 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MCAST_BCAST_FILTER_SETTING, pConfig->mcastBcastFilterSetting,
Jeff Johnson295189b2012-06-20 16:38:30 -07004039 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4040#endif
4041
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004042 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SINGLE_TID_RC, pConfig->bSingleTidRc,
Jeff Johnson295189b2012-06-20 16:38:30 -07004043 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4044 {
4045 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004046 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_SINGLE_TID_RC configuration info to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004047 }
4048
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004049 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_WAKEUP_EN, pConfig->teleBcnWakeupEn,
Jeff Johnson295189b2012-06-20 16:38:30 -07004050 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4051 {
4052 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004053 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_WAKEUP_EN configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004054 }
4055
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004056 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI, pConfig->nTeleBcnTransListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004057 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4058 {
4059 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004060 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004061 }
4062
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004063 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI, pConfig->nTeleBcnMaxListenInterval,
Jeff Johnson295189b2012-06-20 16:38:30 -07004064 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4065 {
4066 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004067 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004068 }
4069
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004070 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS, pConfig->nTeleBcnTransLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004071 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4072 {
4073 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004074 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004075 }
4076
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004077 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS, pConfig->nTeleBcnMaxLiNumIdleBeacons,
Jeff Johnson295189b2012-06-20 16:38:30 -07004078 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4079 {
4080 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004081 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004082 }
4083
4084 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RF_SETTLING_TIME_CLK, pConfig->rfSettlingTimeUs,
4085 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4086 {
4087 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004088 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RF_SETTLING_TIME_CLK configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004089 }
4090
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004091 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD, pConfig->infraStaKeepAlivePeriod,
Jeff Johnson295189b2012-06-20 16:38:30 -07004092 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4093 {
4094 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004095 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004096 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004097 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_PS_POLL_VALUE, pConfig->dynamicPsPollValue,
Jeff Johnson295189b2012-06-20 16:38:30 -07004098 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4099 {
4100 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004101 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_DYNAMIC_PS_POLL_VALUE configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004102 }
4103
4104 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT, pConfig->nNullDataApRespTimeout,
4105 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4106 {
4107 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004108 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_PS_NULLDATA_DELAY_TIMEOUT configuration info to CCM" );
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004109 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004110
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004111 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
Jeff Johnson295189b2012-06-20 16:38:30 -07004112 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004113 {
4114 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004115 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM" );
Jeff Johnsoneed2dca2013-02-22 21:18:46 -08004116 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004117 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FRAGMENTATION_THRESHOLD, pConfig->FragmentationThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004118 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4119 {
4120 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004121 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_FRAGMENTATION_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004122 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004123 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RTS_THRESHOLD, pConfig->RTSThreshold,
Jeff Johnson295189b2012-06-20 16:38:30 -07004124 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4125 {
4126 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004127 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_RTS_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004128 }
4129
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004130 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_11D_ENABLED, pConfig->Is11dSupportEnabled,
Jeff Johnson295189b2012-06-20 16:38:30 -07004131 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4132 {
4133 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004134 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_11D_ENABLED configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004135 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004136 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HEART_BEAT_THRESHOLD, pConfig->HeartbeatThresh24,
Jeff Johnson295189b2012-06-20 16:38:30 -07004137 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4138 {
4139 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004140 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_HEART_BEAT_THRESHOLD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004141 }
4142
Jeff Johnson295189b2012-06-20 16:38:30 -07004143 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD, pConfig->apDataAvailPollPeriodInMs,
4144 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4145 {
4146 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004147 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD configuration info to CCM" );
Jeff Johnson295189b2012-06-20 16:38:30 -07004148 }
4149
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004150 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_CLOSE_LOOP,
Jeff Johnson295189b2012-06-20 16:38:30 -07004151 pConfig->enableCloseLoop, NULL, eANI_BOOLEAN_FALSE)
4152 ==eHAL_STATUS_FAILURE)
4153 {
4154 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004155 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_CLOSE_LOOP to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004156 }
4157
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004158 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TX_PWR_CTRL_ENABLE,
Jeff Johnson295189b2012-06-20 16:38:30 -07004159 pConfig->enableAutomaticTxPowerControl, NULL, eANI_BOOLEAN_FALSE)
4160 ==eHAL_STATUS_FAILURE)
4161 {
4162 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004163 hddLog(LOGE, "Could not pass on WNI_CFG_TX_PWR_CTRL_ENABLE to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004164 }
4165
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004166 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_SHORT_GI_40MHZ,
Jeff Johnson295189b2012-06-20 16:38:30 -07004167 pConfig->ShortGI40MhzEnable, NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4168 {
4169 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004170 hddLog(LOGE, "Could not pass on WNI_CFG_SHORT_GI_40MHZ to CCM");
Jeff Johnson295189b2012-06-20 16:38:30 -07004171 }
4172
Jeff Johnsond13512a2012-07-17 11:42:19 -07004173
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004174 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MC_ADDR_LIST, pConfig->fEnableMCAddrList,
Jeff Johnsond13512a2012-07-17 11:42:19 -07004175 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4176 {
4177 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004178 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MC_ADDR_LIST to CCM");
Jeff Johnsond13512a2012-07-17 11:42:19 -07004179 }
4180
Jeff Johnsone7245742012-09-05 17:12:55 -07004181#ifdef WLAN_FEATURE_11AC
4182 /* Based on cfg.ini, update the Basic MCS set, RX/TX MCS map in the cfg.dat */
4183 /* valid values are 0(MCS0-7), 1(MCS0-8), 2(MCS0-9) */
4184 /* we update only the least significant 2 bits in the corresponding fields */
4185 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
4186 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) ||
4187 (pConfig->dot11Mode == eHDD_DOT11_MODE_11ac) )
4188 {
4189 {
4190 tANI_U32 temp = 0;
4191
4192 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004193 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004194
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004195 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_BASIC_MCS_SET,
Jeff Johnsone7245742012-09-05 17:12:55 -07004196 temp, NULL, eANI_BOOLEAN_FALSE)
4197 ==eHAL_STATUS_FAILURE)
4198 {
4199 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004200 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_BASIC_MCS_SET to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004201 }
4202
4203 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004204 temp = (temp & 0xFFFC) | pConfig->vhtRxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004205
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004206 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004207 temp, NULL, eANI_BOOLEAN_FALSE)
4208 ==eHAL_STATUS_FAILURE)
4209 {
4210 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004211 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004212 }
4213
4214 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP, &temp);
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004215 temp = (temp & 0xFFFC) | pConfig->vhtTxMCS;
Jeff Johnsone7245742012-09-05 17:12:55 -07004216
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004217 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_TX_MCS_MAP,
Jeff Johnsone7245742012-09-05 17:12:55 -07004218 temp, NULL, eANI_BOOLEAN_FALSE)
4219 ==eHAL_STATUS_FAILURE)
4220 {
4221 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004222 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_TX_MCS_MAP to CCM");
Jeff Johnsone7245742012-09-05 17:12:55 -07004223 }
4224 }
4225 }
4226#endif
4227
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004228 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004229 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4230 {
4231 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004232 hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM");
Madan Mohan Koyyalamudidd11eaf2012-11-02 16:04:21 -07004233 }
4234
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004235 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_RX_STBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304236 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4237 ==eHAL_STATUS_FAILURE)
4238 {
4239 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004240 hddLog(LOGE, "Could not pass on WNI_CFG_HT_RX_STBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304241 }
4242
4243 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO, (tANI_U32 *)&htCapInfo);
4244 htCapInfo.rxSTBC = pConfig->enableRxSTBC;
4245
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004246 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_HT_CAP_INFO,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304247 *(tANI_U32 *)&htCapInfo, NULL, eANI_BOOLEAN_FALSE)
4248 ==eHAL_STATUS_FAILURE)
4249 {
4250 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004251 hddLog(LOGE, "Could not pass on WNI_CFG_HT_CAP_INFO to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304252 }
4253
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004254 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_VHT_RXSTBC,
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304255 pConfig->enableRxSTBC, NULL, eANI_BOOLEAN_FALSE)
4256 ==eHAL_STATUS_FAILURE)
4257 {
4258 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004259 hddLog(LOGE, "Could not pass on WNI_CFG_VHT_RXSTBC to CCM");
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304260 }
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004261
4262#ifdef WLAN_SOFTAP_VSTA_FEATURE
4263 if(pConfig->fEnableVSTASupport)
4264 {
4265 ccmCfgGetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, &val);
4266 if( val <= WNI_CFG_ASSOC_STA_LIMIT_STADEF)
4267 val = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
4268 }
4269 else
4270 {
4271 val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
4272 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004273 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004274 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4275 {
4276 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004277 hddLog(LOGE,"Failure: Could not pass on WNI_CFG_ASSOC_STA_LIMIT configuration info to CCM" );
Gopichand Nakkala976e3252013-01-03 15:45:56 -08004278 }
4279#endif
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004280 if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_LPWR_IMG_TRANSITION,
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004281 pConfig->enableLpwrImgTransition, NULL, eANI_BOOLEAN_FALSE)
4282 ==eHAL_STATUS_FAILURE)
4283 {
4284 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004285 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_LPWR_IMG_TRANSITION to CCM");
Madan Mohan Koyyalamudi0d40e662012-12-07 14:24:14 -08004286 }
Pratik Bhalgat6bfd1422012-11-22 17:09:40 +05304287
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004288 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED, pConfig->enableMCCAdaptiveScheduler,
4289 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4290 {
4291 fStatus = FALSE;
Arif Hussain6d2a3322013-11-17 19:50:10 -08004292 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CCM");
Madan Mohan Koyyalamudi01cba042013-01-10 21:56:05 -08004293 }
Leela V Kiran Kumar Reddy Chiralab1f7d342013-02-11 00:27:02 -08004294 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP, pConfig->disableLDPCWithTxbfAP,
4295 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4296 {
4297 fStatus = FALSE;
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004298 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 -08004299 }
Kiran Kumar Lokere1f39e952013-04-03 18:34:30 -07004300
4301 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ZERO, pConfig->retryLimitZero,
4302 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4303 {
4304 fStatus = FALSE;
4305 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ZERO to CCM");
4306 }
4307
4308 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_ONE, pConfig->retryLimitOne,
4309 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4310 {
4311 fStatus = FALSE;
4312 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_ONE to CCM");
4313 }
4314
4315 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_DYNAMIC_THRESHOLD_TWO, pConfig->retryLimitTwo,
4316 NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4317 {
4318 fStatus = FALSE;
4319 hddLog(LOGE, "Could not pass on WNI_CFG_DYNAMIC_THRESHOLD_TWO to CCM");
4320 }
4321
Gopichand Nakkala42bc89e2013-05-27 12:49:09 +05304322 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_MAX_MEDIUM_TIME, pConfig->cfgMaxMediumTime,
4323 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4324 {
4325 fStatus = FALSE;
4326 hddLog(LOGE, "Could not pass on WNI_CFG_MAX_MEDIUM_TIME to CCM");
4327 }
4328
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304329#ifdef FEATURE_WLAN_TDLS
4330
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004331 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
4332 pConfig->fTDLSUapsdMask, NULL,
4333 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304334 {
4335 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004336 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304337 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004338 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
4339 pConfig->fEnableTDLSBufferSta, NULL,
4340 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304341 {
4342 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004343 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304344 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004345 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
4346 pConfig->fTDLSPuapsdInactivityTimer, NULL,
4347 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304348 {
4349 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004350 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304351 }
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004352 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
4353 pConfig->fTDLSRxFrameThreshold, NULL,
4354 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304355 {
4356 fStatus = FALSE;
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004357 hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +05304358 }
4359#endif
4360
Sudhir Sattayappa Kohallida1be202013-07-11 12:04:30 -07004361 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
4362 pConfig->fEnableAdaptRxDrain, NULL,
4363 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4364 {
4365 fStatus = FALSE;
4366 hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
4367 }
Yue Ma0fd23872013-08-01 15:56:47 -07004368
4369 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_FLEX_CONNECT_POWER_FACTOR,
4370 pConfig->flexConnectPowerFactor, NULL,
4371 eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4372 {
4373 fStatus = FALSE;
4374 hddLog(LOGE, "Failure: Could not pass on "
4375 "WNI_CFG_FLEX_CONNECT_POWER_FACTOR to CCM");
4376 }
4377
Madan Mohan Koyyalamudica454572013-08-07 19:57:03 +05304378 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ANTENNA_DIVESITY,
4379 pConfig->antennaDiversity, NULL,
4380 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4381 {
4382 fStatus = FALSE;
4383 hddLog(LOGE, "Could not pass on WNI_CFG_ANTENNA_DIVESITY to CCM");
4384 }
4385
Kiet Lam4bbd3cb2013-11-07 20:03:49 +05304386 if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ATH_DISABLE,
4387 pConfig->cfgAthDisable, NULL,
4388 eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
4389 {
4390 fStatus = FALSE;
4391 hddLog(LOGE, "Could not pass on WNI_CFG_ATH_DISABLE to CCM");
4392 }
c_hpothu6d7dc922013-12-02 12:36:41 +05304393
4394 if (ccmCfgSetInt(pHddCtx->hHal,
4395 WNI_CFG_BTC_ACTIVE_WLAN_LEN,
4396 pConfig->cfgBtcActiveWlanLen,
4397 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4398 {
4399 fStatus = FALSE;
4400 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4401 }
4402
4403 if (ccmCfgSetInt(pHddCtx->hHal,
4404 WNI_CFG_BTC_ACTIVE_BT_LEN,
4405 pConfig->cfgBtcActiveBtLen,
4406 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4407 {
4408 fStatus = FALSE;
4409 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4410 }
4411
4412 if (ccmCfgSetInt(pHddCtx->hHal,
4413 WNI_CFG_BTC_SAP_ACTIVE_WLAN_LEN,
4414 pConfig->cfgBtcSapActiveWlanLen,
4415 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4416 {
4417 fStatus = FALSE;
4418 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_WLAN_LEN to CCM");
4419 }
4420
4421 if (ccmCfgSetInt(pHddCtx->hHal,
4422 WNI_CFG_BTC_SAP_ACTIVE_BT_LEN,
4423 pConfig->cfgBtcSapActiveBtLen,
4424 NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
4425 {
4426 fStatus = FALSE;
4427 hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
4428 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004429 return fStatus;
4430}
4431
4432
4433/**---------------------------------------------------------------------------
4434
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004435 \brief hdd_init_set_sme_config() -
Jeff Johnson295189b2012-06-20 16:38:30 -07004436
4437 This function initializes the sme configuration parameters
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004438
Jeff Johnson295189b2012-06-20 16:38:30 -07004439 \param - pHddCtx - Pointer to the HDD Adapter.
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004440
Jeff Johnson295189b2012-06-20 16:38:30 -07004441 \return - 0 for success, non zero for failure
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004442
Jeff Johnson295189b2012-06-20 16:38:30 -07004443 --------------------------------------------------------------------------*/
4444
4445VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
4446{
4447 VOS_STATUS status = VOS_STATUS_SUCCESS;
4448 eHalStatus halStatus;
4449 tSmeConfigParams smeConfig;
4450
4451 hdd_config_t *pConfig = pHddCtx->cfg_ini;
4452
Amar Singhalfddc28c2013-09-05 13:03:40 -07004453
Jeff Johnson295189b2012-06-20 16:38:30 -07004454 vos_mem_zero( &smeConfig, sizeof( smeConfig ) );
4455
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004456 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
Arif Hussain6d2a3322013-11-17 19:50:10 -08004457 "%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d", __func__,
Jeff Johnson295189b2012-06-20 16:38:30 -07004458 pConfig->WmmMode, pConfig->b80211eIsEnabled, pConfig->dot11Mode);
4459
4460 // Config params obtained from the registry
Amar Singhalfddc28c2013-09-05 13:03:40 -07004461
Jeff Johnson295189b2012-06-20 16:38:30 -07004462 smeConfig.csrConfig.RTSThreshold = pConfig->RTSThreshold;
4463 smeConfig.csrConfig.FragmentationThreshold = pConfig->FragmentationThreshold;
4464 smeConfig.csrConfig.shortSlotTime = pConfig->ShortSlotTimeEnabled;
4465 smeConfig.csrConfig.Is11dSupportEnabled = pConfig->Is11dSupportEnabled;
4466 smeConfig.csrConfig.HeartbeatThresh24 = pConfig->HeartbeatThresh24;
4467
4468 smeConfig.csrConfig.phyMode = hdd_cfg_xlate_to_csr_phy_mode ( pConfig->dot11Mode );
4469
Leela Venkata Kiran Kumar Reddy Chirala784d7e82013-11-20 10:57:25 -08004470 if( (pConfig->dot11Mode == eHDD_DOT11_MODE_abg) ||
4471 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b) ||
4472 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g) ||
4473 (pConfig->dot11Mode == eHDD_DOT11_MODE_11b_ONLY) ||
4474 (pConfig->dot11Mode == eHDD_DOT11_MODE_11g_ONLY))
4475 {
4476 smeConfig.csrConfig.channelBondingMode24GHz = 0;
4477 smeConfig.csrConfig.channelBondingMode5GHz = 0;
4478 }
4479 else
4480 {
4481 smeConfig.csrConfig.channelBondingMode24GHz = pConfig->nChannelBondingMode24GHz;
4482 smeConfig.csrConfig.channelBondingMode5GHz = pConfig->nChannelBondingMode5GHz;
4483 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004484 smeConfig.csrConfig.TxRate = pConfig->TxRate;
4485 smeConfig.csrConfig.nScanResultAgeCount = pConfig->ScanResultAgeCount;
4486 smeConfig.csrConfig.scanAgeTimeNCNPS = pConfig->nScanAgeTimeNCNPS;
4487 smeConfig.csrConfig.scanAgeTimeNCPS = pConfig->nScanAgeTimeNCPS;
4488 smeConfig.csrConfig.scanAgeTimeCNPS = pConfig->nScanAgeTimeCNPS;
4489 smeConfig.csrConfig.scanAgeTimeCPS = pConfig->nScanAgeTimeCPS;
4490 smeConfig.csrConfig.AdHocChannel24 = pConfig->OperatingChannel;
4491 smeConfig.csrConfig.fEnforce11dChannels = pConfig->fEnforce11dChannels;
4492 smeConfig.csrConfig.fSupplicantCountryCodeHasPriority = pConfig->fSupplicantCountryCodeHasPriority;
4493 smeConfig.csrConfig.fEnforceCountryCodeMatch = pConfig->fEnforceCountryCodeMatch;
4494 smeConfig.csrConfig.fEnforceDefaultDomain = pConfig->fEnforceDefaultDomain;
4495 smeConfig.csrConfig.bCatRssiOffset = pConfig->nRssiCatGap;
4496 smeConfig.csrConfig.vccRssiThreshold = pConfig->nVccRssiTrigger;
4497 smeConfig.csrConfig.vccUlMacLossThreshold = pConfig->nVccUlMacLossThreshold;
4498 smeConfig.csrConfig.nRoamingTime = pConfig->nRoamingTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004499 smeConfig.csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
Jeff Johnson295189b2012-06-20 16:38:30 -07004500 smeConfig.csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
4501 smeConfig.csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
4502 smeConfig.csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
4503 smeConfig.csrConfig.nPassiveMinChnTime = pConfig->nPassiveMinChnTime;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004504 smeConfig.csrConfig.nActiveMaxChnTimeBtc = pConfig->nActiveMaxChnTimeBtc;
4505 smeConfig.csrConfig.nActiveMinChnTimeBtc = pConfig->nActiveMinChnTimeBtc;
Kiran Kumar Lokere458d7322013-05-29 14:29:43 -07004506 smeConfig.csrConfig.disableAggWithBtc = pConfig->disableAggWithBtc;
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004507#ifdef WLAN_AP_STA_CONCURRENCY
4508 smeConfig.csrConfig.nActiveMaxChnTimeConc = pConfig->nActiveMaxChnTimeConc;
4509 smeConfig.csrConfig.nActiveMinChnTimeConc = pConfig->nActiveMinChnTimeConc;
4510 smeConfig.csrConfig.nPassiveMaxChnTimeConc = pConfig->nPassiveMaxChnTimeConc;
4511 smeConfig.csrConfig.nPassiveMinChnTimeConc = pConfig->nPassiveMinChnTimeConc;
4512 smeConfig.csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
Sudhir Sattayappa Kohallieb97d502013-05-22 23:16:42 -07004513 smeConfig.csrConfig.nNumStaChanCombinedConc = pConfig->nNumStaChanCombinedConc;
4514 smeConfig.csrConfig.nNumP2PChanCombinedConc = pConfig->nNumP2PChanCombinedConc;
4515
Madan Mohan Koyyalamudi4ff9cd62012-10-30 17:48:57 -07004516#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004517 smeConfig.csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
4518 smeConfig.csrConfig.WMMSupportMode = pConfig->WmmMode;
4519
4520#if defined WLAN_FEATURE_VOWIFI
4521 smeConfig.rrmConfig.rrmEnabled = pConfig->fRrmEnable;
4522 smeConfig.rrmConfig.maxRandnInterval = pConfig->nRrmRandnIntvl;
4523#endif
4524 //Remaining config params not obtained from registry
4525 // On RF EVB beacon using channel 1.
Jeff Johnsone7245742012-09-05 17:12:55 -07004526#ifdef WLAN_FEATURE_11AC
4527 smeConfig.csrConfig.nVhtChannelWidth = pConfig->vhtChannelWidth;
Shailender Karmuchi08f87c22013-01-17 12:51:24 -08004528 smeConfig.csrConfig.enableTxBF = pConfig->enableTxBF;
Shailender Karmuchicc3fe442013-02-16 18:18:33 -08004529 smeConfig.csrConfig.txBFCsnValue = pConfig->txBFCsnValue;
Ravi Joshi83bfaa12013-05-28 22:12:08 -07004530 smeConfig.csrConfig.enableVhtFor24GHz = pConfig->enableVhtFor24GHzBand;
Jeff Johnsone7245742012-09-05 17:12:55 -07004531#endif
Shailender Karmuchia734f332013-04-19 14:02:48 -07004532 smeConfig.csrConfig.AdHocChannel5G = pConfig->AdHocChannel5G;
4533 smeConfig.csrConfig.AdHocChannel24 = pConfig->AdHocChannel24G;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004534 smeConfig.csrConfig.ProprietaryRatesEnabled = 0;
4535 smeConfig.csrConfig.HeartbeatThresh50 = 40;
4536 smeConfig.csrConfig.bandCapability = pConfig->nBandCapability;
Madan Mohan Koyyalamudi8db1c942013-01-10 15:24:29 -08004537 if (pConfig->nBandCapability == eCSR_BAND_24)
4538 {
4539 smeConfig.csrConfig.Is11hSupportEnabled = 0;
4540 } else {
4541 smeConfig.csrConfig.Is11hSupportEnabled = pConfig->Is11hSupportEnabled;
4542 }
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004543 smeConfig.csrConfig.cbChoice = 0;
4544 smeConfig.csrConfig.bgScanInterval = 0;
4545 smeConfig.csrConfig.eBand = pConfig->nBandCapability;
Jeff Johnson295189b2012-06-20 16:38:30 -07004546 smeConfig.csrConfig.nTxPowerCap = pConfig->nTxPowerCap;
4547 smeConfig.csrConfig.fEnableBypass11d = pConfig->enableBypass11d;
4548 smeConfig.csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004549#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
4550 smeConfig.csrConfig.nRoamPrefer5GHz = pConfig->nRoamPrefer5GHz;
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004551 smeConfig.csrConfig.nRoamIntraBand = pConfig->nRoamIntraBand;
Varun Reddy Yeturu920df212013-05-22 08:07:23 -07004552 smeConfig.csrConfig.nProbes = pConfig->nProbes;
4553 smeConfig.csrConfig.nRoamScanHomeAwayTime = pConfig->nRoamScanHomeAwayTime;
Madan Mohan Koyyalamudid5026072012-11-30 14:56:21 -08004554#endif
Jeff Johnsone7245742012-09-05 17:12:55 -07004555 smeConfig.csrConfig.fFirstScanOnly2GChnl = pConfig->enableFirstScan2GOnly;
4556
Jeff Johnson295189b2012-06-20 16:38:30 -07004557 //FIXME 11d config is hardcoded
Jeff Johnson7dda7772013-02-27 08:36:13 -08004558 if ( VOS_STA_SAP_MODE != hdd_get_conparam())
4559 {
4560 smeConfig.csrConfig.Csr11dinfo.Channels.numChannels = 0;
Jeff Johnson295189b2012-06-20 16:38:30 -07004561
Jeff Johnson7dda7772013-02-27 08:36:13 -08004562 /* if there is a requirement that HDD will control the default
4563 * channel list & country code (say from .ini file) we need to
4564 * add some logic here. Otherwise the default 11d info should
4565 * come from NV as per our current implementation */
Jeff Johnson295189b2012-06-20 16:38:30 -07004566 }
Jeff Johnson7dda7772013-02-27 08:36:13 -08004567 else
4568 {
4569 VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
4570 "AP country Code %s", pConfig->apCntryCode);
Jeff Johnson295189b2012-06-20 16:38:30 -07004571
Jeff Johnson7dda7772013-02-27 08:36:13 -08004572 if (memcmp(pConfig->apCntryCode, CFG_AP_COUNTRY_CODE_DEFAULT, 3) != 0)
4573 sme_setRegInfo(pHddCtx->hHal, pConfig->apCntryCode);
4574 sme_set11dinfo(pHddCtx->hHal, &smeConfig);
4575 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004576 hdd_set_power_save_config(pHddCtx, &smeConfig);
4577 hdd_set_btc_config(pHddCtx);
4578
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004579#ifdef WLAN_FEATURE_VOWIFI_11R
Jeff Johnson295189b2012-06-20 16:38:30 -07004580 smeConfig.csrConfig.csr11rConfig.IsFTResourceReqSupported = pConfig->fFTResourceReqSupported;
4581#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004582#ifdef FEATURE_WLAN_LFR
4583 smeConfig.csrConfig.isFastRoamIniFeatureEnabled = pConfig->isFastRoamIniFeatureEnabled;
Sameer Thalappil4ae66ec2013-11-05 14:17:35 -08004584 smeConfig.csrConfig.MAWCEnabled = pConfig->MAWCEnabled;
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004585#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004586#ifdef FEATURE_WLAN_CCX
4587 smeConfig.csrConfig.isCcxIniFeatureEnabled = pConfig->isCcxIniFeatureEnabled;
Gopichand Nakkala98a98af2012-12-31 14:38:47 -08004588 if( pConfig->isCcxIniFeatureEnabled )
4589 {
4590 pConfig->isFastTransitionEnabled = TRUE;
4591 }
Jeff Johnson295189b2012-06-20 16:38:30 -07004592#endif
Jeff Johnson04dd8a82012-06-29 20:41:40 -07004593#if defined (WLAN_FEATURE_VOWIFI_11R) || defined (FEATURE_WLAN_CCX) || defined(FEATURE_WLAN_LFR)
Jeff Johnson295189b2012-06-20 16:38:30 -07004594 smeConfig.csrConfig.isFastTransitionEnabled = pConfig->isFastTransitionEnabled;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07004595 if (pConfig->nSelect5GHzMargin)
4596 {
4597 pConfig->RoamRssiDiff = 0;
4598 }
Jeff Johnson43971f52012-07-17 12:26:56 -07004599 smeConfig.csrConfig.RoamRssiDiff = pConfig->RoamRssiDiff;
Madan Mohan Koyyalamudi62b55b02012-12-03 16:45:39 -08004600 smeConfig.csrConfig.nImmediateRoamRssiDiff = pConfig->nImmediateRoamRssiDiff;
Srinivas Girigowdaad34ca92013-10-22 10:54:29 -07004601 smeConfig.csrConfig.isWESModeEnabled = pConfig->isWESModeEnabled;
Jeff Johnson295189b2012-06-20 16:38:30 -07004602#endif
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004603#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
4604 smeConfig.csrConfig.isRoamOffloadScanEnabled = pConfig->isRoamOffloadScanEnabled;
Srinivas Girigowda830bbd02013-06-13 19:44:16 -07004605 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = pConfig->bFastRoamInConIniFeatureEnabled;
4606
4607 if (0 == smeConfig.csrConfig.isRoamOffloadScanEnabled)
4608 {
4609 /* Disable roaming in concurrency if roam scan offload is disabled */
4610 smeConfig.csrConfig.bFastRoamInConIniFeatureEnabled = 0;
4611 }
Varun Reddy Yeturud0a3f252013-04-15 21:58:13 -07004612#endif
Jeff Johnson295189b2012-06-20 16:38:30 -07004613#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
4614 smeConfig.csrConfig.neighborRoamConfig.nNeighborReassocRssiThreshold = pConfig->nNeighborReassocRssiThreshold;
4615 smeConfig.csrConfig.neighborRoamConfig.nNeighborLookupRssiThreshold = pConfig->nNeighborLookupRssiThreshold;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004616 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMaxChanTime = pConfig->nNeighborScanMaxChanTime;
4617 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanMinChanTime = pConfig->nNeighborScanMinChanTime;
Jeff Johnson295189b2012-06-20 16:38:30 -07004618 smeConfig.csrConfig.neighborRoamConfig.nNeighborScanTimerPeriod = pConfig->nNeighborScanPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004619 smeConfig.csrConfig.neighborRoamConfig.nMaxNeighborRetries = pConfig->nMaxNeighborReqTries;
Jeff Johnson295189b2012-06-20 16:38:30 -07004620 smeConfig.csrConfig.neighborRoamConfig.nNeighborResultsRefreshPeriod = pConfig->nNeighborResultsRefreshPeriod;
Srinivas Girigowdade697412013-02-14 16:31:48 -08004621 smeConfig.csrConfig.neighborRoamConfig.nEmptyScanRefreshPeriod = pConfig->nEmptyScanRefreshPeriod;
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004622 hdd_string_to_u8_array( pConfig->neighborScanChanList,
4623 smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.channelList,
4624 &smeConfig.csrConfig.neighborRoamConfig.neighborScanChanList.numChannels,
Jeff Johnson295189b2012-06-20 16:38:30 -07004625 WNI_CFG_VALID_CHANNEL_LIST_LEN );
4626#endif
4627
4628 smeConfig.csrConfig.addTSWhenACMIsOff = pConfig->AddTSWhenACMIsOff;
4629 smeConfig.csrConfig.fValidateList = pConfig->fValidateScanList;
4630
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004631 //Enable/Disable MCC
Jeff Johnson295189b2012-06-20 16:38:30 -07004632 smeConfig.csrConfig.fEnableMCCMode = pConfig->enableMCC;
Mohit Khanna7ed53f02012-09-11 17:52:10 -07004633 smeConfig.csrConfig.fAllowMCCGODiffBI = pConfig->allowMCCGODiffBI;
Jeff Johnson295189b2012-06-20 16:38:30 -07004634
Sandeep Puligilla2b6dc632012-12-17 14:44:16 -08004635 //Scan Results Aging Time out value
4636 smeConfig.csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
4637
Gopichand Nakkalab2d2c312013-01-04 11:41:02 -08004638 smeConfig.csrConfig.enableTxLdpc = pConfig->enableTxLdpc;
4639
krunal soni5afa96c2013-09-06 22:19:02 -07004640 smeConfig.csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
Srinivas Girigowda41c7c5f2013-10-21 19:01:38 -07004641 smeConfig.csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
krunal soni5afa96c2013-09-06 22:19:02 -07004642
krunal sonie9002db2013-11-25 14:24:17 -08004643 smeConfig.csrConfig.isCoalesingInIBSSAllowed =
4644 pHddCtx->cfg_ini->isCoalesingInIBSSAllowed;
4645
4646
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004647 /* update SSR config */
4648 sme_UpdateEnableSSR((tHalHandle)(pHddCtx->hHal), pHddCtx->cfg_ini->enableSSR);
Gopichand Nakkala86e42662013-06-11 17:44:11 +05304649 /* Update the Directed scan offload setting */
4650 smeConfig.fScanOffload = pHddCtx->cfg_ini->fScanOffload;
Gopichand Nakkalae620d5a2013-04-26 05:45:57 -07004651
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004652 halStatus = sme_UpdateConfig( pHddCtx->hHal, &smeConfig);
Jeff Johnson295189b2012-06-20 16:38:30 -07004653 if ( !HAL_STATUS_SUCCESS( halStatus ) )
4654 {
4655 status = VOS_STATUS_E_FAILURE;
4656 }
4657
Kiran Kumar Lokere3527f0c2013-02-24 22:21:28 -08004658
4659 return status;
Jeff Johnson295189b2012-06-20 16:38:30 -07004660}
4661
4662
4663/**---------------------------------------------------------------------------
4664
4665 \brief hdd_execute_config_command() -
4666
4667 This function executes an arbitrary configuration set command
4668
4669 \param - pHddCtx - Pointer to the HDD Adapter.
4670 \parmm - command - a configuration command of the form:
4671 <name>=<value>
4672
4673 \return - 0 for success, non zero for failure
4674
4675 --------------------------------------------------------------------------*/
4676
4677VOS_STATUS hdd_execute_config_command(hdd_context_t *pHddCtx, char *command)
4678{
4679 size_t tableSize = sizeof(g_registry_table)/sizeof(g_registry_table[0]);
4680 REG_TABLE_ENTRY *pRegEntry;
4681 char *clone;
4682 char *pCmd;
4683 void *pField;
4684 char *name;
4685 char *value_str;
4686 v_U32_t value;
4687 v_S31_t svalue;
4688 size_t len_value_str;
4689 unsigned int idx;
4690 unsigned int i;
4691 VOS_STATUS vstatus;
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004692 int rv;
Jeff Johnson295189b2012-06-20 16:38:30 -07004693
4694 // assume failure until proven otherwise
4695 vstatus = VOS_STATUS_E_FAILURE;
4696
4697 // clone the command so that we can manipulate it
4698 clone = kstrdup(command, GFP_ATOMIC);
4699 if (NULL == clone)
4700 {
4701 hddLog(LOGE, "%s: memory allocation failure, unable to process [%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004702 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004703 return vstatus;
4704 }
4705
4706 // 'clone' will point to the beginning of the string so it can be freed
4707 // 'pCmd' will be used to walk/parse the command
4708 pCmd = clone;
4709
4710 // get rid of leading/trailing whitespace
4711 pCmd = i_trim(pCmd);
4712 if ('\0' == *pCmd)
4713 {
4714 // only whitespace
4715 hddLog(LOGE, "%s: invalid command, only whitespace:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004716 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004717 goto done;
4718 }
4719
4720 // parse the <name> = <value>
4721 name = pCmd;
4722 while (('=' != *pCmd) && ('\0' != *pCmd))
4723 {
4724 pCmd++;
4725 }
4726 if ('\0' == *pCmd)
4727 {
4728 // did not find '='
4729 hddLog(LOGE, "%s: invalid command, no '=':[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004730 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004731 goto done;
4732 }
4733
4734 // replace '=' with NUL to terminate the <name>
4735 *pCmd++ = '\0';
4736 name = i_trim(name);
4737 if ('\0' == *name)
4738 {
4739 // did not find a name
4740 hddLog(LOGE, "%s: invalid command, no <name>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004741 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004742 goto done;
4743 }
4744
4745 value_str = i_trim(pCmd);
4746 if ('\0' == *value_str)
4747 {
4748 // did not find a value
4749 hddLog(LOGE, "%s: invalid command, no <value>:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004750 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004751 goto done;
4752 }
4753
4754 // lookup the configuration item
4755 for (idx = 0; idx < tableSize; idx++)
4756 {
4757 if (0 == strcmp(name, g_registry_table[idx].RegName))
4758 {
4759 // found a match
4760 break;
4761 }
4762 }
4763 if (tableSize == idx)
4764 {
4765 // did not match the name
4766 hddLog(LOGE, "%s: invalid command, unknown configuration item:[%s]",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004767 __func__, command);
Jeff Johnson295189b2012-06-20 16:38:30 -07004768 goto done;
4769 }
4770
4771 pRegEntry = &g_registry_table[idx];
4772 if (!(pRegEntry->Flags & VAR_FLAGS_DYNAMIC_CFG))
4773 {
4774 // does not support dynamic configuration
4775 hddLog(LOGE, "%s: invalid command, %s does not support "
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004776 "dynamic configuration", __func__, name);
Jeff Johnson295189b2012-06-20 16:38:30 -07004777 goto done;
4778 }
4779
4780 pField = ((v_U8_t *)pHddCtx->cfg_ini) + pRegEntry->VarOffset;
4781
4782 switch (pRegEntry->RegType)
4783 {
4784 case WLAN_PARAM_Integer:
Jeff Johnson02797792013-10-26 19:17:13 -07004785 rv = kstrtou32(value_str, 10, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004786 if (rv < 0)
4787 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004788 if (value < pRegEntry->VarMin)
4789 {
4790 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004791 hddLog(LOGE, "%s: invalid command, value %u < min value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004792 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004793 goto done;
4794 }
4795 if (value > pRegEntry->VarMax)
4796 {
4797 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004798 hddLog(LOGE, "%s: invalid command, value %u > max value %lu",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004799 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004800 goto done;
4801 }
4802 memcpy(pField, &value, pRegEntry->VarSize);
4803 break;
4804
4805 case WLAN_PARAM_HexInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07004806 rv = kstrtou32(value_str, 16, &value);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004807 if (rv < 0)
4808 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004809 if (value < pRegEntry->VarMin)
4810 {
4811 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004812 hddLog(LOGE, "%s: invalid command, value %x < min value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004813 __func__, value, pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004814 goto done;
4815 }
4816 if (value > pRegEntry->VarMax)
4817 {
4818 // out of range
Jeff Johnson0299d0a2013-10-30 12:37:43 -07004819 hddLog(LOGE, "%s: invalid command, value %x > max value %lx",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004820 __func__, value, pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004821 goto done;
4822 }
4823 memcpy(pField, &value, pRegEntry->VarSize);
4824 break;
4825
4826 case WLAN_PARAM_SignedInteger:
Jeff Johnson02797792013-10-26 19:17:13 -07004827 rv = kstrtos32(value_str, 10, &svalue);
Madan Mohan Koyyalamudid8ac8662012-11-06 19:04:56 -08004828 if (rv < 0)
4829 goto done;
Jeff Johnson295189b2012-06-20 16:38:30 -07004830 if (svalue < (v_S31_t)pRegEntry->VarMin)
4831 {
4832 // out of range
4833 hddLog(LOGE, "%s: invalid command, value %d < min value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004834 __func__, svalue, (int)pRegEntry->VarMin);
Jeff Johnson295189b2012-06-20 16:38:30 -07004835 goto done;
4836 }
4837 if (svalue > (v_S31_t)pRegEntry->VarMax)
4838 {
4839 // out of range
4840 hddLog(LOGE, "%s: invalid command, value %d > max value %d",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004841 __func__, svalue, (int)pRegEntry->VarMax);
Jeff Johnson295189b2012-06-20 16:38:30 -07004842 goto done;
4843 }
4844 memcpy(pField, &svalue, pRegEntry->VarSize);
4845 break;
4846
4847 case WLAN_PARAM_String:
4848 len_value_str = strlen(value_str);
4849 if (len_value_str > (pRegEntry->VarSize - 1))
4850 {
4851 // too big
4852 hddLog(LOGE,
4853 "%s: invalid command, string [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08004854 "%zu exceeds maximum length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004855 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004856 len_value_str, (pRegEntry->VarSize - 1));
4857 goto done;
4858 }
4859 // copy string plus NUL
4860 memcpy(pField, value_str, (len_value_str + 1));
4861 break;
4862
4863 case WLAN_PARAM_MacAddr:
4864 len_value_str = strlen(value_str);
4865 if (len_value_str != (VOS_MAC_ADDR_SIZE * 2))
4866 {
4867 // out of range
4868 hddLog(LOGE,
4869 "%s: invalid command, MAC address [%s] length "
Jeff Johnson59a121e2013-11-30 09:46:08 -08004870 "%zu is not expected length %u",
Madan Mohan Koyyalamudi87054ba2012-11-02 13:24:12 -07004871 __func__, value_str,
Jeff Johnson295189b2012-06-20 16:38:30 -07004872 len_value_str, (VOS_MAC_ADDR_SIZE * 2));
4873 goto done;
4874 }
4875 //parse the string and store it in the byte array
4876 for (i = 0; i < VOS_MAC_ADDR_SIZE; i++)
4877 {
4878 ((char*)pField)[i] = (char)
4879 ((parseHexDigit(value_str[(i * 2)]) * 16) +
4880 parseHexDigit(value_str[(i * 2) + 1]));
4881 }
4882 break;
4883
4884 default:
4885 goto done;
4886 }
4887
4888 // if we get here, we had a successful modification
4889 vstatus = VOS_STATUS_SUCCESS;
4890
4891 // config table has been modified, is there a notifier?
4892 if (NULL != pRegEntry->pfnDynamicNotify)
4893 {
4894 (pRegEntry->pfnDynamicNotify)(pHddCtx, pRegEntry->NotifyId);
4895 }
4896
4897 // note that this item was explicitly configured
4898 if (idx < MAX_CFG_INI_ITEMS)
4899 {
4900 set_bit(idx, (void *)&pHddCtx->cfg_ini->bExplicitCfg);
4901 }
4902 done:
4903 kfree(clone);
4904 return vstatus;
4905}
Srinivas Girigowdabbd16eb2013-03-21 12:34:46 -07004906
4907/**---------------------------------------------------------------------------
4908
4909 \brief hdd_is_okc_mode_enabled() -
4910
4911 This function returns whether OKC mode is enabled or not
4912
4913 \param - pHddCtx - Pointer to the HDD Adapter.
4914
4915 \return - 1 for enabled, zero for disabled
4916
4917 --------------------------------------------------------------------------*/
4918
4919tANI_BOOLEAN hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx)
4920{
4921 if (NULL == pHddCtx)
4922 {
4923 hddLog(VOS_TRACE_LEVEL_FATAL, "%s: pHddCtx is NULL", __func__);
4924 return -EINVAL;
4925 }
4926
4927#ifdef FEATURE_WLAN_OKC
4928 return pHddCtx->cfg_ini->isOkcIniFeatureEnabled;
4929#else
4930 return eANI_BOOLEAN_FALSE;
4931#endif
4932}