blob: 70d4ad63095f4297db6c0100c75eeabbc4115370 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Prashanth Bhatta9e143052015-12-04 11:56:47 -08002 * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003 *
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
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28#if !defined(HDD_CONFIG_H__)
29#define HDD_CONFIG_H__
30
31/**
32 *
33 * DOC: wlan_hdd_config.h
34 *
35 * WLAN Adapter Configuration functions
36 */
37
38/* $HEADER$ */
39
40/* Include files */
41#include <wlan_hdd_includes.h>
42#include <wlan_hdd_wmm.h>
Anurag Chouhan6d760662016-02-20 16:05:43 +053043#include <qdf_types.h>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080044#include <csr_api.h>
45#include <sap_api.h>
46#include <wmi_unified.h>
47
48#define FW_MODULE_LOG_LEVEL_STRING_LENGTH (255)
49
50#ifdef DHCP_SERVER_OFFLOAD
51#define IPADDR_NUM_ENTRIES (4)
52#define IPADDR_STRING_LENGTH (16)
53#endif
54
55/* Number of items that can be configured */
Srinivas Girigowdaba3091c2015-11-16 17:18:40 -080056#define MAX_CFG_INI_ITEMS 1024
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080057
58/* Defines for all of the things we read from the configuration (registry). */
59
60#define CFG_RTS_THRESHOLD_NAME "RTSThreshold"
61#define CFG_RTS_THRESHOLD_MIN WNI_CFG_RTS_THRESHOLD_STAMIN /* min is 0, meaning always use RTS. */
62#define CFG_RTS_THRESHOLD_MAX WNI_CFG_RTS_THRESHOLD_STAMAX /* max is the max frame size */
63#define CFG_RTS_THRESHOLD_DEFAULT WNI_CFG_RTS_THRESHOLD_STADEF
64
65#define CFG_FRAG_THRESHOLD_NAME "gFragmentationThreshold"
66#define CFG_FRAG_THRESHOLD_MIN WNI_CFG_FRAGMENTATION_THRESHOLD_STAMIN
67#define CFG_FRAG_THRESHOLD_MAX WNI_CFG_FRAGMENTATION_THRESHOLD_STAMAX
68#define CFG_FRAG_THRESHOLD_DEFAULT WNI_CFG_FRAGMENTATION_THRESHOLD_STADEF
69
70#define CFG_OPERATING_CHANNEL_NAME "gOperatingChannel"
71#define CFG_OPERATING_CHANNEL_MIN (0)
72#define CFG_OPERATING_CHANNEL_MAX (14)
73#define CFG_OPERATING_CHANNEL_DEFAULT (1)
74
75#define CFG_SHORT_SLOT_TIME_ENABLED_NAME "gShortSlotTimeEnabled"
76#define CFG_SHORT_SLOT_TIME_ENABLED_MIN WNI_CFG_SHORT_SLOT_TIME_STAMIN
77#define CFG_SHORT_SLOT_TIME_ENABLED_MAX WNI_CFG_SHORT_SLOT_TIME_STAMAX
78#define CFG_SHORT_SLOT_TIME_ENABLED_DEFAULT WNI_CFG_SHORT_SLOT_TIME_STADEF
79
80#define CFG_11D_SUPPORT_ENABLED_NAME "g11dSupportEnabled"
81#define CFG_11D_SUPPORT_ENABLED_MIN WNI_CFG_11D_ENABLED_STAMIN
82#define CFG_11D_SUPPORT_ENABLED_MAX WNI_CFG_11D_ENABLED_STAMAX
83#define CFG_11D_SUPPORT_ENABLED_DEFAULT WNI_CFG_11D_ENABLED_STADEF /* Default is ON */
84
85#define CFG_11H_SUPPORT_ENABLED_NAME "g11hSupportEnabled"
86#define CFG_11H_SUPPORT_ENABLED_MIN (0)
87#define CFG_11H_SUPPORT_ENABLED_MAX (1)
88#define CFG_11H_SUPPORT_ENABLED_DEFAULT (1) /* Default is ON */
89
90/* COUNTRY Code Priority */
91#define CFG_COUNTRY_CODE_PRIORITY_NAME "gCountryCodePriority"
92#define CFG_COUNTRY_CODE_PRIORITY_MIN (0)
93#define CFG_COUNTRY_CODE_PRIORITY_MAX (1)
94#define CFG_COUNTRY_CODE_PRIORITY_DEFAULT (0)
95
96#define CFG_HEARTBEAT_THRESH_24_NAME "gHeartbeat24"
97#define CFG_HEARTBEAT_THRESH_24_MIN WNI_CFG_HEART_BEAT_THRESHOLD_STAMIN
98#define CFG_HEARTBEAT_THRESH_24_MAX WNI_CFG_HEART_BEAT_THRESHOLD_STAMAX
99#define CFG_HEARTBEAT_THRESH_24_DEFAULT WNI_CFG_HEART_BEAT_THRESHOLD_STADEF
100
101#define CFG_POWER_USAGE_NAME "gPowerUsage"
102#define CFG_POWER_USAGE_MIN "Min" /* Minimum Power Save */
103#define CFG_POWER_USAGE_MAX "Max" /* Maximum Power Save */
104#define CFG_POWER_USAGE_DEFAULT "Mod" /* Moderate Power Save */
105
106#define CFG_WOWL_PATTERN_NAME "gWowlPattern"
107#define CFG_WOWL_PATTERN_DEFAULT ""
108
109/* IMPS = IdleModePowerSave */
110#define CFG_ENABLE_IMPS_NAME "gEnableImps"
111#define CFG_ENABLE_IMPS_MIN (0)
112#define CFG_ENABLE_IMPS_MAX (1)
113#define CFG_ENABLE_IMPS_DEFAULT (1)
114
115/* PS = PowerSave */
116#define CFG_ENABLE_PS_NAME "gEnableBmps"
117#define CFG_ENABLE_PS_MIN (0)
118#define CFG_ENABLE_PS_MAX (1)
119#define CFG_ENABLE_PS_DEFAULT (1)
120
121#define CFG_BMPS_MINIMUM_LI_NAME "gBmpsMinListenInterval"
122#define CFG_BMPS_MINIMUM_LI_MIN (1)
123#define CFG_BMPS_MINIMUM_LI_MAX (65535)
124#define CFG_BMPS_MINIMUM_LI_DEFAULT (1)
125
126#define CFG_BMPS_MODERATE_LI_NAME "gBmpsModListenInterval"
127#define CFG_BMPS_MODERATE_LI_MIN (1)
128#define CFG_BMPS_MODERATE_LI_MAX (65535)
129#define CFG_BMPS_MODERATE_LI_DEFAULT (1)
130
131#define CFG_BMPS_MAXIMUM_LI_NAME "gBmpsMaxListenInterval"
132#define CFG_BMPS_MAXIMUM_LI_MIN (1)
133#define CFG_BMPS_MAXIMUM_LI_MAX (65535)
134#define CFG_BMPS_MAXIMUM_LI_DEFAULT (1)
135
136#define CFG_MAX_RX_AMPDU_FACTOR_NAME "gMaxRxAmpduFactor"
137#define CFG_MAX_RX_AMPDU_FACTOR_MIN WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMIN
138#define CFG_MAX_RX_AMPDU_FACTOR_MAX WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX
139#define CFG_MAX_RX_AMPDU_FACTOR_DEFAULT WNI_CFG_MAX_RX_AMPDU_FACTOR_STADEF
140
Krishna Kumaar Natarajan22b59a72015-11-23 18:54:58 -0800141/* Configuration option for HT MPDU density (Table 8-125 802.11-2012)
142 * 0 for no restriction
143 * 1 for 1/4 micro sec
144 * 2 for 1/2 micro sec
145 * 3 for 1 micro sec
146 * 4 for 2 micro sec
147 * 5 for 4 micro sec
148 * 6 for 8 micro sec
149 * 7 for 16 micro sec
150 */
151#define CFG_HT_MPDU_DENSITY_NAME "ght_mpdu_density"
152#define CFG_HT_MPDU_DENSITY_MIN WNI_CFG_MPDU_DENSITY_STAMIN
153#define CFG_HT_MPDU_DENSITY_MAX WNI_CFG_MPDU_DENSITY_STAMAX
154#define CFG_HT_MPDU_DENSITY_DEFAULT WNI_CFG_MPDU_DENSITY_STADEF
155
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800156/* Configuration added to enable/disable CTS2SELF in */
157/* Adaptive RX drain feature */
158#define CFG_ENABLE_ADAPT_RX_DRAIN_NAME "gEnableAdaptRxDrain"
159#define CFG_ENABLE_ADAPT_RX_DRAIN_MIN WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STAMIN
160#define CFG_ENABLE_ADAPT_RX_DRAIN_MAX WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STAMAX
161#define CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STADEF
162
163#define CFG_REG_CHANGE_DEF_COUNTRY_NAME "gRegulatoryChangeCountry"
164#define CFG_REG_CHANGE_DEF_COUNTRY_DEFAULT (0)
165#define CFG_REG_CHANGE_DEF_COUNTRY_MIN (0)
166#define CFG_REG_CHANGE_DEF_COUNTRY_MAX (1)
167
168#define CFG_ADVERTISE_CONCURRENT_OPERATION_NAME "gAdvertiseConcurrentOperation"
169#define CFG_ADVERTISE_CONCURRENT_OPERATION_DEFAULT (1)
170#define CFG_ADVERTISE_CONCURRENT_OPERATION_MIN (0)
171#define CFG_ADVERTISE_CONCURRENT_OPERATION_MAX (1)
172
173typedef enum {
174 eHDD_DOT11_MODE_AUTO = 0, /* covers all things we support */
175 eHDD_DOT11_MODE_abg, /* 11a/b/g only, no HT, no proprietary */
176 eHDD_DOT11_MODE_11b,
177 eHDD_DOT11_MODE_11g,
178 eHDD_DOT11_MODE_11n,
179 eHDD_DOT11_MODE_11g_ONLY,
180 eHDD_DOT11_MODE_11n_ONLY,
181 eHDD_DOT11_MODE_11b_ONLY,
182 eHDD_DOT11_MODE_11ac_ONLY,
183 eHDD_DOT11_MODE_11ac,
184 eHDD_DOT11_MODE_11a,
185} eHddDot11Mode;
186
187#define CFG_DOT11_MODE_NAME "gDot11Mode"
188#define CFG_DOT11_MODE_MIN eHDD_DOT11_MODE_AUTO
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800189#define CFG_DOT11_MODE_DEFAULT eHDD_DOT11_MODE_11ac
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800190#define CFG_DOT11_MODE_MAX eHDD_DOT11_MODE_11a
191
192#define CFG_CHANNEL_BONDING_MODE_24GHZ_NAME "gChannelBondingMode24GHz"
193#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
194#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
195#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
196
197#define CFG_CHANNEL_BONDING_MODE_5GHZ_NAME "gChannelBondingMode5GHz"
198#define CFG_CHANNEL_BONDING_MODE_MIN WNI_CFG_CHANNEL_BONDING_MODE_STAMIN
199#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
200#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
201
202#define CFG_FIXED_RATE_NAME "gFixedRate"
203#define CFG_FIXED_RATE_MIN WNI_CFG_FIXED_RATE_STAMIN
204#define CFG_FIXED_RATE_MAX WNI_CFG_FIXED_RATE_STAMAX
205#define CFG_FIXED_RATE_DEFAULT WNI_CFG_FIXED_RATE_STADEF
206
207#define CFG_SHORT_GI_20MHZ_NAME "gShortGI20Mhz"
208#define CFG_SHORT_GI_20MHZ_MIN WNI_CFG_SHORT_GI_20MHZ_STAMIN
209#define CFG_SHORT_GI_20MHZ_MAX WNI_CFG_SHORT_GI_20MHZ_STAMAX
210#define CFG_SHORT_GI_20MHZ_DEFAULT WNI_CFG_SHORT_GI_20MHZ_STADEF
211
212#define CFG_SCAN_RESULT_AGE_COUNT_NAME "gScanResultAgeCount"
213#define CFG_SCAN_RESULT_AGE_COUNT_MIN (1)
214#define CFG_SCAN_RESULT_AGE_COUNT_MAX (100)
215#define CFG_SCAN_RESULT_AGE_COUNT_DEFAULT (3)
216
217/* All in seconds */
218/* Not Connect, No Power Save */
219#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_NAME "gScanResultAgeNCNPS"
220#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_MIN (10)
221#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_MAX (10000)
222#define CFG_SCAN_RESULT_AGE_TIME_NCNPS_DEFAULT (50)
223/* Not Connect, Power Save */
224#define CFG_SCAN_RESULT_AGE_TIME_NCPS_NAME "gScanResultAgeNCPS"
225#define CFG_SCAN_RESULT_AGE_TIME_NCPS_MIN (10)
226#define CFG_SCAN_RESULT_AGE_TIME_NCPS_MAX (10000)
227#define CFG_SCAN_RESULT_AGE_TIME_NCPS_DEFAULT (300)
228/* Connect, No Power Save */
229#define CFG_SCAN_RESULT_AGE_TIME_CNPS_NAME "gScanResultAgeCNPS"
230#define CFG_SCAN_RESULT_AGE_TIME_CNPS_MIN (10)
231#define CFG_SCAN_RESULT_AGE_TIME_CNPS_MAX (10000)
232#define CFG_SCAN_RESULT_AGE_TIME_CNPS_DEFAULT (150)
233/* Connect, Power Save */
234#define CFG_SCAN_RESULT_AGE_TIME_CPS_NAME "gScanResultAgeCPS"
235#define CFG_SCAN_RESULT_AGE_TIME_CPS_MIN (10)
236#define CFG_SCAN_RESULT_AGE_TIME_CPS_MAX (10000)
237#define CFG_SCAN_RESULT_AGE_TIME_CPS_DEFAULT (600)
238
239#define CFG_RSSI_CATEGORY_GAP_NAME "gRssiCatGap"
240#define CFG_RSSI_CATEGORY_GAP_MIN (5)
241#define CFG_RSSI_CATEGORY_GAP_MAX (100)
242#define CFG_RSSI_CATEGORY_GAP_DEFAULT (5)
243
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800244#define CFG_ROAM_PREFER_5GHZ "gRoamPrefer5GHz"
245#define CFG_ROAM_PREFER_5GHZ_MIN (0)
246#define CFG_ROAM_PREFER_5GHZ_MAX (1)
247#define CFG_ROAM_PREFER_5GHZ_DEFAULT (1)
248
249/*
250 To enable, set gRoamIntraBand=1 (Roaming within band)
251 To disable, set gRoamIntraBand=0 (Roaming across band)
252 */
253#define CFG_ROAM_INTRA_BAND "gRoamIntraBand"
254#define CFG_ROAM_INTRA_BAND_MIN (0)
255#define CFG_ROAM_INTRA_BAND_MAX (1)
256#define CFG_ROAM_INTRA_BAND_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800257
258#define CFG_SHORT_PREAMBLE_NAME "gShortPreamble"
259#define CFG_SHORT_PREAMBLE_MIN WNI_CFG_SHORT_PREAMBLE_STAMIN
260#define CFG_SHORT_PREAMBLE_MAX WNI_CFG_SHORT_PREAMBLE_STAMAX
261#define CFG_SHORT_PREAMBLE_DEFAULT WNI_CFG_SHORT_PREAMBLE_STADEF
262
263#define CFG_IBSS_BSSID_NAME "gIbssBssid"
264#define CFG_IBSS_BSSID_MIN "000000000000"
265#define CFG_IBSS_BSSID_MAX "ffffffffffff"
266#define CFG_IBSS_BSSID_DEFAULT "000AF5040506"
267
268#define CFG_INTF0_MAC_ADDR_NAME "Intf0MacAddress"
269#define CFG_INTF0_MAC_ADDR_MIN "000000000000"
270#define CFG_INTF0_MAC_ADDR_MAX "ffffffffffff"
271#define CFG_INTF0_MAC_ADDR_DEFAULT "000AF5898980"
272
273#define CFG_INTF1_MAC_ADDR_NAME "Intf1MacAddress"
274#define CFG_INTF1_MAC_ADDR_MIN "000000000000"
275#define CFG_INTF1_MAC_ADDR_MAX "ffffffffffff"
276#define CFG_INTF1_MAC_ADDR_DEFAULT "000AF5898981"
277
278#define CFG_INTF2_MAC_ADDR_NAME "Intf2MacAddress"
279#define CFG_INTF2_MAC_ADDR_MIN "000000000000"
280#define CFG_INTF2_MAC_ADDR_MAX "ffffffffffff"
281#define CFG_INTF2_MAC_ADDR_DEFAULT "000AF5898982"
282
283#define CFG_INTF3_MAC_ADDR_NAME "Intf3MacAddress"
284#define CFG_INTF3_MAC_ADDR_MIN "000000000000"
285#define CFG_INTF3_MAC_ADDR_MAX "ffffffffffff"
286#define CFG_INTF3_MAC_ADDR_DEFAULT "000AF5898983"
287
288#define CFG_AP_QOS_UAPSD_MODE_NAME "gEnableApUapsd" /* ACs to setup U-APSD for at assoc */
289#define CFG_AP_QOS_UAPSD_MODE_MIN (0)
290#define CFG_AP_QOS_UAPSD_MODE_MAX (1)
291#define CFG_AP_QOS_UAPSD_MODE_DEFAULT (1)
292
293#define CFG_AP_ENABLE_RANDOM_BSSID_NAME "gEnableApRandomBssid"
294#define CFG_AP_ENABLE_RANDOM_BSSID_MIN (0)
295#define CFG_AP_ENABLE_RANDOM_BSSID_MAX (1)
296#define CFG_AP_ENABLE_RANDOM_BSSID_DEFAULT (0)
297
298#define CFG_AP_ENABLE_PROTECTION_MODE_NAME "gEnableApProt"
299#define CFG_AP_ENABLE_PROTECTION_MODE_MIN (0)
300#define CFG_AP_ENABLE_PROTECTION_MODE_MAX (1)
301#define CFG_AP_ENABLE_PROTECTION_MODE_DEFAULT (1)
302
303/* Bit map for CFG_AP_PROTECTION_MODE_DEFAULT */
304/* LOWER byte for associated stations */
305/* UPPER byte for overlapping stations */
306/* each byte will have the following info */
307/* bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 */
308/* OBSS RIFS LSIG_TXOP NON_GF HT20 FROM_11G FROM_11B FROM_11A */
309/* bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 */
310/* OBSS RIFS LSIG_TXOP NON_GF HT_20 FROM_11G FROM_11B FROM_11A */
311#define CFG_AP_PROTECTION_MODE_NAME "gApProtection"
312#define CFG_AP_PROTECTION_MODE_MIN (0x0)
313#define CFG_AP_PROTECTION_MODE_MAX (0xFFFF)
314#define CFG_AP_PROTECTION_MODE_DEFAULT (0xBFFF)
315
316#define CFG_AP_OBSS_PROTECTION_MODE_NAME "gEnableApOBSSProt"
317#define CFG_AP_OBSS_PROTECTION_MODE_MIN (0)
318#define CFG_AP_OBSS_PROTECTION_MODE_MAX (1)
319#define CFG_AP_OBSS_PROTECTION_MODE_DEFAULT (0)
320
321#define CFG_AP_STA_SECURITY_SEPERATION_NAME "gDisableIntraBssFwd"
322#define CFG_AP_STA_SECURITY_SEPERATION_MIN (0)
323#define CFG_AP_STA_SECURITY_SEPERATION_MAX (1)
324#define CFG_AP_STA_SECURITY_SEPERATION_DEFAULT (0)
325
326#define CFG_AP_LISTEN_MODE_NAME "gEnablePhyAgcListenMode"
327#define CFG_AP_LISTEN_MODE_MIN (0)
328#define CFG_AP_LISTEN_MODE_MAX (128)
329#define CFG_AP_LISTEN_MODE_DEFAULT (128)
330
331#define CFG_AP_AUTO_SHUT_OFF "gAPAutoShutOff"
332#define CFG_AP_AUTO_SHUT_OFF_MIN (0)
333#define CFG_AP_AUTO_SHUT_OFF_MAX (4294967295UL)
334#define CFG_AP_AUTO_SHUT_OFF_DEFAULT (0)
335
336#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
337#define CFG_WLAN_AUTO_SHUTDOWN "gWlanAutoShutdown"
338#define CFG_WLAN_AUTO_SHUTDOWN_MIN (0)
339#define CFG_WLAN_AUTO_SHUTDOWN_MAX (86400) /* Max 1 day timeout */
340#define CFG_WLAN_AUTO_SHUTDOWN_DEFAULT (0)
341#endif
342
343#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
344#define CFG_WLAN_MCC_TO_SCC_SWITCH_MODE "gWlanMccToSccSwitchMode"
Anurag Chouhanf04e84f2016-03-03 10:12:12 +0530345#define CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MIN (QDF_MCC_TO_SCC_SWITCH_DISABLE)
Chandrasekaran Manishekarcde33d72016-04-14 19:03:39 +0530346#define CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_MAX (QDF_MCC_TO_SCC_SWITCH_FORCE_WITHOUT_DISCONNECTION)
Anurag Chouhanf04e84f2016-03-03 10:12:12 +0530347#define CFG_WLAN_MCC_TO_SCC_SWITCH_MODE_DEFAULT (QDF_MCC_TO_SCC_SWITCH_DISABLE)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800348#endif
349
350#define CFG_DISABLE_PACKET_FILTER "gDisablePacketFilter"
351#define CFG_DISABLE_PACKET_FILTER_MIN (0)
352#define CFG_DISABLE_PACKET_FILTER_MAX (0x1)
353#define CFG_DISABLE_PACKET_FILTER_DEFAULT (0)
354
355#define CFG_ENABLE_LTE_COEX "gEnableLTECoex"
356#define CFG_ENABLE_LTE_COEX_MIN (0)
357#define CFG_ENABLE_LTE_COEX_MAX (1)
358#define CFG_ENABLE_LTE_COEX_DEFAULT (0)
359
360#define CFG_AP_KEEP_ALIVE_PERIOD_NAME "gApKeepAlivePeriod"
361#define CFG_AP_KEEP_ALIVE_PERIOD_MIN WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STAMIN
362#define CFG_AP_KEEP_ALIVE_PERIOD_MAX WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STAMAX
363#define CFG_AP_KEEP_ALIVE_PERIOD_DEFAULT WNI_CFG_AP_KEEP_ALIVE_TIMEOUT_STADEF
364
365#define CFG_GO_KEEP_ALIVE_PERIOD_NAME "gGoKeepAlivePeriod"
366#define CFG_GO_KEEP_ALIVE_PERIOD_MIN WNI_CFG_GO_KEEP_ALIVE_TIMEOUT_STAMIN
367#define CFG_GO_KEEP_ALIVE_PERIOD_MAX WNI_CFG_GO_KEEP_ALIVE_TIMEOUT_STAMAX
368#define CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT WNI_CFG_GO_KEEP_ALIVE_TIMEOUT_STADEF
369
370#define CFG_AP_LINK_MONITOR_PERIOD_NAME "gApLinkMonitorPeriod"
371#define CFG_AP_LINK_MONITOR_PERIOD_MIN (3)
372#define CFG_AP_LINK_MONITOR_PERIOD_MAX (50)
373#define CFG_AP_LINK_MONITOR_PERIOD_DEFAULT (10)
374
375/* gGoLinkMonitorPeriod is period where link is idle and where
376 * we send NULL frame
377 */
378#define CFG_GO_LINK_MONITOR_PERIOD_NAME "gGoLinkMonitorPeriod"
379#define CFG_GO_LINK_MONITOR_PERIOD_MIN (3)
380#define CFG_GO_LINK_MONITOR_PERIOD_MAX (50)
381#define CFG_GO_LINK_MONITOR_PERIOD_DEFAULT (10)
382
383#define CFG_BEACON_INTERVAL_NAME "gBeaconInterval"
384#define CFG_BEACON_INTERVAL_MIN WNI_CFG_BEACON_INTERVAL_STAMIN
385#define CFG_BEACON_INTERVAL_MAX WNI_CFG_BEACON_INTERVAL_STAMAX
386#define CFG_BEACON_INTERVAL_DEFAULT WNI_CFG_BEACON_INTERVAL_STADEF
387
388/* Additional Handoff related Parameters */
389#define CFG_ROAMING_TIME_NAME "gRoamingTime"
390#define CFG_ROAMING_TIME_MIN (0)
391#define CFG_ROAMING_TIME_MAX (4294967UL)
392#define CFG_ROAMING_TIME_DEFAULT (10)
393
394#define CFG_VCC_RSSI_TRIGGER_NAME "gVccRssiTrigger"
395#define CFG_VCC_RSSI_TRIGGER_MIN (0)
396#define CFG_VCC_RSSI_TRIGGER_MAX (80)
397#define CFG_VCC_RSSI_TRIGGER_DEFAULT (80)
398
399#define CFG_VCC_UL_MAC_LOSS_THRESH_NAME "gVccUlMacLossThresh"
400#define CFG_VCC_UL_MAC_LOSS_THRESH_MIN (0)
401#define CFG_VCC_UL_MAC_LOSS_THRESH_MAX (9)
402#define CFG_VCC_UL_MAC_LOSS_THRESH_DEFAULT (9)
403
404#define CFG_PASSIVE_MAX_CHANNEL_TIME_NAME "gPassiveMaxChannelTime"
405#define CFG_PASSIVE_MAX_CHANNEL_TIME_MIN (0)
406#define CFG_PASSIVE_MAX_CHANNEL_TIME_MAX (10000)
407#define CFG_PASSIVE_MAX_CHANNEL_TIME_DEFAULT (110)
408
409#define CFG_PASSIVE_MIN_CHANNEL_TIME_NAME "gPassiveMinChannelTime"
410#define CFG_PASSIVE_MIN_CHANNEL_TIME_MIN (0)
411#define CFG_PASSIVE_MIN_CHANNEL_TIME_MAX (10000)
412#define CFG_PASSIVE_MIN_CHANNEL_TIME_DEFAULT (60)
413
414#define CFG_ACTIVE_MAX_CHANNEL_TIME_NAME "gActiveMaxChannelTime"
415#define CFG_ACTIVE_MAX_CHANNEL_TIME_MIN (0)
416#define CFG_ACTIVE_MAX_CHANNEL_TIME_MAX (10000)
417#define CFG_ACTIVE_MAX_CHANNEL_TIME_DEFAULT (40)
418
419#define CFG_ACTIVE_MIN_CHANNEL_TIME_NAME "gActiveMinChannelTime"
420#define CFG_ACTIVE_MIN_CHANNEL_TIME_MIN (0)
421#define CFG_ACTIVE_MIN_CHANNEL_TIME_MAX (10000)
422#define CFG_ACTIVE_MIN_CHANNEL_TIME_DEFAULT (20)
423
424#define CFG_RETRY_LIMIT_ZERO_NAME "gRetryLimitZero"
425#define CFG_RETRY_LIMIT_ZERO_MIN (0)
426#define CFG_RETRY_LIMIT_ZERO_MAX (15)
427#define CFG_RETRY_LIMIT_ZERO_DEFAULT (5)
428
429#define CFG_RETRY_LIMIT_ONE_NAME "gRetryLimitOne"
430#define CFG_RETRY_LIMIT_ONE_MIN (0)
431#define CFG_RETRY_LIMIT_ONE_MAX (15)
432#define CFG_RETRY_LIMIT_ONE_DEFAULT (10)
433
434#define CFG_RETRY_LIMIT_TWO_NAME "gRetryLimitTwo"
435#define CFG_RETRY_LIMIT_TWO_MIN (0)
436#define CFG_RETRY_LIMIT_TWO_MAX (15)
437#define CFG_RETRY_LIMIT_TWO_DEFAULT (15)
438
439#ifdef WLAN_AP_STA_CONCURRENCY
440
441#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_NAME "gPassiveMaxChannelTimeConc"
442#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MIN (0)
443#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_MAX (10000)
444#define CFG_PASSIVE_MAX_CHANNEL_TIME_CONC_DEFAULT (110)
445
446#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_NAME "gPassiveMinChannelTimeConc"
447#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MIN (0)
448#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_MAX (10000)
449#define CFG_PASSIVE_MIN_CHANNEL_TIME_CONC_DEFAULT (60)
450
451#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_NAME "gActiveMaxChannelTimeConc"
452#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MIN (0)
453#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_MAX (10000)
454#define CFG_ACTIVE_MAX_CHANNEL_TIME_CONC_DEFAULT (40)
455
456#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_NAME "gActiveMinChannelTimeConc"
457#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MIN (0)
458#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_MAX (10000)
459#define CFG_ACTIVE_MIN_CHANNEL_TIME_CONC_DEFAULT (20)
460
461#define CFG_REST_TIME_CONC_NAME "gRestTimeConc"
462#define CFG_REST_TIME_CONC_MIN (0)
463#define CFG_REST_TIME_CONC_MAX (10000)
464#define CFG_REST_TIME_CONC_DEFAULT (100)
465
466#define CFG_NUM_STA_CHAN_COMBINED_CONC_NAME "gNumStaChanCombinedConc"
467#define CFG_NUM_STA_CHAN_COMBINED_CONC_MIN (1)
468#define CFG_NUM_STA_CHAN_COMBINED_CONC_MAX (255)
469#define CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT (3)
470
471#define CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME "gNumP2PChanCombinedConc"
472#define CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN (1)
473#define CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX (255)
474#define CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT (1)
475#endif
476
477#define CFG_MAX_PS_POLL_NAME "gMaxPsPoll"
478#define CFG_MAX_PS_POLL_MIN WNI_CFG_MAX_PS_POLL_STAMIN
479#define CFG_MAX_PS_POLL_MAX WNI_CFG_MAX_PS_POLL_STAMAX
480#define CFG_MAX_PS_POLL_DEFAULT WNI_CFG_MAX_PS_POLL_STADEF
481
482#define CFG_MAX_TX_POWER_NAME "gTxPowerCap"
483#define CFG_MAX_TX_POWER_MIN WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMIN
484#define CFG_MAX_TX_POWER_MAX WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
485/* Not to use CFG default because if no registry setting, this is ignored by SME. */
486#define CFG_MAX_TX_POWER_DEFAULT WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
487
488#define CFG_LOW_GAIN_OVERRIDE_NAME "gLowGainOverride"
489#define CFG_LOW_GAIN_OVERRIDE_MIN WNI_CFG_LOW_GAIN_OVERRIDE_STAMIN
490#define CFG_LOW_GAIN_OVERRIDE_MAX WNI_CFG_LOW_GAIN_OVERRIDE_STAMAX
491#define CFG_LOW_GAIN_OVERRIDE_DEFAULT WNI_CFG_LOW_GAIN_OVERRIDE_STADEF
492
493#define CFG_RSSI_FILTER_PERIOD_NAME "gRssiFilterPeriod"
494#define CFG_RSSI_FILTER_PERIOD_MIN WNI_CFG_RSSI_FILTER_PERIOD_STAMIN
495#define CFG_RSSI_FILTER_PERIOD_MAX WNI_CFG_RSSI_FILTER_PERIOD_STAMAX
496/* Increased this value for Non-ESE AP. This is cause FW RSSI Monitoring */
497/* the consumer of this value is ON by default. So to impact power numbers */
498/* we are setting this to a high value. */
499#define CFG_RSSI_FILTER_PERIOD_DEFAULT WNI_CFG_RSSI_FILTER_PERIOD_STADEF
500
501#define CFG_IGNORE_DTIM_NAME "gIgnoreDtim"
502#define CFG_IGNORE_DTIM_MIN WNI_CFG_IGNORE_DTIM_STAMIN
503#define CFG_IGNORE_DTIM_MAX WNI_CFG_IGNORE_DTIM_STAMAX
504#define CFG_IGNORE_DTIM_DEFAULT WNI_CFG_IGNORE_DTIM_STADEF
505
506#define CFG_MAX_LI_MODULATED_DTIM_NAME "gMaxLIModulatedDTIM"
507#define CFG_MAX_LI_MODULATED_DTIM_MIN (1)
508#define CFG_MAX_LI_MODULATED_DTIM_MAX (10)
509#define CFG_MAX_LI_MODULATED_DTIM_DEFAULT (10)
510
511#define CFG_RX_ANT_CONFIGURATION_NAME "gNumRxAnt"
512#define CFG_RX_ANT_CONFIGURATION_NAME_MIN (1)
513#define CFG_RX_ANT_CONFIGURATION_NAME_MAX (2)
514#define CFG_RX_ANT_CONFIGURATION_NAME_DEFAULT (2)
515
516#define CFG_FW_HEART_BEAT_MONITORING_NAME "gEnableFWHeartBeatMonitoring"
517#define CFG_FW_HEART_BEAT_MONITORING_MIN (0)
518#define CFG_FW_HEART_BEAT_MONITORING_MAX (1)
519#define CFG_FW_HEART_BEAT_MONITORING_DEFAULT (1)
520
521#define CFG_FW_BEACON_FILTERING_NAME "gEnableFWBeaconFiltering"
522#define CFG_FW_BEACON_FILTERING_MIN (0)
523#define CFG_FW_BEACON_FILTERING_MAX (1)
524#define CFG_FW_BEACON_FILTERING_DEFAULT (1)
525
526#define CFG_FW_RSSI_MONITORING_NAME "gEnableFWRssiMonitoring"
527#define CFG_FW_RSSI_MONITORING_MIN (0)
528#define CFG_FW_RSSI_MONITORING_MAX (1)
529#define CFG_FW_RSSI_MONITORING_DEFAULT (1)
530
531/* enable use of long duration RTS-CTS protection when SAP goes off channel
532 * in MCC mode
533 */
534#define CFG_FW_MCC_RTS_CTS_PROT_NAME "gFWMccRtsCtsProtection"
535#define CFG_FW_MCC_RTS_CTS_PROT_MIN (0)
536#define CFG_FW_MCC_RTS_CTS_PROT_MAX (1)
537#define CFG_FW_MCC_RTS_CTS_PROT_DEFAULT (0)
538
539/* Enable use of broadcast probe response to increase the detectability of
540 * SAP in MCC mode
541 */
542#define CFG_FW_MCC_BCAST_PROB_RESP_NAME "gFWMccBCastProbeResponse"
543#define CFG_FW_MCC_BCAST_PROB_RESP_MIN (0)
544#define CFG_FW_MCC_BCAST_PROB_RESP_MAX (1)
545#define CFG_FW_MCC_BCAST_PROB_RESP_DEFAULT (0)
546
547#define CFG_DATA_INACTIVITY_TIMEOUT_NAME "gDataInactivityTimeout"
548#define CFG_DATA_INACTIVITY_TIMEOUT_MIN (1)
549#define CFG_DATA_INACTIVITY_TIMEOUT_MAX (255)
550#define CFG_DATA_INACTIVITY_TIMEOUT_DEFAULT (20)
551
552#define CFG_RF_SETTLING_TIME_CLK_NAME "rfSettlingTimeUs"
553#define CFG_RF_SETTLING_TIME_CLK_MIN (0)
554#define CFG_RF_SETTLING_TIME_CLK_MAX (60000)
555#define CFG_RF_SETTLING_TIME_CLK_DEFAULT (1500)
556
557#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_NAME "gStaKeepAlivePeriod"
558#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MIN (0)
559#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_MAX (65535)
560#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD_DEFAULT (0)
561
562/* WMM configuration */
563#define CFG_QOS_WMM_MODE_NAME "WmmIsEnabled"
564#define CFG_QOS_WMM_MODE_MIN (0)
565#define CFG_QOS_WMM_MODE_MAX (2) /* HDD_WMM_NO_QOS */
566#define CFG_QOS_WMM_MODE_DEFAULT (0) /* HDD_WMM_AUTO */
567
568#define CFG_QOS_WMM_80211E_ENABLED_NAME "80211eIsEnabled"
569#define CFG_QOS_WMM_80211E_ENABLED_MIN (0)
570#define CFG_QOS_WMM_80211E_ENABLED_MAX (1)
571#define CFG_QOS_WMM_80211E_ENABLED_DEFAULT (0)
572
573#define CFG_QOS_WMM_UAPSD_MASK_NAME "UapsdMask" /* ACs to setup U-APSD for at assoc */
574#define CFG_QOS_WMM_UAPSD_MASK_MIN (0x00)
575#define CFG_QOS_WMM_UAPSD_MASK_MAX (0xFF)
576#define CFG_QOS_WMM_UAPSD_MASK_DEFAULT (0x00)
577
578#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_NAME "InfraUapsdVoSrvIntv"
579#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MIN (0)
580#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_MAX (4294967295UL)
581#define CFG_QOS_WMM_INFRA_UAPSD_VO_SRV_INTV_DEFAULT (20)
582
583#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_NAME "InfraUapsdVoSuspIntv"
584#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MIN (0)
585#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_MAX (4294967295UL)
586#define CFG_QOS_WMM_INFRA_UAPSD_VO_SUS_INTV_DEFAULT (2000)
587
588#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_NAME "InfraUapsdViSrvIntv"
589#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MIN (0)
590#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_MAX (4294967295UL)
591#define CFG_QOS_WMM_INFRA_UAPSD_VI_SRV_INTV_DEFAULT (300)
592
593#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_NAME "InfraUapsdViSuspIntv"
594#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MIN (0)
595#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_MAX (4294967295UL)
596#define CFG_QOS_WMM_INFRA_UAPSD_VI_SUS_INTV_DEFAULT (2000)
597
598#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_NAME "InfraUapsdBeSrvIntv"
599#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MIN (0)
600#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_MAX (4294967295UL)
601#define CFG_QOS_WMM_INFRA_UAPSD_BE_SRV_INTV_DEFAULT (300)
602
603#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_NAME "InfraUapsdBeSuspIntv"
604#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MIN (0)
605#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_MAX (4294967295UL)
606#define CFG_QOS_WMM_INFRA_UAPSD_BE_SUS_INTV_DEFAULT (2000)
607
608#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_NAME "InfraUapsdBkSrvIntv"
609#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MIN (0)
610#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_MAX (4294967295UL)
611#define CFG_QOS_WMM_INFRA_UAPSD_BK_SRV_INTV_DEFAULT (300)
612
613#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_NAME "InfraUapsdBkSuspIntv"
614#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MIN (0)
615#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_MAX (4294967295UL)
616#define CFG_QOS_WMM_INFRA_UAPSD_BK_SUS_INTV_DEFAULT (2000)
617
618#ifdef FEATURE_WLAN_ESE
619#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_NAME "InfraInactivityInterval"
620#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MIN (0)
621#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_MAX (4294967295UL)
622#define CFG_QOS_WMM_INFRA_INACTIVITY_INTERVAL_DEFAULT (0) /* disabled */
623
624#define CFG_ESE_FEATURE_ENABLED_NAME "EseEnabled"
625#define CFG_ESE_FEATURE_ENABLED_MIN (0)
626#define CFG_ESE_FEATURE_ENABLED_MAX (1)
627#define CFG_ESE_FEATURE_ENABLED_DEFAULT (0) /* disabled */
628#endif /* FEATURE_WLAN_ESE */
629
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800630#define CFG_LFR_FEATURE_ENABLED_NAME "FastRoamEnabled"
631#define CFG_LFR_FEATURE_ENABLED_MIN (0)
632#define CFG_LFR_FEATURE_ENABLED_MAX (1)
633#define CFG_LFR_FEATURE_ENABLED_DEFAULT (0) /* disabled */
634
635#define CFG_LFR_MAWC_FEATURE_ENABLED_NAME "MAWCEnabled"
636#define CFG_LFR_MAWC_FEATURE_ENABLED_MIN (0)
637#define CFG_LFR_MAWC_FEATURE_ENABLED_MAX (1)
638#define CFG_LFR_MAWC_FEATURE_ENABLED_DEFAULT (0) /* disabled */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800639
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800640/* This flag will control fasttransition in case of 11r and ese. */
641/* Basically with this the whole neighbor roam, pre-auth, reassoc */
642/* can be turned ON/OFF. */
643/* With this turned OFF 11r will completely not work. */
644/* For 11r this flag has to be ON. */
645/* For ESE fastroam will not work. */
646#define CFG_FAST_TRANSITION_ENABLED_NAME "FastTransitionEnabled"
647#define CFG_FAST_TRANSITION_ENABLED_NAME_MIN (0)
648#define CFG_FAST_TRANSITION_ENABLED_NAME_MAX (1)
649#define CFG_FAST_TRANSITION_ENABLED_NAME_DEFAULT (1) /* Enabled */
650
651/* This parameter is used to decide whether to Roam or not.
652 * AP1 is the currently associated AP and AP2 is chosen for roaming.
653 * The Roaming will happen only if AP2 has better Signal Quality and it has a RSSI better than AP1
654 * in terms of RoamRssiDiff,and RoamRssiDiff is the number of units (typically measured in dB) AP2
655 * is better than AP1.
656 * This check is not done if the value is Zero */
657#define CFG_ROAM_RSSI_DIFF_NAME "RoamRssiDiff"
658#define CFG_ROAM_RSSI_DIFF_MIN (0)
659#define CFG_ROAM_RSSI_DIFF_MAX (30)
660#define CFG_ROAM_RSSI_DIFF_DEFAULT (5)
661
662/*This parameter is used to set Wireless Extended Security Mode.*/
663#define CFG_ENABLE_WES_MODE_NAME "gWESModeEnabled"
664#define CFG_ENABLE_WES_MODE_NAME_MIN (0)
665#define CFG_ENABLE_WES_MODE_NAME_MAX (1)
666#define CFG_ENABLE_WES_MODE_NAME_DEFAULT (0)
667
668#define CFG_ROAM_SCAN_N_PROBES "gRoamScanNProbes"
669#define CFG_ROAM_SCAN_N_PROBES_MIN (1)
670#define CFG_ROAM_SCAN_N_PROBES_MAX (10)
671#define CFG_ROAM_SCAN_N_PROBES_DEFAULT (2)
672
673#define CFG_ROAM_SCAN_HOME_AWAY_TIME "gRoamScanHomeAwayTime"
674#define CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN (0) /* 0 for disable */
675#define CFG_ROAM_SCAN_HOME_AWAY_TIME_MAX (300)
676#define CFG_ROAM_SCAN_HOME_AWAY_TIME_DEFAULT (CFG_ROAM_SCAN_HOME_AWAY_TIME_MIN)
677/* disabled by default */
678
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800679#ifdef FEATURE_WLAN_OKC
680#define CFG_OKC_FEATURE_ENABLED_NAME "OkcEnabled"
681#define CFG_OKC_FEATURE_ENABLED_MIN (0)
682#define CFG_OKC_FEATURE_ENABLED_MAX (1)
683#define CFG_OKC_FEATURE_ENABLED_DEFAULT (1)
684#endif
685
686#define CFG_ROAM_SCAN_OFFLOAD_ENABLED "gRoamScanOffloadEnabled"
687#define CFG_ROAM_SCAN_OFFLOAD_ENABLED_MIN (0)
688#define CFG_ROAM_SCAN_OFFLOAD_ENABLED_MAX (1)
689#define CFG_ROAM_SCAN_OFFLOAD_ENABLED_DEFAULT (1)
690
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800691/* default TSPEC parameters for AC_VO */
692#define CFG_QOS_WMM_INFRA_DIR_AC_VO_NAME "InfraDirAcVo"
693#define CFG_QOS_WMM_INFRA_DIR_AC_VO_MIN (0)
694#define CFG_QOS_WMM_INFRA_DIR_AC_VO_MAX (3)
695#define CFG_QOS_WMM_INFRA_DIR_AC_VO_DEFAULT (3) /* WLAN_QCT_CUST_WMM_TSDIR_BOTH */
696
697#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_NAME "InfraNomMsduSizeAcVo"
698#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MIN (0x0)
699#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_MAX (0xFFFF)
700#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VO_DEFAULT (0x80D0)
701
702#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_NAME "InfraMeanDataRateAcVo"
703#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MIN (0x0)
704#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_MAX (0xFFFFFFFF)
705#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VO_DEFAULT (0x14500)
706
707#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_NAME "InfraMinPhyRateAcVo"
708#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MIN (0x0)
709#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_MAX (0xFFFFFFFF)
710#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VO_DEFAULT (0x5B8D80)
711
712#define CFG_QOS_WMM_INFRA_SBA_AC_VO_NAME "InfraSbaAcVo"
713#define CFG_QOS_WMM_INFRA_SBA_AC_VO_MIN (0x2001)
714#define CFG_QOS_WMM_INFRA_SBA_AC_VO_MAX (0xFFFF)
715#define CFG_QOS_WMM_INFRA_SBA_AC_VO_DEFAULT (0x2001)
716
717/* default TSPEC parameters for AC_VI */
718#define CFG_QOS_WMM_INFRA_DIR_AC_VI_NAME "InfraDirAcVi"
719#define CFG_QOS_WMM_INFRA_DIR_AC_VI_MIN (0)
720#define CFG_QOS_WMM_INFRA_DIR_AC_VI_MAX (3)
721#define CFG_QOS_WMM_INFRA_DIR_AC_VI_DEFAULT (3) /* WLAN_QCT_CUST_WMM_TSDIR_BOTH */
722
723#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_NAME "InfraNomMsduSizeAcVi"
724#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MIN (0x0)
725#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_MAX (0xFFFF)
726#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_VI_DEFAULT (0x85DC)
727
728#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_NAME "InfraMeanDataRateAcVi"
729#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MIN (0x0)
730#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_MAX (0xFFFFFFFF)
731#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_VI_DEFAULT (0x57E40)
732
733#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_NAME "InfraMinPhyRateAcVi"
734#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MIN (0x0)
735#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_MAX (0xFFFFFFFF)
736#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_VI_DEFAULT (0x5B8D80)
737
738#define CFG_QOS_WMM_INFRA_SBA_AC_VI_NAME "InfraSbaAcVi"
739#define CFG_QOS_WMM_INFRA_SBA_AC_VI_MIN (0x2001)
740#define CFG_QOS_WMM_INFRA_SBA_AC_VI_MAX (0xFFFF)
741#define CFG_QOS_WMM_INFRA_SBA_AC_VI_DEFAULT (0x2001)
742
743/* default TSPEC parameters for AC_BE*/
744#define CFG_QOS_WMM_INFRA_DIR_AC_BE_NAME "InfraDirAcBe"
745#define CFG_QOS_WMM_INFRA_DIR_AC_BE_MIN (0)
746#define CFG_QOS_WMM_INFRA_DIR_AC_BE_MAX (3)
747#define CFG_QOS_WMM_INFRA_DIR_AC_BE_DEFAULT (3) /* WLAN_QCT_CUST_WMM_TSDIR_BOTH */
748
749#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_NAME "InfraNomMsduSizeAcBe"
750#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MIN (0x0)
751#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_MAX (0xFFFF)
752#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BE_DEFAULT (0x85DC)
753
754#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_NAME "InfraMeanDataRateAcBe"
755#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MIN (0x0)
756#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_MAX (0xFFFFFFFF)
757#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BE_DEFAULT (0x493E0)
758
759#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_NAME "InfraMinPhyRateAcBe"
760#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MIN (0x0)
761#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_MAX (0xFFFFFFFF)
762#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BE_DEFAULT (0x5B8D80)
763
764#define CFG_QOS_WMM_INFRA_SBA_AC_BE_NAME "InfraSbaAcBe"
765#define CFG_QOS_WMM_INFRA_SBA_AC_BE_MIN (0x2001)
766#define CFG_QOS_WMM_INFRA_SBA_AC_BE_MAX (0xFFFF)
767#define CFG_QOS_WMM_INFRA_SBA_AC_BE_DEFAULT (0x2001)
768
769/* default TSPEC parameters for AC_Bk*/
770#define CFG_QOS_WMM_INFRA_DIR_AC_BK_NAME "InfraDirAcBk"
771#define CFG_QOS_WMM_INFRA_DIR_AC_BK_MIN (0)
772#define CFG_QOS_WMM_INFRA_DIR_AC_BK_MAX (3)
773#define CFG_QOS_WMM_INFRA_DIR_AC_BK_DEFAULT (3) /* WLAN_QCT_CUST_WMM_TSDIR_BOTH */
774
775#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_NAME "InfraNomMsduSizeAcBk"
776#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MIN (0x0)
777#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_MAX (0xFFFF)
778#define CFG_QOS_WMM_INFRA_NOM_MSDU_SIZE_AC_BK_DEFAULT (0x85DC)
779
780#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_NAME "InfraMeanDataRateAcBk"
781#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MIN (0x0)
782#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_MAX (0xFFFFFFFF)
783#define CFG_QOS_WMM_INFRA_MEAN_DATA_RATE_AC_BK_DEFAULT (0x493E0)
784
785#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_NAME "InfraMinPhyRateAcBk"
786#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MIN (0x0)
787#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_MAX (0xFFFFFFFF)
788#define CFG_QOS_WMM_INFRA_MIN_PHY_RATE_AC_BK_DEFAULT (0x5B8D80)
789
790#define CFG_QOS_WMM_INFRA_SBA_AC_BK_NAME "InfraSbaAcBk"
791#define CFG_QOS_WMM_INFRA_SBA_AC_BK_MIN (0x2001)
792#define CFG_QOS_WMM_INFRA_SBA_AC_BK_MAX (0xFFFF)
793#define CFG_QOS_WMM_INFRA_SBA_AC_BK_DEFAULT (0x2001)
794
795#define CFG_TL_DELAYED_TRGR_FRM_INT_NAME "DelayedTriggerFrmInt"
796#define CFG_TL_DELAYED_TRGR_FRM_INT_MIN 1
797#define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL)
798#define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000
799
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800800#define CFG_RRM_ENABLE_NAME "gRrmEnable"
801#define CFG_RRM_ENABLE_MIN (0)
802#define CFG_RRM_ENABLE_MAX (1)
803#define CFG_RRM_ENABLE_DEFAULT (0)
804
805#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_NAME "gRrmOperChanMax" /* section 11.10.3 IEEE std. 802.11k-2008 */
806#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MIN (0) /* Maxduration = 2^(maxDuration - 4) * bcnIntvl. */
807#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_MAX (8)
808#define CFG_RRM_OPERATING_CHAN_MAX_DURATION_DEFAULT (3) /* max duration = 2^-1 * bcnIntvl (50% of bcn intvl) */
809
810#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_NAME "gRrmNonOperChanMax" /* Same as above. */
811#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MIN (0)
812#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_MAX (8)
813#define CFG_RRM_NON_OPERATING_CHAN_MAX_DURATION_DEFAULT (3)
814
815#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_NAME "gRrmRandnIntvl"
816#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MIN (10)
817#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_MAX (100)
818#define CFG_RRM_MEAS_RANDOMIZATION_INTVL_DEFAULT (100)
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -0800819
820/**
821 * This INI is used to configure RM enabled capabilities IE.
822 * Using this INI, we can set/unset any of the bits in 5 bytes
823 * (last 4bytes are reserved). Bit details are updated as per
824 * Draft version of 11mc spec. (Draft P802.11REVmc_D4.2)
825 *
826 * Bitwise details are defined as bit mask in rrmGlobal.h
827 * Comma is used as a separator for each byte.
828 */
829#define CFG_RM_CAPABILITY_NAME "rm_capability"
830#define CFG_RM_CAPABILITY_DEFAULT "73,00,6D,00,04"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800831
832#define CFG_QOS_IMPLICIT_SETUP_ENABLED_NAME "ImplicitQosIsEnabled"
833#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MIN (0)
834#define CFG_QOS_IMPLICIT_SETUP_ENABLED_MAX (1)
835#define CFG_QOS_IMPLICIT_SETUP_ENABLED_DEFAULT (1)
836
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800837#define CFG_FT_RESOURCE_REQ_NAME "gFTResourceReqSupported"
838#define CFG_FT_RESOURCE_REQ_MIN (0)
839#define CFG_FT_RESOURCE_REQ_MAX (1)
840#define CFG_FT_RESOURCE_REQ_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800841
842#define CFG_TELE_BCN_TRANS_LI_NAME "telescopicBeaconTransListenInterval"
843#define CFG_TELE_BCN_TRANS_LI_MIN (0)
844#define CFG_TELE_BCN_TRANS_LI_MAX (7)
845#define CFG_TELE_BCN_TRANS_LI_DEFAULT (3)
846
847#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_NAME "telescopicBeaconTransListenIntervalNumIdleBcns"
848#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MIN (5)
849#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_MAX (255)
850#define CFG_TELE_BCN_TRANS_LI_NUM_IDLE_BCNS_DEFAULT (10)
851
852#define CFG_TELE_BCN_MAX_LI_NAME "telescopicBeaconMaxListenInterval"
853#define CFG_TELE_BCN_MAX_LI_MIN (0)
854#define CFG_TELE_BCN_MAX_LI_MAX (7)
855#define CFG_TELE_BCN_MAX_LI_DEFAULT (5)
856
857#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_NAME "telescopicBeaconMaxListenIntervalNumIdleBcns"
858#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MIN (5)
859#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_MAX (255)
860#define CFG_TELE_BCN_MAX_LI_NUM_IDLE_BCNS_DEFAULT (15)
861
862#define CFG_BCN_EARLY_TERM_WAKE_NAME "beaconEarlyTerminationWakeInterval"
863#define CFG_BCN_EARLY_TERM_WAKE_MIN (2)
864#define CFG_BCN_EARLY_TERM_WAKE_MAX (255)
865#define CFG_BCN_EARLY_TERM_WAKE_DEFAULT (3)
866
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800867#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_NAME "gNeighborScanTimerPeriod"
868#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MIN (3)
869#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_MAX (300)
870#define CFG_NEIGHBOR_SCAN_TIMER_PERIOD_DEFAULT (200)
871
872#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME "gNeighborLookupThreshold"
873#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN (10)
874#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX (120)
875#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_DEFAULT (78)
876
877#define CFG_DELAY_BEFORE_VDEV_STOP_NAME "gDelayBeforeVdevStop"
878#define CFG_DELAY_BEFORE_VDEV_STOP_MIN (2)
879#define CFG_DELAY_BEFORE_VDEV_STOP_MAX (200)
880#define CFG_DELAY_BEFORE_VDEV_STOP_DEFAULT (20)
881
882/*
883 * This parameter is the drop in RSSI value that will trigger a precautionary
884 * scan by firmware.
885 * MAX value is choose so that this type of scan can be disabled by user.
886 */
887#define CFG_ROAM_RESCAN_RSSI_DIFF_NAME "gRoamRescanRssiDiff"
888#define CFG_ROAM_RESCAN_RSSI_DIFF_MIN (0)
889#define CFG_ROAM_RESCAN_RSSI_DIFF_MAX (100)
890#define CFG_ROAM_RESCAN_RSSI_DIFF_DEFAULT (5)
891
892/*
893 * This parameter is the RSSI diff above neighbor lookup threshold, when
894 * opportunistic scan should be triggered.
895 * MAX value is choose so that this type of scan can be always enabled by user.
896 * MIN value will cause opportunistic scan to be triggered in neighbor lookup
897 * RSSI range.
898 */
899#define CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_NAME "gOpportunisticThresholdDiff"
900#define CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MIN (0)
901#define CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_MAX (127)
902#define CFG_OPPORTUNISTIC_SCAN_THRESHOLD_DIFF_DEFAULT (0)
903
904#define CFG_NEIGHBOR_SCAN_CHAN_LIST_NAME "gNeighborScanChannelList"
905#define CFG_NEIGHBOR_SCAN_CHAN_LIST_DEFAULT ""
906
907#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_NAME "gNeighborScanChannelMinTime"
908#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MIN (10)
909#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_MAX (40)
910#define CFG_NEIGHBOR_SCAN_MIN_CHAN_TIME_DEFAULT (20)
911
912#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_NAME "gNeighborScanChannelMaxTime"
913#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MIN (3)
914#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_MAX (300)
915#define CFG_NEIGHBOR_SCAN_MAX_CHAN_TIME_DEFAULT (30)
916
917#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_NAME "gMaxNeighborReqTries"
918#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MIN (1)
919#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_MAX (4)
920#define CFG_11R_NEIGHBOR_REQ_MAX_TRIES_DEFAULT (3)
921
922#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_NAME "gNeighborScanRefreshPeriod"
923#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MIN (1000)
924#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_MAX (60000)
925#define CFG_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD_DEFAULT (20000)
926
927#define CFG_EMPTY_SCAN_REFRESH_PERIOD_NAME "gEmptyScanRefreshPeriod"
928#define CFG_EMPTY_SCAN_REFRESH_PERIOD_MIN (0)
929#define CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX (60000)
930#define CFG_EMPTY_SCAN_REFRESH_PERIOD_DEFAULT (0)
931
932#define CFG_ROAM_BMISS_FIRST_BCNT_NAME "gRoamBmissFirstBcnt"
933#define CFG_ROAM_BMISS_FIRST_BCNT_MIN (5)
934#define CFG_ROAM_BMISS_FIRST_BCNT_MAX (100)
935#define CFG_ROAM_BMISS_FIRST_BCNT_DEFAULT (10)
936
937#define CFG_ROAM_BMISS_FINAL_BCNT_NAME "gRoamBmissFinalBcnt"
938#define CFG_ROAM_BMISS_FINAL_BCNT_MIN (5)
939#define CFG_ROAM_BMISS_FINAL_BCNT_MAX (100)
940#define CFG_ROAM_BMISS_FINAL_BCNT_DEFAULT (10)
941
942#define CFG_ROAM_BEACON_RSSI_WEIGHT_NAME "gRoamBeaconRssiWeight"
943#define CFG_ROAM_BEACON_RSSI_WEIGHT_MIN (0)
944#define CFG_ROAM_BEACON_RSSI_WEIGHT_MAX (16)
945#define CFG_ROAM_BEACON_RSSI_WEIGHT_DEFAULT (14)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -0800946
947#define CFG_QOS_WMM_BURST_SIZE_DEFN_NAME "burstSizeDefinition"
948#define CFG_QOS_WMM_BURST_SIZE_DEFN_MIN (0)
949#define CFG_QOS_WMM_BURST_SIZE_DEFN_MAX (1)
950#define CFG_QOS_WMM_BURST_SIZE_DEFN_DEFAULT (0)
951
952#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_NAME "tsInfoAckPolicy"
953#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN (0x00)
954#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX (0x01)
955#define CFG_QOS_WMM_TS_INFO_ACK_POLICY_DEFAULT (0x00)
956
957#define CFG_SINGLE_TID_RC_NAME "SingleTIDRC"
958#define CFG_SINGLE_TID_RC_MIN (0) /* Seperate replay counter for all TID */
959#define CFG_SINGLE_TID_RC_MAX (1) /* Single replay counter for all TID */
960#define CFG_SINGLE_TID_RC_DEFAULT (1)
961#define CFG_MCAST_BCAST_FILTER_SETTING_NAME "McastBcastFilter"
962#define CFG_MCAST_BCAST_FILTER_SETTING_MIN (0)
963#define CFG_MCAST_BCAST_FILTER_SETTING_MAX (3)
964#define CFG_MCAST_BCAST_FILTER_SETTING_DEFAULT (0)
965
966#define CFG_DYNAMIC_PSPOLL_VALUE_NAME "gDynamicPSPollvalue"
967#define CFG_DYNAMIC_PSPOLL_VALUE_MIN (0)
968#define CFG_DYNAMIC_PSPOLL_VALUE_MAX (255)
969#define CFG_DYNAMIC_PSPOLL_VALUE_DEFAULT (0)
970
971#define CFG_TELE_BCN_WAKEUP_EN_NAME "gTelescopicBeaconWakeupEn"
972#define CFG_TELE_BCN_WAKEUP_EN_MIN (0)
973#define CFG_TELE_BCN_WAKEUP_EN_MAX (1)
974#define CFG_TELE_BCN_WAKEUP_EN_DEFAULT (0)
975
976#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_NAME "gAddTSWhenACMIsOff"
977#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MIN (0)
978#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_MAX (1) /* Send AddTs even when ACM is not set for the AC */
979#define CFG_QOS_ADDTS_WHEN_ACM_IS_OFF_DEFAULT (0)
980
981#define CFG_VALIDATE_SCAN_LIST_NAME "gValidateScanList"
982#define CFG_VALIDATE_SCAN_LIST_MIN (0)
983#define CFG_VALIDATE_SCAN_LIST_MAX (1)
984#define CFG_VALIDATE_SCAN_LIST_DEFAULT (0)
985
986#define CFG_NULLDATA_AP_RESP_TIMEOUT_NAME "gNullDataApRespTimeout"
987#define CFG_NULLDATA_AP_RESP_TIMEOUT_MIN (WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMIN)
988#define CFG_NULLDATA_AP_RESP_TIMEOUT_MAX (WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STAMAX)
989#define CFG_NULLDATA_AP_RESP_TIMEOUT_DEFAULT (WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT_STADEF)
990
991#define CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME "gApDataAvailPollInterval"
992#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMIN)
993#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMAX)
994#define CFG_AP_DATA_AVAIL_POLL_PERIOD_DEFAULT (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STADEF)
995
996#define CFG_ENABLE_HOST_ARPOFFLOAD_NAME "hostArpOffload"
997#define CFG_ENABLE_HOST_ARPOFFLOAD_MIN (0)
998#define CFG_ENABLE_HOST_ARPOFFLOAD_MAX (1)
999#define CFG_ENABLE_HOST_ARPOFFLOAD_DEFAULT (0)
1000
1001#define CFG_ENABLE_HOST_SSDP_NAME "ssdp"
1002#define CFG_ENABLE_HOST_SSDP_MIN (0)
1003#define CFG_ENABLE_HOST_SSDP_MAX (1)
1004#define CFG_ENABLE_HOST_SSDP_DEFAULT (1)
1005
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07001006#ifdef FEATURE_RUNTIME_PM
1007/*
1008 * config item to enable runtime suspend
1009 * 1 means runtime suspend is enabled
1010 * by default runtime suspend is disabled
1011 */
1012#define CFG_ENABLE_RUNTIME_PM "gRuntimePM"
1013#define CFG_ENABLE_RUNTIME_PM_MIN (0)
1014#define CFG_ENABLE_RUNTIME_PM_MAX (1)
1015#define CFG_ENABLE_RUNTIME_PM_DEFAULT (0)
1016
1017/*
1018 * config item for runtime pm's inactivity timer.
1019 * the wlan driver will wait for this number of miliseconds
1020 * of inactivity before performing a runtime suspend.
1021 */
1022#define CFG_RUNTIME_PM_DELAY_NAME "gRuntimePMDelay"
1023#define CFG_RUNTIME_PM_DELAY_MIN (100)
1024#define CFG_RUNTIME_PM_DELAY_MAX (10000)
1025#define CFG_RUNTIME_PM_DELAY_DEFAULT (500)
1026#endif
1027
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001028#define CFG_ENABLE_HOST_NSOFFLOAD_NAME "hostNSOffload"
1029#define CFG_ENABLE_HOST_NSOFFLOAD_MIN (0)
1030#define CFG_ENABLE_HOST_NSOFFLOAD_MAX (1)
1031#define CFG_ENABLE_HOST_NSOFFLOAD_DEFAULT (0)
1032
1033#define CFG_BAND_CAPABILITY_NAME "BandCapability"
1034#define CFG_BAND_CAPABILITY_MIN (0)
1035#define CFG_BAND_CAPABILITY_MAX (2)
1036#define CFG_BAND_CAPABILITY_DEFAULT (0)
1037
1038#define CFG_ENABLE_BEACON_EARLY_TERMINATION_NAME "enableBeaconEarlyTermination"
1039#define CFG_ENABLE_BEACON_EARLY_TERMINATION_MIN (0)
1040#define CFG_ENABLE_BEACON_EARLY_TERMINATION_MAX (1)
1041#define CFG_ENABLE_BEACON_EARLY_TERMINATION_DEFAULT (0)
1042
1043#define CFG_ENABLE_CLOSE_LOOP_NAME "gEnableCloseLoop"
1044#define CFG_ENABLE_CLOSE_LOOP_MIN WNI_CFG_FIXED_RATE_STAMIN
1045#define CFG_ENABLE_CLOSE_LOOP_MAX WNI_CFG_FIXED_RATE_STAMAX
1046#define CFG_ENABLE_CLOSE_LOOP_DEFAULT WNI_CFG_FIXED_RATE_STADEF
1047
1048#define CFG_ENABLE_BYPASS_11D_NAME "gEnableBypass11d"
1049#define CFG_ENABLE_BYPASS_11D_MIN (0)
1050#define CFG_ENABLE_BYPASS_11D_MAX (1)
1051#define CFG_ENABLE_BYPASS_11D_DEFAULT (1)
1052
1053#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
1054#define CFG_ENABLE_DFS_CHNL_SCAN_MIN (0)
1055#define CFG_ENABLE_DFS_CHNL_SCAN_MAX (1)
1056#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT (1)
1057
1058#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_NAME "gEnableDFSPnoChnlScan"
1059#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_MIN (0)
1060#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_MAX (1)
1061#define CFG_ENABLE_DFS_PNO_CHNL_SCAN_DEFAULT (1)
1062
1063#define CFG_ENABLE_RAMDUMP_COLLECTION "gEnableDumpCollect"
1064#define CFG_ENABLE_RAMDUMP_COLLECTION_MIN (0)
1065#define CFG_ENABLE_RAMDUMP_COLLECTION_MAX (1)
1066#define CFG_ENABLE_RAMDUMP_COLLECTION_DEFAULT (1)
1067
1068typedef enum {
1069 eHDD_LINK_SPEED_REPORT_ACTUAL = 0,
1070 eHDD_LINK_SPEED_REPORT_MAX = 1,
1071 eHDD_LINK_SPEED_REPORT_MAX_SCALED = 2,
1072} eHddLinkSpeedReportType;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001073#define CFG_VHT_CHANNEL_WIDTH "gVhtChannelWidth"
1074#define CFG_VHT_CHANNEL_WIDTH_MIN (0)
1075#define CFG_VHT_CHANNEL_WIDTH_MAX (4)
1076#define CFG_VHT_CHANNEL_WIDTH_DEFAULT (3)
1077
1078#define CFG_VHT_ENABLE_RX_MCS_8_9 "gVhtRxMCS"
1079#define CFG_VHT_ENABLE_RX_MCS_8_9_MIN (0)
1080#define CFG_VHT_ENABLE_RX_MCS_8_9_MAX (2)
1081#define CFG_VHT_ENABLE_RX_MCS_8_9_DEFAULT (0)
1082
1083#define CFG_VHT_ENABLE_TX_MCS_8_9 "gVhtTxMCS"
1084#define CFG_VHT_ENABLE_TX_MCS_8_9_MIN (0)
1085#define CFG_VHT_ENABLE_TX_MCS_8_9_MAX (2)
1086#define CFG_VHT_ENABLE_TX_MCS_8_9_DEFAULT (0)
1087
1088#define CFG_VHT_ENABLE_RX_MCS2x2_8_9 "gVhtRxMCS2x2"
1089#define CFG_VHT_ENABLE_RX_MCS2x2_8_9_MIN (0)
1090#define CFG_VHT_ENABLE_RX_MCS2x2_8_9_MAX (2)
1091#define CFG_VHT_ENABLE_RX_MCS2x2_8_9_DEFAULT (0)
1092
1093#define CFG_VHT_ENABLE_TX_MCS2x2_8_9 "gVhtTxMCS2x2"
1094#define CFG_VHT_ENABLE_TX_MCS2x2_8_9_MIN (0)
1095#define CFG_VHT_ENABLE_TX_MCS2x2_8_9_MAX (2)
1096#define CFG_VHT_ENABLE_TX_MCS2x2_8_9_DEFAULT (0)
1097
1098#define CFG_VHT_ENABLE_2x2_CAP_FEATURE "gEnable2x2"
1099#define CFG_VHT_ENABLE_2x2_CAP_FEATURE_MIN (0)
1100#define CFG_VHT_ENABLE_2x2_CAP_FEATURE_MAX (1)
1101#define CFG_VHT_ENABLE_2x2_CAP_FEATURE_DEFAULT (0)
1102
1103#define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE "gEnableMuBformee"
1104#define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MIN (0)
1105#define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_MAX (1)
1106#define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE_DEFAULT (0)
1107
1108#define CFG_VHT_ENABLE_PAID_FEATURE "gEnablePAID"
1109#define CFG_VHT_ENABLE_PAID_FEATURE_MIN (0)
1110#define CFG_VHT_ENABLE_PAID_FEATURE_MAX (1)
1111#define CFG_VHT_ENABLE_PAID_FEATURE_DEFAULT (0)
1112
1113#define CFG_VHT_ENABLE_GID_FEATURE "gEnableGID"
1114#define CFG_VHT_ENABLE_GID_FEATURE_MIN (0)
1115#define CFG_VHT_ENABLE_GID_FEATURE_MAX (1)
1116#define CFG_VHT_ENABLE_GID_FEATURE_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001117
1118#define CFG_VHT_ENABLE_1x1_TX_CHAINMASK "gSetTxChainmask1x1"
1119#define CFG_VHT_ENABLE_1x1_TX_CHAINMASK_MIN (1)
1120#define CFG_VHT_ENABLE_1x1_TX_CHAINMASK_MAX (2)
1121#define CFG_VHT_ENABLE_1x1_TX_CHAINMASK_DEFAULT (1)
1122
1123#define CFG_VHT_ENABLE_1x1_RX_CHAINMASK "gSetRxChainmask1x1"
1124#define CFG_VHT_ENABLE_1x1_RX_CHAINMASK_MIN (1)
1125#define CFG_VHT_ENABLE_1x1_RX_CHAINMASK_MAX (2)
1126#define CFG_VHT_ENABLE_1x1_RX_CHAINMASK_DEFAULT (1)
1127
1128#define CFG_ENABLE_AMPDUPS_FEATURE "gEnableAMPDUPS"
1129#define CFG_ENABLE_AMPDUPS_FEATURE_MIN (0)
1130#define CFG_ENABLE_AMPDUPS_FEATURE_MAX (1)
1131#define CFG_ENABLE_AMPDUPS_FEATURE_DEFAULT (0)
1132
1133#define CFG_HT_ENABLE_SMPS_CAP_FEATURE "gEnableHtSMPS"
1134#define CFG_HT_ENABLE_SMPS_CAP_FEATURE_MIN (0)
1135#define CFG_HT_ENABLE_SMPS_CAP_FEATURE_MAX (1)
1136#define CFG_HT_ENABLE_SMPS_CAP_FEATURE_DEFAULT (0)
1137
1138#define CFG_HT_SMPS_CAP_FEATURE "gHtSMPS"
1139#define CFG_HT_SMPS_CAP_FEATURE_MIN (0)
1140#define CFG_HT_SMPS_CAP_FEATURE_MAX (3)
1141#define CFG_HT_SMPS_CAP_FEATURE_DEFAULT (3)
1142
1143#define CFG_DISABLE_DFS_CH_SWITCH "gDisableDFSChSwitch"
1144#define CFG_DISABLE_DFS_CH_SWITCH_MIN (0)
1145#define CFG_DISABLE_DFS_CH_SWITCH_MAX (1)
1146#define CFG_DISABLE_DFS_CH_SWITCH_DEFAULT (0)
1147
1148#define CFG_ENABLE_DFS_MASTER_CAPABILITY "gEnableDFSMasterCap"
1149#define CFG_ENABLE_DFS_MASTER_CAPABILITY_MIN (0)
1150#define CFG_ENABLE_DFS_MASTER_CAPABILITY_MAX (1)
1151#define CFG_ENABLE_DFS_MASTER_CAPABILITY_DEFAULT (0)
1152
1153#define CFG_SAP_PREFERRED_CHANNEL_LOCATION "gSapPreferredChanLocation"
1154#define CFG_SAP_PREFERRED_CHANNEL_LOCATION_MIN (0)
1155#define CFG_SAP_PREFERRED_CHANNEL_LOCATION_MAX (2)
1156#define CFG_SAP_PREFERRED_CHANNEL_LOCATION_DEFAULT (0)
1157
1158#define CFG_DISABLE_DFS_JAPAN_W53 "gDisableDfsJapanW53"
1159#define CFG_DISABLE_DFS_JAPAN_W53_MIN (0)
1160#define CFG_DISABLE_DFS_JAPAN_W53_MAX (1)
1161#define CFG_DISABLE_DFS_JAPAN_W53_DEFAULT (0)
1162
1163#define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_NAME "dfsPhyerrFilterOffload"
1164#define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MIN (0)
1165#define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_MAX (1)
1166#define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD_DEFAULT (0)
1167
1168#define CFG_REPORT_MAX_LINK_SPEED "gReportMaxLinkSpeed"
1169#define CFG_REPORT_MAX_LINK_SPEED_MIN (eHDD_LINK_SPEED_REPORT_ACTUAL)
1170#define CFG_REPORT_MAX_LINK_SPEED_MAX (eHDD_LINK_SPEED_REPORT_MAX_SCALED)
1171#define CFG_REPORT_MAX_LINK_SPEED_DEFAULT (eHDD_LINK_SPEED_REPORT_MAX_SCALED)
1172
1173/*
1174 * RSSI Thresholds
1175 * Used when eHDD_LINK_SPEED_REPORT_SCALED is selected
1176 */
1177#define CFG_LINK_SPEED_RSSI_HIGH "gLinkSpeedRssiHigh"
1178#define CFG_LINK_SPEED_RSSI_HIGH_MIN (-127)
1179#define CFG_LINK_SPEED_RSSI_HIGH_MAX (0)
1180#define CFG_LINK_SPEED_RSSI_HIGH_DEFAULT (-55)
1181
1182#define CFG_LINK_SPEED_RSSI_MID "gLinkSpeedRssiMed"
1183#define CFG_LINK_SPEED_RSSI_MID_MIN (-127)
1184#define CFG_LINK_SPEED_RSSI_MID_MAX (0)
1185#define CFG_LINK_SPEED_RSSI_MID_DEFAULT (-65)
1186
1187#define CFG_LINK_SPEED_RSSI_LOW "gLinkSpeedRssiLow"
1188#define CFG_LINK_SPEED_RSSI_LOW_MIN (-127)
1189#define CFG_LINK_SPEED_RSSI_LOW_MAX (0)
1190#define CFG_LINK_SPEED_RSSI_LOW_DEFAULT (-80)
1191
1192#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_NAME "isP2pDeviceAddrAdministrated"
1193#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MIN (0)
1194#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_MAX (1)
1195#define CFG_P2P_DEVICE_ADDRESS_ADMINISTRATED_DEFAULT (1)
1196
1197#define CFG_ENABLE_SSR "gEnableSSR"
1198#define CFG_ENABLE_SSR_MIN (0)
1199#define CFG_ENABLE_SSR_MAX (1)
1200#define CFG_ENABLE_SSR_DEFAULT (1)
1201
1202#define CFG_ENABLE_OVERLAP_CH "gEnableOverLapCh"
1203#define CFG_ENABLE_OVERLAP_CH_MIN (0)
1204#define CFG_ENABLE_OVERLAP_CH_MAX (1)
1205#define CFG_ENABLE_OVERLAP_CH_DEFAULT (0)
1206
1207#define CFG_PPS_ENABLE_5G_EBT "gEnable5gEBT"
1208#define CFG_PPS_ENABLE_5G_EBT_FEATURE_MIN (0)
1209#define CFG_PPS_ENABLE_5G_EBT_FEATURE_MAX (1)
1210#define CFG_PPS_ENABLE_5G_EBT_FEATURE_DEFAULT (0)
1211
1212#define CFG_ENABLE_MEMORY_DEEP_SLEEP "gEnableMemDeepSleep"
1213#define CFG_ENABLE_MEMORY_DEEP_SLEEP_MIN (0)
1214#define CFG_ENABLE_MEMORY_DEEP_SLEEP_MAX (1)
1215#define CFG_ENABLE_MEMORY_DEEP_SLEEP_DEFAULT (1)
1216
1217/* In cfg.dat 1=1MBPS, 2=2MBPS, 3=5_5MBPS, 4=11MBPS, 5=6MBPS, 6=9MBPS,
1218 * 7=12MBPS, 8=18MBPS, 9=24MBPS. But 6=9MBPS and 8=18MBPS are not basic
1219 * 11g rates and should not be set by gDefaultRateIndex24Ghz.
1220 */
1221
1222#define CFG_DEFAULT_RATE_INDEX_24GH "gDefaultRateIndex24Ghz"
1223#define CFG_DEFAULT_RATE_INDEX_24GH_MIN (1)
1224#define CFG_DEFAULT_RATE_INDEX_24GH_MAX (9)
1225#define CFG_DEFAULT_RATE_INDEX_24GH_DEFAULT (1)
1226
1227#define CFG_ENABLE_PACKET_LOG "gEnablePacketLog"
1228#define CFG_ENABLE_PACKET_LOG_MIN (0)
1229#define CFG_ENABLE_PACKET_LOG_MAX (1)
1230#define CFG_ENABLE_PACKET_LOG_DEFAULT (1)
1231
1232/* gFwDebugLogType takes values from enum dbglog_process_t,
1233 * make default value as DBGLOG_PROCESS_NET_RAW to give the
1234 * logs to net link since cnss_diag service is started at boot
1235 * time by default.
1236 */
1237#define CFG_ENABLE_FW_LOG_TYPE "gFwDebugLogType"
1238#define CFG_ENABLE_FW_LOG_TYPE_MIN (0)
1239#define CFG_ENABLE_FW_LOG_TYPE_MAX (255)
1240#define CFG_ENABLE_FW_LOG_TYPE_DEFAULT (3)
1241
1242/* gFwDebugLogLevel takes values from enum DBGLOG_LOG_LVL,
1243 * make default value as DBGLOG_WARN to enable error and
1244 * warning logs by default.
1245 */
1246#define CFG_ENABLE_FW_DEBUG_LOG_LEVEL "gFwDebugLogLevel"
1247#define CFG_ENABLE_FW_DEBUG_LOG_LEVEL_MIN (0)
1248#define CFG_ENABLE_FW_DEBUG_LOG_LEVEL_MAX (255)
1249#define CFG_ENABLE_FW_DEBUG_LOG_LEVEL_DEFAULT (4)
1250
1251/* For valid values of log levels check enum DBGLOG_LOG_LVL and
1252 * for valid values of module ids check enum WLAN_MODULE_ID.
1253 */
1254#define CFG_ENABLE_FW_MODULE_LOG_LEVEL "gFwDebugModuleLoglevel"
1255#define CFG_ENABLE_FW_MODULE_LOG_DEFAULT ""
1256
1257#ifdef FEATURE_GREEN_AP
1258#define CFG_ENABLE_GREEN_AP_FEATURE "gEnableGreenAp"
1259#define CFG_ENABLE_GREEN_AP_FEATURE_MIN (0)
1260#define CFG_ENABLE_GREEN_AP_FEATURE_MAX (1)
1261#define CFG_ENABLE_GREEN_AP_FEATURE_DEFAULT (1)
Ryan Hsucb118cf2015-11-09 16:03:53 -08001262
1263/* Enhanced Green AP (EGAP) flags/params */
1264#define CFG_ENABLE_EGAP_ENABLE_FEATURE "gEnableEGAP"
1265#define CFG_ENABLE_EGAP_ENABLE_FEATURE_MIN (0)
1266#define CFG_ENABLE_EGAP_ENABLE_FEATURE_MAX (1)
1267#define CFG_ENABLE_EGAP_ENABLE_FEATURE_DEFAULT (0)
1268
1269#define CFG_ENABLE_EGAP_INACT_TIME_FEATURE "gEGAPInactTime"
1270#define CFG_ENABLE_EGAP_INACT_TIME_FEATURE_MIN (0)
1271#define CFG_ENABLE_EGAP_INACT_TIME_FEATURE_MAX (5000)
1272#define CFG_ENABLE_EGAP_INACT_TIME_FEATURE_DEFAULT (1000)
1273
1274#define CFG_ENABLE_EGAP_WAIT_TIME_FEATURE "gEGAPWaitTime"
1275#define CFG_ENABLE_EGAP_WAIT_TIME_FEATURE_MIN (0)
1276#define CFG_ENABLE_EGAP_WAIT_TIME_FEATURE_MAX (5000)
1277#define CFG_ENABLE_EGAP_WAIT_TIME_FEATURE_DEFAULT (100)
1278
1279#define CFG_ENABLE_EGAP_FLAGS_FEATURE "gEGAPFeatures"
1280#define CFG_ENABLE_EGAP_FLAGS_FEATURE_MIN (0)
1281#define CFG_ENABLE_EGAP_FLAGS_FEATURE_MAX (15)
1282#define CFG_ENABLE_EGAP_FLAGS_FEATURE_DEFAULT (7)
1283/* end Enhanced Green AP flags/params */
1284
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001285#endif
1286
1287#ifdef FEATURE_WLAN_FORCE_SAP_SCC
1288#define CFG_SAP_SCC_CHAN_AVOIDANCE "gSapSccChanAvoidance"
1289#define CFG_SAP_SCC_CHAN_AVOIDANCE_MIN (0)
1290#define CFG_SAP_SCC_CHAN_AVOIDANCE_MAX (1)
1291#define CFG_SAP_SCC_CHAN_AVOIDANCE_DEFAULT (0)
1292#endif /* FEATURE_WLAN_FORCE_SAP_SCC */
1293
1294/*
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301295 * QDF Trace Enable Control
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001296 * Notes:
1297 * the MIN/MAX/DEFAULT values apply for all modules
1298 * the DEFAULT value is outside the valid range. if the DEFAULT
1299 * value is not overridden, then no change will be made to the
1300 * "built in" default values compiled into the code
1301 * values are a bitmap indicating which log levels are to enabled
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301302 * (must match order of qdf_trace_level enumerations)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001303 * 00000001 FATAL
1304 * 00000010 ERROR
1305 * 00000100 WARN
1306 * 00001000 INFO
1307 * 00010000 INFO HIGH
1308 * 00100000 INFO MED
1309 * 01000000 INFO LOW
1310 * 10000000 DEBUG
1311 *
1312 * hence a value of 0xFF would set all bits (enable all logs)
1313 */
1314
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301315#define CFG_QDF_TRACE_ENABLE_WDI_NAME "qdf_trace_enable_wdi"
1316#define CFG_QDF_TRACE_ENABLE_HDD_NAME "qdf_trace_enable_hdd"
1317#define CFG_QDF_TRACE_ENABLE_SME_NAME "qdf_trace_enable_sme"
1318#define CFG_QDF_TRACE_ENABLE_PE_NAME "qdf_trace_enable_pe"
1319#define CFG_QDF_TRACE_ENABLE_PMC_NAME "qdf_trace_enable_pmc"
1320#define CFG_QDF_TRACE_ENABLE_WMA_NAME "qdf_trace_enable_wma"
1321#define CFG_QDF_TRACE_ENABLE_SYS_NAME "qdf_trace_enable_sys"
1322#define CFG_QDF_TRACE_ENABLE_QDF_NAME "qdf_trace_enable_qdf"
1323#define CFG_QDF_TRACE_ENABLE_SAP_NAME "qdf_trace_enable_sap"
1324#define CFG_QDF_TRACE_ENABLE_HDD_SAP_NAME "qdf_trace_enable_hdd_sap"
1325#define CFG_QDF_TRACE_ENABLE_BMI_NAME "qdf_trace_enable_bmi"
1326#define CFG_QDF_TRACE_ENABLE_CFG_NAME "qdf_trace_enable_cfg"
1327#define CFG_QDF_TRACE_ENABLE_EPPING "qdf_trace_enable_epping"
1328#define CFG_QDF_TRACE_ENABLE_QDF_DEVICES "qdf_trace_enable_qdf_devices"
1329#define CFG_QDF_TRACE_ENABLE_TXRX_NAME "cfd_trace_enable_txrx"
1330#define CFG_QDF_TRACE_ENABLE_HTC_NAME "qdf_trace_enable_htc"
1331#define CFG_QDF_TRACE_ENABLE_HIF_NAME "qdf_trace_enable_hif"
1332#define CFG_CDR_TRACE_ENABLE_HDD_SAP_DATA_NAME "qdf_trace_enable_hdd_sap_data"
1333#define CFG_QDF_TRACE_ENABLE_HDD_DATA_NAME "qdf_trace_enable_hdd_data"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001334
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05301335#define CFG_QDF_TRACE_ENABLE_MIN (0)
1336#define CFG_QDF_TRACE_ENABLE_MAX (0xff)
1337#define CFG_QDF_TRACE_ENABLE_DEFAULT (0xffff)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001338
1339#define HDD_MCASTBCASTFILTER_FILTER_NONE 0x00
1340#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST 0x01
1341#define HDD_MCASTBCASTFILTER_FILTER_ALL_BROADCAST 0x02
1342#define HDD_MCASTBCASTFILTER_FILTER_ALL_MULTICAST_BROADCAST 0x03
1343#define HDD_MULTICAST_FILTER_LIST 0x04
1344#define HDD_MULTICAST_FILTER_LIST_CLEAR 0x05
1345
1346/*BMPS Logic
1347 * Notes:
1348 * 1 - Then Host driver and above layers control the PS mechanism
1349 * 0 - Diver/Core Stack internally control the Power saving mechanism
1350 */
1351#define CFG_ANDRIOD_POWER_SAVE_NAME "isAndroidPsEn"
1352#define CFG_ANDRIOD_POWER_SAVE_MIN (0)
1353#define CFG_ANDRIOD_POWER_SAVE_MAX (1)
1354#define CFG_ANDRIOD_POWER_SAVE_DEFAULT (0)
1355
1356/*
1357 * Enable Dynamic DTIM
1358 * Options
1359 * 0 -Disable DynamicDTIM
1360 * 1 to 5 - SLM will switch to DTIM specified here when host suspends and
1361 * switch DTIM1 when host resumes */
1362#define CFG_ENABLE_DYNAMIC_DTIM_NAME "gEnableDynamicDTIM"
1363#define CFG_ENABLE_DYNAMIC_DTIM_MIN (0)
1364#define CFG_ENABLE_DYNAMIC_DTIM_MAX (5)
1365#define CFG_ENABLE_DYNAMIC_DTIM_DEFAULT (0)
1366
1367/*
1368 * Enable First Scan 2G Only
1369 * Options
1370 * 0 - Disable First Scan 2G Option
1371 * 1 - Enable First Scan 2G Option
1372 */
1373#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME "gEnableFirstScan2GOnly"
1374#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MIN (0)
1375#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_MAX (1)
1376#define CFG_ENABLE_FIRST_SCAN_2G_ONLY_DEFAULT (0)
1377
1378/*
1379 * Driver Force ACS is reintroduced for android SAP legacy configuration method.
1380 * If Driver force acs is enabled, channel/ hw config from hostapd is ignored.
1381 * Driver uses INI params dot11Mode, channel bonding mode and vht chan width
1382 * to derive ACS HW mode and operating BW.
1383 *
1384 * Non android platforms shall not use force ACS method and rely on hostapd
1385 * driven ACS method for concurrent SAP ACS configuration, OBSS etc.
1386 */
1387#define CFG_FORCE_SAP_ACS "gApAutoChannelSelection"
1388#define CFG_FORCE_SAP_ACS_MIN (0)
1389#define CFG_FORCE_SAP_ACS_MAX (1)
1390#define CFG_FORCE_SAP_ACS_DEFAULT (0)
1391
1392#define CFG_FORCE_SAP_ACS_START_CH "gAPChannelSelectStartChannel"
1393#define CFG_FORCE_SAP_ACS_START_CH_MIN (0)
1394#define CFG_FORCE_SAP_ACS_START_CH_MAX (0xFF)
1395#define CFG_FORCE_SAP_ACS_START_CH_DEFAULT (1)
1396
1397#define CFG_FORCE_SAP_ACS_END_CH "gAPChannelSelectEndChannel"
1398#define CFG_FORCE_SAP_ACS_END_CH_MIN (0)
1399#define CFG_FORCE_SAP_ACS_END_CH_MAX (0xFF)
1400#define CFG_FORCE_SAP_ACS_END_CH_DEFAULT (11)
1401
1402/*
1403 * Skip DFS Channel in case of P2P Search
1404 * Options
1405 * 0 - Don't Skip DFS Channel in case of P2P Search
1406 * 1 - Skip DFS Channel in case of P2P Search
1407 */
1408#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_NAME "gSkipDfsChannelInP2pSearch"
1409#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MIN (0)
1410#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_MAX (1)
1411#define CFG_ENABLE_SKIP_DFS_IN_P2P_SEARCH_DEFAULT (1)
1412
1413/*
1414 * Ignore Dynamic Dtim in case of P2P
1415 * Options
1416 * 0 - Consider Dynamic Dtim incase of P2P
1417 * 1 - Ignore Dynamic Dtim incase of P2P
1418 */
1419#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_NAME "gIgnoreDynamicDtimInP2pMode"
1420#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN (0)
1421#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX (1)
1422#define CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_DEFAULT (0)
1423
1424#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_NAME "gEnableAutomaticTxPowerControl"
1425#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MIN (0)
1426#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_MAX (1)
1427#define CFG_ENABLE_AUTOMATIC_TX_POWER_CONTROL_DEFAULT (1)
1428
1429#define CFG_SHORT_GI_40MHZ_NAME "gShortGI40Mhz"
1430#define CFG_SHORT_GI_40MHZ_MIN 0
1431#define CFG_SHORT_GI_40MHZ_MAX 1
1432#define CFG_SHORT_GI_40MHZ_DEFAULT 1
1433
1434/*
1435 * Enable / Disable MCC feature
1436 * Default: Enable
1437 */
1438#define CFG_ENABLE_MCC_ENABLED_NAME "gEnableMCCMode"
1439#define CFG_ENABLE_MCC_ENABLED_MIN (0)
1440#define CFG_ENABLE_MCC_ENABLED_MAX (1)
1441#define CFG_ENABLE_MCC_ENABLED_DEFAULT (1)
1442
1443/*
1444 * Allow GO in MCC mode to accept different beacon interval than STA's.
1445 * Added for Wi-Fi Cert. 5.1.12
1446 * Default: gAllowMCCGODiffBI = 2
1447 * If gAllowMCCGODiffBI = 1 // Set to 1 for WFA certification. GO Beacon
1448 * interval is not changed. MCC GO
1449 * doesn't work well in optimized way.
1450 * In worst scenario, it may invite STA
1451 * disconnection.
1452 * gAllowMCCGODiffBI = 2 //If set to 2 workaround 1 disassoc all the clients
1453 * and update beacon Interval
1454 * gAllowMCCGODiffBI = 3 //If set to 3 tear down the P2P link in auto/
1455 * Non-autonomous -GO case
1456 * gAllowMCCGODiffBI = 4 //If set to 4 don't disconnect the P2P client
1457 * in autonomous/Non-autonomous -GO case update
1458 * the BI dynamically
1459 */
1460#define CFG_ALLOW_MCC_GO_DIFF_BI_NAME "gAllowMCCGODiffBI"
1461#define CFG_ALLOW_MCC_GO_DIFF_BI_MIN (0)
1462#define CFG_ALLOW_MCC_GO_DIFF_BI_MAX (4)
1463#define CFG_ALLOW_MCC_GO_DIFF_BI_DEFAULT (4)
1464
1465/*
1466 * Enable/Disable Thermal Mitigation feature
1467 * Default: Enable
1468 */
1469#define CFG_THERMAL_MIGRATION_ENABLE_NAME "gThermalMitigationEnable"
1470#define CFG_THERMAL_MIGRATION_ENABLE_MIN (0)
1471#define CFG_THERMAL_MIGRATION_ENABLE_MAX (1)
1472#define CFG_THERMAL_MIGRATION_ENABLE_DEFAULT (1)
1473
1474#define CFG_THROTTLE_PERIOD_NAME "gThrottlePeriod"
1475#define CFG_THROTTLE_PERIOD_MIN (10)
1476#define CFG_THROTTLE_PERIOD_MAX (10000)
1477#define CFG_THROTTLE_PERIOD_DEFAULT (4000)
1478
Poddar, Siddarth83905022016-04-16 17:56:08 -07001479/*
1480 * Configure Throttle Period Different Level Duty Cycle in percentage
1481 * When temperature measured is greater than threshold at particular level,
1482 * then throtling level will get increased by one level and
1483 * will reduce TX duty by the given percentage
1484 */
1485#define CFG_THROTTLE_DUTY_CYCLE_LEVEL0_NAME "gThrottleDutyCycleLevel0"
1486#define CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MIN (0)
1487#define CFG_THROTTLE_DUTY_CYCLE_LEVEL0_MAX (0)
1488#define CFG_THROTTLE_DUTY_CYCLE_LEVEL0_DEFAULT (0)
1489
1490#define CFG_THROTTLE_DUTY_CYCLE_LEVEL1_NAME "gThrottleDutyCycleLevel1"
1491#define CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MIN (0)
1492#define CFG_THROTTLE_DUTY_CYCLE_LEVEL1_MAX (100)
1493#define CFG_THROTTLE_DUTY_CYCLE_LEVEL1_DEFAULT (50)
1494
1495#define CFG_THROTTLE_DUTY_CYCLE_LEVEL2_NAME "gThrottleDutyCycleLevel2"
1496#define CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MIN (0)
1497#define CFG_THROTTLE_DUTY_CYCLE_LEVEL2_MAX (100)
1498#define CFG_THROTTLE_DUTY_CYCLE_LEVEL2_DEFAULT (75)
1499
1500#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_NAME "gThrottleDutyCycleLevel3"
1501#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MIN (0)
1502#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_MAX (100)
1503#define CFG_THROTTLE_DUTY_CYCLE_LEVEL3_DEFAULT (94)
1504
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001505#define CFG_THERMAL_TEMP_MIN_LEVEL0_NAME "gThermalTempMinLevel0"
1506#define CFG_THERMAL_TEMP_MIN_LEVEL0_MIN (0)
1507#define CFG_THERMAL_TEMP_MIN_LEVEL0_MAX (1000)
1508#define CFG_THERMAL_TEMP_MIN_LEVEL0_DEFAULT (0)
1509
1510#define CFG_THERMAL_TEMP_MAX_LEVEL0_NAME "gThermalTempMaxLevel0"
1511#define CFG_THERMAL_TEMP_MAX_LEVEL0_MIN (0)
1512#define CFG_THERMAL_TEMP_MAX_LEVEL0_MAX (1000)
1513#define CFG_THERMAL_TEMP_MAX_LEVEL0_DEFAULT (90)
1514
1515#define CFG_THERMAL_TEMP_MIN_LEVEL1_NAME "gThermalTempMinLevel1"
1516#define CFG_THERMAL_TEMP_MIN_LEVEL1_MIN (0)
1517#define CFG_THERMAL_TEMP_MIN_LEVEL1_MAX (1000)
1518#define CFG_THERMAL_TEMP_MIN_LEVEL1_DEFAULT (70)
1519
1520#define CFG_THERMAL_TEMP_MAX_LEVEL1_NAME "gThermalTempMaxLevel1"
1521#define CFG_THERMAL_TEMP_MAX_LEVEL1_MIN (0)
1522#define CFG_THERMAL_TEMP_MAX_LEVEL1_MAX (1000)
1523#define CFG_THERMAL_TEMP_MAX_LEVEL1_DEFAULT (110)
1524
1525#define CFG_THERMAL_TEMP_MIN_LEVEL2_NAME "gThermalTempMinLevel2"
1526#define CFG_THERMAL_TEMP_MIN_LEVEL2_MIN (0)
1527#define CFG_THERMAL_TEMP_MIN_LEVEL2_MAX (1000)
1528#define CFG_THERMAL_TEMP_MIN_LEVEL2_DEFAULT (90)
1529
1530#define CFG_THERMAL_TEMP_MAX_LEVEL2_NAME "gThermalTempMaxLevel2"
1531#define CFG_THERMAL_TEMP_MAX_LEVEL2_MIN (0)
1532#define CFG_THERMAL_TEMP_MAX_LEVEL2_MAX (1000)
1533#define CFG_THERMAL_TEMP_MAX_LEVEL2_DEFAULT (125)
1534
1535#define CFG_THERMAL_TEMP_MIN_LEVEL3_NAME "gThermalTempMinLevel3"
1536#define CFG_THERMAL_TEMP_MIN_LEVEL3_MIN (0)
1537#define CFG_THERMAL_TEMP_MIN_LEVEL3_MAX (1000)
1538#define CFG_THERMAL_TEMP_MIN_LEVEL3_DEFAULT (110)
1539
1540#define CFG_THERMAL_TEMP_MAX_LEVEL3_NAME "gThermalTempMaxLevel3"
1541#define CFG_THERMAL_TEMP_MAX_LEVEL3_MIN (0)
1542#define CFG_THERMAL_TEMP_MAX_LEVEL3_MAX (1000)
1543#define CFG_THERMAL_TEMP_MAX_LEVEL3_DEFAULT (0)
1544
1545/*
1546 * Enable/Disable Modulated DTIM feature
1547 * Default: Disable
1548 */
1549#define CFG_ENABLE_MODULATED_DTIM_NAME "gEnableModulatedDTIM"
1550#define CFG_ENABLE_MODULATED_DTIM_MIN (0)
1551#define CFG_ENABLE_MODULATED_DTIM_MAX (5)
1552#define CFG_ENABLE_MODULATED_DTIM_DEFAULT (0)
1553
1554/*
1555 * Enable/Disable Multicast MAC Address List feature
1556 * Default: Disable
1557 */
1558#define CFG_MC_ADDR_LIST_ENABLE_NAME "gMCAddrListEnable"
1559#define CFG_MC_ADDR_LIST_ENABLE_MIN (0)
1560#define CFG_MC_ADDR_LIST_ENABLE_MAX (1)
1561#define CFG_MC_ADDR_LIST_ENABLE_DEFAULT (0)
1562
1563#define CFG_ENABLE_RX_STBC "gEnableRXSTBC"
1564#define CFG_ENABLE_RX_STBC_MIN (0)
1565#define CFG_ENABLE_RX_STBC_MAX (1)
1566#define CFG_ENABLE_RX_STBC_DEFAULT (1)
1567
1568#define CFG_ENABLE_TX_STBC "gEnableTXSTBC"
1569#define CFG_ENABLE_TX_STBC_MIN (0)
1570#define CFG_ENABLE_TX_STBC_MAX (1)
1571#define CFG_ENABLE_TX_STBC_DEFAULT (0)
1572
1573#define CFG_ENABLE_RX_LDPC "gEnableRXLDPC"
1574#define CFG_ENABLE_RX_LDPC_MIN (0)
1575#define CFG_ENABLE_RX_LDPC_MAX (1)
1576#define CFG_ENABLE_RX_LDPC_DEFAULT (0)
1577
1578/*
1579 * Enable/Disable vsta based on MAX Assoc limit
1580 * defined in WCNSS_qcom_cfg.ini.
1581 */
1582#ifdef WLAN_SOFTAP_VSTA_FEATURE
1583#define CFG_VSTA_SUPPORT_ENABLE "gEnableVSTASupport"
1584#define CFG_VSTA_SUPPORT_ENABLE_MIN (0)
1585#define CFG_VSTA_SUPPORT_ENABLE_MAX (1)
1586#define CFG_VSTA_SUPPORT_ENABLE_DEFAULT (0)
1587#endif
1588
1589#ifdef FEATURE_WLAN_TDLS
1590#define CFG_TDLS_SUPPORT_ENABLE "gEnableTDLSSupport"
1591#define CFG_TDLS_SUPPORT_ENABLE_MIN (0)
1592#define CFG_TDLS_SUPPORT_ENABLE_MAX (1)
1593#define CFG_TDLS_SUPPORT_ENABLE_DEFAULT (0)
1594
1595#define CFG_TDLS_IMPLICIT_TRIGGER "gEnableTDLSImplicitTrigger"
1596#define CFG_TDLS_IMPLICIT_TRIGGER_MIN (0)
1597#define CFG_TDLS_IMPLICIT_TRIGGER_MAX (1)
1598#define CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT (0)
1599
1600#define CFG_TDLS_TX_STATS_PERIOD "gTDLSTxStatsPeriod"
1601#define CFG_TDLS_TX_STATS_PERIOD_MIN (10)
1602#define CFG_TDLS_TX_STATS_PERIOD_MAX (4294967295UL)
Kabilan Kannanca670be2015-11-23 01:56:12 -08001603#define CFG_TDLS_TX_STATS_PERIOD_DEFAULT (500)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001604
1605#define CFG_TDLS_TX_PACKET_THRESHOLD "gTDLSTxPacketThreshold"
1606#define CFG_TDLS_TX_PACKET_THRESHOLD_MIN (0)
1607#define CFG_TDLS_TX_PACKET_THRESHOLD_MAX (4294967295UL)
Kabilan Kannanca670be2015-11-23 01:56:12 -08001608#define CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT (10)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001609
1610#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT "gTDLSMaxDiscoveryAttempt"
1611#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN (1)
1612#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX (100)
1613#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT (5)
1614
Kabilan Kannanca670be2015-11-23 01:56:12 -08001615/* teardown notification interval (gTDLSIdleTimeout) should be multiple of
1616 * setup notification (gTDLSTxStatsPeriod) interval.
1617 * e.g.
1618 * if setup notification (gTDLSTxStatsPeriod) interval = 500, then
1619 * teardown notification (gTDLSIdleTimeout) interval should be 1000,
1620 * 1500, 2000, 2500...
1621 */
1622#define CFG_TDLS_IDLE_TIMEOUT "gTDLSIdleTimeout"
1623#define CFG_TDLS_IDLE_TIMEOUT_MIN (500)
1624#define CFG_TDLS_IDLE_TIMEOUT_MAX (40000)
Kabilan Kannan2ccd9e62015-11-29 16:04:05 -08001625#define CFG_TDLS_IDLE_TIMEOUT_DEFAULT (5000)
Kabilan Kannanca670be2015-11-23 01:56:12 -08001626
1627
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001628#define CFG_TDLS_IDLE_PACKET_THRESHOLD "gTDLSIdlePacketThreshold"
1629#define CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN (0)
1630#define CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX (40000)
Kabilan Kannan2ccd9e62015-11-29 16:04:05 -08001631#define CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT (3)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001632
1633#define CFG_TDLS_RSSI_TRIGGER_THRESHOLD "gTDLSRSSITriggerThreshold"
1634#define CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MIN (-120)
1635#define CFG_TDLS_RSSI_TRIGGER_THRESHOLD_MAX (0)
1636#define CFG_TDLS_RSSI_TRIGGER_THRESHOLD_DEFAULT (-75)
1637
1638#define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD "gTDLSRSSITeardownThreshold"
1639#define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MIN (-120)
1640#define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_MAX (0)
1641#define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD_DEFAULT (-75)
1642
1643#define CFG_TDLS_RSSI_DELTA "gTDLSRSSIDelta"
1644#define CFG_TDLS_RSSI_DELTA_MIN (-30)
1645#define CFG_TDLS_RSSI_DELTA_MAX (0)
1646#define CFG_TDLS_RSSI_DELTA_DEFAULT (-20)
1647
1648#define CFG_TDLS_QOS_WMM_UAPSD_MASK_NAME "gTDLSUapsdMask" /* ACs to setup U-APSD for TDLS Sta */
1649#define CFG_TDLS_QOS_WMM_UAPSD_MASK_MIN (0)
1650#define CFG_TDLS_QOS_WMM_UAPSD_MASK_MAX (0x0F)
1651#define CFG_TDLS_QOS_WMM_UAPSD_MASK_DEFAULT (0x0F)
1652
1653#define CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE "gEnableTDLSBufferSta"
1654#define CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MIN (0)
1655#define CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_MAX (1)
1656/* Buffer STA is not enabled in CLD 2.0 yet */
1657#define CFG_TDLS_BUFFER_STA_SUPPORT_ENABLE_DEFAULT (1)
1658
1659#define CFG_TDLS_PUAPSD_INACTIVITY_TIME "gTDLSPuapsdInactivityTime"
1660#define CFG_TDLS_PUAPSD_INACTIVITY_TIME_MIN (0)
1661#define CFG_TDLS_PUAPSD_INACTIVITY_TIME_MAX (10)
1662#define CFG_TDLS_PUAPSD_INACTIVITY_TIME_DEFAULT (0)
1663
1664#define CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD "gTDLSPuapsdRxFrameThreshold"
1665#define CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MIN (10)
1666#define CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_MAX (20)
1667#define CFG_TDLS_PUAPSD_RX_FRAME_THRESHOLD_DEFAULT (10)
1668
1669#define CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW "gTDLSPuapsdPTIWindow"
1670#define CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_MIN (1)
1671#define CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_MAX (5)
1672#define CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW_DEFAULT (2)
1673
1674#define CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT "gTDLSPuapsdPTRTimeout"
1675#define CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_MIN (0)
1676#define CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_MAX (10000)
1677#define CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT_DEFAULT (5000)
1678
1679#define CFG_TDLS_EXTERNAL_CONTROL "gTDLSExternalControl"
1680#define CFG_TDLS_EXTERNAL_CONTROL_MIN (0)
1681#define CFG_TDLS_EXTERNAL_CONTROL_MAX (1)
1682#define CFG_TDLS_EXTERNAL_CONTROL_DEFAULT (0)
1683
1684#define CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE "gEnableTDLSOffChannel"
1685#define CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MIN (0)
1686#define CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_MAX (1)
1687#define CFG_TDLS_OFF_CHANNEL_SUPPORT_ENABLE_DEFAULT (0)
1688
1689#define CFG_TDLS_WMM_MODE_ENABLE "gEnableTDLSWmmMode"
1690#define CFG_TDLS_WMM_MODE_ENABLE_MIN (0)
1691#define CFG_TDLS_WMM_MODE_ENABLE_MAX (1)
1692#define CFG_TDLS_WMM_MODE_ENABLE_DEFAULT (1)
1693
1694#define CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM "gTDLSPrefOffChanNum"
1695#define CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_MIN (1)
1696#define CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_MAX (165)
1697#define CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM_DEFAULT (36)
1698
1699#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW "gTDLSPrefOffChanBandwidth"
1700#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MIN (0)
1701#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_MAX (0x0F)
1702#define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW_DEFAULT (0x07)
1703
1704/* Enable TDLS Scan: Allow scan and maintain TDLS link.
1705 * 0: If peer is not buffer STA capable and device is not sleep STA
1706 * capable, then teardown TDLS link when scan is initiated. If peer
1707 * is buffer STA and we can be sleep STA then TDLS link is maintained
1708 * during scan.
1709 * 1: Maintain TDLS link and allow scan even if peer is not buffer STA
1710 * capable and device is not sleep STA capable. There will be loss of
1711 * Rx pkts since peer would not know when device moves away from tdls
1712 * channel. Tx on TDLS link would stop when device moves away from tdls
1713 * channel.
1714 */
1715#define CFG_TDLS_SCAN_ENABLE "gEnableTDLSScan"
1716#define CFG_TDLS_SCAN_ENABLE_MIN (0)
1717#define CFG_TDLS_SCAN_ENABLE_MAX (1)
1718#define CFG_TDLS_SCAN_ENABLE_DEFAULT (0)
Kabilan Kannan421714b2015-11-23 04:44:59 -08001719
1720/* TDLS peer kickout threshold to fw
1721 * Firmware will use this value to determine, when to send TDLS
1722 * peer kick out event to host.
1723 * E.g.
1724 * if peer kick out threshold is 10, then firmware will wait for 10
1725 * consecutive packet failures and then send TDLS kickout
1726 * notification to host driver
1727 */
1728#define CFG_TDLS_PEER_KICKOUT_THRESHOLD "gTDLSPeerKickoutThreshold"
1729#define CFG_TDLS_PEER_KICKOUT_THRESHOLD_MIN (10)
1730#define CFG_TDLS_PEER_KICKOUT_THRESHOLD_MAX (5000)
1731#define CFG_TDLS_PEER_KICKOUT_THRESHOLD_DEFAULT (96)
1732
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001733#endif
1734
1735/* Enable/Disable LPWR Image(cMEM uBSP) Transition */
1736#define CFG_ENABLE_LPWR_IMG_TRANSITION_NAME "gEnableLpwrImgTransition"
1737#define CFG_ENABLE_LPWR_IMG_TRANSITION_MIN (0)
1738#define CFG_ENABLE_LPWR_IMG_TRANSITION_MAX (1)
1739#define CFG_ENABLE_LPWR_IMG_TRANSITION_DEFAULT (0)
1740
1741/*
1742 * Scan Aging timeout value in seconds
1743 */
1744#define CFG_SCAN_AGING_PARAM_NAME "gScanAgingTime"
1745#define CFG_SCAN_AGING_PARAM_MIN (0)
1746#define CFG_SCAN_AGING_PARAM_MAX (200)
1747#define CFG_SCAN_AGING_PARAM_DEFAULT (60)
1748
1749/* Config Param to enable the txLdpc capability
1750 * 0 - disable
1751 * 1 - HT LDPC enable
1752 * 2 - VHT LDPC enable
1753 * 3 - HT & VHT LDPC enable */
1754#define CFG_TX_LDPC_ENABLE_FEATURE "gTxLdpcEnable"
1755#define CFG_TX_LDPC_ENABLE_FEATURE_MIN (0)
1756#define CFG_TX_LDPC_ENABLE_FEATURE_MAX (3)
Kiran Kumar Lokere333a9952016-03-01 15:40:23 -08001757#define CFG_TX_LDPC_ENABLE_FEATURE_DEFAULT (3)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001758
1759/*
1760 * Enable / Disable MCC Adaptive Scheduler feature
1761 * Default: Enable
1762 */
1763#define CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_NAME "gEnableMCCAdaptiveScheduler"
1764#define CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MIN (0)
1765#define CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_MAX (1)
1766#define CFG_ENABLE_MCC_ADATIVE_SCHEDULER_ENABLED_DEFAULT (1)
1767
1768#define CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE "gTxBFEnable"
1769#define CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MIN (WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STAMIN)
1770#define CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_MAX (WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STAMAX)
1771#define CFG_VHT_SU_BEAMFORMEE_CAP_FEATURE_DEFAULT (WNI_CFG_VHT_SU_BEAMFORMEE_CAP_STADEF)
1772
Kiran Kumar Lokere5302ab62015-12-16 16:03:16 -08001773/*
1774 * Enable / Disable Tx beamformee in SAP mode
1775 * Default: Disable
1776 */
1777#define CFG_VHT_ENABLE_TXBF_SAP_MODE "gEnableTxBFeeSAP"
1778#define CFG_VHT_ENABLE_TXBF_SAP_MODE_MIN (0)
1779#define CFG_VHT_ENABLE_TXBF_SAP_MODE_MAX (1)
1780#define CFG_VHT_ENABLE_TXBF_SAP_MODE_DEFAULT (0)
1781
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001782#define CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED "gTxBFCsnValue"
1783#define CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MIN (WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_STAMIN)
1784#define CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_MAX (WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_STAMAX - 1)
1785#define CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_DEFAULT (WNI_CFG_VHT_CSN_BEAMFORMEE_ANT_SUPPORTED_STAMAX - 1)
1786
1787#define CFG_VHT_ENABLE_TXBF_IN_20MHZ "gEnableTxBFin20MHz"
1788#define CFG_VHT_ENABLE_TXBF_IN_20MHZ_MIN (0)
1789#define CFG_VHT_ENABLE_TXBF_IN_20MHZ_MAX (1)
1790#define CFG_VHT_ENABLE_TXBF_IN_20MHZ_DEFAULT (0)
1791
Naveen Rawatefa01082015-12-01 12:08:45 -08001792#define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER "gEnableTxSUBeamformer"
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001793#define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MIN (0)
1794#define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MAX (1)
1795#define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_DEFAULT (0)
1796
1797/* Enable debug for remain on channel issues */
1798#define CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME "gDebugP2pRemainOnChannel"
1799#define CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT (0)
1800#define CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN (0)
1801#define CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX (1)
1802
1803/*
1804 * SAP ALLOW All Channels
1805 */
1806#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME "gSapAllowAllChannel"
1807#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN (0)
1808#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX (1)
1809#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT (0)
1810
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001811#define CFG_DISABLE_LDPC_WITH_TXBF_AP "gDisableLDPCWithTxbfAP"
1812#define CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN (0)
1813#define CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX (1)
1814#define CFG_DISABLE_LDPC_WITH_TXBF_AP_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001815
1816/*
1817 * IBSS Operating Channels for 2.4G and 5GHz channels
1818 */
1819#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_NAME "gAdHocChannel5G"
1820#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_MIN (36)
1821#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_MAX (165)
1822#define CFG_IBSS_ADHOC_CHANNEL_5GHZ_DEFAULT (44)
1823
1824#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_NAME "gAdHocChannel24G"
1825#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_MIN (1)
1826#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_MAX (14)
1827#define CFG_IBSS_ADHOC_CHANNEL_24GHZ_DEFAULT (6)
1828
1829/* Parameter to control VHT support in 2.4 GHz band */
1830#define CFG_ENABLE_VHT_FOR_24GHZ_NAME "gEnableVhtFor24GHzBand"
1831#define CFG_ENABLE_VHT_FOR_24GHZ_MIN (0)
1832#define CFG_ENABLE_VHT_FOR_24GHZ_MAX (1)
1833#define CFG_ENABLE_VHT_FOR_24GHZ_DEFAULT (0)
1834
1835#define CFG_MAX_MEDIUM_TIME "gMaxMediumTime"
1836#define CFG_MAX_MEDIUM_TIME_STAMIN WNI_CFG_MAX_MEDIUM_TIME_STAMIN
1837#define CFG_MAX_MEDIUM_TIME_STAMAX WNI_CFG_MAX_MEDIUM_TIME_STAMAX
1838#define CFG_MAX_MEDIUM_TIME_STADEFAULT WNI_CFG_MAX_MEDIUM_TIME_STADEF
1839
1840/*
1841 * Enable legacy fast roaming (LFR) on STA link during concurrent sessions
1842 */
1843#define CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY "gEnableFastRoamInConcurrency"
1844#define CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MIN (0)
1845#define CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_MAX (1)
1846#define CFG_ENABLE_FAST_ROAM_IN_CONCURRENCY_DEFAULT (1)
1847
1848/*
1849 * FlexConnectPowerFactor parameter
1850 * Default: Disable (0)
1851 */
1852#define CFG_FLEX_CONNECT_POWER_FACTOR_NAME "gFlexConnectPowerFactor"
1853#define CFG_FLEX_CONNECT_POWER_FACTOR_MIN (0)
1854#define CFG_FLEX_CONNECT_POWER_FACTOR_MAX (9)
1855#define CFG_FLEX_CONNECT_POWER_FACTOR_DEFAULT (0)
1856
1857/*
1858 * Enable heart beat monitoring offload to FW
1859 */
1860#define CFG_ENABLE_HEART_BEAT_OFFLOAD "gEnableIbssHeartBeatOffload"
1861#define CFG_ENABLE_HEART_BEAT_OFFLOAD_MIN (0)
1862#define CFG_ENABLE_HEART_BEAT_OFFLOAD_MAX (1)
1863#define CFG_ENABLE_HEART_BEAT_OFFLOAD_DEFAULT (1)
1864
1865#define CFG_ANTENNA_DIVERSITY_PARAM_NAME "gAntennaDiversity"
1866#define CFG_ANTENNA_DIVERSITY_PARAM_MIN (0)
1867#define CFG_ANTENNA_DIVERSITY_PARAM_MAX (3)
1868#define CFG_ANTENNA_DIVERSITY_PARAM_DEFAULT (0)
1869
1870#define CFG_ENABLE_SNR_MONITORING_NAME "gEnableSNRMonitoring"
1871#define CFG_ENABLE_SNR_MONITORING_MIN (0)
1872#define CFG_ENABLE_SNR_MONITORING_MAX (1)
1873#define CFG_ENABLE_SNR_MONITORING_DEFAULT (0)
1874
1875#ifdef FEATURE_WLAN_SCAN_PNO
1876#define CFG_PNO_SCAN_SUPPORT "gPNOScanSupport"
1877#define CFG_PNO_SCAN_SUPPORT_ENABLE (1)
1878#define CFG_PNO_SCAN_SUPPORT_DISABLE (0)
1879#define CFG_PNO_SCAN_SUPPORT_DEFAULT (1)
1880
1881#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE "gPNOScanTimerRepeatValue"
Srinivas Girigowdabdc98162015-09-17 11:06:07 -07001882#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_DEFAULT (30)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001883#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN (0)
1884#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX (0xffffffff)
Srinivas Girigowdabdc98162015-09-17 11:06:07 -07001885
1886#define CFG_PNO_SLOW_SCAN_MULTIPLIER "gPNOSlowScanMultiplier"
1887#define CFG_PNO_SLOW_SCAN_MULTIPLIER_DEFAULT (6)
1888#define CFG_PNO_SLOW_SCAN_MULTIPLIER_MIN (0)
1889#define CFG_PNO_SLOW_SCAN_MULTIPLIER_MAX (30)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001890#endif
1891
1892#define CFG_AMSDU_SUPPORT_IN_AMPDU_NAME "gAmsduSupportInAMPDU"
1893#define CFG_AMSDU_SUPPORT_IN_AMPDU_MIN (0)
1894#define CFG_AMSDU_SUPPORT_IN_AMPDU_MAX (1)
1895#define CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT (0) /* disabled */
1896
1897/* Prefer connecting to 5G AP even if its RSSI is lower by
1898 gSelect5GHzMargin dBm than 2.4G AP.
1899 This feature requires the dependent cfg.ini "gRoamPrefer5GHz" set to 1 */
1900#define CFG_STRICT_5GHZ_PREF_BY_MARGIN "gSelect5GHzMargin"
1901#define CFG_STRICT_5GHZ_PREF_BY_MARGIN_MIN (0)
1902#define CFG_STRICT_5GHZ_PREF_BY_MARGIN_MAX (60)
1903#define CFG_STRICT_5GHZ_PREF_BY_MARGIN_DEFAULT (0) /* set 0 to disable */
1904
1905/* It enables IP, TCP and UDP checksum offload in hardware
1906 * and also advertise same to network stack.
1907 */
1908#define CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD "gEnableIpTcpUdpChecksumOffload"
1909#define CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DISABLE (0)
1910#define CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_ENABLE (1)
1911#define CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_DEFAULT (CFG_ENABLE_IP_TCP_UDP_CHKSUM_OFFLOAD_ENABLE)
1912
1913/*
1914 * Power Save Offload
1915 * Power Save Offload configuration:
1916 * Current values of gEnablePowerSaveOffload:
1917 * 0 -> Power save offload is disabled
1918 * 1 -> Legacy Power save enabled + Deep sleep Disabled
1919 * 2 -> QPower enabled + Deep sleep Disabled
1920 * 3 -> Legacy Power save enabled + Deep sleep Enabled
1921 * 4 -> QPower enabled + Deep sleep Enabled
1922 * 5 -> Duty cycling QPower enabled
1923 */
1924#define CFG_POWERSAVE_OFFLOAD_NAME "gEnablePowerSaveOffload"
1925#define CFG_POWERSAVE_OFFLOAD_MIN (0)
1926#define CFG_POWERSAVE_OFFLOAD_MAX (PS_DUTY_CYCLING_QPOWER)
1927#define CFG_POWERSAVE_OFFLOAD_DEFAULT (CFG_POWERSAVE_OFFLOAD_MIN)
1928
1929#ifdef WLAN_FEATURE_FASTPATH
1930#define CFG_ENABLE_FASTPATH "gEnableFastPath"
1931#define CFG_ENABLE_FASTPATH_MIN (0)
1932#define CFG_ENABLE_FASTPATH_MAX (1)
1933#define CFG_ENABLE_FASTPATH_DEFAULT (CFG_ENABLE_FASTPATH_MIN)
1934#endif /* WLAN_FEATURE_FASTPATH */
1935
1936/*
1937 * IPA Offload configuration - Each bit enables a feature
1938 * bit0 - IPA Enable
1939 * bit1 - IPA Pre filter enable
1940 * bit2 - IPv6 enable
1941 * bit3 - IPA Resource Manager (RM) enable
1942 * bit4 - IPA Clock scaling enable
1943 */
1944#define CFG_IPA_OFFLOAD_CONFIG_NAME "gIPAConfig"
1945#define CFG_IPA_OFFLOAD_CONFIG_MIN (0)
1946#define CFG_IPA_OFFLOAD_CONFIG_MAX (0xFFFFFFFF)
1947#define CFG_IPA_OFFLOAD_CONFIG_DEFAULT (CFG_IPA_OFFLOAD_CONFIG_MIN)
1948
1949/*
1950 * IPA DESC SIZE
1951 */
1952#define CFG_IPA_DESC_SIZE_NAME "gIPADescSize"
1953#define CFG_IPA_DESC_SIZE_MIN (800)
1954#define CFG_IPA_DESC_SIZE_MAX (8000)
1955#define CFG_IPA_DESC_SIZE_DEFAULT (800)
1956
1957#define CFG_IPA_HIGH_BANDWIDTH_MBPS "gIPAHighBandwidthMbps"
1958#define CFG_IPA_HIGH_BANDWIDTH_MBPS_MIN (200)
1959#define CFG_IPA_HIGH_BANDWIDTH_MBPS_MAX (1000)
1960#define CFG_IPA_HIGH_BANDWIDTH_MBPS_DEFAULT (400)
1961
1962#define CFG_IPA_MEDIUM_BANDWIDTH_MBPS "gIPAMediumBandwidthMbps"
1963#define CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MIN (100)
1964#define CFG_IPA_MEDIUM_BANDWIDTH_MBPS_MAX (400)
1965#define CFG_IPA_MEDIUM_BANDWIDTH_MBPS_DEFAULT (200)
1966
1967#define CFG_IPA_LOW_BANDWIDTH_MBPS "gIPALowBandwidthMbps"
1968#define CFG_IPA_LOW_BANDWIDTH_MBPS_MIN (0)
1969#define CFG_IPA_LOW_BANDWIDTH_MBPS_MAX (100)
1970#define CFG_IPA_LOW_BANDWIDTH_MBPS_DEFAULT (100)
1971
1972/*
1973 * Firmware uart print
1974 */
1975#define CFG_ENABLE_FW_UART_PRINT_NAME "gEnablefwprint"
1976#define CFG_ENABLE_FW_UART_PRINT_DISABLE (0)
1977#define CFG_ENABLE_FW_UART_PRINT_ENABLE (1)
1978#define CFG_ENABLE_FW_UART_PRINT_DEFAULT (CFG_ENABLE_FW_UART_PRINT_DISABLE)
1979
1980/*
1981 * Firmware log
1982 */
1983#define CFG_ENABLE_FW_LOG_NAME "gEnablefwlog"
1984#define CFG_ENABLE_FW_LOG_DISABLE (0)
1985#define CFG_ENABLE_FW_LOG_ENABLE (1)
Rajeev Kumard71df822016-01-07 18:00:16 -08001986#ifdef QCA_WIFI_3_0_ADRASTEA
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001987#define CFG_ENABLE_FW_LOG_DEFAULT (CFG_ENABLE_FW_LOG_DISABLE)
Rajeev Kumard71df822016-01-07 18:00:16 -08001988#else
1989#define CFG_ENABLE_FW_LOG_DEFAULT (CFG_ENABLE_FW_LOG_ENABLE)
1990#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001991
1992/*
1993 * Enable/Disable SSR for USB
1994 */
1995#define CFG_ENABLE_FW_SELF_RECOVERY_NAME "gEnableFwSelfRecovery"
1996#define CFG_ENABLE_FW_SELF_RECOVERY_DISABLE (0)
1997#define CFG_ENABLE_FW_SELF_RECOVERY_ENABLE (1)
1998#define CFG_ENABLE_FW_SELF_RECOVERY_DEFAULT (CFG_ENABLE_FW_SELF_RECOVERY_DISABLE)
1999
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002000/* Macro to handle maximum receive AMPDU size configuration */
2001#define CFG_VHT_AMPDU_LEN_EXPONENT_NAME "gVhtAmpduLenExponent"
2002#define CFG_VHT_AMPDU_LEN_EXPONENT_MIN (0)
2003#define CFG_VHT_AMPDU_LEN_EXPONENT_MAX (7)
2004#define CFG_VHT_AMPDU_LEN_EXPONENT_DEFAULT (3)
2005
2006#define CFG_VHT_MPDU_LEN_NAME "gVhtMpduLen"
2007#define CFG_VHT_MPDU_LEN_MIN (0)
2008#define CFG_VHT_MPDU_LEN_MAX (2)
2009#define CFG_VHT_MPDU_LEN_DEFAULT (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002010
2011#define CFG_MAX_WOW_FILTERS_NAME "gMaxWoWFilters"
2012#define CFG_MAX_WOW_FILTERS_MIN (0)
2013#define CFG_MAX_WOW_FILTERS_MAX (WOW_MAX_BITMAP_FILTERS)
2014#define CFG_MAX_WOW_FILTERS_DEFAULT (WOW_MAX_BITMAP_FILTERS)
2015
2016/*
2017 * WOW Enable/Disable.
2018 * 0 - Disable both magic pattern match and pattern byte match.
2019 * 1 - Enable magic pattern match on all interfaces.
2020 * 2 - Enable pattern byte match on all interfaces.
2021 * 3 - Enable both magic patter and pattern byte match on all interfaces.
2022 */
2023#define CFG_WOW_STATUS_NAME "gEnableWoW"
2024#define CFG_WOW_ENABLE_MIN (0)
2025#define CFG_WOW_ENABLE_MAX (3)
2026#define CFG_WOW_STATUS_DEFAULT (3)
2027
2028#define CFG_COALESING_IN_IBSS_NAME "gCoalesingInIBSS"
2029#define CFG_COALESING_IN_IBSS_MIN (0)
2030#define CFG_COALESING_IN_IBSS_MAX (1)
2031#define CFG_COALESING_IN_IBSS_DEFAULT (0) /* disabled */
2032
2033#define CFG_IBSS_ATIM_WIN_SIZE_NAME "gIbssATIMWinSize"
2034#define CFG_IBSS_ATIM_WIN_SIZE_MIN (0)
2035#define CFG_IBSS_ATIM_WIN_SIZE_MAX (50)
2036#define CFG_IBSS_ATIM_WIN_SIZE_DEFAULT (0)
2037
2038/*
2039 * Indicates if IBSS Power Save is
2040 * supported or not. When not allowed,
2041 * IBSS station has to stay awake all
2042 * the time and should never set PM=1
2043 * in its transmitted frames. This
2044 * parameter is meaningful/valid only
2045 * when gIbssATIMWinSize is non-zero
2046 */
2047#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_NAME "gIbssIsPowerSaveAllowed"
2048#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_MIN (0)
2049#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_MAX (1)
2050#define CFG_IBSS_IS_POWER_SAVE_ALLOWED_DEFAULT (1)
2051
2052/*
2053 * Indicates if IBSS Power Collapse
2054 * is allowed or not.
2055 */
2056#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_NAME "gIbssIsPowerCollapseAllowed"
2057#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MIN (0)
2058#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_MAX (1)
2059#define CFG_IBSS_IS_POWER_COLLAPSE_ALLOWED_DEFAULT (1)
2060
2061/*
2062 * This parameter indicates whether IBSS station
2063 * can exit power save mode and enter power active
2064 * state whenever there is a TX/RX activity.
2065 */
2066#define CFG_IBSS_AWAKE_ON_TX_RX_NAME "gIbssAwakeOnTxRx"
2067#define CFG_IBSS_AWAKE_ON_TX_RX_MIN (0)
2068#define CFG_IBSS_AWAKE_ON_TX_RX_MAX (1)
2069#define CFG_IBSS_AWAKE_ON_TX_RX_DEFAULT (0)
2070
2071/*
2072 * In IBSS mode if Awake on TX/RX activity is enabled
2073 * Ibss Inactivity parameter indicates the data
2074 * inactivity time in number of beacon intervals
2075 * after which IBSS station re-inters power save
2076 * by sending Null frame with PM=1
2077 */
2078#define CFG_IBSS_INACTIVITY_TIME_NAME "gIbssInactivityTime"
2079#define CFG_IBSS_INACTIVITY_TIME_MIN (1)
2080#define CFG_IBSS_INACTIVITY_TIME_MAX (10)
2081#define CFG_IBSS_INACTIVITY_TIME_DEFAULT (1)
2082
2083/*
2084 * In IBSS mode Tx Service Period Inactivity
2085 * time in msecs indicates the time after
2086 * which TX Service Period is terminated by
2087 * sending a Qos Null frame with EOSP.
2088 * If value is 0, TX SP is terminated with the
2089 * last buffered packet itself instead of waiting
2090 * for the inactivity
2091 */
2092#define CFG_IBSS_TXSP_END_INACTIVITY_NAME "gIbssTxSpEndInactivityTime"
2093#define CFG_IBSS_TXSP_END_INACTIVITY_MIN (0)
2094#define CFG_IBSS_TXSP_END_INACTIVITY_MAX (100)
2095#define CFG_IBSS_TXSP_END_INACTIVITY_DEFAULT (0)
2096
2097/*
2098 * When IBSS network is initialized, PS-supporting device
2099 * does not enter protocol sleep state during first
2100 * gIbssPsWarmupTime seconds.
2101 */
2102#define CFG_IBSS_PS_WARMUP_TIME_NAME "gIbssPsWarmupTime"
2103#define CFG_IBSS_PS_WARMUP_TIME_MIN (0)
2104/* Allow unsigned Int Max for now */
2105#define CFG_IBSS_PS_WARMUP_TIME_MAX (65535)
2106#define CFG_IBSS_PS_WARMUP_TIME_DEFAULT (0)
2107
2108/*
2109 * IBSS Power Save Enable/Disable 1 RX
2110 * chain usage during the ATIM window
2111 */
2112#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_NAME "gIbssPs1RxChainInAtim"
2113#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MIN (0)
2114#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX (1)
2115#define CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_DEFAULT (0)
2116
2117#define CFG_SAP_MAX_NO_PEERS "gSoftApMaxPeers"
2118#define CFG_SAP_MAX_NO_PEERS_MIN (1)
2119#define CFG_SAP_MAX_NO_PEERS_MAX (32)
2120#define CFG_SAP_MAX_NO_PEERS_DEFAULT (32)
2121
2122/*
2123 * Connection related log Enable/Disable.
Chandrasekaran, Manishekarb2d9fa12016-04-07 12:00:10 +05302124 * 0x1 - Enable mgmt pkt logs (excpet probe req/rsp, beacons).
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002125 * 0x2 - Enable EAPOL pkt logs.
2126 * 0x4 - Enable DHCP pkt logs.
Chandrasekaran, Manishekarb2d9fa12016-04-07 12:00:10 +05302127 * 0x8 - Enable mgmt action frames logs.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002128 * 0x0 - Disable all the above connection related logs.
Chandrasekaran, Manishekarb2d9fa12016-04-07 12:00:10 +05302129 *
2130 * The default value of 0x0F will enable all the above logs.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002131 */
2132#define CFG_ENABLE_DEBUG_CONNECT_ISSUE "gEnableDebugLog"
2133#define CFG_ENABLE_DEBUG_CONNECT_ISSUE_MIN (0)
2134#define CFG_ENABLE_DEBUG_CONNECT_ISSUE_MAX (0xFF)
Chandrasekaran, Manishekarb2d9fa12016-04-07 12:00:10 +05302135#define CFG_ENABLE_DEBUG_CONNECT_ISSUE_DEFAULT (0x0F)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002136
2137/* This will be used only for debugging purpose, will be removed after sometime */
2138#define CFG_ENABLE_RX_THREAD "gEnableRxThread"
2139#define CFG_ENABLE_RX_THREAD_MIN (0)
2140#define CFG_ENABLE_RX_THREAD_MAX (1)
2141#define CFG_ENABLE_RX_THREAD_DEFAULT (1)
2142
2143/* SAR Thermal limit values for 2g and 5g */
2144
2145#define CFG_SET_TXPOWER_LIMIT2G_NAME "TxPower2g"
2146#define CFG_SET_TXPOWER_LIMIT2G_MIN (0)
2147#define CFG_SET_TXPOWER_LIMIT2G_MAX (30)
2148#define CFG_SET_TXPOWER_LIMIT2G_DEFAULT (15)
2149
2150#define CFG_SET_TXPOWER_LIMIT5G_NAME "TxPower5g"
2151#define CFG_SET_TXPOWER_LIMIT5G_MIN (0)
2152#define CFG_SET_TXPOWER_LIMIT5G_MAX (30)
2153#define CFG_SET_TXPOWER_LIMIT5G_DEFAULT (15)
2154
2155#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
2156#define CFG_LL_TX_FLOW_LWM "TxFlowLowWaterMark"
2157#define CFG_LL_TX_FLOW_LWM_MIN (0)
2158#define CFG_LL_TX_FLOW_LWM_MAX (1000)
2159
2160#define CFG_LL_TX_FLOW_LWM_DEFAULT (300)
2161
2162#define CFG_LL_TX_FLOW_HWM_OFFSET "TxFlowHighWaterMarkOffset"
2163#define CFG_LL_TX_FLOW_HWM_OFFSET_MIN (0)
2164#define CFG_LL_TX_FLOW_HWM_OFFSET_MAX (300)
2165
2166#define CFG_LL_TX_FLOW_HWM_OFFSET_DEFAULT (94)
2167
2168#define CFG_LL_TX_FLOW_MAX_Q_DEPTH "TxFlowMaxQueueDepth"
2169#define CFG_LL_TX_FLOW_MAX_Q_DEPTH_MIN (400)
2170#define CFG_LL_TX_FLOW_MAX_Q_DEPTH_MAX (3500)
2171#define CFG_LL_TX_FLOW_MAX_Q_DEPTH_DEFAULT (1500)
2172
2173#define CFG_LL_TX_LBW_FLOW_LWM "TxLbwFlowLowWaterMark"
2174#define CFG_LL_TX_LBW_FLOW_LWM_MIN (0)
2175#define CFG_LL_TX_LBW_FLOW_LWM_MAX (1000)
2176
2177#define CFG_LL_TX_LBW_FLOW_LWM_DEFAULT (450)
2178
2179#define CFG_LL_TX_LBW_FLOW_HWM_OFFSET "TxLbwFlowHighWaterMarkOffset"
2180#define CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MIN (0)
2181#define CFG_LL_TX_LBW_FLOW_HWM_OFFSET_MAX (300)
2182
2183#define CFG_LL_TX_LBW_FLOW_HWM_OFFSET_DEFAULT (50)
2184
2185#define CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH "TxLbwFlowMaxQueueDepth"
2186#define CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MIN (400)
2187#define CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_MAX (3500)
2188#define CFG_LL_TX_LBW_FLOW_MAX_Q_DEPTH_DEFAULT (750)
2189
2190#define CFG_LL_TX_HBW_FLOW_LWM "TxHbwFlowLowWaterMark"
2191#define CFG_LL_TX_HBW_FLOW_LWM_MIN (0)
2192#define CFG_LL_TX_HBW_FLOW_LWM_MAX (1000)
2193
2194#define CFG_LL_TX_HBW_FLOW_LWM_DEFAULT (406)
2195
2196#define CFG_LL_TX_HBW_FLOW_HWM_OFFSET "TxHbwFlowHighWaterMarkOffset"
2197#define CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MIN (0)
2198#define CFG_LL_TX_HBW_FLOW_HWM_OFFSET_MAX (300)
2199
2200#define CFG_LL_TX_HBW_FLOW_HWM_OFFSET_DEFAULT (94)
2201
2202#define CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH "TxHbwFlowMaxQueueDepth"
2203#define CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MIN (400)
2204#define CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_MAX (3500)
2205#define CFG_LL_TX_HBW_FLOW_MAX_Q_DEPTH_DEFAULT (1500)
2206#endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */
2207
2208#ifdef QCA_LL_TX_FLOW_CONTROL_V2
2209
2210#define CFG_LL_TX_FLOW_STOP_QUEUE_TH "TxFlowStopQueueThreshold"
2211#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_DEFAULT (15)
2212#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_MIN (0)
2213#define CFG_LL_TX_FLOW_STOP_QUEUE_TH_MAX (50)
2214
2215#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET "TxFlowStartQueueOffset"
2216#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET_DEFAULT (10)
2217#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MIN (0)
2218#define CFG_LL_TX_FLOW_START_QUEUE_OFFSET_MAX (30)
2219
2220#endif /* QCA_LL_TX_FLOW_CONTROL_V2 */
2221
2222#define CFG_SAP_MAX_OFFLOAD_PEERS "gMaxOffloadPeers"
2223#define CFG_SAP_MAX_OFFLOAD_PEERS_MIN (2)
2224#define CFG_SAP_MAX_OFFLOAD_PEERS_MAX (5)
2225#define CFG_SAP_MAX_OFFLOAD_PEERS_DEFAULT (2)
2226
2227#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS "gMaxOffloadReorderBuffs"
2228#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MIN (0)
2229#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MAX (3)
2230#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_DEFAULT (2)
2231
2232#ifdef FEATURE_WLAN_RA_FILTERING
2233#define CFG_RA_FILTER_ENABLE_NAME "gRAFilterEnable"
2234#define CFG_RA_FILTER_ENABLE_MIN (0)
2235#define CFG_RA_FILTER_ENABLE_MAX (1)
2236#define CFG_RA_FILTER_ENABLE_DEFAULT (0)
2237
2238#define CFG_RA_RATE_LIMIT_INTERVAL_NAME "gRArateLimitInterval"
2239#define CFG_RA_RATE_LIMIT_INTERVAL_MIN (60)
2240#define CFG_RA_RATE_LIMIT_INTERVAL_MAX (3600)
2241#define CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT (60) /*60 SEC */
2242#endif
2243
2244#define CFG_IGNORE_PEER_ERP_INFO_NAME "gIgnorePeerErpInfo"
2245#define CFG_IGNORE_PEER_ERP_INFO_MIN (0)
2246#define CFG_IGNORE_PEER_ERP_INFO_MAX (1)
2247#define CFG_IGNORE_PEER_ERP_INFO_DEFAULT (0)
2248
2249/* Enable Memory Debug */
2250#ifdef MEMORY_DEBUG
2251#define CFG_ENABLE_MEMORY_DEBUG_NAME "gEnableMemoryDebug"
2252#define CFG_ENABLE_MEMORY_DEBUG_MIN (0)
2253#define CFG_ENABLE_MEMORY_DEBUG_MAX (1)
2254#define CFG_ENABLE_MEMORY_DEBUG_DEFAULT (1)
2255#endif
2256
2257#define CFG_INITIAL_DWELL_TIME_NAME "gInitialDwellTime"
2258#define CFG_INITIAL_DWELL_TIME_DEFAULT (0)
2259#define CFG_INITIAL_DWELL_TIME_MIN (0)
2260#define CFG_INITIAL_DWELL_TIME_MAX (100)
2261
2262#define CFG_INITIAL_SCAN_NO_DFS_CHNL_NAME "gInitialScanNoDFSChnl"
2263#define CFG_INITIAL_SCAN_NO_DFS_CHNL_DEFAULT (0)
2264#define CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN (0)
2265#define CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX (1)
2266
2267#define CFG_ROAMING_DFS_CHANNEL_NAME "gAllowDFSChannelRoam"
2268#define CFG_ROAMING_DFS_CHANNEL_DISABLED (0)
2269#define CFG_ROAMING_DFS_CHANNEL_ENABLED_NORMAL (1)
2270#define CFG_ROAMING_DFS_CHANNEL_ENABLED_ACTIVE (2)
2271#define CFG_ROAMING_DFS_CHANNEL_MIN (CFG_ROAMING_DFS_CHANNEL_DISABLED)
2272#define CFG_ROAMING_DFS_CHANNEL_MAX (CFG_ROAMING_DFS_CHANNEL_ENABLED_ACTIVE)
2273#define CFG_ROAMING_DFS_CHANNEL_DEFAULT (CFG_ROAMING_DFS_CHANNEL_DISABLED)
2274
2275#ifdef MSM_PLATFORM
2276#define CFG_BUS_BANDWIDTH_HIGH_THRESHOLD "gBusBandwidthHighThreshold"
2277#define CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_DEFAULT (2000)
2278#define CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_MIN (0)
2279#define CFG_BUS_BANDWIDTH_HIGH_THRESHOLD_MAX (4294967295UL)
2280
2281#define CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD "gBusBandwidthMediumThreshold"
2282#define CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_DEFAULT (500)
2283#define CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_MIN (0)
2284#define CFG_BUS_BANDWIDTH_MEDIUM_THRESHOLD_MAX (4294967295UL)
2285
2286#define CFG_BUS_BANDWIDTH_LOW_THRESHOLD "gBusBandwidthLowThreshold"
2287#define CFG_BUS_BANDWIDTH_LOW_THRESHOLD_DEFAULT (150)
2288#define CFG_BUS_BANDWIDTH_LOW_THRESHOLD_MIN (0)
2289#define CFG_BUS_BANDWIDTH_LOW_THRESHOLD_MAX (4294967295UL)
2290
2291#define CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL "gBusBandwidthComputeInterval"
2292#define CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_DEFAULT (100)
2293#define CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MIN (0)
2294#define CFG_BUS_BANDWIDTH_COMPUTE_INTERVAL_MAX (10000)
2295
Ravi Joshie2331e82015-07-01 18:18:54 -07002296/*
2297 * Dynamic configuration of tcp delack is enabled by default.
2298 * User can set gTcpDelAckEnable flag to 0 in the INI file to disable dynamic
2299 * reconfiguration of tcp delack. This does not disable the update of receive
2300 * histogram
2301 */
2302#define CFG_ENABLE_TCP_DELACK "gTcpDelAckEnable"
2303#define CFG_ENABLE_TCP_DELACK_DEFAULT (1)
2304#define CFG_ENABLE_TCP_DELACK_MIN (0)
2305#define CFG_ENABLE_TCP_DELACK_MAX (1)
2306
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002307#define CFG_TCP_DELACK_THRESHOLD_HIGH "gTcpDelAckThresholdHigh"
2308#define CFG_TCP_DELACK_THRESHOLD_HIGH_DEFAULT (500)
2309#define CFG_TCP_DELACK_THRESHOLD_HIGH_MIN (0)
2310#define CFG_TCP_DELACK_THRESHOLD_HIGH_MAX (16000)
2311
2312#define CFG_TCP_DELACK_THRESHOLD_LOW "gTcpDelAckThresholdLow"
2313#define CFG_TCP_DELACK_THRESHOLD_LOW_DEFAULT (1000)
2314#define CFG_TCP_DELACK_THRESHOLD_LOW_MIN (0)
2315#define CFG_TCP_DELACK_THRESHOLD_LOW_MAX (10000)
Mohit Khannae71e2262015-11-10 09:37:24 -08002316
2317/* TCP_TX_HIGH_TPUT_THRESHOLD specifies the threshold of packets transmitted
2318 * over a period of 100 ms beyond which TCP can be considered to have a high
2319 * TX throughput requirement. The driver uses this condition to tweak TCP TX
2320 * specific parameters (via cnss-daemon).
2321 * default - 500
2322 */
2323#define CFG_TCP_TX_HIGH_TPUT_THRESHOLD_NAME "gTcpTxHighTputThreshold"
2324#define CFG_TCP_TX_HIGH_TPUT_THRESHOLD_DEFAULT (500)
2325#define CFG_TCP_TX_HIGH_TPUT_THRESHOLD_MIN (0)
2326#define CFG_TCP_TX_HIGH_TPUT_THRESHOLD_MAX (16000)
2327
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002328#endif /* MSM_PLATFORM */
2329
2330#ifdef WLAN_FEATURE_11W
2331#define CFG_PMF_SA_QUERY_MAX_RETRIES_NAME "pmfSaQueryMaxRetries"
2332#define CFG_PMF_SA_QUERY_MAX_RETRIES_DEFAULT (5)
2333#define CFG_PMF_SA_QUERY_MAX_RETRIES_MIN (0)
2334#define CFG_PMF_SA_QUERY_MAX_RETRIES_MAX (20)
2335
2336#define CFG_PMF_SA_QUERY_RETRY_INTERVAL_NAME "pmfSaQueryRetryInterval"
2337#define CFG_PMF_SA_QUERY_RETRY_INTERVAL_DEFAULT (200)
2338#define CFG_PMF_SA_QUERY_RETRY_INTERVAL_MIN (0)
2339#define CFG_PMF_SA_QUERY_RETRY_INTERVAL_MAX (2000)
2340#endif
2341
2342#define CFG_MAX_CONCURRENT_CONNECTIONS_NAME "gMaxConcurrentActiveSessions"
Tushnim Bhattacharyyae67bfc72016-01-27 11:47:37 -08002343#define CFG_MAX_CONCURRENT_CONNECTIONS_DEFAULT (3)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002344#define CFG_MAX_CONCURRENT_CONNECTIONS_MIN (1)
2345#define CFG_MAX_CONCURRENT_CONNECTIONS_MAX (4)
2346
2347#define CFG_IGNORE_CAC_NAME "gIgnoreCAC"
2348#define CFG_IGNORE_CAC_MIN (0)
2349#define CFG_IGNORE_CAC_MAX (1)
2350#define CFG_IGNORE_CAC_DEFAULT (0)
2351
2352#define CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_NAME "gEnableSAPDfsChSifsBurst"
2353#define CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_MIN (0)
2354#define CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_MAX (1)
2355#define CFG_ENABLE_SAP_DFS_CH_SIFS_BURST_DEFAULT (1)
2356
2357#define CFG_DFS_RADAR_PRI_MULTIPLIER_NAME "gDFSradarMappingPriMultiplier"
2358#define CFG_DFS_RADAR_PRI_MULTIPLIER_DEFAULT (4)
2359#define CFG_DFS_RADAR_PRI_MULTIPLIER_MIN (0)
2360#define CFG_DFS_RADAR_PRI_MULTIPLIER_MAX (10)
2361#define CFG_REORDER_OFFLOAD_SUPPORT_NAME "gReorderOffloadSupported"
2362#define CFG_REORDER_OFFLOAD_SUPPORT_MIN (0)
2363#define CFG_REORDER_OFFLOAD_SUPPORT_MAX (1)
2364#define CFG_REORDER_OFFLOAD_SUPPORT_DEFAULT (0)
2365
2366#ifdef WLAN_FEATURE_ROAM_OFFLOAD
2367#define CFG_ROAMING_OFFLOAD_NAME "gRoamOffloadEnabled"
2368#define CFG_ROAMING_OFFLOAD_MIN (0)
2369#define CFG_ROAMING_OFFLOAD_MAX (1)
Varun Reddy Yeturu215ef942016-03-17 16:57:45 -07002370#define CFG_ROAMING_OFFLOAD_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002371#endif
2372
2373#define CFG_IPA_UC_TX_BUF_COUNT_NAME "IpaUcTxBufCount"
2374#define CFG_IPA_UC_TX_BUF_COUNT_MIN (0)
2375#define CFG_IPA_UC_TX_BUF_COUNT_MAX (2048)
2376#define CFG_IPA_UC_TX_BUF_COUNT_DEFAULT (512)
2377
2378#define CFG_IPA_UC_TX_BUF_SIZE_NAME "IpaUcTxBufSize"
2379#define CFG_IPA_UC_TX_BUF_SIZE_MIN (0)
2380#define CFG_IPA_UC_TX_BUF_SIZE_MAX (4096)
2381#define CFG_IPA_UC_TX_BUF_SIZE_DEFAULT (2048)
2382
2383#define CFG_IPA_UC_RX_IND_RING_COUNT_NAME "IpaUcRxIndRingCount"
2384#define CFG_IPA_UC_RX_IND_RING_COUNT_MIN (0)
2385#define CFG_IPA_UC_RX_IND_RING_COUNT_MAX (2048)
2386#define CFG_IPA_UC_RX_IND_RING_COUNT_DEFAULT (1024)
2387
2388#define CFG_IPA_UC_TX_PARTITION_BASE_NAME "IpaUcTxPartitionBase"
2389#define CFG_IPA_UC_TX_PARTITION_BASE_MIN (0)
2390#define CFG_IPA_UC_TX_PARTITION_BASE_MAX (9000)
2391#define CFG_IPA_UC_TX_PARTITION_BASE_DEFAULT (3000)
2392
2393#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
2394/* Enable WLAN Logging to app space */
2395#define CFG_WLAN_LOGGING_SUPPORT_NAME "wlanLoggingEnable"
2396#define CFG_WLAN_LOGGING_SUPPORT_ENABLE (1)
2397#define CFG_WLAN_LOGGING_SUPPORT_DISABLE (0)
2398#define CFG_WLAN_LOGGING_SUPPORT_DEFAULT (1)
2399
2400/* Enable FATAL and ERROR logs for kmsg console */
2401#define CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_NAME "wlanLoggingFEToConsole"
2402#define CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_ENABLE (1)
2403#define CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DISABLE (0)
2404#define CFG_WLAN_LOGGING_FE_CONSOLE_SUPPORT_DEFAULT (1)
2405
2406/* Number of buffers to be used for WLAN logging */
2407#define CFG_WLAN_LOGGING_NUM_BUF_NAME "wlanLoggingNumBuf"
2408#define CFG_WLAN_LOGGING_NUM_BUF_MIN (4)
2409#define CFG_WLAN_LOGGING_NUM_BUF_MAX (512)
2410#define CFG_WLAN_LOGGING_NUM_BUF_DEFAULT (256)
2411#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
2412
2413#define CFG_ENABLE_SIFS_BURST "gEnableSifsBurst"
2414#define CFG_ENABLE_SIFS_BURST_MIN (0)
2415#define CFG_ENABLE_SIFS_BURST_MAX (1)
2416#define CFG_ENABLE_SIFS_BURST_DEFAULT (0)
2417
2418#ifdef WLAN_FEATURE_LPSS
2419#define CFG_ENABLE_LPASS_SUPPORT "gEnableLpassSupport"
2420#define CFG_ENABLE_LPASS_SUPPORT_DEFAULT (0)
2421#define CFG_ENABLE_LPASS_SUPPORT_MIN (0)
2422#define CFG_ENABLE_LPASS_SUPPORT_MAX (1)
2423#endif
2424
2425/*
2426 * NaN feature support configuration
2427 * gEnableNanSupport = 0 means NaN is not supported
2428 * gEnableNanSupport = 1 means NaN is supported
2429 */
2430#ifdef WLAN_FEATURE_NAN
2431#define CFG_ENABLE_NAN_SUPPORT "gEnableNanSupport"
2432#define CFG_ENABLE_NAN_SUPPORT_DEFAULT (0)
2433#define CFG_ENABLE_NAN_SUPPORT_MIN (0)
2434#define CFG_ENABLE_NAN_SUPPORT_MAX (1)
2435#endif
2436
2437#define CFG_ENABLE_SELF_RECOVERY "gEnableSelfRecovery"
2438#define CFG_ENABLE_SELF_RECOVERY_MIN (0)
2439#define CFG_ENABLE_SELF_RECOVERY_MAX (1)
2440#define CFG_ENABLE_SELF_RECOVERY_DEFAULT (0)
2441
2442#define CFG_ENABLE_SAP_SUSPEND "gEnableSapSuspend"
2443#define CFG_ENABLE_SAP_SUSPEND_MIN (0)
2444#define CFG_ENABLE_SAP_SUSPEND_MAX (1)
2445#define CFG_ENABLE_SAP_SUSPEND_DEFAULT (1)
2446
2447#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
2448#define CFG_EXTWOW_GO_TO_SUSPEND "gExtWoWgotoSuspend"
2449#define CFG_EXTWOW_GO_TO_SUSPEND_MIN (0)
2450#define CFG_EXTWOW_GO_TO_SUSPEND_MAX (1)
2451#define CFG_EXTWOW_GO_TO_SUSPEND_DEFAULT (1)
2452
2453#define CFG_EXTWOW_APP1_WAKE_PIN_NUMBER "gExtWowApp1WakeupPinNumber"
2454#define CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MIN (0)
2455#define CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_MAX (255)
2456#define CFG_EXTWOW_APP1_WAKE_PIN_NUMBER_DEFAULT (12)
2457
2458#define CFG_EXTWOW_APP2_WAKE_PIN_NUMBER "gExtWowApp2WakeupPinNumber"
2459#define CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MIN (0)
2460#define CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_MAX (255)
2461#define CFG_EXTWOW_APP2_WAKE_PIN_NUMBER_DEFAULT (16)
2462
2463#define CFG_EXTWOW_KA_INIT_PING_INTERVAL "gExtWoWApp2KAInitPingInterval"
2464#define CFG_EXTWOW_KA_INIT_PING_INTERVAL_MIN (0)
2465#define CFG_EXTWOW_KA_INIT_PING_INTERVAL_MAX (0xffffffff)
2466#define CFG_EXTWOW_KA_INIT_PING_INTERVAL_DEFAULT (240)
2467
2468#define CFG_EXTWOW_KA_MIN_PING_INTERVAL "gExtWoWApp2KAMinPingInterval"
2469#define CFG_EXTWOW_KA_MIN_PING_INTERVAL_MIN (0)
2470#define CFG_EXTWOW_KA_MIN_PING_INTERVAL_MAX (0xffffffff)
2471#define CFG_EXTWOW_KA_MIN_PING_INTERVAL_DEFAULT (240)
2472
2473#define CFG_EXTWOW_KA_MAX_PING_INTERVAL "gExtWoWApp2KAMaxPingInterval"
2474#define CFG_EXTWOW_KA_MAX_PING_INTERVAL_MIN (0)
2475#define CFG_EXTWOW_KA_MAX_PING_INTERVAL_MAX (0xffffffff)
2476#define CFG_EXTWOW_KA_MAX_PING_INTERVAL_DEFAULT (1280)
2477
2478#define CFG_EXTWOW_KA_INC_PING_INTERVAL "gExtWoWApp2KAIncPingInterval"
2479#define CFG_EXTWOW_KA_INC_PING_INTERVAL_MIN (0)
2480#define CFG_EXTWOW_KA_INC_PING_INTERVAL_MAX (0xffffffff)
2481#define CFG_EXTWOW_KA_INC_PING_INTERVAL_DEFAULT (4)
2482
2483#define CFG_EXTWOW_TCP_SRC_PORT "gExtWoWApp2TcpSrcPort"
2484#define CFG_EXTWOW_TCP_SRC_PORT_MIN (0)
2485#define CFG_EXTWOW_TCP_SRC_PORT_MAX (65535)
2486#define CFG_EXTWOW_TCP_SRC_PORT_DEFAULT (5000)
2487
2488#define CFG_EXTWOW_TCP_DST_PORT "gExtWoWApp2TcpDstPort"
2489#define CFG_EXTWOW_TCP_DST_PORT_MIN (0)
2490#define CFG_EXTWOW_TCP_DST_PORT_MAX (65535)
2491#define CFG_EXTWOW_TCP_DST_PORT_DEFAULT (5001)
2492
2493#define CFG_EXTWOW_TCP_TX_TIMEOUT "gExtWoWApp2TcpTxTimeout"
2494#define CFG_EXTWOW_TCP_TX_TIMEOUT_MIN (0)
2495#define CFG_EXTWOW_TCP_TX_TIMEOUT_MAX (0xffffffff)
2496#define CFG_EXTWOW_TCP_TX_TIMEOUT_DEFAULT (200)
2497
2498#define CFG_EXTWOW_TCP_RX_TIMEOUT "gExtWoWApp2TcpRxTimeout"
2499#define CFG_EXTWOW_TCP_RX_TIMEOUT_MIN (0)
2500#define CFG_EXTWOW_TCP_RX_TIMEOUT_MAX (0xffffffff)
2501#define CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT (200)
2502#endif
2503
2504#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_NAME "gEnableDeauthToDisassocMap"
2505#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MIN (0)
2506#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_MAX (1)
2507#define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP_DEFAULT (0)
2508
2509#ifdef DHCP_SERVER_OFFLOAD
2510#define CFG_DHCP_SERVER_OFFLOAD_SUPPORT_NAME "gDHCPServerOffloadEnable"
2511#define CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MIN (0)
2512#define CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MAX (1)
2513#define CFG_DHCP_SERVER_OFFLOAD_SUPPORT_DEFAULT (CFG_DHCP_SERVER_OFFLOAD_SUPPORT_MIN)
2514
2515#define CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_NAME "gDHCPMaxNumClients"
2516#define CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MIN (1)
2517#define CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MAX (8)
2518#define CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_DEFAULT (CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT_MAX)
2519
2520#define CFG_DHCP_SERVER_IP_NAME "gDHCPServerIP"
2521#define CFG_DHCP_SERVER_IP_DEFAULT ""
2522#endif /* DHCP_SERVER_OFFLOAD */
2523
2524/*
2525 * If last disconnection was due to HB failure and we reconnect
2526 * to same AP next time, send Deauth before starting connection
2527 */
2528#define CFG_ENABLE_DEAUTH_BEFORE_CONNECTION "gSendDeauthBeforeCon"
2529#define CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MIN (0)
2530#define CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_MAX (1)
2531#define CFG_ENABLE_DEAUTH_BEFORE_CONNECTION_DEFAULT (0)
2532
2533/*
2534 * Custom concurrency rule1:
2535 * If SAP comes up first and STA comes up later then SAP
2536 * needs to follow STA's channel.
2537 */
2538#define CFG_ENABLE_CUSTOM_CONC_RULE1_NAME "gEnableCustomConcRule1"
2539#define CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_MIN (0)
2540#define CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_MAX (1)
2541#define CFG_ENABLE_CUSTOM_CONC_RULE1_NAME_DEFAULT (0)
2542
2543#define CFG_ENABLE_CUSTOM_CONC_RULE2_NAME "gEnableCustomConcRule2"
2544#define CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_MIN (0)
2545#define CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_MAX (1)
2546#define CFG_ENABLE_CUSTOM_CONC_RULE2_NAME_DEFAULT (0)
2547
2548#define CFG_ENABLE_STA_CONNECTION_IN_5GHZ "gEnableStaConnectionIn5Ghz"
2549#define CFG_ENABLE_STA_CONNECTION_IN_5GHZ_MIN (0)
2550#define CFG_ENABLE_STA_CONNECTION_IN_5GHZ_MAX (1)
2551#define CFG_ENABLE_STA_CONNECTION_IN_5GHZ_DEFAULT (1)
2552
2553#define CFG_ENABLE_MAC_ADDR_SPOOFING "gEnableMacAddrSpoof"
2554#define CFG_ENABLE_MAC_ADDR_SPOOFING_MIN (0)
2555#define CFG_ENABLE_MAC_ADDR_SPOOFING_MAX (1)
2556#define CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT (1)
2557
2558#define CFG_P2P_LISTEN_DEFER_INTERVAL_NAME "gP2PListenDeferInterval"
2559#define CFG_P2P_LISTEN_DEFER_INTERVAL_MIN (100)
2560#define CFG_P2P_LISTEN_DEFER_INTERVAL_MAX (200)
2561#define CFG_P2P_LISTEN_DEFER_INTERVAL_DEFAULT (100)
2562
2563#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL "gStaMiracastMccRestTimeVal"
2564#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MIN (100)
2565#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MAX (500)
2566#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_DEFAULT (400)
2567
2568#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
2569#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_NAME "gSapChannelAvoidance"
2570#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_MIN (0)
2571#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_MAX (1)
2572#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_DEFAULT (0)
2573#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
2574
2575#define CFG_SAP_P2P_11AC_OVERRIDE_NAME "gAP11ACOverride"
2576#define CFG_SAP_P2P_11AC_OVERRIDE_MIN (0)
2577#define CFG_SAP_P2P_11AC_OVERRIDE_MAX (1)
2578#define CFG_SAP_P2P_11AC_OVERRIDE_DEFAULT (1)
2579
2580#define CFG_SAP_DOT11MC "gSapDot11mc"
2581#define CFG_SAP_DOT11MC_MIN (0)
2582#define CFG_SAP_DOT11MC_MAX (1)
2583#define CFG_SAP_DOT11MC_DEFAULT (0)
2584
2585#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR "gPreferNonDfsChanOnRadar"
2586#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MIN (0)
2587#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_MAX (1)
2588#define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR_DEFAULT (0)
2589
2590#define CFG_MULTICAST_HOST_FW_MSGS "gMulticastHostFwMsgs"
2591#define CFG_MULTICAST_HOST_FW_MSGS_MIN (0)
2592#define CFG_MULTICAST_HOST_FW_MSGS_MAX (1)
2593#define CFG_MULTICAST_HOST_FW_MSGS_DEFAULT (1)
2594
2595/*
2596 * wlan system preference option to help policy manager decide
2597 * on Preferred Channel List for a new connection. For possible
2598 * values refer to enum hdd_conc_priority_mode
2599 */
2600#define CFG_CONC_SYSTEM_PREF "gSystemPref"
2601#define CFG_CONC_SYSTEM_PREF_MIN (0)
2602#define CFG_CONC_SYSTEM_PREF_MAX (2)
2603#define CFG_CONC_SYSTEM_PREF_DEFAULT (0)
2604
2605#define CFG_POLICY_MNGR_ENABLE "gPolicyManagerEnable"
2606#define CFG_POLICY_MNGR_ENABLE_MIN (0)
2607#define CFG_POLICY_MNGR_ENABLE_MAX (1)
2608#define CFG_POLICY_MNGR_ENABLE_DEFAULT (1)
2609
2610#define CFG_TSO_ENABLED_NAME "TSOEnable"
2611#define CFG_TSO_ENABLED_MIN (0)
2612#define CFG_TSO_ENABLED_MAX (1)
2613#define CFG_TSO_ENABLED_DEFAULT (0)
2614
2615/*
2616 * Configuration option to enable or disable LRO (Large Receive Offload)
2617 * in the WLAN driver
2618 * Set 1 - enable, 0 - disable
2619 */
2620#define CFG_LRO_ENABLED_NAME "LROEnable"
2621#define CFG_LRO_ENABLED_MIN (0)
2622#define CFG_LRO_ENABLED_MAX (1)
2623#define CFG_LRO_ENABLED_DEFAULT (0)
2624
2625/*
2626 * In static display use case when APPS is in stand alone power save mode enable
2627 * active offload mode which helps FW to filter out MC/BC data packets to avoid
2628 * APPS wake up and save more power.
2629 *
2630 * By default enable active mode offload as it helps to save more power in
2631 * static display usecase(APPS stand alone power collapse).
2632 *
2633 * If active mode offload(gActiveModeOffload=1) is enabled then all applicable
2634 * data offload/filtering is enabled immediately in FW once config is available
2635 * in WLAN driver and FW caches this configuration accross suspend/resume
2636 *
2637 * If active mode offload is disabled(gActiveModeOffload=0) then all applicable
2638 * data offload/filtering is enabled during cfg80211 suspend and disabled
2639 * during cfg80211 resume
2640 *
2641 * Active mode offload feature is bydefault enabled for adrastea and disabled
2642 * for non adrastea targets like ROME
2643 */
2644
2645#define CFG_ACTIVE_MODE_OFFLOAD "gActiveModeOffload"
2646#define CFG_ACTIVE_MODE_OFFLOAD_MIN (0)
2647#define CFG_ACTIVE_MODE_OFFLOAD_MAX (1)
2648#ifdef QCA_WIFI_3_0_ADRASTEA
2649#define CFG_ACTIVE_MODE_OFFLOAD_DEFAULT (1)
2650#else
2651#define CFG_ACTIVE_MODE_OFFLOAD_DEFAULT (0)
2652#endif
2653
2654/*
2655 * 0: disable the cck tx chain mask (default)
2656 * 1: enable the cck tx chain mask
2657 */
2658#define CFG_TX_CHAIN_MASK_CCK "gCckChainMaskEnable"
2659#define CFG_TX_CHAIN_MASK_CCK_MIN (0)
2660#define CFG_TX_CHAIN_MASK_CCK_MAX (1)
2661#define CFG_TX_CHAIN_MASK_CCK_DEFAULT (0)
2662
2663#define CFG_TX_CHAIN_MASK_1SS "gTxChainMask1ss"
2664#define CFG_TX_CHAIN_MASK_1SS_MIN (0)
2665#define CFG_TX_CHAIN_MASK_1SS_MAX (3)
2666#define CFG_TX_CHAIN_MASK_1SS_DEFAULT (1)
2667
2668/*
2669 * set the self gen power value from
2670 * 0 to 0xffff
2671 */
2672#define CFG_SELF_GEN_FRM_PWR "gSelfGenFrmPwr"
2673#define CFG_SELF_GEN_FRM_PWR_MIN (0)
2674#define CFG_SELF_GEN_FRM_PWR_MAX (0xffff)
2675#define CFG_SELF_GEN_FRM_PWR_DEFAULT (0)
2676
2677/*
2678 * fine timing measurement capability information
2679 *
2680 * <----- fine_time_meas_cap (in bits) ----->
2681 *+----------+-----+-----+------+------+-------+-------+-----+-----+
2682 *| 9-31 | 8 | 7 | 5 | 4 | 3 | 2 | 1 | 0 |
2683 *+----------+-----+-----+------+------+-------+-------+-----+-----+
2684 *| reserved | SAP | SAP |P2P-GO|P2P-GO|P2P-CLI|P2P-CLI| STA | STA |
2685 *| |resp |init |resp |init |resp |init |resp |init |
2686 *+----------+-----+-----+------+------+-------+-------+-----+-----+
2687 *
2688 * resp - responder role; init- initiator role
2689 *
2690 * CFG_FINE_TIME_MEAS_CAPABILITY_MAX computed based on the table
2691 * +-----------------+-----------------+-----------+
2692 * | Device Role | Initiator | Responder |
2693 * +-----------------+-----------------+-----------+
2694 * | Station | Y | N |
2695 * | P2P-CLI | Y | Y |
2696 * | P2P-GO | Y | Y |
2697 * | SAP | N | Y |
2698 * +-----------------+-----------------+-----------+
2699 */
2700#define CFG_FINE_TIME_MEAS_CAPABILITY "gfine_time_meas_cap"
2701#define CFG_FINE_TIME_MEAS_CAPABILITY_MIN (0x0000)
2702#define CFG_FINE_TIME_MEAS_CAPABILITY_MAX (0x00BD)
2703#define CFG_FINE_TIME_MEAS_CAPABILITY_DEFAULT (0x000D)
2704
2705/*
2706 * Maximum number of scans that host can queue at firmware is controlled
2707 * through the configuration item 'max_scan_count'.
2708 *
2709 * Rome - Rome firmware support 8 scan queue size and 4 are reserved
2710 * for internal scan requests like roaming. So host can send 4
2711 * scan requests.
2712 *
2713 * ihelium - There is no constraint in number of scan queue size at
2714 * firmware but the current uses cases needs support of maximum
2715 * of 4 scan request from host.
2716 */
2717#define CFG_MAX_SCAN_COUNT_NAME "max_scan_count"
2718#define CFG_MAX_SCAN_COUNT_MIN (1)
2719#define CFG_MAX_SCAN_COUNT_MAX (8)
2720#define CFG_MAX_SCAN_COUNT_DEFAULT (4)
2721
2722/**
2723 * enum dot11p_mode - The 802.11p mode of operation
2724 * @WLAN_HDD_11P_DISABLED: 802.11p mode is disabled
2725 * @WLAN_HDD_11P_STANDALONE: 802.11p-only operation
2726 * @WLAN_HDD_11P_CONCURRENT: 802.11p and WLAN operate concurrently
2727 */
2728enum dot11p_mode {
2729 WLAN_HDD_11P_DISABLED = 0,
2730 WLAN_HDD_11P_STANDALONE,
2731 WLAN_HDD_11P_CONCURRENT,
2732};
2733
2734#define CFG_DOT11P_MODE_NAME "gDot11PMode"
2735#define CFG_DOT11P_MODE_DEFAULT (WLAN_HDD_11P_DISABLED)
2736#define CFG_DOT11P_MODE_MIN (WLAN_HDD_11P_DISABLED)
2737#define CFG_DOT11P_MODE_MAX (WLAN_HDD_11P_CONCURRENT)
2738
2739#define CFG_NAPI_NAME "gEnableNAPI"
2740#define CFG_NAPI_MIN (0)
2741#define CFG_NAPI_MAX (1)
2742#define CFG_NAPI_DEFAULT (0)
2743
2744#ifdef FEATURE_WLAN_EXTSCAN
2745#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_NAME "gExtScanPassiveMaxChannelTime"
Naveen Rawatbace3512015-11-03 10:21:45 -08002746#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MIN (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002747#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_MAX (500)
2748#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME_DEFAULT (110)
2749
2750#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_NAME "gExtScanPassiveMinChannelTime"
Naveen Rawatbace3512015-11-03 10:21:45 -08002751#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MIN (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002752#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_MAX (500)
2753#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME_DEFAULT (60)
2754
2755#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_NAME "gExtScanActiveMaxChannelTime"
Naveen Rawatbace3512015-11-03 10:21:45 -08002756#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MIN (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002757#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_MAX (110)
2758#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME_DEFAULT (40)
2759
2760#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_NAME "gExtScanActiveMinChannelTime"
Naveen Rawatbace3512015-11-03 10:21:45 -08002761#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MIN (0)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002762#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_MAX (110)
2763#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME_DEFAULT (20)
2764#endif
2765
2766#define CFG_CE_CLASSIFY_ENABLE_NAME "gCEClassifyEnable"
2767#define CFG_CE_CLASSIFY_ENABLE_MIN (0)
2768#define CFG_CE_CLASSIFY_ENABLE_MAX (1)
Prakash Manjunathappa6eae0cd2016-02-08 10:27:21 -08002769#define CFG_CE_CLASSIFY_ENABLE_DEFAULT (1)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002770
2771#define CFG_DUAL_MAC_FEATURE_DISABLE "gDualMacFeatureDisable"
2772#define CFG_DUAL_MAC_FEATURE_DISABLE_MIN (0)
2773#define CFG_DUAL_MAC_FEATURE_DISABLE_MAX (1)
2774#define CFG_DUAL_MAC_FEATURE_DISABLE_DEFAULT (0)
2775
2776/* Parameters for roaming scans performed at high RSSI */
2777
2778/* Maximum number of scans after RSSI change */
2779#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_NAME "gRoamScanHiRssiMaxCount"
2780#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MIN (0)
2781#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_MAX (10)
Varun Reddy Yeturu062dc742015-11-03 17:30:43 -08002782#define CFG_ROAM_SCAN_HI_RSSI_MAXCOUNT_DEFAULT (3)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002783
2784/* Change in RSSI at which scan is triggered */
2785#define CFG_ROAM_SCAN_HI_RSSI_DELTA_NAME "gRoamScanHiRssiDelta"
2786#define CFG_ROAM_SCAN_HI_RSSI_DELTA_MIN (0)
2787#define CFG_ROAM_SCAN_HI_RSSI_DELTA_MAX (16)
Varun Reddy Yeturu58414762015-11-03 17:10:30 -08002788#define CFG_ROAM_SCAN_HI_RSSI_DELTA_DEFAULT (10)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002789
2790/* Delay between consecutive scans in milliseconds */
2791#define CFG_ROAM_SCAN_HI_RSSI_DELAY_NAME "gRoamScanHiRssiDelay"
2792#define CFG_ROAM_SCAN_HI_RSSI_DELAY_MIN (5000)
Varun Reddy Yeturu062dc742015-11-03 17:30:43 -08002793#define CFG_ROAM_SCAN_HI_RSSI_DELAY_MAX (0x7fffffff)
2794#define CFG_ROAM_SCAN_HI_RSSI_DELAY_DEFAULT (15000)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002795
2796/* Upper bound after which scan will not be performed */
2797#define CFG_ROAM_SCAN_HI_RSSI_UB_NAME "gRoamScanHiRssiUpperBound"
Varun Reddy Yeturu062dc742015-11-03 17:30:43 -08002798#define CFG_ROAM_SCAN_HI_RSSI_UB_MIN (-66)
2799#define CFG_ROAM_SCAN_HI_RSSI_UB_MAX (0)
2800#define CFG_ROAM_SCAN_HI_RSSI_UB_DEFAULT (-30)
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07002801/*
2802 * gPNOChannelPrediction will allow user to enable/disable the
2803 * PNO channel prediction feature.
2804 * In current PNO implementation, scan is always done until all configured
2805 * channels are scanned. If we can determine DUT is stationary based on
2806 * scanning a subset of channels, we may cancel the remaining channels.
2807 * Hence, we can save additional power consumption.
2808 */
2809#define CFG_PNO_CHANNEL_PREDICTION_NAME "gPNOChannelPrediction"
2810#define CFG_PNO_CHANNEL_PREDICTION_MIN (0)
2811#define CFG_PNO_CHANNEL_PREDICTION_MAX (1)
2812#define CFG_PNO_CHANNEL_PREDICTION_DEFAULT (0)
2813/*
2814 * The top K number of channels are used for tanimoto distance
2815 * calculation. These are the top channels on which the probability
2816 * of finding the AP's is extremely high. This number is intended
2817 * for tweaking the internal algorithm for experiments. This should
2818 * not be changed externally.
2819 */
2820#define CFG_TOP_K_NUM_OF_CHANNELS_NAME "gTopKNumOfChannels"
2821#define CFG_TOP_K_NUM_OF_CHANNELS_MIN (1)
2822#define CFG_TOP_K_NUM_OF_CHANNELS_MAX (5)
2823#define CFG_TOP_K_NUM_OF_CHANNELS_DEFAULT (3)
2824/*
2825 * This is the threshold value to determine that the STA is
2826 * stationary. If the tanimoto distance is less than this
2827 * value, then the device is considered to be stationary.
2828 * This parameter is intended to tweak the internal algorithm
2829 * for experiments. This should not be changed externally.
2830 */
2831#define CFG_STATIONARY_THRESHOLD_NAME "gStationaryThreshold"
2832#define CFG_STATIONARY_THRESHOLD_MIN (0)
2833#define CFG_STATIONARY_THRESHOLD_MAX (100)
2834#define CFG_STATIONARY_THRESHOLD_DEFAULT (10)
2835/*
2836 * The following parameter is the periodic timer upon which
2837 * a full scan needs to be triggered when PNO channel prediction
2838 * feature is enabled. This parameter is intended to tweak the
2839 * internal algortihm for experiments. This should not be changed
2840 * externally.
2841 */
2842#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_NAME "gChPredictionFullScanMs"
2843#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MIN (30000)
2844#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_MAX (0x7fffffff)
2845#define CFG_CHANNEL_PREDICTION_FULL_SCAN_MS_DEFAULT (60000)
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002846
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07002847/*
2848 * Early stop scan is a feature for roaming to stop the scans at
2849 * an early stage as soon as we find a better AP to roam. This
2850 * would make the roaming happen quickly.
2851 */
2852#define CFG_EARLY_STOP_SCAN_ENABLE "gEnableEarlyStopScan"
2853#define CFG_EARLY_STOP_SCAN_ENABLE_MIN (0)
2854#define CFG_EARLY_STOP_SCAN_ENABLE_MAX (1)
2855#define CFG_EARLY_STOP_SCAN_ENABLE_DEFAULT (0)
2856/*
2857 * Early stop scan minimum threshold is the minimum threshold
Varun Reddy Yeturuec932142015-11-13 08:11:43 -08002858 * to be considered for stopping the scan. The algorithm starts
2859 * with a scan on the greedy channel list with the maximum threshold
2860 * and steps down the threshold by 20% for each further channel.
2861 * It can step down on each channel but cannot go lower than the minimum
2862 * threshold.
2863 */
2864#define CFG_EARLY_STOP_SCAN_MIN_THRESHOLD "gEarlyStopScanMinThreshold"
2865#define CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MIN (-80)
2866#define CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_MAX (-70)
2867#define CFG_EARLY_STOP_SCAN_MIN_THRESHOLD_DEFAULT (-78)
2868/*
2869 * Early stop scan maximum threshold is the maximum threshold
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07002870 * at which the candidate AP should be to be qualified as a
2871 * potential roam candidate and good enough to stop the roaming scan
2872 */
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07002873#define CFG_EARLY_STOP_SCAN_MAX_THRESHOLD "gEarlyStopScanMaxThreshold"
Varun Reddy Yeturuec932142015-11-13 08:11:43 -08002874#define CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MIN (-60)
2875#define CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_MAX (-40)
2876#define CFG_EARLY_STOP_SCAN_MAX_THRESHOLD_DEFAULT (-45)
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07002877
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08002878/*
2879 * This parameter will configure the first scan bucket
2880 * threshold to the mentioned value and all the AP's which
2881 * have RSSI under this threshold will fall under this
2882 * bucket.
2883 * This is a configuration item used to tweak and test the input
2884 * for internal algorithm. It should not be modified externally.
2885 */
2886#define CFG_FIRST_SCAN_BUCKET_THRESHOLD_NAME "gFirstScanBucketThreshold"
2887#define CFG_FIRST_SCAN_BUCKET_THRESHOLD_MIN (-50)
2888#define CFG_FIRST_SCAN_BUCKET_THRESHOLD_MAX (-30)
2889#define CFG_FIRST_SCAN_BUCKET_THRESHOLD_DEFAULT (-30)
2890
Ravi Joshi742495d2015-11-09 18:56:53 -08002891#ifdef FEATURE_LFR_SUBNET_DETECTION
2892/*
2893 * Enable IP subnet detection during legacy fast roming version 3.
2894 * Legacy fast roaming could roam across IP subnets without host
2895 * processors' knowledge. This feature enables firmware to wake up
2896 * the host processor if it successfully determines change in the IP subnet.
2897 * Change in IP subnet could potentially cause disruption in IP connnectivity
2898 * if IP address is not refreshed.
2899 */
2900#define CFG_ENABLE_LFR_SUBNET_DETECTION "gLFRSubnetDetectionEnable"
2901#define CFG_ENABLE_LFR_SUBNET_MIN (0)
2902#define CFG_ENABLE_LFR_SUBNET_MAX (1)
2903#define CFG_ENABLE_LFR_SUBNET_DEFAULT (1)
2904#endif /* FEATURE_LFR_SUBNET_DETECTION */
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -07002905/* Option to report rssi in cfg80211_inform_bss_frame()
2906 * 0 = use rssi value based on noise floor = -96 dBm
2907 * 1 = use rssi value based on actual noise floor in hardware
2908 */
2909#define CFG_INFORM_BSS_RSSI_RAW_NAME "gInformBssRssiRaw"
2910#define CFG_INFORM_BSS_RSSI_RAW_MIN (0)
2911#define CFG_INFORM_BSS_RSSI_RAW_MAX (1)
2912#define CFG_INFORM_BSS_RSSI_RAW_DEFAULT (1)
Ravi Joshi742495d2015-11-09 18:56:53 -08002913
Manikandan Mohan976e7562016-03-15 16:33:31 -07002914/* GPIO pin to toggle when capture tsf */
2915#define CFG_SET_TSF_GPIO_PIN_NAME "gtsf_gpio_pin"
2916#define CFG_SET_TSF_GPIO_PIN_MIN (0)
Manikandan Mohan296d4b52016-03-15 16:39:31 -07002917#define CFG_SET_TSF_GPIO_PIN_MAX (254)
2918#define TSF_GPIO_PIN_INVALID (255)
2919#define CFG_SET_TSF_GPIO_PIN_DEFAULT (TSF_GPIO_PIN_INVALID)
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08002920
2921/*
2922 * OBSS scan parameters
2923 * obss_active_dwelltime - minimum per channel scan duration in active scan
2924 * obss_passive_dwelltime - minimum per channel scan duration in passive scan
2925 * obss_width_trigger_interval - During an OBSS scan operation, each channel
2926 * in the set is scanned at least once per configured trigger interval time.
2927 */
2928#define CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_NAME "obss_active_dwelltime"
2929#define CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MIN (5)
2930#define CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_MAX (1000)
2931#define CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME_DEFAULT (10)
2932
2933#define CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_NAME "obss_passive_dwelltime"
2934#define CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MIN (10)
2935#define CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_MAX (1000)
2936#define CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME_DEFAULT (20)
2937
2938#define CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_NAME "obss_width_trigger_interval"
2939#define CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MIN (10)
2940#define CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_MAX (900)
2941#define CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL_DEFAULT (200)
2942
Tushnim Bhattacharyya24e12a62015-10-12 14:51:56 -07002943#ifdef QCA_WIFI_3_0_EMU
2944/*
2945 * On M2M emulation platform we have a fixed mapping between macs, hence
2946 * vdev transition & MCC support is not possible on this platform. But MPR
2947 * platform doesn't have these limitations. This config allows at runtime
2948 * enable/disable vdev transition & MCC support depending on the platform
2949 * it is running on
2950 */
2951#define CFG_ENABLE_M2M_LIMITATION "gEnableM2MLimitation"
2952#define CFG_ENABLE_M2M_LIMITATION_MIN (0)
2953#define CFG_ENABLE_M2M_LIMITATION_MAX (1)
Krunal Soni3ce0a782016-03-31 11:22:21 -07002954#define CFG_ENABLE_M2M_LIMITATION_DEFAULT (0)
Tushnim Bhattacharyya24e12a62015-10-12 14:51:56 -07002955#endif /* QCA_WIFI_3_0_EMU */
2956
Gupta, Kapilc68ad462016-02-01 19:17:23 +05302957/*
2958 * Dense traffic threshold
2959 * traffic threshold required for dense roam scan
2960 * not used currently
2961 */
2962#define CFG_ROAM_DENSE_TRAFFIC_THRESHOLD "gtraffic_threshold"
2963#define CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MIN (0)
2964#define CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_MAX (100)
2965#define CFG_ROAM_DENSE_TRAFFIC_THRESHOLD_DEFAULT (0)
2966
2967/*
2968 * Dense Roam RSSI Threshold diff
2969 * offset value from normal RSSI threshold to dense RSSI threshold
2970 * Fw will optimize roaming based on new RSSI threshold once it detects
2971 * dense enviournment.
2972 */
2973#define CFG_ROAM_DENSE_RSSI_THRE_OFFSET "groam_dense_rssi_thresh_offset"
2974#define CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MIN (0)
2975#define CFG_ROAM_DENSE_RSSI_THRE_OFFSET_MAX (20)
2976#define CFG_ROAM_DENSE_RSSI_THRE_OFFSET_DEFAULT (0)
2977
2978/*
Abhishek Singh165bc602016-03-21 12:43:00 +05302979 * Enabling gignore_peer_ht_opmode will enable 11g
2980 * protection only when there is a 11g AP in vicinity.
2981 */
2982#define CFG_IGNORE_PEER_HT_MODE_NAME "gignore_peer_ht_opmode"
2983#define CFG_IGNORE_PEER_HT_MODE_MIN (0)
2984#define CFG_IGNORE_PEER_HT_MODE_MAX (1)
2985#define CFG_IGNORE_PEER_HT_MODE_DEFAULT (0)
2986
2987/*
Gupta, Kapilc68ad462016-02-01 19:17:23 +05302988 * Dense Roam Min APs
2989 * minimum number of AP required for dense roam
2990 * FW will consider environment as dense once it detects #APs
2991 * operating is more than CFG_ROAM_DENSE_MIN_APS.
2992 */
2993#define CFG_ROAM_DENSE_MIN_APS "groam_dense_min_aps"
2994#define CFG_ROAM_DENSE_MIN_APS_MIN (1)
2995#define CFG_ROAM_DENSE_MIN_APS_MAX (5)
2996#define CFG_ROAM_DENSE_MIN_APS_DEFAULT (1)
2997
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08002998/*---------------------------------------------------------------------------
2999 Type declarations
3000 -------------------------------------------------------------------------*/
3001
3002struct hdd_config {
3003 /* Bitmap to track what is explicitly configured */
3004 DECLARE_BITMAP(bExplicitCfg, MAX_CFG_INI_ITEMS);
3005
3006 /* Config parameters */
3007 uint32_t RTSThreshold;
3008 uint32_t FragmentationThreshold;
3009 uint8_t OperatingChannel;
3010 bool ShortSlotTimeEnabled;
3011 bool Is11dSupportEnabled;
3012 bool Is11hSupportEnabled;
3013 bool fSupplicantCountryCodeHasPriority;
3014 uint32_t HeartbeatThresh24;
3015 char PowerUsageControl[4];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003016 bool fIsImpsEnabled;
3017 bool is_ps_enabled;
3018 uint32_t nBmpsModListenInterval;
3019 uint32_t nBmpsMaxListenInterval;
3020 uint32_t nBmpsMinListenInterval;
3021 eHddDot11Mode dot11Mode;
3022 uint32_t nChannelBondingMode24GHz;
3023 uint32_t nChannelBondingMode5GHz;
3024 uint32_t MaxRxAmpduFactor;
3025 uint16_t TxRate;
3026 uint32_t ShortGI20MhzEnable;
3027 uint32_t ScanResultAgeCount;
3028 uint32_t nScanAgeTimeNCNPS;
3029 uint32_t nScanAgeTimeNCPS;
3030 uint32_t nScanAgeTimeCNPS;
3031 uint32_t nScanAgeTimeCPS;
3032 uint8_t nRssiCatGap;
3033 bool fIsShortPreamble;
Anurag Chouhan6d760662016-02-20 16:05:43 +05303034 struct qdf_mac_addr IbssBssid;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003035 uint32_t AdHocChannel5G;
3036 uint32_t AdHocChannel24G;
3037 uint8_t intfAddrMask;
Anurag Chouhan6d760662016-02-20 16:05:43 +05303038 struct qdf_mac_addr intfMacAddr[QDF_MAX_CONCURRENCY_PERSONA];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003039
3040 bool apUapsdEnabled;
3041 bool apRandomBssidEnabled;
3042 bool apProtEnabled;
3043 uint16_t apProtection;
3044 bool apOBSSProtEnabled;
3045 bool apDisableIntraBssFwd;
3046 uint8_t nEnableListenMode;
3047 uint32_t nAPAutoShutOff;
3048 uint8_t enableLTECoex;
3049 uint32_t apKeepAlivePeriod;
3050 uint32_t goKeepAlivePeriod;
3051 uint32_t apLinkMonitorPeriod;
3052 uint32_t goLinkMonitorPeriod;
3053 uint32_t nBeaconInterval;
3054 uint8_t nTxPowerCap; /* In dBm */
3055 bool fIsLowGainOverride;
3056 uint8_t disablePacketFilter;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003057 bool fRrmEnable;
3058 uint8_t nInChanMeasMaxDuration;
3059 uint8_t nOutChanMeasMaxDuration;
3060 uint16_t nRrmRandnIntvl;
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08003061 /* length includes separator */
3062 char rm_capability[3 * DOT11F_IE_RRMENABLEDCAP_MAX_LEN];
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003063
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003064 /* Vowifi 11r params */
3065 bool fFTResourceReqSupported;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003066
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003067 uint16_t nNeighborScanPeriod;
3068 uint8_t nNeighborLookupRssiThreshold;
3069 uint8_t delay_before_vdev_stop;
3070 uint8_t nOpportunisticThresholdDiff;
3071 uint8_t nRoamRescanRssiDiff;
3072 uint8_t neighborScanChanList[WNI_CFG_VALID_CHANNEL_LIST_LEN];
3073 uint16_t nNeighborScanMinChanTime;
3074 uint16_t nNeighborScanMaxChanTime;
3075 uint16_t nMaxNeighborReqTries;
3076 uint16_t nNeighborResultsRefreshPeriod;
3077 uint16_t nEmptyScanRefreshPeriod;
3078 uint8_t nRoamBmissFirstBcnt;
3079 uint8_t nRoamBmissFinalBcnt;
3080 uint8_t nRoamBeaconRssiWeight;
3081 uint32_t nhi_rssi_scan_max_count;
3082 uint32_t nhi_rssi_scan_rssi_delta;
3083 uint32_t nhi_rssi_scan_delay;
3084 int32_t nhi_rssi_scan_rssi_ub;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003085
3086 /* Additional Handoff params */
3087 uint32_t nRoamingTime;
3088 uint16_t nVccRssiTrigger;
3089 uint32_t nVccUlMacLossThreshold;
3090
3091 uint32_t nPassiveMinChnTime; /* in units of milliseconds */
3092 uint32_t nPassiveMaxChnTime; /* in units of milliseconds */
3093 uint32_t nActiveMinChnTime; /* in units of milliseconds */
3094 uint32_t nActiveMaxChnTime; /* in units of milliseconds */
3095
3096 uint32_t nInitialDwellTime; /* in units of milliseconds */
3097 bool initial_scan_no_dfs_chnl;
3098
3099#ifdef WLAN_AP_STA_CONCURRENCY
3100 uint32_t nPassiveMinChnTimeConc; /* in units of milliseconds */
3101 uint32_t nPassiveMaxChnTimeConc; /* in units of milliseconds */
3102 uint32_t nActiveMinChnTimeConc; /* in units of milliseconds */
3103 uint32_t nActiveMaxChnTimeConc; /* in units of milliseconds */
3104 uint32_t nRestTimeConc; /* in units of milliseconds */
3105 uint8_t nNumStaChanCombinedConc; /* number of channels combined for */
3106 /* STA in each split scan operation */
3107 uint8_t nNumP2PChanCombinedConc; /* number of channels combined for */
3108 /* P2P in each split scan operation */
3109#endif
3110
3111 uint8_t nMaxPsPoll;
3112
3113 uint8_t nRssiFilterPeriod;
3114 bool fIgnoreDtim;
3115 uint8_t fMaxLIModulatedDTIM;
3116
3117 uint8_t nRxAnt;
3118 uint8_t fEnableFwHeartBeatMonitoring;
3119 uint8_t fEnableFwBeaconFiltering;
3120 bool fEnableFwRssiMonitoring;
3121 bool mcc_rts_cts_prot_enable;
3122 bool mcc_bcast_prob_resp_enable;
3123 uint8_t nDataInactivityTimeout;
3124
3125 /* WMM QoS Configuration */
3126 hdd_wmm_user_mode_t WmmMode;
3127 bool b80211eIsEnabled;
3128 uint8_t UapsdMask; /* what ACs to setup U-APSD for at assoc */
3129 uint32_t InfraUapsdVoSrvIntv;
3130 uint32_t InfraUapsdVoSuspIntv;
3131 uint32_t InfraUapsdViSrvIntv;
3132 uint32_t InfraUapsdViSuspIntv;
3133 uint32_t InfraUapsdBeSrvIntv;
3134 uint32_t InfraUapsdBeSuspIntv;
3135 uint32_t InfraUapsdBkSrvIntv;
3136 uint32_t InfraUapsdBkSuspIntv;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003137 bool isFastRoamIniFeatureEnabled;
3138 bool MAWCEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003139#ifdef FEATURE_WLAN_ESE
3140 uint32_t InfraInactivityInterval;
3141 bool isEseIniFeatureEnabled;
3142#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003143 bool isFastTransitionEnabled;
3144 uint8_t RoamRssiDiff;
3145 bool isWESModeEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003146#ifdef FEATURE_WLAN_OKC
3147 bool isOkcIniFeatureEnabled;
3148#endif
3149 bool isRoamOffloadScanEnabled;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003150 bool bImplicitQosEnabled;
3151
3152 /* default TSPEC parameters for AC_VO */
3153 sme_QosWmmDirType InfraDirAcVo;
3154 uint16_t InfraNomMsduSizeAcVo;
3155 uint32_t InfraMeanDataRateAcVo;
3156 uint32_t InfraMinPhyRateAcVo;
3157 uint16_t InfraSbaAcVo;
3158
3159 /* default TSPEC parameters for AC_VI */
3160 sme_QosWmmDirType InfraDirAcVi;
3161 uint16_t InfraNomMsduSizeAcVi;
3162 uint32_t InfraMeanDataRateAcVi;
3163 uint32_t InfraMinPhyRateAcVi;
3164 uint16_t InfraSbaAcVi;
3165
3166 /* default TSPEC parameters for AC_BE */
3167 sme_QosWmmDirType InfraDirAcBe;
3168 uint16_t InfraNomMsduSizeAcBe;
3169 uint32_t InfraMeanDataRateAcBe;
3170 uint32_t InfraMinPhyRateAcBe;
3171 uint16_t InfraSbaAcBe;
3172
3173 /* default TSPEC parameters for AC_BK */
3174 sme_QosWmmDirType InfraDirAcBk;
3175 uint16_t InfraNomMsduSizeAcBk;
3176 uint32_t InfraMeanDataRateAcBk;
3177 uint32_t InfraMinPhyRateAcBk;
3178 uint16_t InfraSbaAcBk;
3179
3180 uint32_t DelayedTriggerFrmInt;
3181
3182 /* Wowl pattern */
3183 char wowlPattern[1024];
3184
3185 /* Control for Replay counetr. value 1 means
3186 single replay counter for all TID */
3187 bool bSingleTidRc;
3188 uint8_t mcastBcastFilterSetting;
3189 bool fhostArpOffload;
3190 bool ssdp;
Houston Hoffmanc7c69f02016-03-24 22:45:52 -07003191
3192#ifdef FEATURE_RUNTIME_PM
3193 bool runtime_pm;
3194 uint32_t runtime_pm_delay;
3195#endif
3196
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003197#ifdef FEATURE_WLAN_RA_FILTERING
3198 bool IsRArateLimitEnabled;
3199 uint16_t RArateLimitInterval;
3200#endif
3201#ifdef FEATURE_WLAN_SCAN_PNO
3202 bool PnoOffload;
3203#endif
3204 bool fhostNSOffload;
3205 bool burstSizeDefinition;
3206 uint8_t tsInfoAckPolicy;
3207
3208 /* RF Settling Time Clock */
3209 uint32_t rfSettlingTimeUs;
3210
3211 uint8_t dynamicPsPollValue;
3212 bool AddTSWhenACMIsOff;
3213 bool fValidateScanList;
3214
3215 uint32_t infraStaKeepAlivePeriod;
3216 uint8_t nNullDataApRespTimeout;
3217 uint8_t nBandCapability;
3218
3219 uint32_t apDataAvailPollPeriodInMs;
3220 bool fEnableBeaconEarlyTermination;
3221 bool teleBcnWakeupEn;
3222
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05303223/* QDF Trace Control*/
3224 uint16_t qdf_trace_enable_wdi;
3225 uint16_t qdf_trace_enable_hdd;
3226 uint16_t qdf_trace_enable_sme;
3227 uint16_t qdf_trace_enable_pe;
3228 uint16_t qdf_trace_enable_pmc;
3229 uint16_t qdf_trace_enable_wma;
3230 uint16_t qdf_trace_enable_sys;
3231 uint16_t qdf_trace_enable_qdf;
3232 uint16_t qdf_trace_enable_sap;
3233 uint16_t qdf_trace_enable_hdd_sap;
3234 uint16_t qdf_trace_enable_bmi;
3235 uint16_t qdf_trace_enable_cfg;
Bhargav Shah480a90f2015-06-24 15:10:14 +05303236 uint16_t cfd_trace_enable_txrx;
Anurag Chouhanf04e84f2016-03-03 10:12:12 +05303237 uint16_t qdf_trace_enable_htc;
3238 uint16_t qdf_trace_enable_hif;
3239 uint16_t qdf_trace_enable_hdd_sap_data;
3240 uint16_t qdf_trace_enable_hdd_data;
3241 uint16_t qdf_trace_enable_epping;
3242 uint16_t qdf_trace_enable_qdf_devices;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003243
3244 uint16_t nTeleBcnTransListenInterval;
3245 uint16_t nTeleBcnMaxListenInterval;
3246 uint16_t nTeleBcnTransLiNumIdleBeacons;
3247 uint16_t nTeleBcnMaxLiNumIdleBeacons;
3248 uint8_t bcnEarlyTermWakeInterval;
3249 uint32_t enableCloseLoop;
3250 uint8_t enableBypass11d;
3251 uint8_t enableDFSChnlScan;
3252 uint8_t enable_dfs_pno_chnl_scan;
3253 uint8_t enableDynamicDTIM;
3254 uint8_t enableAutomaticTxPowerControl;
3255 uint8_t ShortGI40MhzEnable;
3256 eHddLinkSpeedReportType reportMaxLinkSpeed;
3257 int32_t linkSpeedRssiHigh;
3258 int32_t linkSpeedRssiMid;
3259 int32_t linkSpeedRssiLow;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003260 bool nRoamPrefer5GHz;
3261 bool nRoamIntraBand;
3262 uint8_t nProbes;
3263 uint16_t nRoamScanHomeAwayTime;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003264 uint8_t enableMCC;
3265 uint8_t allowMCCGODiffBI;
3266 bool isP2pDeviceAddrAdministrated;
3267 uint8_t thermalMitigationEnable;
3268 uint32_t throttlePeriod;
Poddar, Siddarth83905022016-04-16 17:56:08 -07003269 uint32_t throttle_dutycycle_level0;
3270 uint32_t throttle_dutycycle_level1;
3271 uint32_t throttle_dutycycle_level2;
3272 uint32_t throttle_dutycycle_level3;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003273 uint8_t vhtChannelWidth;
3274 uint8_t vhtRxMCS;
3275 uint8_t vhtTxMCS;
3276 bool enableTxBF;
Kiran Kumar Lokere5302ab62015-12-16 16:03:16 -08003277 bool enable_txbf_sap_mode;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003278 uint8_t txBFCsnValue;
3279 bool enable_su_tx_bformer;
3280 uint8_t vhtRxMCS2x2;
3281 uint8_t vhtTxMCS2x2;
3282 bool enable2x2;
3283 bool txchainmask1x1;
3284 bool rxchainmask1x1;
3285 bool enableMuBformee;
3286 bool enableVhtpAid;
3287 bool enableVhtGid;
3288 bool enableTxBFin20MHz;
3289 uint8_t enableAmpduPs;
3290 uint8_t enableHtSmps;
3291 uint8_t htSmps;
3292 uint8_t enableModulatedDTIM;
3293 uint32_t fEnableMCAddrList;
3294 bool enableFirstScan2GOnly;
3295 bool skipDfsChnlInP2pSearch;
3296 bool ignoreDynamicDtimInP2pMode;
3297 bool enableRxSTBC;
3298 bool enableTxSTBC;
3299 bool enableRxLDPC;
3300 bool enable5gEBT;
3301#ifdef FEATURE_WLAN_TDLS
3302 bool fEnableTDLSSupport;
3303 bool fEnableTDLSImplicitTrigger;
3304 uint32_t fTDLSTxStatsPeriod;
3305 uint32_t fTDLSTxPacketThreshold;
3306 uint32_t fTDLSMaxDiscoveryAttempt;
Kabilan Kannanca670be2015-11-23 01:56:12 -08003307 uint32_t tdls_idle_timeout;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003308 uint32_t fTDLSIdlePacketThreshold;
3309 int32_t fTDLSRSSITriggerThreshold;
3310 int32_t fTDLSRSSITeardownThreshold;
3311 int32_t fTDLSRSSIDelta;
3312 uint32_t fTDLSUapsdMask; /* what ACs to setup U-APSD for TDLS */
3313 uint32_t fEnableTDLSBufferSta;
3314 uint32_t fEnableTDLSSleepSta;
3315 uint32_t fTDLSPuapsdInactivityTimer;
3316 uint32_t fTDLSRxFrameThreshold;
3317 uint32_t fTDLSPuapsdPTIWindow;
3318 uint32_t fTDLSPuapsdPTRTimeout;
3319 bool fTDLSExternalControl;
3320 uint32_t fEnableTDLSOffChannel;
3321 uint32_t fEnableTDLSWmmMode;
3322 uint8_t fTDLSPrefOffChanNum;
3323 uint8_t fTDLSPrefOffChanBandwidth;
3324 uint8_t enable_tdls_scan;
Kabilan Kannan421714b2015-11-23 04:44:59 -08003325 uint32_t tdls_peer_kickout_threshold;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003326#endif
3327#ifdef WLAN_SOFTAP_VSTA_FEATURE
3328 bool fEnableVSTASupport;
3329#endif
3330 uint32_t enableLpwrImgTransition;
3331 uint8_t scanAgingTimeout;
3332 bool enableTxLdpc;
3333 uint8_t disableLDPCWithTxbfAP;
3334 uint8_t enableMCCAdaptiveScheduler;
3335 bool isAndroidPsEn;
3336 bool sapAllowAllChannel;
3337 uint8_t retryLimitZero;
3338 uint8_t retryLimitOne;
3339 uint8_t retryLimitTwo;
3340 bool enableSSR;
3341 uint32_t cfgMaxMediumTime;
3342 bool enableVhtFor24GHzBand;
3343 /* Flag indicating whether legacy fast roam during concurrency is enabled in cfg.ini or not */
3344 bool bFastRoamInConIniFeatureEnabled;
3345 bool fEnableAdaptRxDrain;
3346 uint8_t flexConnectPowerFactor;
3347 bool enableIbssHeartBeatOffload;
3348 uint32_t antennaDiversity;
3349 bool fEnableSNRMonitoring;
3350 /*PNO related parameters */
3351#ifdef FEATURE_WLAN_SCAN_PNO
3352 bool configPNOScanSupport;
3353 uint32_t configPNOScanTimerRepeatValue;
Srinivas Girigowdabdc98162015-09-17 11:06:07 -07003354 uint32_t pno_slow_scan_multiplier;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003355#endif
3356 uint8_t isAmsduSupportInAMPDU;
3357 uint8_t nSelect5GHzMargin;
3358 uint8_t isCoalesingInIBSSAllowed;
3359
3360 /* IBSS Power Save related parameters */
3361 uint32_t ibssATIMWinSize;
3362 uint8_t isIbssPowerSaveAllowed;
3363 uint8_t isIbssPowerCollapseAllowed;
3364 uint8_t isIbssAwakeOnTxRx;
3365 uint32_t ibssInactivityCount;
3366 uint32_t ibssTxSpEndInactivityTime;
3367 uint32_t ibssPsWarmupTime;
3368 uint32_t ibssPs1RxChainInAtimEnable;
3369
3370 bool enable_ip_tcp_udp_checksum_offload;
3371 bool enablePowersaveOffload;
3372 bool enablefwprint;
Komal Seelamc11bb222016-01-27 18:57:10 +05303373 bool enable_fw_log;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003374 uint8_t fVhtAmpduLenExponent;
3375 uint32_t vhtMpduLen;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003376 uint32_t IpaConfig;
3377 bool IpaClkScalingEnable;
3378 uint32_t IpaDescSize;
3379 uint32_t IpaHighBandwidthMbps;
3380 uint32_t IpaMediumBandwidthMbps;
3381 uint32_t IpaLowBandwidthMbps;
3382#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
3383 uint32_t WlanMccToSccSwitchMode;
3384#endif
3385#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
3386 uint32_t WlanAutoShutdown;
3387#endif
3388 uint8_t maxWoWFilters;
3389 uint8_t wowEnable;
3390 uint8_t maxNumberOfPeers;
3391 uint8_t disableDFSChSwitch;
3392 uint8_t enableDFSMasterCap;
3393 uint16_t thermalTempMinLevel0;
3394 uint16_t thermalTempMaxLevel0;
3395 uint16_t thermalTempMinLevel1;
3396 uint16_t thermalTempMaxLevel1;
3397 uint16_t thermalTempMinLevel2;
3398 uint16_t thermalTempMaxLevel2;
3399 uint16_t thermalTempMinLevel3;
3400 uint16_t thermalTempMaxLevel3;
3401 uint32_t TxPower2g;
3402 uint32_t TxPower5g;
3403 uint32_t gEnableDebugLog;
3404 uint8_t enableRxThread;
3405 bool fDfsPhyerrFilterOffload;
3406 uint8_t gSapPreferredChanLocation;
3407 uint8_t gDisableDfsJapanW53;
3408 bool gEnableOverLapCh;
3409 bool fRegChangeDefCountry;
3410#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
3411 uint32_t TxFlowLowWaterMark;
3412 uint32_t TxFlowHighWaterMarkOffset;
3413 uint32_t TxFlowMaxQueueDepth;
3414 uint32_t TxLbwFlowLowWaterMark;
3415 uint32_t TxLbwFlowHighWaterMarkOffset;
3416 uint32_t TxLbwFlowMaxQueueDepth;
3417 uint32_t TxHbwFlowLowWaterMark;
3418 uint32_t TxHbwFlowHighWaterMarkOffset;
3419 uint32_t TxHbwFlowMaxQueueDepth;
3420#endif /* QCA_LL_LEGACY_TX_FLOW_CONTROL */
3421#ifdef QCA_LL_TX_FLOW_CONTROL_V2
3422 uint32_t TxFlowStopQueueThreshold;
3423 uint32_t TxFlowStartQueueOffset;
3424#endif
3425 uint8_t apMaxOffloadPeers;
3426 uint8_t apMaxOffloadReorderBuffs;
3427 bool advertiseConcurrentOperation;
3428 bool enableMemDeepSleep;
3429
3430 uint32_t defaultRateIndex24Ghz;
3431#ifdef MEMORY_DEBUG
3432 bool IsMemoryDebugSupportEnabled;
3433#endif
3434
3435 uint8_t allowDFSChannelRoam;
3436
3437 bool debugP2pRemainOnChannel;
3438
3439 bool enablePacketLog;
3440#ifdef MSM_PLATFORM
3441 uint32_t busBandwidthHighThreshold;
3442 uint32_t busBandwidthMediumThreshold;
3443 uint32_t busBandwidthLowThreshold;
3444 uint32_t busBandwidthComputeInterval;
Ravi Joshie2331e82015-07-01 18:18:54 -07003445 uint32_t enable_tcp_delack;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003446 uint32_t tcpDelackThresholdHigh;
3447 uint32_t tcpDelackThresholdLow;
Mohit Khannae71e2262015-11-10 09:37:24 -08003448 uint32_t tcp_tx_high_tput_thres;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003449#endif /* MSM_PLATFORM */
3450
3451 /* FW debug log parameters */
3452 uint32_t enableFwLogType;
3453 uint32_t enableFwLogLevel;
3454 uint8_t enableFwModuleLogLevel[FW_MODULE_LOG_LEVEL_STRING_LENGTH];
3455
3456#ifdef WLAN_FEATURE_11W
3457 uint32_t pmfSaQueryMaxRetries;
3458 uint32_t pmfSaQueryRetryInterval;
3459#endif
3460
3461 uint8_t gMaxConcurrentActiveSessions;
3462
3463 uint8_t ignoreCAC;
3464 bool IsSapDfsChSifsBurstEnabled;
3465
3466#ifdef FEATURE_GREEN_AP
3467 bool enableGreenAP;
Ryan Hsucb118cf2015-11-09 16:03:53 -08003468 bool enable_egap;
3469 uint32_t egap_feature_flag;
3470 uint32_t egap_inact_time;
3471 uint32_t egap_wait_time;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003472#endif
3473 uint8_t force_sap_acs;
3474 uint8_t force_sap_acs_st_ch;
3475 uint8_t force_sap_acs_end_ch;
3476
3477 int32_t dfsRadarPriMultiplier;
3478 uint8_t reorderOffloadSupport;
3479
3480#ifdef WLAN_FEATURE_ROAM_OFFLOAD
3481 bool isRoamOffloadEnabled;
3482#endif
3483
3484 uint32_t IpaUcTxBufCount;
3485 uint32_t IpaUcTxBufSize;
3486 uint32_t IpaUcRxIndRingCount;
3487 uint32_t IpaUcTxPartitionBase;
3488#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
3489 /* WLAN Logging */
3490 uint32_t wlanLoggingEnable;
3491 uint32_t wlanLoggingFEToConsole;
3492 uint32_t wlanLoggingNumBuf;
3493#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
3494
3495 bool enableSifsBurst;
3496
3497#ifdef WLAN_FEATURE_LPSS
Komal Seelamc11bb222016-01-27 18:57:10 +05303498 bool enable_lpass_support;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003499#endif
3500#ifdef WLAN_FEATURE_NAN
3501 bool enable_nan_support;
3502#endif
3503 bool enableSelfRecovery;
3504#ifdef FEATURE_WLAN_FORCE_SAP_SCC
3505 uint8_t SapSccChanAvoidance;
3506#endif /* FEATURE_WLAN_FORCE_SAP_SCC */
3507
3508 bool enableSapSuspend;
3509
3510#ifdef WLAN_FEATURE_EXTWOW_SUPPORT
3511 uint8_t extWowGotoSuspend;
3512 uint8_t extWowApp1WakeupPinNumber;
3513 uint8_t extWowApp2WakeupPinNumber;
3514 uint32_t extWowApp2KAInitPingInterval;
3515 uint32_t extWowApp2KAMinPingInterval;
3516 uint32_t extWowApp2KAMaxPingInterval;
3517 uint32_t extWowApp2KAIncPingInterval;
3518 uint16_t extWowApp2TcpSrcPort;
3519 uint16_t extWowApp2TcpDstPort;
3520 uint32_t extWowApp2TcpTxTimeout;
3521 uint32_t extWowApp2TcpRxTimeout;
3522#endif
3523 bool gEnableDeauthToDisassocMap;
3524#ifdef DHCP_SERVER_OFFLOAD
3525 bool enableDHCPServerOffload;
3526 uint32_t dhcpMaxNumClients;
3527 uint8_t dhcpServerIP[IPADDR_STRING_LENGTH];
3528#endif /* DHCP_SERVER_OFFLOAD */
3529 bool enable_mac_spoofing;
3530 uint8_t conc_custom_rule1;
3531 uint8_t conc_custom_rule2;
3532 uint8_t is_sta_connection_in_5gz_enabled;
3533 uint16_t p2p_listen_defer_interval;
3534 uint32_t sta_miracast_mcc_rest_time_val;
3535 bool is_ramdump_enabled;
3536#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
3537 bool sap_channel_avoidance;
3538#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
3539 uint8_t sap_p2p_11ac_override;
3540 uint8_t sap_dot11mc;
3541 uint8_t prefer_non_dfs_on_radar;
3542 bool ignore_peer_erp_info;
3543 uint8_t multicast_host_fw_msgs;
3544 uint8_t conc_system_pref;
3545 bool sendDeauthBeforeCon;
3546 bool policy_manager_enabled;
3547 bool tso_enable;
3548 bool lro_enable;
3549 bool active_mode_offload;
3550 uint32_t fine_time_meas_cap;
3551 uint8_t max_scan_count;
3552#ifdef WLAN_FEATURE_FASTPATH
3553 bool fastpath_enable;
3554#endif
3555 uint8_t dot11p_mode;
3556#ifdef FEATURE_NAPI
3557 bool napi_enable;
3558#endif
3559#ifdef FEATURE_WLAN_EXTSCAN
3560 uint32_t extscan_passive_max_chn_time;
3561 uint32_t extscan_passive_min_chn_time;
3562 uint32_t extscan_active_max_chn_time;
3563 uint32_t extscan_active_min_chn_time;
3564#endif
3565 bool ce_classify_enabled;
3566 uint32_t dual_mac_feature_disable;
3567 bool tx_chain_mask_cck;
3568 uint8_t tx_chain_mask_1ss;
3569 uint16_t self_gen_frm_pwr;
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07003570#ifdef FEATURE_WLAN_SCAN_PNO
3571 bool pno_channel_prediction;
3572 uint8_t top_k_num_of_channels;
3573 uint8_t stationary_thresh;
3574 uint32_t channel_prediction_full_scan;
3575#endif
Varun Reddy Yeturu05186292015-09-28 17:12:33 -07003576 bool early_stop_scan_enable;
3577 int8_t early_stop_scan_min_threshold;
3578 int8_t early_stop_scan_max_threshold;
Varun Reddy Yeturu044bda22015-11-21 22:03:40 -08003579 int8_t first_scan_bucket_threshold;
Krishna Kumaar Natarajan22b59a72015-11-23 18:54:58 -08003580 uint8_t ht_mpdu_density;
Ravi Joshi742495d2015-11-09 18:56:53 -08003581#ifdef FEATURE_LFR_SUBNET_DETECTION
3582 bool enable_lfr_subnet_detection;
3583#endif
Sandeep Puligilla93a29ec2016-02-12 16:10:56 -08003584 uint16_t obss_active_dwelltime;
3585 uint16_t obss_passive_dwelltime;
3586 uint16_t obss_width_trigger_interval;
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -07003587 uint8_t inform_bss_rssi_raw;
Jeff Johnson89c66ff2016-04-22 15:21:37 -07003588#ifdef WLAN_FEATURE_TSF
Manikandan Mohan976e7562016-03-15 16:33:31 -07003589 uint32_t tsf_gpio_pin;
Jeff Johnson89c66ff2016-04-22 15:21:37 -07003590#endif
Tushnim Bhattacharyya24e12a62015-10-12 14:51:56 -07003591#ifdef QCA_WIFI_3_0_EMU
3592 bool enable_m2m_limitation;
3593#endif
Gupta, Kapilc68ad462016-02-01 19:17:23 +05303594 uint32_t roam_dense_traffic_thresh;
3595 uint32_t roam_dense_rssi_thresh_offset;
Abhishek Singh165bc602016-03-21 12:43:00 +05303596 bool ignore_peer_ht_opmode;
Gupta, Kapilc68ad462016-02-01 19:17:23 +05303597 uint32_t roam_dense_min_aps;
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003598};
3599
3600#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))
3601#define VAR_SIZE(_Struct, _Var) (sizeof(((_Struct *)0)->_Var))
3602
3603#define VAR_FLAGS_NONE (0)
3604
3605/* bit 0 is Required or Optional */
3606#define VAR_FLAGS_REQUIRED (1 << 0)
3607#define VAR_FLAGS_OPTIONAL (0 << 0)
3608
3609/*
3610 * bit 1 tells if range checking is required.
3611 * If less than MIN, assume MIN.
3612 * If greater than MAX, assume MAX.
3613 */
3614#define VAR_FLAGS_RANGE_CHECK (1 << 1)
3615#define VAR_FLAGS_RANGE_CHECK_ASSUME_MINMAX (VAR_FLAGS_RANGE_CHECK)
3616
3617/*
3618 * bit 2 is range checking that assumes the DEFAULT value
3619 * If less than MIN, assume DEFAULT,
3620 * If greater than MAX, assume DEFAULT.
3621 */
3622#define VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT (1 << 2)
3623
3624/*
3625 * Bit 3 indicates that the config item can be modified dynamicially
3626 * on a running system
3627 */
3628#define VAR_FLAGS_DYNAMIC_CFG (1 << 3)
3629
3630typedef enum {
3631 WLAN_PARAM_Integer,
3632 WLAN_PARAM_SignedInteger,
3633 WLAN_PARAM_HexInteger,
3634 WLAN_PARAM_String,
3635 WLAN_PARAM_MacAddr,
3636} WLAN_PARAMETER_TYPE;
3637
3638#define REG_VARIABLE(_Name, _Type, _Struct, _VarName, \
3639 _Flags, _Default, _Min, _Max) \
3640 { \
3641 (_Name), \
3642 (_Type), \
3643 (_Flags), \
3644 VAR_OFFSET(_Struct, _VarName), \
3645 VAR_SIZE(_Struct, _VarName), \
3646 (_Default), \
3647 (_Min), \
3648 (_Max), \
3649 NULL, \
3650 0 \
3651 }
3652
3653#define REG_DYNAMIC_VARIABLE(_Name, _Type, _Struct, _VarName, \
3654 _Flags, _Default, _Min, _Max, \
3655 _CBFunc, _CBParam) \
3656 { \
3657 (_Name), \
3658 (_Type), \
3659 (VAR_FLAGS_DYNAMIC_CFG | (_Flags)), \
3660 VAR_OFFSET(_Struct, _VarName), \
3661 VAR_SIZE(_Struct, _VarName), \
3662 (_Default), \
3663 (_Min), \
3664 (_Max), \
3665 (_CBFunc), \
3666 (_CBParam) \
3667 }
3668
3669#define REG_VARIABLE_STRING(_Name, _Type, _Struct, _VarName, \
3670 _Flags, _Default) \
3671 { \
3672 (_Name), \
3673 (_Type), \
3674 (_Flags), \
3675 VAR_OFFSET(_Struct, _VarName), \
3676 VAR_SIZE(_Struct, _VarName), \
3677 (unsigned long)(_Default), \
3678 0, \
3679 0, \
3680 NULL, \
3681 0 \
3682 }
3683
3684typedef struct tREG_TABLE_ENTRY {
3685
3686 char *RegName; /* variable name in the qcom_cfg.ini file */
Deepak Dhamdhere68929ec2015-08-05 15:16:35 -07003687 WLAN_PARAMETER_TYPE RegType; /* variable type in hdd_config struct */
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003688 unsigned long Flags; /* Specify optional parms and if RangeCheck is performed */
3689 unsigned short VarOffset; /* offset to field from the base address of the structure */
3690 unsigned short VarSize; /* size (in bytes) of the field */
3691 unsigned long VarDefault; /* default value to use */
3692 unsigned long VarMin; /* minimum value, for range checking */
3693 unsigned long VarMax; /* maximum value, for range checking */
3694 /* Dynamic modification notifier */
3695 void (*pfnDynamicnotify)(hdd_context_t *pHddCtx,
3696 unsigned long notifyId);
3697 unsigned long notifyId; /* Dynamic modification identifier */
3698} REG_TABLE_ENTRY;
3699
3700static __inline unsigned long util_min(unsigned long a, unsigned long b)
3701{
3702 unsigned long r;
3703
3704 r = ((a < b) ? a : b);
3705 return r;
3706}
3707
3708/* Function declarations and documenation */
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05303709QDF_STATUS hdd_parse_config_ini(hdd_context_t *pHddCtx);
3710QDF_STATUS hdd_update_mac_config(hdd_context_t *pHddCtx);
3711QDF_STATUS hdd_set_sme_config(hdd_context_t *pHddCtx);
3712QDF_STATUS hdd_set_sme_chan_list(hdd_context_t *hdd_ctx);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003713bool hdd_update_config_dat(hdd_context_t *pHddCtx);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05303714QDF_STATUS hdd_cfg_get_global_config(hdd_context_t *pHddCtx, char *pBuf,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003715 int buflen);
3716
3717eCsrPhyMode hdd_cfg_xlate_to_csr_phy_mode(eHddDot11Mode dot11Mode);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05303718QDF_STATUS hdd_execute_global_config_command(hdd_context_t *pHddCtx,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003719 char *command);
3720
3721bool hdd_is_okc_mode_enabled(hdd_context_t *pHddCtx);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05303722QDF_STATUS hdd_set_idle_ps_config(hdd_context_t *pHddCtx, uint32_t val);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003723
3724void hdd_update_tgt_cfg(void *context, void *param);
Edhar, Mahesh Kumar695468e2015-10-19 12:06:20 +05303725bool hdd_dfs_indicate_radar(void *context, void *param);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003726
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05303727QDF_STATUS hdd_string_to_u8_array(char *str, uint8_t *intArray, uint8_t *len,
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003728 uint8_t intArrayMaxLen);
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05303729QDF_STATUS hdd_hex_string_to_u16_array(char *str, uint16_t *int_array,
Krishna Kumaar Natarajanf599c6e2015-11-03 11:44:03 -08003730 uint8_t *len, uint8_t int_array_max_len);
3731
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003732void hdd_cfg_print(hdd_context_t *pHddCtx);
3733
Anurag Chouhanfb54ab02016-02-18 18:00:46 +05303734QDF_STATUS hdd_update_nss(hdd_context_t *hdd_ctx, uint8_t nss);
Varun Reddy Yeturub43fda12015-09-10 18:16:21 -07003735#ifdef FEATURE_WLAN_SCAN_PNO
3736void hdd_set_pno_channel_prediction_config(
3737 tpSmeConfigParams sme_config, hdd_context_t *hdd_ctx);
3738#else
3739static inline void hdd_set_pno_channel_prediction_config(
3740 tpSmeConfigParams sme_config, hdd_context_t *hdd_ctx)
3741{}
3742#endif
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003743
3744#endif