xref: /wlan-driver/qcacld-3.0/components/tdls/dispatcher/inc/cfg_tdls.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name 
20*5113495bSYour Name #if !defined(CONFIG_TDLS_H__)
21*5113495bSYour Name #define CONFIG_TDLS_H__
22*5113495bSYour Name 
23*5113495bSYour Name #include "cfg_define.h"
24*5113495bSYour Name #include "cfg_converged.h"
25*5113495bSYour Name #include "qdf_types.h"
26*5113495bSYour Name 
27*5113495bSYour Name /*
28*5113495bSYour Name  * <ini>
29*5113495bSYour Name  * gTDLSUapsdMask - ACs to setup U-APSD for TDLS Sta.
30*5113495bSYour Name  * @Min: 0
31*5113495bSYour Name  * @Max: 0x0F
32*5113495bSYour Name  * @Default: 0x0F
33*5113495bSYour Name  *
34*5113495bSYour Name  * This ini is used to configure the ACs for which mask needs to be enabled.
35*5113495bSYour Name  * 0x1: Background	0x2: Best effort
36*5113495bSYour Name  * 0x4: Video		0x8: Voice
37*5113495bSYour Name  *
38*5113495bSYour Name  * Related: gEnableTDLSSupport.
39*5113495bSYour Name  *
40*5113495bSYour Name  * Supported Feature: TDLS
41*5113495bSYour Name  *
42*5113495bSYour Name  * Usage: Internal/External
43*5113495bSYour Name  *
44*5113495bSYour Name  * </ini>
45*5113495bSYour Name  */
46*5113495bSYour Name #define CFG_TDLS_QOS_WMM_UAPSD_MASK CFG_INI_UINT( \
47*5113495bSYour Name 	"gTDLSUapsdMask", \
48*5113495bSYour Name 	0, \
49*5113495bSYour Name 	0x0F, \
50*5113495bSYour Name 	0x0F, \
51*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
52*5113495bSYour Name 	"ACs to setup U-APSD for TDLS Sta")
53*5113495bSYour Name 
54*5113495bSYour Name /*
55*5113495bSYour Name  * <ini>
56*5113495bSYour Name  * gEnableTDLSBufferSta - Controls the TDLS buffer.
57*5113495bSYour Name  * @Min: 0
58*5113495bSYour Name  * @Max: 1
59*5113495bSYour Name  * @Default: 1
60*5113495bSYour Name  *
61*5113495bSYour Name  * This ini is used to control the TDLS buffer.
62*5113495bSYour Name  * Buffer STA is not enabled in CLD 2.0 yet.
63*5113495bSYour Name  *
64*5113495bSYour Name  * Related: gEnableTDLSSupport.
65*5113495bSYour Name  *
66*5113495bSYour Name  * Supported Feature: TDLS
67*5113495bSYour Name  *
68*5113495bSYour Name  * Usage: Internal/External
69*5113495bSYour Name  *
70*5113495bSYour Name  * </ini>
71*5113495bSYour Name  */
72*5113495bSYour Name #define CFG_TDLS_BUF_STA_ENABLED CFG_INI_BOOL( \
73*5113495bSYour Name 	"gEnableTDLSBufferSta", \
74*5113495bSYour Name 	1, \
75*5113495bSYour Name 	"Controls the TDLS buffer")
76*5113495bSYour Name 
77*5113495bSYour Name /*
78*5113495bSYour Name  * <ini>
79*5113495bSYour Name  * gTDLSPuapsdInactivityTime - Peer UAPSD Inactivity time.
80*5113495bSYour Name  * @Min: 0
81*5113495bSYour Name  * @Max: 10
82*5113495bSYour Name  * @Default: 0
83*5113495bSYour Name  *
84*5113495bSYour Name  * This ini is used to configure peer uapsd inactivity time(in ms).
85*5113495bSYour Name  *
86*5113495bSYour Name  * Related: gEnableTDLSSupport.
87*5113495bSYour Name  *
88*5113495bSYour Name  * Supported Feature: TDLS
89*5113495bSYour Name  *
90*5113495bSYour Name  * Usage: Internal/External
91*5113495bSYour Name  *
92*5113495bSYour Name  * </ini>
93*5113495bSYour Name  */
94*5113495bSYour Name #define CFG_TDLS_PUAPSD_INACT_TIME CFG_INI_UINT( \
95*5113495bSYour Name 	"gTDLSPuapsdInactivityTime", \
96*5113495bSYour Name 	0, \
97*5113495bSYour Name 	10, \
98*5113495bSYour Name 	0, \
99*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
100*5113495bSYour Name 	"Peer UAPSD Inactivity time")
101*5113495bSYour Name 
102*5113495bSYour Name /*
103*5113495bSYour Name  * <ini>
104*5113495bSYour Name  * gTDLSPuapsdRxFrameThreshold - Peer UAPSD Rx frame threshold.
105*5113495bSYour Name  * @Min: 10
106*5113495bSYour Name  * @Max: 20
107*5113495bSYour Name  * @Default: 10
108*5113495bSYour Name  *
109*5113495bSYour Name  * This ini is used to configure maximum Rx frame during SP.
110*5113495bSYour Name  *
111*5113495bSYour Name  * Related: gEnableTDLSSupport.
112*5113495bSYour Name  *
113*5113495bSYour Name  * Supported Feature: TDLS
114*5113495bSYour Name  *
115*5113495bSYour Name  * Usage: Internal/External
116*5113495bSYour Name  *
117*5113495bSYour Name  * </ini>
118*5113495bSYour Name  */
119*5113495bSYour Name #define CFG_TDLS_RX_FRAME_THRESHOLD CFG_INI_UINT( \
120*5113495bSYour Name 	"gTDLSPuapsdRxFrameThreshold", \
121*5113495bSYour Name 	10, \
122*5113495bSYour Name 	20, \
123*5113495bSYour Name 	10, \
124*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
125*5113495bSYour Name 	"Peer UAPSD Rx frame threshold")
126*5113495bSYour Name 
127*5113495bSYour Name /*
128*5113495bSYour Name  * <ini>
129*5113495bSYour Name  * gEnableTDLSOffChannel - Enables off-channel support for TDLS link.
130*5113495bSYour Name  * @Min: 0
131*5113495bSYour Name  * @Max: 1
132*5113495bSYour Name  * @Default: 1
133*5113495bSYour Name  *
134*5113495bSYour Name  * This ini is used to enable/disable off-channel support for TDLS link.
135*5113495bSYour Name  *
136*5113495bSYour Name  * Related: gEnableTDLSSupport.
137*5113495bSYour Name  *
138*5113495bSYour Name  * Supported Feature: TDLS
139*5113495bSYour Name  *
140*5113495bSYour Name  * Usage: Internal/External
141*5113495bSYour Name  *
142*5113495bSYour Name  * </ini>
143*5113495bSYour Name  */
144*5113495bSYour Name #define CFG_TDLS_OFF_CHANNEL_ENABLED CFG_INI_BOOL( \
145*5113495bSYour Name 	"gEnableTDLSOffChannel", \
146*5113495bSYour Name 	1, \
147*5113495bSYour Name 	"Enables off-channel support for TDLS")
148*5113495bSYour Name 
149*5113495bSYour Name /*
150*5113495bSYour Name  * <ini>
151*5113495bSYour Name  * gEnableTDLSSupport - Enable support for TDLS.
152*5113495bSYour Name  * @Min: 0
153*5113495bSYour Name  * @Max: 1
154*5113495bSYour Name  * @Default: 1
155*5113495bSYour Name  *
156*5113495bSYour Name  * This ini is used to enable/disable TDLS support.
157*5113495bSYour Name  *
158*5113495bSYour Name  * Related: None.
159*5113495bSYour Name  *
160*5113495bSYour Name  * Supported Feature: TDLS
161*5113495bSYour Name  *
162*5113495bSYour Name  * Usage: Internal/External
163*5113495bSYour Name  *
164*5113495bSYour Name  * </ini>
165*5113495bSYour Name  */
166*5113495bSYour Name #define CFG_TDLS_SUPPORT_ENABLE CFG_INI_BOOL( \
167*5113495bSYour Name 	"gEnableTDLSSupport", \
168*5113495bSYour Name 	1, \
169*5113495bSYour Name 	"enable/disable TDLS support")
170*5113495bSYour Name 
171*5113495bSYour Name /*
172*5113495bSYour Name  * <ini>
173*5113495bSYour Name  * gEnableTDLSImplicitTrigger - Enable Implicit TDLS.
174*5113495bSYour Name  * @Min: 0
175*5113495bSYour Name  * @Max: 1
176*5113495bSYour Name  * @Default: 1
177*5113495bSYour Name  *
178*5113495bSYour Name  * This ini is used to enable/disable implicit TDLS.
179*5113495bSYour Name  * CLD driver initiates TDLS Discovery towards a peer whenever TDLS Setup
180*5113495bSYour Name  * criteria (throughput and RSSI thresholds) is met and then it tears down
181*5113495bSYour Name  * TDLS when teardown criteria (idle packet count and RSSI) is met.
182*5113495bSYour Name  *
183*5113495bSYour Name  * Related: gEnableTDLSSupport.
184*5113495bSYour Name  *
185*5113495bSYour Name  * Supported Feature: TDLS
186*5113495bSYour Name  *
187*5113495bSYour Name  * Usage: Internal/External
188*5113495bSYour Name  *
189*5113495bSYour Name  * </ini>
190*5113495bSYour Name  */
191*5113495bSYour Name #define CFG_TDLS_IMPLICIT_TRIGGER CFG_INI_BOOL( \
192*5113495bSYour Name 	"gEnableTDLSImplicitTrigger", \
193*5113495bSYour Name 	1, \
194*5113495bSYour Name 	"enable/disable implicit TDLS")
195*5113495bSYour Name 
196*5113495bSYour Name /*
197*5113495bSYour Name  * <ini>
198*5113495bSYour Name  * gTDLSTxStatsPeriod - TDLS TX statistics time period.
199*5113495bSYour Name  * @Min: 1000
200*5113495bSYour Name  * @Max: 4294967295
201*5113495bSYour Name  * @Default: 2000
202*5113495bSYour Name  *
203*5113495bSYour Name  * This ini is used to configure the time period (in ms) to evaluate whether
204*5113495bSYour Name  * the number of Tx/Rx packets exceeds TDLSTxPacketThreshold and triggers a
205*5113495bSYour Name  * TDLS Discovery request.
206*5113495bSYour Name  *
207*5113495bSYour Name  * Related: gEnableTDLSSupport.
208*5113495bSYour Name  *
209*5113495bSYour Name  * Supported Feature: TDLS
210*5113495bSYour Name  *
211*5113495bSYour Name  * Usage: Internal/External
212*5113495bSYour Name  *
213*5113495bSYour Name  * </ini>
214*5113495bSYour Name  */
215*5113495bSYour Name #define CFG_TDLS_TX_STATS_PERIOD CFG_INI_UINT( \
216*5113495bSYour Name 	"gTDLSTxStatsPeriod", \
217*5113495bSYour Name 	1000, \
218*5113495bSYour Name 	4294967295UL, \
219*5113495bSYour Name 	2000, \
220*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
221*5113495bSYour Name 	"TDLS TX statistics time period")
222*5113495bSYour Name 
223*5113495bSYour Name /*
224*5113495bSYour Name  * <ini>
225*5113495bSYour Name  * gTDLSTxPacketThreshold - Tx/Rx Packet threshold for initiating TDLS.
226*5113495bSYour Name  * @Min: 0
227*5113495bSYour Name  * @Max: 4294967295
228*5113495bSYour Name  * @Default: 40
229*5113495bSYour Name  *
230*5113495bSYour Name  * This ini is used to configure the number of Tx/Rx packets during the
231*5113495bSYour Name  * period of gTDLSTxStatsPeriod when exceeded, a TDLS Discovery request
232*5113495bSYour Name  * is triggered.
233*5113495bSYour Name  * Related: gEnableTDLSSupport.
234*5113495bSYour Name  *
235*5113495bSYour Name  * Supported Feature: TDLS
236*5113495bSYour Name  *
237*5113495bSYour Name  * Usage: Internal/External
238*5113495bSYour Name  *
239*5113495bSYour Name  * </ini>
240*5113495bSYour Name  */
241*5113495bSYour Name #define CFG_TDLS_TX_PACKET_THRESHOLD CFG_INI_UINT( \
242*5113495bSYour Name 	"gTDLSTxPacketThreshold", \
243*5113495bSYour Name 	0, \
244*5113495bSYour Name 	4294967295UL, \
245*5113495bSYour Name 	40, \
246*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
247*5113495bSYour Name 	"Tx/Rx Packet threshold for initiating TDLS")
248*5113495bSYour Name 
249*5113495bSYour Name /*
250*5113495bSYour Name  * <ini>
251*5113495bSYour Name  * gTDLSMaxDiscoveryAttempt - Attempts for sending TDLS discovery requests.
252*5113495bSYour Name  * @Min: 1
253*5113495bSYour Name  * @Max: 100
254*5113495bSYour Name  * @Default: 5
255*5113495bSYour Name  *
256*5113495bSYour Name  * This ini is used to configure the number of failures of discover request,
257*5113495bSYour Name  * when exceeded, the peer is assumed to be not TDLS capable and no further
258*5113495bSYour Name  * TDLS Discovery request is made.
259*5113495bSYour Name  *
260*5113495bSYour Name  * Related: gEnableTDLSSupport.
261*5113495bSYour Name  *
262*5113495bSYour Name  * Supported Feature: TDLS
263*5113495bSYour Name  *
264*5113495bSYour Name  * Usage: Internal/External
265*5113495bSYour Name  *
266*5113495bSYour Name  * </ini>
267*5113495bSYour Name  */
268*5113495bSYour Name #define CFG_TDLS_MAX_DISCOVERY_ATTEMPT CFG_INI_UINT( \
269*5113495bSYour Name 	"gTDLSMaxDiscoveryAttempt", \
270*5113495bSYour Name 	1, \
271*5113495bSYour Name 	100, \
272*5113495bSYour Name 	5, \
273*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
274*5113495bSYour Name 	"Attempts for sending TDLS discovery requests")
275*5113495bSYour Name 
276*5113495bSYour Name /*
277*5113495bSYour Name  * gTDLSMaxPeerCount - Max TDLS connected peer count
278*5113495bSYour Name  * @Min: 1
279*5113495bSYour Name  * @Max: 8
280*5113495bSYour Name  * @Default: 8
281*5113495bSYour Name  *
282*5113495bSYour Name  * This ini is used to configure the max connected TDLS peer count.
283*5113495bSYour Name  *
284*5113495bSYour Name  * Related: gEnableTDLSSupport.
285*5113495bSYour Name  *
286*5113495bSYour Name  * Supported Feature: TDLS
287*5113495bSYour Name  *
288*5113495bSYour Name  * Usage: External
289*5113495bSYour Name  *
290*5113495bSYour Name  * </ini>
291*5113495bSYour Name  */
292*5113495bSYour Name #define CFG_TDLS_MAX_PEER_COUNT CFG_INI_UINT( \
293*5113495bSYour Name 	"gTDLSMaxPeerCount", \
294*5113495bSYour Name 	1, \
295*5113495bSYour Name 	8, \
296*5113495bSYour Name 	8, \
297*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
298*5113495bSYour Name 	"Max TDLS peer count")
299*5113495bSYour Name 
300*5113495bSYour Name /*
301*5113495bSYour Name  * <ini>
302*5113495bSYour Name  * gTDLSIdleTimeout - Duration within which number of TX / RX frames meet the
303*5113495bSYour Name  * criteria for TDLS teardown.
304*5113495bSYour Name  * @Min: 500
305*5113495bSYour Name  * @Max: 40000
306*5113495bSYour Name  * @Default: 5000
307*5113495bSYour Name  *
308*5113495bSYour Name  * This ini is used to configure the time period (in ms) to evaluate whether
309*5113495bSYour Name  * the number of Tx/Rx packets exceeds gTDLSIdlePacketThreshold and thus meets
310*5113495bSYour Name  * criteria for TDLS teardown.
311*5113495bSYour Name  * Teardown notification interval (gTDLSIdleTimeout) should be multiple of
312*5113495bSYour Name  * setup notification (gTDLSTxStatsPeriod) interval.
313*5113495bSYour Name  * e.g.
314*5113495bSYour Name  *      if setup notification (gTDLSTxStatsPeriod) interval = 500, then
315*5113495bSYour Name  *      teardown notification (gTDLSIdleTimeout) interval should be 1000,
316*5113495bSYour Name  *      1500, 2000, 2500...
317*5113495bSYour Name  *
318*5113495bSYour Name  * Related: gEnableTDLSSupport.
319*5113495bSYour Name  *
320*5113495bSYour Name  * Supported Feature: TDLS
321*5113495bSYour Name  *
322*5113495bSYour Name  * Usage: Internal/External
323*5113495bSYour Name  *
324*5113495bSYour Name  */
325*5113495bSYour Name #define CFG_TDLS_IDLE_TIMEOUT CFG_INI_UINT( \
326*5113495bSYour Name 	"gTDLSIdleTimeout", \
327*5113495bSYour Name 	500, \
328*5113495bSYour Name 	40000, \
329*5113495bSYour Name 	5000, \
330*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
331*5113495bSYour Name 	"this is idle time period")
332*5113495bSYour Name 
333*5113495bSYour Name /*
334*5113495bSYour Name  * <ini>
335*5113495bSYour Name  * gTDLSIdlePacketThreshold - Number of idle packet.
336*5113495bSYour Name  * @Min: 0
337*5113495bSYour Name  * @Max: 40000
338*5113495bSYour Name  * @Default: 3
339*5113495bSYour Name  *
340*5113495bSYour Name  * This ini is used to configure the number of Tx/Rx packet, below which
341*5113495bSYour Name  * within last gTDLSTxStatsPeriod period is considered as idle condition.
342*5113495bSYour Name  *
343*5113495bSYour Name  * Related: gEnableTDLSSupport.
344*5113495bSYour Name  *
345*5113495bSYour Name  * Supported Feature: TDLS
346*5113495bSYour Name  *
347*5113495bSYour Name  * Usage: Internal/External
348*5113495bSYour Name  *
349*5113495bSYour Name  * </ini>
350*5113495bSYour Name  */
351*5113495bSYour Name #define CFG_TDLS_IDLE_PACKET_THRESHOLD CFG_INI_UINT( \
352*5113495bSYour Name 	"gTDLSIdlePacketThreshold", \
353*5113495bSYour Name 	0, \
354*5113495bSYour Name 	40000, \
355*5113495bSYour Name 	3, \
356*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
357*5113495bSYour Name 	"Number of idle packet")
358*5113495bSYour Name 
359*5113495bSYour Name /*
360*5113495bSYour Name  * <ini>
361*5113495bSYour Name  * gTDLSRSSITriggerThreshold - RSSI threshold for TDLS connection.
362*5113495bSYour Name  * @Min: -120
363*5113495bSYour Name  * @Max: 0
364*5113495bSYour Name  * @Default: -75
365*5113495bSYour Name  *
366*5113495bSYour Name  * This ini is used to configure the absolute value (in dB) of the peer RSSI,
367*5113495bSYour Name  * below which a TDLS setup request is triggered.
368*5113495bSYour Name  *
369*5113495bSYour Name  * Related: gEnableTDLSSupport.
370*5113495bSYour Name  *
371*5113495bSYour Name  * Supported Feature: TDLS
372*5113495bSYour Name  *
373*5113495bSYour Name  * Usage: Internal/External
374*5113495bSYour Name  *
375*5113495bSYour Name  * </ini>
376*5113495bSYour Name  */
377*5113495bSYour Name #define CFG_TDLS_RSSI_TRIGGER_THRESHOLD CFG_INI_INT( \
378*5113495bSYour Name 	"gTDLSRSSITriggerThreshold", \
379*5113495bSYour Name 	-120, \
380*5113495bSYour Name 	0, \
381*5113495bSYour Name 	-75, \
382*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
383*5113495bSYour Name 	"RSSI threshold for TDLS connection")
384*5113495bSYour Name 
385*5113495bSYour Name /*
386*5113495bSYour Name  * <ini>
387*5113495bSYour Name  * gTDLSRSSITeardownThreshold - RSSI threshold for TDLS teardown.
388*5113495bSYour Name  * @Min: -120
389*5113495bSYour Name  * @Max: 0
390*5113495bSYour Name  * @Default: -75
391*5113495bSYour Name  *
392*5113495bSYour Name  * This ini is used to configure the absolute value (in dB) of the peer RSSI,
393*5113495bSYour Name  * when exceed, a TDLS teardown is triggered.
394*5113495bSYour Name  *
395*5113495bSYour Name  * Related: gEnableTDLSSupport.
396*5113495bSYour Name  *
397*5113495bSYour Name  * Supported Feature: TDLS
398*5113495bSYour Name  *
399*5113495bSYour Name  * Usage: Internal/External
400*5113495bSYour Name  *
401*5113495bSYour Name  * </ini>
402*5113495bSYour Name  */
403*5113495bSYour Name #define CFG_TDLS_RSSI_TEARDOWN_THRESHOLD CFG_INI_INT( \
404*5113495bSYour Name 	"gTDLSRSSITeardownThreshold", \
405*5113495bSYour Name 	-120, \
406*5113495bSYour Name 	0, \
407*5113495bSYour Name 	-75, \
408*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
409*5113495bSYour Name 	"RSSI threshold for TDLS teardown")
410*5113495bSYour Name 
411*5113495bSYour Name /*
412*5113495bSYour Name  * <ini>
413*5113495bSYour Name  * gTDLSRSSIDelta - Delta value for the peer RSSI that can trigger teardown.
414*5113495bSYour Name  * @Min: -30
415*5113495bSYour Name  * @Max: 0
416*5113495bSYour Name  * @Default: -20
417*5113495bSYour Name  *
418*5113495bSYour Name  * This ini is used to configure delta for peer RSSI such that if Peer RSSI
419*5113495bSYour Name  * is less than AP RSSI plus delta will trigger a teardown.
420*5113495bSYour Name  *
421*5113495bSYour Name  * Related: gEnableTDLSSupport.
422*5113495bSYour Name  *
423*5113495bSYour Name  * Supported Feature: TDLS
424*5113495bSYour Name  *
425*5113495bSYour Name  * Usage: Internal/External
426*5113495bSYour Name  *
427*5113495bSYour Name  * </ini>
428*5113495bSYour Name  */
429*5113495bSYour Name #define CFG_TDLS_RSSI_DELTA CFG_INI_INT( \
430*5113495bSYour Name 	"gTDLSRSSIDelta", \
431*5113495bSYour Name 	-30, \
432*5113495bSYour Name 	0, \
433*5113495bSYour Name 	-20, \
434*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
435*5113495bSYour Name 	"Delta value for the peer RSSI that can trigger teardown")
436*5113495bSYour Name 
437*5113495bSYour Name /*
438*5113495bSYour Name  * <ini>
439*5113495bSYour Name  * gTDLSPrefOffChanNum - Preferred TDLS channel number when off-channel support
440*5113495bSYour Name  * is enabled.
441*5113495bSYour Name  * @Min: 1
442*5113495bSYour Name  * @Max: 165
443*5113495bSYour Name  * @Default: 36
444*5113495bSYour Name  *
445*5113495bSYour Name  * This ini is used to configure preferred TDLS channel number when off-channel
446*5113495bSYour Name  * support is enabled.
447*5113495bSYour Name  *
448*5113495bSYour Name  * Related: gEnableTDLSSupport, gEnableTDLSOffChannel.
449*5113495bSYour Name  *
450*5113495bSYour Name  * Supported Feature: TDLS
451*5113495bSYour Name  *
452*5113495bSYour Name  * Usage: Internal/External
453*5113495bSYour Name  *
454*5113495bSYour Name  * </ini>
455*5113495bSYour Name  */
456*5113495bSYour Name #define CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM CFG_INI_UINT( \
457*5113495bSYour Name 	"gTDLSPrefOffChanNum", \
458*5113495bSYour Name 	1, \
459*5113495bSYour Name 	165, \
460*5113495bSYour Name 	36, \
461*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
462*5113495bSYour Name 	"Preferred TDLS channel number")
463*5113495bSYour Name 
464*5113495bSYour Name /*
465*5113495bSYour Name  * <ini>
466*5113495bSYour Name  * tdls_pref_off_chan_num_6g - Preferred TDLS 6g channel freq when off-channel
467*5113495bSYour Name  * support is enabled.
468*5113495bSYour Name  * @Min: 0
469*5113495bSYour Name  * @Max: 7115
470*5113495bSYour Name  * @Default: 5975
471*5113495bSYour Name  *
472*5113495bSYour Name  * This ini is used to configure preferred TDLS 6G channel number when
473*5113495bSYour Name  * off-channel support is enabled. If this is set to 0, 6Ghz offchannel is
474*5113495bSYour Name  * disabled.
475*5113495bSYour Name  *
476*5113495bSYour Name  * Related: gEnableTDLSSupport, gEnableTDLSOffChannel.
477*5113495bSYour Name  *
478*5113495bSYour Name  * Supported Feature: TDLS
479*5113495bSYour Name  *
480*5113495bSYour Name  * Usage: Internal/External
481*5113495bSYour Name  *
482*5113495bSYour Name  * </ini>
483*5113495bSYour Name  */
484*5113495bSYour Name #define CFG_TDLS_PREFERRED_OFF_CHANNEL_FREQ_6G CFG_INI_UINT( \
485*5113495bSYour Name 	"tdls_pref_off_chan_freq_6g", \
486*5113495bSYour Name 	0, \
487*5113495bSYour Name 	7115, \
488*5113495bSYour Name 	5975, \
489*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
490*5113495bSYour Name 	"Preferred TDLS channel frequency for 6ghz channels")
491*5113495bSYour Name 
492*5113495bSYour Name /*
493*5113495bSYour Name  * <ini>
494*5113495bSYour Name  * gTDLSPrefOffChanBandwidth - Preferred TDLS channel bandwidth when
495*5113495bSYour Name  * off-channel support is enabled.
496*5113495bSYour Name  * @Min: 1
497*5113495bSYour Name  * @Max: 15
498*5113495bSYour Name  * @Default: 15
499*5113495bSYour Name  *
500*5113495bSYour Name  * This ini is used to configure preferred TDLS channel bandwidth when
501*5113495bSYour Name  * off-channel support is enabled.
502*5113495bSYour Name  * 0x1: 20 MHz	0x2: 40 MHz	0x4: 80 MHz	0x8: 160 MHz
503*5113495bSYour Name  * When more than one bits are set then firmware starts from the highest and
504*5113495bSYour Name  * selects one based on capability of peer. So, that means if 0xF is set that
505*5113495bSYour Name  * means fw will try intersect with 160 MHz BW and the peer supported BW.
506*5113495bSYour Name  *
507*5113495bSYour Name  * Related: gEnableTDLSSupport, gEnableTDLSOffChannel.
508*5113495bSYour Name  *
509*5113495bSYour Name  * Supported Feature: TDLS
510*5113495bSYour Name  *
511*5113495bSYour Name  * Usage: Internal/External
512*5113495bSYour Name  *
513*5113495bSYour Name  * </ini>
514*5113495bSYour Name  */
515*5113495bSYour Name #define CFG_TDLS_PREFERRED_OFF_CHANNEL_BW CFG_INI_UINT( \
516*5113495bSYour Name 	"gTDLSPrefOffChanBandwidth", \
517*5113495bSYour Name 	1, \
518*5113495bSYour Name 	15, \
519*5113495bSYour Name 	15, \
520*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
521*5113495bSYour Name 	"Preferred TDLS channel bandwidth")
522*5113495bSYour Name 
523*5113495bSYour Name /*
524*5113495bSYour Name  * <ini>
525*5113495bSYour Name  * gTDLSPuapsdPTIWindow - This ini is used to configure peer traffic indication
526*5113495bSYour Name  * window.
527*5113495bSYour Name  * @Min: 1
528*5113495bSYour Name  * @Max: 5
529*5113495bSYour Name  * @Default: 2
530*5113495bSYour Name  *
531*5113495bSYour Name  * This ini is used to configure buffering time in number of beacon intervals.
532*5113495bSYour Name  *
533*5113495bSYour Name  * Related: gEnableTDLSSupport.
534*5113495bSYour Name  *
535*5113495bSYour Name  * Supported Feature: TDLS
536*5113495bSYour Name  *
537*5113495bSYour Name  * Usage: Internal/External
538*5113495bSYour Name  *
539*5113495bSYour Name  * </ini>
540*5113495bSYour Name  */
541*5113495bSYour Name #define CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW CFG_INI_UINT( \
542*5113495bSYour Name 	"gTDLSPuapsdPTIWindow", \
543*5113495bSYour Name 	1, \
544*5113495bSYour Name 	5, \
545*5113495bSYour Name 	2, \
546*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
547*5113495bSYour Name 	"This ini is used to configure peer traffic indication")
548*5113495bSYour Name 
549*5113495bSYour Name /*
550*5113495bSYour Name  * <ini>
551*5113495bSYour Name  * gTDLSPuapsdPTIWindow - This ini is used to configure peer traffic indication
552*5113495bSYour Name  * window.
553*5113495bSYour Name  * @Min: 1
554*5113495bSYour Name  * @Max: 5
555*5113495bSYour Name  * @Default: 2
556*5113495bSYour Name  *
557*5113495bSYour Name  * This ini is used to configure buffering time in number of beacon intervals.
558*5113495bSYour Name  *
559*5113495bSYour Name  * Related: gEnableTDLSSupport.
560*5113495bSYour Name  *
561*5113495bSYour Name  * Supported Feature: TDLS
562*5113495bSYour Name  *
563*5113495bSYour Name  * Usage: Internal/External
564*5113495bSYour Name  *
565*5113495bSYour Name  * </ini>
566*5113495bSYour Name  */
567*5113495bSYour Name #define CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT CFG_INI_UINT( \
568*5113495bSYour Name 	"gTDLSPuapsdPTRTimeout", \
569*5113495bSYour Name 	0, \
570*5113495bSYour Name 	10000, \
571*5113495bSYour Name 	5000, \
572*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
573*5113495bSYour Name 	"Peer Traffic Response timer duration in ms")
574*5113495bSYour Name 
575*5113495bSYour Name /*
576*5113495bSYour Name  * <ini>
577*5113495bSYour Name  * gTDLSExternalControl - Enable external TDLS control.
578*5113495bSYour Name  * @Min: 0
579*5113495bSYour Name  * @Max: 2
580*5113495bSYour Name  * @Default: 1
581*5113495bSYour Name  *
582*5113495bSYour Name  * This ini is used to enable/disable external TDLS control.
583*5113495bSYour Name  * TDLS external control works with TDLS implicit trigger. TDLS external
584*5113495bSYour Name  * control allows a user to add a MAC address of potential TDLS peers so
585*5113495bSYour Name  * that the CLD driver can initiate implicit TDLS setup to only those peers
586*5113495bSYour Name  * when criteria for TDLS setup (throughput and RSSI threshold) is met.
587*5113495bSYour Name  * There are two flavors of external control supported. If control default
588*5113495bSYour Name  * is set 1 it means strict external control where only for configured
589*5113495bSYour Name  * tdls peer mac address tdls link will be established. If control default
590*5113495bSYour Name  * is set 2 liberal tdls external control is needed which means
591*5113495bSYour Name  * tdls link will be established with configured peer mac address as well
592*5113495bSYour Name  * as any other peer which supports tdls.
593*5113495bSYour Name  *
594*5113495bSYour Name  * Related: gEnableTDLSSupport, gEnableTDLSImplicitTrigger.
595*5113495bSYour Name  *
596*5113495bSYour Name  * Supported Feature: TDLS
597*5113495bSYour Name  *
598*5113495bSYour Name  * Usage: Internal/External
599*5113495bSYour Name  *
600*5113495bSYour Name  * </ini>
601*5113495bSYour Name  */
602*5113495bSYour Name #define CFG_TDLS_EXTERNAL_CONTROL CFG_INI_UINT( \
603*5113495bSYour Name 	"gTDLSExternalControl", \
604*5113495bSYour Name 	0, \
605*5113495bSYour Name 	2, \
606*5113495bSYour Name 	1, \
607*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
608*5113495bSYour Name 	"Enable external TDLS control")
609*5113495bSYour Name 
610*5113495bSYour Name /*
611*5113495bSYour Name  * <ini>
612*5113495bSYour Name  * gEnableTDLSWmmMode - Enables WMM support over TDLS link.
613*5113495bSYour Name  * @Min: 0
614*5113495bSYour Name  * @Max: 1
615*5113495bSYour Name  * @Default: 1
616*5113495bSYour Name  *
617*5113495bSYour Name  * This ini is used to enable/disable WMM support over TDLS link.
618*5113495bSYour Name  * This is required to be set to 1 for any TDLS and uAPSD functionality.
619*5113495bSYour Name  *
620*5113495bSYour Name  * Related: gEnableTDLSSupport.
621*5113495bSYour Name  *
622*5113495bSYour Name  * Supported Feature: TDLS
623*5113495bSYour Name  *
624*5113495bSYour Name  * Usage: Internal/External
625*5113495bSYour Name  *
626*5113495bSYour Name  * </ini>
627*5113495bSYour Name  */
628*5113495bSYour Name #define CFG_TDLS_WMM_MODE_ENABLE CFG_INI_BOOL( \
629*5113495bSYour Name 	"gEnableTDLSWmmMode", \
630*5113495bSYour Name 	1, \
631*5113495bSYour Name 	"Enables WMM support over TDLS link")
632*5113495bSYour Name 
633*5113495bSYour Name /*
634*5113495bSYour Name  * <ini>
635*5113495bSYour Name  * gEnableTDLSScan - Allow scan and maintain TDLS link.
636*5113495bSYour Name  * @Min: 0
637*5113495bSYour Name  * @Max: 1
638*5113495bSYour Name  * @Default: 1
639*5113495bSYour Name  *
640*5113495bSYour Name  * This ini is used to enable/disable TDLS scan.
641*5113495bSYour Name  *  0: If peer is not buffer STA capable and device is not sleep STA
642*5113495bSYour Name  *     capable, then teardown TDLS link when scan is initiated. If peer
643*5113495bSYour Name  *     is buffer STA and we can be sleep STA then TDLS link is maintained
644*5113495bSYour Name  *     during scan.
645*5113495bSYour Name  *  1: Maintain TDLS link and allow scan even if peer is not buffer STA
646*5113495bSYour Name  *     capable and device is not sleep STA capable. There will be loss of
647*5113495bSYour Name  *     Rx pkts since peer would not know when device moves away from tdls
648*5113495bSYour Name  *     channel. Tx on TDLS link would stop when device moves away from tdls
649*5113495bSYour Name  *     channel.
650*5113495bSYour Name  *
651*5113495bSYour Name  * Related: gEnableTDLSSupport.
652*5113495bSYour Name  *
653*5113495bSYour Name  * Supported Feature: TDLS
654*5113495bSYour Name  *
655*5113495bSYour Name  * Usage: Internal/External
656*5113495bSYour Name  *
657*5113495bSYour Name  * </ini>
658*5113495bSYour Name  */
659*5113495bSYour Name #define CFG_TDLS_SCAN_ENABLE CFG_INI_BOOL( \
660*5113495bSYour Name 	"gEnableTDLSScan", \
661*5113495bSYour Name 	1, \
662*5113495bSYour Name 	"Allow scan and maintain TDLS link")
663*5113495bSYour Name 
664*5113495bSYour Name /*
665*5113495bSYour Name  * <ini>
666*5113495bSYour Name  * gTDLSPeerKickoutThreshold - TDLS peer kick out threshold to firmware.
667*5113495bSYour Name  * @Min: 10
668*5113495bSYour Name  * @Max: 5000
669*5113495bSYour Name  * @Default: 96
670*5113495bSYour Name  *
671*5113495bSYour Name  * This ini is used to configure TDLS peer kick out threshold to firmware.
672*5113495bSYour Name  *     Firmware will use this value to determine, when to send TDLS
673*5113495bSYour Name  *     peer kick out event to host.
674*5113495bSYour Name  *     E.g.
675*5113495bSYour Name  *        if peer kick out threshold is 10, then firmware will wait for 10
676*5113495bSYour Name  *        consecutive packet failures and then send TDLS kick out
677*5113495bSYour Name  *        notification to host driver
678*5113495bSYour Name  *
679*5113495bSYour Name  * Related: gEnableTDLSSupport.
680*5113495bSYour Name  *
681*5113495bSYour Name  * Supported Feature: TDLS
682*5113495bSYour Name  *
683*5113495bSYour Name  * Usage: Internal/External
684*5113495bSYour Name  *
685*5113495bSYour Name  * </ini>
686*5113495bSYour Name  */
687*5113495bSYour Name #define CFG_TDLS_PEER_KICKOUT_THRESHOLD CFG_INI_UINT( \
688*5113495bSYour Name 	"gTDLSPeerKickoutThreshold", \
689*5113495bSYour Name 	10, \
690*5113495bSYour Name 	5000, \
691*5113495bSYour Name 	96, \
692*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
693*5113495bSYour Name 	"TDLS peer kick out threshold to firmware")
694*5113495bSYour Name /*
695*5113495bSYour Name  * <ini>
696*5113495bSYour Name  * gTDLSDiscoveryWakeTimeout - TDLS discovery WAKE timeout in ms.
697*5113495bSYour Name  * @Min: 10
698*5113495bSYour Name  * @Max: 5000
699*5113495bSYour Name  * @Default: 96
700*5113495bSYour Name  *
701*5113495bSYour Name  * DUT will wake until this timeout to receive TDLS discovery response
702*5113495bSYour Name  * from peer. If tdls_discovery_wake_timeout is 0x0, the DUT will
703*5113495bSYour Name  * choose autonomously what wake timeout value to use.
704*5113495bSYour Name  *
705*5113495bSYour Name  *
706*5113495bSYour Name  * Related: gEnableTDLSSupport.
707*5113495bSYour Name  *
708*5113495bSYour Name  * Supported Feature: TDLS
709*5113495bSYour Name  *
710*5113495bSYour Name  * Usage: External
711*5113495bSYour Name  *
712*5113495bSYour Name  * </ini>
713*5113495bSYour Name  */
714*5113495bSYour Name  #define CFG_TDLS_DISCOVERY_WAKE_TIMEOUT CFG_INI_UINT( \
715*5113495bSYour Name 	"gTDLSDiscoveryWakeTimeout", \
716*5113495bSYour Name 	0, \
717*5113495bSYour Name 	2000, \
718*5113495bSYour Name 	200, \
719*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
720*5113495bSYour Name 	"TDLS peer kick out threshold to firmware")
721*5113495bSYour Name 
722*5113495bSYour Name /*
723*5113495bSYour Name  * <ini>
724*5113495bSYour Name  * gTDLSEnableDeferTime - Timer to defer for enabling TDLS on P2P listen.
725*5113495bSYour Name  * @Min: 500
726*5113495bSYour Name  * @Max: 6000
727*5113495bSYour Name  * @Default: 2000
728*5113495bSYour Name  *
729*5113495bSYour Name  * This ini is used to set the timer to defer for enabling TDLS on P2P
730*5113495bSYour Name  * listen (value in milliseconds).
731*5113495bSYour Name  *
732*5113495bSYour Name  * Related: gEnableTDLSSupport.
733*5113495bSYour Name  *
734*5113495bSYour Name  * Supported Feature: TDLS
735*5113495bSYour Name  *
736*5113495bSYour Name  * Usage: Internal/External
737*5113495bSYour Name  *
738*5113495bSYour Name  * </ini>
739*5113495bSYour Name  */
740*5113495bSYour Name #define CFG_TDLS_ENABLE_DEFER_TIMER CFG_INI_UINT( \
741*5113495bSYour Name 	"gTDLSEnableDeferTime", \
742*5113495bSYour Name 	500, \
743*5113495bSYour Name 	6000, \
744*5113495bSYour Name 	2000, \
745*5113495bSYour Name 	CFG_VALUE_OR_DEFAULT, \
746*5113495bSYour Name 	"Timer to defer for enabling TDLS on P2P listen")
747*5113495bSYour Name 
748*5113495bSYour Name #define CFG_TDLS_ALL \
749*5113495bSYour Name 	CFG(CFG_TDLS_QOS_WMM_UAPSD_MASK) \
750*5113495bSYour Name 	CFG(CFG_TDLS_BUF_STA_ENABLED) \
751*5113495bSYour Name 	CFG(CFG_TDLS_PUAPSD_INACT_TIME) \
752*5113495bSYour Name 	CFG(CFG_TDLS_RX_FRAME_THRESHOLD) \
753*5113495bSYour Name 	CFG(CFG_TDLS_OFF_CHANNEL_ENABLED) \
754*5113495bSYour Name 	CFG(CFG_TDLS_SUPPORT_ENABLE) \
755*5113495bSYour Name 	CFG(CFG_TDLS_IMPLICIT_TRIGGER) \
756*5113495bSYour Name 	CFG(CFG_TDLS_TX_STATS_PERIOD) \
757*5113495bSYour Name 	CFG(CFG_TDLS_TX_PACKET_THRESHOLD) \
758*5113495bSYour Name 	CFG(CFG_TDLS_MAX_DISCOVERY_ATTEMPT) \
759*5113495bSYour Name 	CFG(CFG_TDLS_MAX_PEER_COUNT) \
760*5113495bSYour Name 	CFG(CFG_TDLS_IDLE_TIMEOUT) \
761*5113495bSYour Name 	CFG(CFG_TDLS_IDLE_PACKET_THRESHOLD) \
762*5113495bSYour Name 	CFG(CFG_TDLS_RSSI_TRIGGER_THRESHOLD) \
763*5113495bSYour Name 	CFG(CFG_TDLS_RSSI_TEARDOWN_THRESHOLD) \
764*5113495bSYour Name 	CFG(CFG_TDLS_RSSI_DELTA) \
765*5113495bSYour Name 	CFG(CFG_TDLS_PREFERRED_OFF_CHANNEL_NUM) \
766*5113495bSYour Name 	CFG(CFG_TDLS_PREFERRED_OFF_CHANNEL_FREQ_6G) \
767*5113495bSYour Name 	CFG(CFG_TDLS_PREFERRED_OFF_CHANNEL_BW) \
768*5113495bSYour Name 	CFG(CFG_TDLS_PUAPSD_PEER_TRAFFIC_IND_WINDOW) \
769*5113495bSYour Name 	CFG(CFG_TDLS_PUAPSD_PEER_TRAFFIC_RSP_TIMEOUT) \
770*5113495bSYour Name 	CFG(CFG_TDLS_EXTERNAL_CONTROL) \
771*5113495bSYour Name 	CFG(CFG_TDLS_WMM_MODE_ENABLE) \
772*5113495bSYour Name 	CFG(CFG_TDLS_SCAN_ENABLE) \
773*5113495bSYour Name 	CFG(CFG_TDLS_PEER_KICKOUT_THRESHOLD) \
774*5113495bSYour Name 	CFG(CFG_TDLS_DISCOVERY_WAKE_TIMEOUT) \
775*5113495bSYour Name 	CFG(CFG_TDLS_ENABLE_DEFER_TIMER)
776*5113495bSYour Name 
777*5113495bSYour Name #endif
778