blob: 63643aa0d51796867ebfb08375064b9c42e84f01 [file] [log] [blame]
Wu Gao406c53c2018-09-10 13:51:37 +08001/*
Bapiraju Alladfd1ba02020-02-07 15:49:19 +05302 * Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
Wu Gao406c53c2018-09-10 13:51:37 +08003 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17/**
18 * DOC: This file contains configuration definitions for MLME STA.
19 */
20
21#ifndef CFG_MLME_STA_H__
22#define CFG_MLME_STA_H__
23
24#include "wlan_mlme_public_struct.h"
25
26/*
27 * <ini>
wadesong442b9f22019-03-15 17:15:59 +080028 * gStaKeepAlivePeriod - STA keep alive period
29 *
30 *
Wu Gao406c53c2018-09-10 13:51:37 +080031 * @Min: 0
32 * @Max: 1000
Bapiraju Alladfd1ba02020-02-07 15:49:19 +053033 * @Default: 30
Wu Gao406c53c2018-09-10 13:51:37 +080034 *
wadesong442b9f22019-03-15 17:15:59 +080035 * This ini is used to control how frequently STA should send NULL frames to AP
36 * (period in seconds) to notify AP of its existence.
Wu Gao406c53c2018-09-10 13:51:37 +080037 *
38 * Related: None
39 *
40 * Supported Feature: STA
41 *
42 * Usage: Internal/External
43 *
44 * </ini>
45 */
46#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD CFG_INI_UINT( \
47 "gStaKeepAlivePeriod", \
48 0, \
49 1000, \
Bapiraju Alladfd1ba02020-02-07 15:49:19 +053050 30, \
Wu Gao406c53c2018-09-10 13:51:37 +080051 CFG_VALUE_OR_DEFAULT, \
52 "send default NULL frame to AP")
53
54/*
55 * <ini>
56 * tgt_gtx_usr_cfg - target gtx user config
57 * @Min: 0
58 * @Max: 32
59 * @Default: 32
60 *
61 * This ini is used to set target gtx user config.
62 *
63 * Related: None
64 *
65 * Usage: Internal/External
66 *
67 * </ini>
68 */
69#define CFG_TGT_GTX_USR_CFG CFG_INI_UINT( \
70 "tgt_gtx_usr_cfg", \
71 0, \
72 32, \
73 32, \
74 CFG_VALUE_OR_DEFAULT, \
75 "target gtx user config")
76
77/*
78 * <ini>
79 * pmkidModes - Enable PMKID modes
80 * This INI is used to enable PMKID feature options
81 * @Min: 0
82 * @Max: 3
83 * @Default: 3
84 *
85 * Related: None
86 *
87 * Supported Feature: Scan
88 *
89 * Usage: External
90 *
91 * </ini>
92 */
93#define CFG_PMKID_MODES CFG_INI_UINT( \
94 "pmkidModes", \
95 0, \
96 3, \
97 3, \
98 CFG_VALUE_OR_DEFAULT, \
99 "PMKID feature options")
100
101/*
102 * <ini>
103 * gIgnorePeerErpInfo - Ignore peer information
104 * @Min: 0
105 * @Max: 1
106 * @Default: 0
107 *
108 * This ini is used to ignore default peer info
109 *
110 * Related: None
111 *
112 * Supported Feature: STA
113 *
114 * Usage: Internal/External
115 *
116 * </ini>
117 */
118#define CFG_IGNORE_PEER_ERP_INFO CFG_INI_BOOL( \
119 "gIgnorePeerErpInfo", \
120 0, \
121 "ignore default peer info")
122
123/*
124 * <ini>
125 * gStaPrefer80MHzOver160MHz - set sta preference to connect in 80HZ/160HZ
126 * @Min: 0
127 * @Max: 1
Kiran Kumar Lokerec220a512019-07-24 18:30:47 -0700128 * @Default: 0
Wu Gao406c53c2018-09-10 13:51:37 +0800129 *
130 * This ini is used to set sta preference to connect in 80HZ/160HZ
131 *
132 * 0 - Connects in 160MHz 1x1 when AP is 160MHz 2x2
133 * 1 - Connects in 80MHz 2x2 when AP is 160MHz 2x2
134 *
135 * Related: NA
136 *
137 * Supported Feature: 11AC
138 *
139 * Usage: External
140 *
141 * </ini>
142 */
143#define CFG_STA_PREFER_80MHZ_OVER_160MHZ CFG_INI_BOOL( \
144 "gStaPrefer80MHzOver160MHz", \
Kiran Kumar Lokerec220a512019-07-24 18:30:47 -0700145 0, \
Wu Gao406c53c2018-09-10 13:51:37 +0800146 "Sta preference to connect in 80HZ/160HZ")
147
148/*
149 * <ini>
150 * gEnable5gEBT - Enables/disables 5G early beacon termination. When enabled
151 * terminate the reception of beacon if the TIM element is
152 * clear for the power saving
153 * @Min: 0
154 * @Max: 1
155 * @Default: 1
156 *
157 * This ini is used to set default 5G early beacon termination
158 *
159 * Related: None
160 *
161 * Supported Feature: STA
162 *
163 * Usage: Internal/External
164 *
165 * </ini>
166 */
167#define CFG_PPS_ENABLE_5G_EBT CFG_INI_BOOL( \
168 "gEnable5gEBT", \
169 1, \
170 "5G early beacon termination")
171
172/*
173 * <ini>
174 * gSendDeauthBeforeCon - Send deauth before connection or not
175 * @Min: 0
176 * @Max: 1
177 * @Default: 0
178 *
179 * This ini is used to set whether send deauth before connection or
180 * not. If last disconnection was due to HB failure and we reconnect
181 * to same AP next time, send deauth before starting connection.
182 *
183 * Related: None
184 *
185 * Supported Feature: STA
186 *
187 * Usage: Internal/External
188 *
189 * </ini>
190 */
191#define CFG_ENABLE_DEAUTH_BEFORE_CONNECTION CFG_INI_BOOL( \
192 "gSendDeauthBeforeCon", \
193 0, \
194 "send deauth before connection")
195
196/*
197 * <ini>
Wu Gao814ce702019-02-20 16:39:53 +0800198 * gDot11PMode - 802.11p mode
Wu Gao406c53c2018-09-10 13:51:37 +0800199 * @Min: CFG_11P_DISABLED
200 * @Max: CFG_11P_CONCURRENT
201 * @Default: CFG_11P_DISABLED
202 *
203 * This ini used to set 802.11p mode.
204 *
205 *
206 * Usage: Internal/External
207 *
208 * </ini>
209 */
210#define CFG_DOT11P_MODE CFG_INI_UINT( \
211 "gDot11PMode", \
212 CFG_11P_DISABLED, \
213 CFG_11P_CONCURRENT, \
214 CFG_11P_DISABLED, \
215 CFG_VALUE_OR_DEFAULT, \
216 "802.11p mode")
217
218/*
219 * <ini>
220 * gEnable_go_cts2self_for_sta - Indicate firmware to stop NOA and
221 * start using cts2self
222 * @Min: 0
223 * @Max: 1
224 * @Default: 0
225 *
226 * When gEnable_go_cts2self_for_sta is enabled then if a legacy
227 * client connects to P2P GO, Host will send a WMI VDEV command
228 * to FW to stop using NOA for P2P GO
229 * and start using CTS2SELF.
230 *
231 *
232 * Supported Feature: P2P
233 *
234 *
235 * Usage: Internal/External
236 *
237 * </ini>
238 */
239#define CFG_ENABLE_GO_CTS2SELF_FOR_STA CFG_INI_BOOL( \
240 "gEnable_go_cts2self_for_sta", \
241 0, \
242 "firmware to stop NOA and start using cts2self")
243
244/*
245 * <ini>
246 * g_qcn_ie_support - QCN IE support
247 * @Min: 0 (disabled)
248 * @Max: 1 (enabled)
249 * @Default: 1 (enabled)
250 *
251 * This config item is used to support QCN IE in probe/assoc/reassoc request
252 * for STA mode. QCN IE support is not added for SAP mode.
253 *
254 * Related: N/A
255 *
256 * Supported Feature: N/A
257 *
258 * Usage: Internal/External
259 *
260 * </ini>
261 */
262#define CFG_QCN_IE_SUPPORT CFG_INI_BOOL( \
263 "g_qcn_ie_support", \
264 1, \
265 "QCN IE support")
266
267/*
268 * <ini>
269 * g_fils_max_chan_guard_time - Set maximum channel guard time(ms)
270 * @Min: 0
271 * @Max: 10
272 * @Default: 0
273 *
274 * This ini is used to set maximum channel guard time in milliseconds.
275 *
276 * Related: None
277 *
278 * Supported Feature: FILS
279 *
280 * Usage: External
281 *
282 * </ini>
283 */
284#define CFG_FILS_MAX_CHAN_GUARD_TIME CFG_INI_UINT( \
285 "g_fils_max_chan_guard_time", \
286 0, \
287 10, \
288 0, \
289 CFG_VALUE_OR_DEFAULT, \
290 "Set maximum channel guard time")
291
292/*
293 * <ini>
Wu Gao406c53c2018-09-10 13:51:37 +0800294 * SingleTIDRC - Set replay counter for all TID's
295 * @Min: 0 Separate replay counter for all TID
296 * @Max: 1 Single replay counter for all TID
297 * @Default: 1
298 *
299 * This ini is used to set replay counter for all TID's
300 *
wadesong7f682da2019-03-20 10:51:06 +0800301 * 0 - Separate replay counter for all TID
302 * 1 - Single replay counter for all TID
303 *
Wu Gao406c53c2018-09-10 13:51:37 +0800304 * Related: None.
305 *
306 * Supported Feature: WMM
307 *
308 * Usage: Internal/External
309 *
310 * </ini>
311 */
312#define CFG_SINGLE_TID_RC CFG_INI_BOOL( \
313 "SingleTIDRC", \
314 1, \
315 "replay counter for all TID")
316
317/*
318 * wait_cnf_timeout - Wait assoc cnf timeout
319 * @Min: 10
320 * @Max: 3000
321 * @Default: 1000
322 *
323 * This is internal configure for waiting assoc cnf timeout
324 *
325 * Related: None
326 *
327 * Usage: Internal
328 *
329 */
330#define CFG_WT_CNF_TIMEOUT CFG_UINT( \
331 "wait_cnf_timeout", \
332 10, \
333 3000, \
334 1000, \
335 CFG_VALUE_OR_DEFAULT, \
336 "Wait confirm timeout")
337
338/*
Krunal Sonid2c33e12018-12-06 15:02:37 -0800339 * <ini>
340 * gStaMiracastMccRestTimeVal - Rest time when Miracast is running.
341 * @Min: 100
342 * @Max: 500
343 * @Default: 400
344 *
345 * This ini is used to set rest time for home channel for Miracast before
346 * going for scan.
347 *
348 * Related: None.
349 *
350 * Supported Feature: Concurrency
351 *
352 * Usage: Internal/External
353 *
354 * </ini>
355 */
356
357#define CFG_STA_MCAST_MCC_REST_TIME CFG_INI_UINT( \
358 "gStaMiracastMccRestTimeVal", \
359 100, \
360 500, \
361 400, \
362 CFG_VALUE_OR_DEFAULT, \
363 "Rest time when Miracast is running")
364
365/*
Wu Gao406c53c2018-09-10 13:51:37 +0800366 * current_rssi - current rssi
367 * @Min: 0
368 * @Max: 127
369 * @Default: 0
370 *
371 * This is internal configure for current rssi
372 *
373 * Related: None
374 *
375 * Usage: Internal
376 *
377 */
378#define CFG_CURRENT_RSSI CFG_UINT( \
379 "current_rssi", \
380 0, \
381 127, \
382 0, \
383 CFG_VALUE_OR_DEFAULT, \
384 "Current RSSI")
385
Wu Gao4f8938a2018-11-26 11:49:00 +0800386/*
387 * <ini>
388 * gAllowTPCfromAP - Support for AP power constraint
389 * @Min: 0
390 * @Max: 1
391 * @Default: 1
392 *
393 * This ini controls driver to honor/dishonor power constraint from AP.
394 *
395 * Related: None.
396 *
397 * Supported Feature: Concurrency
398 *
399 * Usage: Internal/External
400 *
401 * </ini>
402 */
403#define CFG_TX_POWER_CTRL CFG_INI_BOOL( \
404 "gAllowTPCfromAP", \
405 1, \
406 "Support for AP power constraint")
407
Sourav Mohapatra0dfe5552018-11-16 11:29:54 +0530408/*
409 * <ini>
410 * gStaKeepAliveMethod - Which keepalive method to use
411 * @Min: 0
412 * @Max: 1
413 * @Default: 1
414 *
415 * This ini determines which keepalive method to use for station interfaces
416 * 1) Use null data packets
417 * 2) Use gratuitous ARP packets
418 *
419 * Related: gStaKeepAlivePeriod, gApKeepAlivePeriod, gGoKeepAlivePeriod
420 *
421 * Supported Feature: STA, Keepalive
422 *
423 * Usage: External
424 *
425 * </ini>
426 */
427#define CFG_STA_KEEPALIVE_METHOD CFG_INI_INT( \
428 "gStaKeepAliveMethod", \
429 MLME_STA_KEEPALIVE_NULL_DATA, \
430 MLME_STA_KEEPALIVE_COUNT - 1, \
431 MLME_STA_KEEPALIVE_GRAT_ARP, \
432 CFG_VALUE_OR_DEFAULT, \
433 "Which keepalive method to use")
434
Wu Gao406c53c2018-09-10 13:51:37 +0800435#define CFG_STA_ALL \
436 CFG(CFG_INFRA_STA_KEEP_ALIVE_PERIOD) \
437 CFG(CFG_TGT_GTX_USR_CFG) \
438 CFG(CFG_PMKID_MODES) \
439 CFG(CFG_IGNORE_PEER_ERP_INFO) \
440 CFG(CFG_STA_PREFER_80MHZ_OVER_160MHZ) \
441 CFG(CFG_PPS_ENABLE_5G_EBT) \
442 CFG(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION) \
443 CFG(CFG_DOT11P_MODE) \
444 CFG(CFG_ENABLE_GO_CTS2SELF_FOR_STA) \
445 CFG(CFG_QCN_IE_SUPPORT) \
Krunal Sonid2c33e12018-12-06 15:02:37 -0800446 CFG(CFG_STA_MCAST_MCC_REST_TIME) \
Wu Gao406c53c2018-09-10 13:51:37 +0800447 CFG(CFG_FILS_MAX_CHAN_GUARD_TIME) \
Wu Gao406c53c2018-09-10 13:51:37 +0800448 CFG(CFG_SINGLE_TID_RC) \
Sourav Mohapatra0dfe5552018-11-16 11:29:54 +0530449 CFG(CFG_STA_KEEPALIVE_METHOD) \
Wu Gao406c53c2018-09-10 13:51:37 +0800450 CFG(CFG_WT_CNF_TIMEOUT) \
Wu Gao4f8938a2018-11-26 11:49:00 +0800451 CFG(CFG_CURRENT_RSSI) \
sheenam mongab06e28d2020-03-05 17:23:24 +0530452 CFG(CFG_TX_POWER_CTRL)
453
Wu Gao406c53c2018-09-10 13:51:37 +0800454#endif /* CFG_MLME_STA_H__ */