cfg_tdls.h 18 KB

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