cfg_mlme_generic.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203
  1. /*
  2. * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
  3. * Copyright (c) 2021-2023 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. /**
  20. * DOC: This file contains centralized definitions of converged configuration.
  21. */
  22. #ifndef __CFG_MLME_GENERIC_H
  23. #define __CFG_MLME_GENERIC_H
  24. #define CFG_PMF_SA_QUERY_MAX_RETRIES_TYPE CFG_INI_UINT
  25. #define CFG_PMF_SA_QUERY_RETRY_INTERVAL_TYPE CFG_INI_UINT
  26. /**
  27. * enum monitor_mode_concurrency - Monitor mode concurrency
  28. * @MONITOR_MODE_CONC_NO_SUPPORT: No concurrency supported with monitor mode
  29. * @MONITOR_MODE_CONC_STA_SCAN_MON: STA + monitor mode concurrency is supported
  30. * @MONITOR_MODE_CONC_AFTER_LAST: last value in enum
  31. * @MONITOR_MODE_CONC_MAX: max value supported
  32. */
  33. enum monitor_mode_concurrency {
  34. MONITOR_MODE_CONC_NO_SUPPORT,
  35. MONITOR_MODE_CONC_STA_SCAN_MON,
  36. MONITOR_MODE_CONC_AFTER_LAST,
  37. MONITOR_MODE_CONC_MAX = MONITOR_MODE_CONC_AFTER_LAST - 1,
  38. };
  39. /**
  40. * enum wlan_wds_mode - wds mode
  41. * @WLAN_WDS_MODE_DISABLED: WDS is disabled
  42. * @WLAN_WDS_MODE_REPEATER: WDS repeater mode
  43. * @WLAN_WDS_MODE_LAST: last value in enum
  44. * @WLAN_WDS_MODE_MAX: max value supported
  45. * This is used for 'type' values in wds_mode
  46. */
  47. enum wlan_wds_mode {
  48. WLAN_WDS_MODE_DISABLED = 0,
  49. WLAN_WDS_MODE_REPEATER = 1,
  50. /* keep this last */
  51. WLAN_WDS_MODE_LAST,
  52. WLAN_WDS_MODE_MAX = WLAN_WDS_MODE_LAST - 1,
  53. };
  54. /**
  55. * enum wlan_eht_mode - EHT mode of operation
  56. * @WLAN_EHT_MODE_DISABLED: EHT is disabled
  57. * @WLAN_EHT_MODE_SLO: Single-link operation mode
  58. * @WLAN_EHT_MODE_MLSR: Multi-link Single-Radio mode
  59. * @WLAN_EHT_MODE_MLMR: Multi-link Multi-Radio mode
  60. * @WLAN_EHT_MODE_LAST: last value in enum
  61. * @WLAN_EHT_MODE_MAX: max value supported
  62. *
  63. * This is used for 'type' values in eht_mode
  64. */
  65. enum wlan_eht_mode {
  66. WLAN_EHT_MODE_DISABLED = 0,
  67. WLAN_EHT_MODE_SLO = 1,
  68. WLAN_EHT_MODE_MLSR = 2,
  69. WLAN_EHT_MODE_MLMR = 3,
  70. /* keep this last */
  71. WLAN_EHT_MODE_LAST,
  72. WLAN_EHT_MODE_MAX = WLAN_EHT_MODE_LAST - 1,
  73. };
  74. /**
  75. * enum debug_packet_log_type - Debug packet log type
  76. * @DEBUG_PKTLOG_TYPE_NONE: Debug packet log is disabled
  77. * @DEBUG_PKTLOG_TYPE_MGMT: Management frames logging is enabled.
  78. * @DEBUG_PKTLOG_TYPE_EAPOL: EAPOL packets logging is enabled.
  79. * @DEBUG_PKTLOG_TYPE_DHCP: DHCP packets logging is enabled.
  80. * @DEBUG_PKTLOG_TYPE_ACTION: Action frames logging is enabled.
  81. * @DEBUG_PKTLOG_TYPE_ARP: ARP packets logging is enabled.
  82. */
  83. enum debug_packet_log_type {
  84. DEBUG_PKTLOG_TYPE_NONE = 0x0,
  85. DEBUG_PKTLOG_TYPE_MGMT = 0x1,
  86. DEBUG_PKTLOG_TYPE_EAPOL = 0x2,
  87. DEBUG_PKTLOG_TYPE_DHCP = 0x4,
  88. DEBUG_PKTLOG_TYPE_ACTION = 0x8,
  89. DEBUG_PKTLOG_TYPE_ARP = 0x10,
  90. };
  91. /**
  92. * enum t2lm_negotiation_support: t2lm negotiation supported
  93. * @T2LM_NEGOTIATION_DISABLED: T2LM is disabled
  94. * @T2LM_NEGOTIATION_ALL_TIDS_TO_SUBSET_OF_LINKS: supports the mapping
  95. * of all TIDs to the same link set both DL and UL.
  96. * @T2LM_NEGOTIATION_RESERVED:
  97. * this mapping value is reserved.
  98. * @T2LM_NEGOTIATION_DISJOINT_MAPPING: supports the mapping of
  99. * each TID to the same or different link set.
  100. * @T2LM_NEGOTIATION_LAST: last value in enum
  101. * @T2LM_NEGOTIATION_MAX: max value supported
  102. */
  103. enum t2lm_negotiation_support {
  104. T2LM_NEGOTIATION_DISABLED = 0,
  105. T2LM_NEGOTIATION_ALL_TIDS_TO_SUBSET_OF_LINKS = 1,
  106. T2LM_NEGOTIATION_RESERVED = 2,
  107. T2LM_NEGOTIATION_DISJOINT_MAPPING = 3,
  108. T2LM_NEGOTIATION_LAST,
  109. /* keep this last */
  110. T2LM_NEGOTIATION_MAX = T2LM_NEGOTIATION_LAST - 1,
  111. };
  112. /*
  113. * pmfSaQueryMaxRetries - Control PMF SA query retries for SAP
  114. * @Min: 0
  115. * @Max: 20
  116. * @Default: 5
  117. *
  118. * This ini to set the number of PMF SA query retries for SAP
  119. *
  120. * Related: None.
  121. *
  122. * Supported Feature: PMF(11W)
  123. *
  124. */
  125. #define CFG_PMF_SA_QUERY_MAX_RETRIES CFG_PMF_SA_QUERY_MAX_RETRIES_TYPE( \
  126. "pmfSaQueryMaxRetries", \
  127. 0, \
  128. 20, \
  129. 5, \
  130. CFG_VALUE_OR_DEFAULT, \
  131. "PMF SA query retries for SAP")
  132. /*
  133. * pmfSaQueryRetryInterval - Control PMF SA query retry interval
  134. * for SAP in ms
  135. * @Min: 10
  136. * @Max: 2000
  137. * @Default: 200
  138. *
  139. * This ini to set the PMF SA query retry interval for SAP in ms
  140. *
  141. * Related: None.
  142. *
  143. * Supported Feature: PMF(11W)
  144. *
  145. */
  146. #define CFG_PMF_SA_QUERY_RETRY_INTERVAL CFG_PMF_SA_QUERY_RETRY_INTERVAL_TYPE( \
  147. "pmfSaQueryRetryInterval", \
  148. 10, \
  149. 2000, \
  150. 200, \
  151. CFG_VALUE_OR_DEFAULT, \
  152. "PMF SA query retry interval for SAP")
  153. /*
  154. * <ini>
  155. * enable_rtt_mac_randomization - Enable/Disable rtt mac randomization
  156. * @Min: 0
  157. * @Max: 1
  158. * @Default: 1
  159. *
  160. * Usage: External
  161. *
  162. * </ini>
  163. */
  164. #define CFG_ENABLE_RTT_MAC_RANDOMIZATION CFG_INI_BOOL( \
  165. "enable_rtt_mac_randomization", \
  166. 1, \
  167. "Enable RTT MAC randomization")
  168. #define CFG_RTT3_ENABLE CFG_BOOL( \
  169. "rtt3_enabled", \
  170. 1, \
  171. "RTT3 enable/disable info")
  172. /*
  173. * <ini>
  174. * g11hSupportEnabled - Enable 11h support
  175. * @Min: 0
  176. * @Max: 1
  177. * @Default: 1
  178. *
  179. * This ini is used to set 11h support flag
  180. *
  181. * Related: None
  182. *
  183. * Supported Feature: STA
  184. *
  185. * Usage: External
  186. *
  187. * </ini>
  188. */
  189. #define CFG_11H_SUPPORT_ENABLED CFG_INI_BOOL( \
  190. "g11hSupportEnabled", \
  191. 1, \
  192. "11h Enable Flag")
  193. /*
  194. * <ini>
  195. * g11dSupportEnabled - Enable 11d support
  196. * @Min: 0
  197. * @Max: 1
  198. * @Default: 1
  199. *
  200. * This ini is used to set 11d support flag
  201. *
  202. * Related: None
  203. *
  204. * Supported Feature: STA
  205. *
  206. * Usage: External
  207. *
  208. * </ini>
  209. */
  210. #define CFG_11D_SUPPORT_ENABLED CFG_INI_BOOL( \
  211. "g11dSupportEnabled", \
  212. 1, \
  213. "11d Enable Flag")
  214. /*
  215. * rf_test_mode_enabled - Enable rf test mode support
  216. * @Min: 0
  217. * @Max: 1
  218. * @Default: 0
  219. *
  220. * This cfg is used to set rf test mode support flag
  221. * by default 6 G Hz security check will be enabled
  222. * with rf test mode as disabled.
  223. *
  224. * Related: None
  225. *
  226. * Supported Feature: STA
  227. */
  228. #define CFG_RF_TEST_MODE_SUPP_ENABLED CFG_BOOL( \
  229. "rf_test_mode_enabled", \
  230. 0, \
  231. "rf test mode Enable Flag")
  232. #ifdef CONFIG_BAND_6GHZ
  233. /*
  234. * disable_vlp_sta_conn_to_sp_ap - Disable VLP STA connection to SP AP
  235. * @Min: 0
  236. * @Max: 1
  237. * @Default: 0
  238. *
  239. * This cfg is used to disable connection when AP is operating in 6 GHz
  240. * SP mode but STA doesn't support SP mode and supports VLP mode.
  241. *
  242. * Related: None
  243. *
  244. * Supported Feature: STA
  245. */
  246. #define CFG_DISABLE_VLP_STA_CONN_TO_SP_AP CFG_BOOL( \
  247. "disable_vlp_sta_conn_to_sp_ap", \
  248. 0, \
  249. "disable vlp sta conn to sp ap")
  250. #define CFG_DIS_VLP_STA_CONN_TO_SP_AP CFG(CFG_DISABLE_VLP_STA_CONN_TO_SP_AP)
  251. #else
  252. #define CFG_DIS_VLP_STA_CONN_TO_SP_AP
  253. #endif
  254. #ifdef CONFIG_BAND_6GHZ
  255. /*
  256. * standard_6ghz_connection_policy - Enable 6 GHz standard connection policy
  257. * @Min: 0
  258. * @Max: 1
  259. * @Default: 1
  260. *
  261. * This ini is used to set standard 6 GHz policies where STA will be
  262. * allowed to scan and connect to any 6 GHz AP.
  263. *
  264. * Related: None
  265. *
  266. * Supported Feature: STA
  267. */
  268. #define CFG_6GHZ_STANDARD_CONNECTION_POLICY CFG_INI_BOOL( \
  269. "standard_6ghz_connection_policy", \
  270. 1, \
  271. "6ghz standard 6 GHZ connection policy")
  272. #define CFG_6GHZ_STD_CONN_POLICY CFG(CFG_6GHZ_STANDARD_CONNECTION_POLICY)
  273. #else
  274. #define CFG_6GHZ_STD_CONN_POLICY
  275. #endif
  276. #ifdef WLAN_FEATURE_11BE_MLO
  277. /*
  278. * emlsr_mode_enable - Enable eMLSR mode support
  279. * @Min: 0
  280. * @Max: 1
  281. * @Default: 0
  282. *
  283. * This cfg is used to enable eMLSR mode
  284. * If 0 - MLMR mode (Default mode)
  285. * If 1 - eMLSR mode
  286. *
  287. * Related: None
  288. *
  289. * Supported Feature: STA
  290. */
  291. #define CFG_EMLSR_MODE_ENABLE CFG_BOOL( \
  292. "emlsr_mode_enable", \
  293. 0, \
  294. "eMLSR mode enable flag")
  295. #define CFG_EMLSR_MODE_ENABLED CFG(CFG_EMLSR_MODE_ENABLE)
  296. #else
  297. #define CFG_EMLSR_MODE_ENABLED
  298. #endif
  299. /*
  300. * <ini>
  301. * BandCapability - Preferred band (0: 2.4G, 5G, and 6G,
  302. * 1: 2.4G only,
  303. * 2: 5G only,
  304. * 3: Both 2.4G and 5G,
  305. * 4: 6G only,
  306. * 5: Both 2.4G and 6G,
  307. * 6: Both 5G and 6G,
  308. * 7: 2.4G, 5G, and 6G)
  309. * @Min: 0
  310. * @Max: 7
  311. * @Default: 7
  312. *
  313. * This ini is used to set default band capability
  314. * (0: Both 2.4G and 5G, 1: 2.4G only, 2: 5G only, 3: Both 2.4G and 5G,
  315. * 4: 6G only, 5: Both 2.4G and 6G, 6: Both 5G and 6G, 7: 2.4G, 5G, and 6G)
  316. *
  317. * Related: None
  318. *
  319. * Supported Feature: STA
  320. *
  321. * Usage: External
  322. *
  323. * </ini>
  324. */
  325. #define CFG_BAND_CAPABILITY CFG_INI_UINT( \
  326. "BandCapability", \
  327. 0, \
  328. 7, \
  329. 7, \
  330. CFG_VALUE_OR_DEFAULT, \
  331. "Band Capability")
  332. /*
  333. * <ini>
  334. * gPreventLinkDown - Enable to prevent bus link from going down
  335. * @Min: 0
  336. * @Max: 1
  337. * @Default: 0
  338. *
  339. * Enable to prevent bus link from going down. Useful for platforms that do not
  340. * (yet) support link down suspend cases.
  341. *
  342. * Related: N/A
  343. *
  344. * Supported Feature: Suspend/Resume
  345. *
  346. * Usage: Internal
  347. *
  348. * </ini>
  349. */
  350. #if defined(QCA_WIFI_EMULATION) || defined(QCA_WIFI_QCA6290)
  351. #define CFG_PREVENT_LINK_DOWN CFG_INI_BOOL( \
  352. "gPreventLinkDown", \
  353. 1, \
  354. "Prevent Bus Link Down")
  355. #else
  356. #define CFG_PREVENT_LINK_DOWN CFG_INI_BOOL( \
  357. "gPreventLinkDown", \
  358. 0, \
  359. "Prevent Bus Link Down")
  360. #endif /* QCA_WIFI_EMULATION */
  361. /*
  362. * <ini>
  363. * gSelect5GHzMargin - Sets RSSI preference for 5GHz over 2.4GHz AP.
  364. * @Min: 0
  365. * @Max: 60
  366. * @Default: 0
  367. *
  368. * Prefer connecting to 5G AP even if its RSSI is lower by gSelect5GHzMargin
  369. * dBm than 2.4G AP. This feature requires the dependent cfg.ini
  370. * "gRoamPrefer5GHz" set to 1
  371. *
  372. * Related: gRoamPrefer5GHz
  373. *
  374. * Supported Feature: Roaming
  375. *
  376. * Usage: External
  377. *
  378. * </ini>
  379. */
  380. #define CFG_SELECT_5GHZ_MARGIN CFG_INI_UINT( \
  381. "gSelect5GHzMargin", \
  382. 0, \
  383. 60, \
  384. 0, \
  385. CFG_VALUE_OR_DEFAULT, \
  386. "Select 5Ghz Margin")
  387. /*
  388. * <ini>
  389. * gEnableMemDeepSleep - Sets Memory Deep Sleep on/off.
  390. * @Min: 0
  391. * @Max: 1
  392. * @Default: 1
  393. *
  394. * This option enables/disables memory deep sleep.
  395. * Related: None
  396. *
  397. * Supported Feature: General
  398. *
  399. * Usage: External
  400. *
  401. * </ini>
  402. */
  403. #define CFG_ENABLE_MEM_DEEP_SLEEP CFG_INI_BOOL( \
  404. "gEnableMemDeepSleep", \
  405. 1, \
  406. "Enable Memory Deep Sleep")
  407. /*
  408. * <ini>
  409. *
  410. * gEnableCckTxFirOverride - Enable/disable CCK TxFIR Override
  411. * @Min: 0 (disabled)
  412. * @Max: 1 (enabled)
  413. * @Default: 0 (disabled)
  414. *
  415. * When operating in an 802.11b mode, this configuration item forces a 2x2 radio
  416. * configuration into 1x for Tx and 2x for Rx (ie 1x2) for regulatory compliance
  417. * reasons.
  418. *
  419. * Related: enable2x2
  420. *
  421. * Supported Feature: 802.11b, 2x2
  422. *
  423. * Usage: External
  424. *
  425. * </ini>
  426. */
  427. #define CFG_ENABLE_CCK_TX_FIR_OVERRIDE CFG_INI_BOOL( \
  428. "gEnableCckTxFirOverride", \
  429. 0, \
  430. "Enable CCK TX FIR Override")
  431. /*
  432. * <ini>
  433. *
  434. * gEnableForceTargetAssert - Enable/disable SSR
  435. * @Min: 0 (disabled)
  436. * @Max: 1 (enabled)
  437. * @Default: 0 (disabled)
  438. *
  439. * This INI item is used to control subsystem restart(SSR) test framework
  440. * Set it's value to 1 to enable APPS triggered SSR testing
  441. *
  442. * Related: None
  443. *
  444. * Supported Feature: General
  445. *
  446. * Usage: External
  447. *
  448. * </ini>
  449. */
  450. #define CFG_ENABLE_CRASH_INJECT CFG_INI_BOOL( \
  451. "gEnableForceTargetAssert", \
  452. 0, \
  453. "Enable Crash Inject")
  454. /*
  455. * <ini>
  456. *
  457. * gEnableLpassSupport - Enable/disable LPASS Support
  458. * @Min: 0 (disabled)
  459. * @Max: 1 (enabled)
  460. * @Default: 1 (disabled) if WLAN_FEATURE_LPSS is defined, 0 otherwise
  461. *
  462. * Related: None
  463. *
  464. * Supported Feature: General
  465. *
  466. * Usage: External
  467. *
  468. * </ini>
  469. */
  470. #ifdef WLAN_FEATURE_LPSS
  471. #define CFG_ENABLE_LPASS_SUPPORT CFG_INI_BOOL( \
  472. "gEnableLpassSupport", \
  473. 1, \
  474. "Enable LPASS Support")
  475. #else
  476. #define CFG_ENABLE_LPASS_SUPPORT CFG_BOOL( \
  477. "gEnableLpassSupport", \
  478. 0, \
  479. "Enable LPASS Support")
  480. #endif
  481. /*
  482. * <ini>
  483. *
  484. * gEnableSelfRecovery - Enable/disable Self Recovery
  485. * @Min: 0 (disabled)
  486. * @Max: 1 (enabled)
  487. * @Default: 0 (disabled)
  488. *
  489. * Related: None
  490. *
  491. * Supported Feature: General
  492. *
  493. * Usage: External
  494. *
  495. * </ini>
  496. */
  497. #define CFG_ENABLE_SELF_RECOVERY CFG_INI_BOOL( \
  498. "gEnableSelfRecovery", \
  499. 0, \
  500. "Enable Self Recovery")
  501. /*
  502. * <ini>
  503. *
  504. * gSapDot11mc - Enable/disable SAP 802.11mc support
  505. * @Min: 0 (disabled)
  506. * @Max: 1 (enabled)
  507. * @Default: 0 (disabled)
  508. *
  509. * Related: None
  510. *
  511. * Supported Feature: General
  512. *
  513. * Usage: External
  514. *
  515. * </ini>
  516. */
  517. #define CFG_SAP_DOT11MC CFG_INI_BOOL( \
  518. "gSapDot11mc", \
  519. 0, \
  520. "SAP 802.11mc support")
  521. /*
  522. * <ini>
  523. *
  524. * gEnableFatalEvent - Enable/Disable BUG report in case of fatal event
  525. * @Min: 0 (disabled)
  526. * @Max: 1 (enabled)
  527. * @Default: 1 (enabled)
  528. *
  529. * Related: None
  530. *
  531. * Supported Feature: General
  532. *
  533. * Usage: External
  534. *
  535. * </ini>
  536. */
  537. #define CFG_ENABLE_FATAL_EVENT_TRIGGER CFG_INI_BOOL( \
  538. "gEnableFatalEvent", \
  539. 1, \
  540. "Enable Fatal Event Trigger")
  541. /*
  542. * <ini>
  543. * gSub20ChannelWidth - Control sub 20 channel width (5/10 Mhz)
  544. * @Min: 0
  545. * @Max: 2
  546. * @Default: 0
  547. *
  548. * This ini is used to set the sub 20 channel width.
  549. * gSub20ChannelWidth=0: indicates do not use Sub 20 MHz bandwidth
  550. * gSub20ChannelWidth=1: Bring up SAP/STA in 5 MHz bandwidth
  551. * gSub20ChannelWidth=2: Bring up SAP/STA in 10 MHz bandwidth
  552. *
  553. * Related: None
  554. *
  555. * Supported Feature: 5/10 Mhz channel width support
  556. *
  557. * Usage: External
  558. *
  559. * </ini>
  560. */
  561. #define CFG_SUB_20_CHANNEL_WIDTH CFG_INI_UINT( \
  562. "gSub20ChannelWidth", \
  563. 0, \
  564. 2, \
  565. 0, \
  566. CFG_VALUE_OR_DEFAULT, \
  567. "Sub 20 Channel Width")
  568. /*
  569. * <ini>
  570. * goptimize_chan_avoid_event - Optimize channel avoidance indication
  571. * coming from firmware
  572. * @Min: 0
  573. * @Max: 1
  574. * @Default: 0
  575. *
  576. * Related: None
  577. *
  578. * Supported Feature: General
  579. *
  580. * Usage: External
  581. *
  582. * </ini>
  583. */
  584. #define CFG_OPTIMIZE_CA_EVENT CFG_INI_BOOL( \
  585. "goptimize_chan_avoid_event", \
  586. 0, \
  587. "Optimize FW CA Event")
  588. /*
  589. * <ini>
  590. * fw_timeout_crash - Enable/Disable BUG ON
  591. * @Min: 0
  592. * @Max: 1
  593. * @Default: 1
  594. *
  595. * This ini is used to Trigger host crash when firmware fails to send the
  596. * response to host
  597. * fw_timeout_crash = 0 Disabled
  598. * fw_timeout_crash = 1 Trigger host crash
  599. *
  600. * Related: None
  601. *
  602. * Supported Feature: SSR
  603. *
  604. * Usage: External
  605. *
  606. * </ini>
  607. */
  608. #define CFG_CRASH_FW_TIMEOUT CFG_INI_BOOL( \
  609. "fw_timeout_crash", \
  610. 1, \
  611. "Enable FW Timeout Crash")
  612. /*
  613. * <ini>
  614. * gDroppedPktDisconnectTh - Sets dropped packet threshold in firmware
  615. * @Min: 0
  616. * @Max: 65535
  617. * @Default: 512
  618. *
  619. * This INI is the packet drop threshold will trigger disconnect from remote
  620. * peer.
  621. *
  622. * Related: None
  623. *
  624. * Supported Feature: connection
  625. *
  626. * Usage: External
  627. *
  628. * </ini>
  629. */
  630. #define CFG_DROPPED_PKT_DISCONNECT_THRESHOLD CFG_INI_UINT( \
  631. "gDroppedPktDisconnectTh", \
  632. 0, \
  633. 65535, \
  634. 512, \
  635. CFG_VALUE_OR_DEFAULT, \
  636. "Dropped Pkt Disconnect threshold")
  637. /*
  638. * <ini>
  639. * gItoRepeatCount - sets ito repeated count
  640. * @Min: 0
  641. * @Max: 5
  642. * @Default: 0
  643. *
  644. * This ini sets the ito count in FW
  645. *
  646. * Usage: External
  647. *
  648. * </ini>
  649. */
  650. #define CFG_ITO_REPEAT_COUNT CFG_INI_UINT( \
  651. "gItoRepeatCount", \
  652. 0, \
  653. 5, \
  654. 0, \
  655. CFG_VALUE_OR_DEFAULT, \
  656. "ITO Repeat Count")
  657. /*
  658. * <ini>
  659. * gEnableDeauthToDisassocMap - Enables deauth to disassoc map
  660. * @Min: 0
  661. * @Max: 1
  662. * @Default: 0
  663. *
  664. * This ini is used to set default disassoc map
  665. *
  666. * Related: None
  667. *
  668. * Supported Feature: STA
  669. *
  670. * Usage: External
  671. *
  672. * </ini>
  673. */
  674. #define CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP CFG_INI_BOOL( \
  675. "gEnableDeauthToDisassocMap", \
  676. 0, \
  677. "Enables deauth to disassoc map")
  678. /*
  679. * <ini>
  680. * gEnableDebugLog - Enable/Disable the Connection related logs
  681. * @Min: 0
  682. * @Max: 0xFF
  683. * @Default: 0x01
  684. *
  685. * This ini is used to enable/disable the connection related logs
  686. * 0x1 - Enable mgmt pkt logs (except probe req/rsp, beacons).
  687. * 0x2 - Enable EAPOL pkt logs.
  688. * 0x4 - Enable DHCP pkt logs.
  689. * 0x8 - Enable mgmt action frames logs.
  690. * 0x10 - Enable ARP pkt logs.
  691. * 0x0 - Disable all the above connection related logs.
  692. * The default value of 0x01 will enable all the mgmt logs
  693. *
  694. * Related: None
  695. *
  696. * Supported Feature: STA
  697. *
  698. * Usage: External
  699. *
  700. * </ini>
  701. */
  702. #define CFG_ENABLE_DEBUG_PACKET_LOG CFG_INI_UINT( \
  703. "gEnableDebugLog", \
  704. 0, 0xFF, 0x01, \
  705. CFG_VALUE_OR_DEFAULT, \
  706. "Enable debug log")
  707. /*
  708. * <ini>
  709. * enable_beacon_reception_stats - Enable disable beacon reception stats
  710. * @Min: 0
  711. * @Max: 1
  712. * @Default: 0
  713. *
  714. * This ini is used to enable/disable the beacon reception stats collected per
  715. * vdev and then sent to the driver to be displayed in sysfs
  716. *
  717. * Related: None
  718. *
  719. * Supported Feature: Stats
  720. *
  721. * Usage: External
  722. *
  723. * </ini>
  724. */
  725. #define CFG_ENABLE_BEACON_RECEPTION_STATS CFG_INI_BOOL( \
  726. "enable_beacon_reception_stats", \
  727. 0, \
  728. "Enable disable beacon reception stats")
  729. /*
  730. * <ini>
  731. * disable_4way_hs_offload - Enable/Disable 4 way handshake offload to firmware
  732. * @Min: 0
  733. * @Max: 0x2
  734. * @Default: 0x2
  735. *
  736. * 0x0 - 4-way HS to be handled in firmware for the AKMs except for SAE and
  737. * OWE roaming the 4way HS is handled in supplicant by default
  738. * 0x1 - 4-way HS to be handled in supplicant
  739. * 0x2 - 4-way HS to be handled in firmware for the AKMs including the SAE
  740. * Roam except for OWE roaming the 4way HS is handled in supplicant
  741. *
  742. * Based on the requirement the Max value can be increased per AKM.
  743. *
  744. * Related: None
  745. *
  746. * Supported Feature: STA Roaming
  747. *
  748. * Usage: External
  749. *
  750. * </ini>
  751. */
  752. #define CFG_DISABLE_4WAY_HS_OFFLOAD CFG_INI_UINT( \
  753. "disable_4way_hs_offload", \
  754. 0, \
  755. 0x2, \
  756. 0x2, \
  757. CFG_VALUE_OR_DEFAULT, \
  758. "Enable/disable 4 way handshake offload to firmware")
  759. /*
  760. * <ini>
  761. * mgmt_retry_max - Maximum Retries for mgmt frames
  762. * @Min: 0
  763. * @Max: 31
  764. * @Default: 15
  765. *
  766. * This ini is used to set maximum retries for mgmt frames
  767. *
  768. * Supported Feature: STA/SAP
  769. *
  770. * Usage: External
  771. *
  772. * </ini>
  773. */
  774. #define CFG_MGMT_RETRY_MAX CFG_INI_UINT( \
  775. "mgmt_retry_max", \
  776. 0, \
  777. 31, \
  778. 15, \
  779. CFG_VALUE_OR_DEFAULT, \
  780. "Max retries for mgmt frames")
  781. /*
  782. * <ini>
  783. * enable_he_mcs0_for_mgmt_6ghz- if disabled FW will use 6Mbps 11A rate
  784. * @Min: 0
  785. * @Max: 1
  786. * @Default: 0
  787. *
  788. * If this ini is disabled firmware will use 6Mbps 11A rate
  789. *
  790. * Supported Feature: STA/SAP
  791. *
  792. * Usage: External
  793. *
  794. * </ini>
  795. */
  796. #define CFG_ENABLE_HE_MCS0_MGMT_6GHZ CFG_INI_BOOL( \
  797. "enable_he_mcs0_for_mgmt_6ghz", \
  798. 0, \
  799. "MCS0 rate for 6ghz mgmt frames")
  800. /*
  801. * <ini>
  802. * bmiss_skip_full_scan - To decide whether firmware does channel map based
  803. * partial scan or partial scan followed by full scan in case no candidate is
  804. * found in partial scan.
  805. * @Min: 0
  806. * @Max: 1
  807. * @Default: 0
  808. *
  809. * 0 : Based on the channel map , firmware does scan to find new AP. if AP is
  810. * not found then it does a full scan on all valid channels.
  811. * 1 : Firmware does channel map based partial scan only.
  812. *
  813. * Related: None
  814. *
  815. * Supported Feature: STA Roaming
  816. *
  817. * Usage: External
  818. *
  819. * </ini>
  820. */
  821. #define CFG_BMISS_SKIP_FULL_SCAN CFG_INI_BOOL("bmiss_skip_full_scan", \
  822. 0, \
  823. "To decide partial/partial scan followed by full scan")
  824. /*
  825. * <ini>
  826. * gEnableRingBuffer - Enable Ring Buffer for Bug Report
  827. * @Min: 0
  828. * @Max: 1
  829. * @Default: 1
  830. *
  831. * This ini is used to enable Ring Buffer
  832. *
  833. * Related: None
  834. *
  835. * Supported Feature: STA/SAP
  836. *
  837. * Usage: External
  838. *
  839. * </ini>
  840. */
  841. #define CFG_ENABLE_RING_BUFFER CFG_INI_BOOL( \
  842. "gEnableRingBuffer", \
  843. 1, \
  844. "To Enable Ring Buffer")
  845. /*
  846. * <ini>
  847. * dfs_chan_ageout_time - Set DFS Channel ageout time(in seconds)
  848. * @Min: 0
  849. * @Max: 8
  850. * Default: 0
  851. *
  852. * Ageout time is the time upto which DFS channel information such as beacon
  853. * found is remembered. So that Firmware performs Active scan instead of the
  854. * Passive to reduce the Dwell time.
  855. * This ini Parameter used to set ageout timer value from host to FW.
  856. * If not set, Firmware will disable ageout time.
  857. *
  858. * Supported Feature: STA scan in DFS channels
  859. *
  860. * Usage: External
  861. *
  862. * </ini>
  863. */
  864. #define CFG_DFS_CHAN_AGEOUT_TIME CFG_INI_UINT("dfs_chan_ageout_time", \
  865. 0, 8, 0, CFG_VALUE_OR_DEFAULT, \
  866. "Set DFS Channel ageout time from host to firmware")
  867. /*
  868. * <ini>
  869. * sae_connect_retries - Bit mask to retry Auth and full connection on assoc
  870. * timeout to same AP and auth retries during roaming
  871. * @Min: 0x0
  872. * @Max: 0x53
  873. * @Default: 0x52
  874. *
  875. * This ini is used to set max auth retry in auth phase of roaming and initial
  876. * connection and max connection retry in case of assoc timeout. MAX Auth
  877. * retries are capped to 3, connection retries are capped to 2 and roam Auth
  878. * retry is capped to 1.
  879. * Default is 0x52 i.e. 1 roam auth retry, 2 auth retry and 2 full connection
  880. * retry.
  881. *
  882. * Bits Retry Type
  883. * BIT[0:2] AUTH retries
  884. * BIT[3:5] Connection reties
  885. * BIT[6:8] ROAM AUTH retries
  886. *
  887. * Some Possible values are as below
  888. * 0 - NO auth/roam Auth retry and NO full connection retry after
  889. * assoc timeout
  890. * 0x49 - 1 auth/roam auth retry and 1 full connection retry
  891. * 0x52 - 1 roam auth retry, 2 auth retry and 2 full connection retry
  892. * 0x1 /0x2 - 0 roam auth retry, 1 or 2 auth retry respectively and NO full
  893. * connection retry
  894. * 0x8 /0x10 - 0 roam auth retry,NO auth retry and 1 or 2 full connection retry
  895. * respectively.
  896. * 0x4A - 1 roam auth retry,2 auth retry and 1 full connection retry
  897. * 0x51 - 1 auth/roam auth retry and 2 full connection retry
  898. *
  899. * Related: None
  900. *
  901. * Supported Feature: STA SAE
  902. *
  903. * Usage: External
  904. *
  905. * </ini>
  906. */
  907. #define CFG_SAE_CONNECION_RETRIES CFG_INI_UINT("sae_connect_retries", \
  908. 0, 0x53, 0x52, CFG_VALUE_OR_DEFAULT, \
  909. "Bit mask to retry Auth and full connection on assoc timeout to same AP for SAE connection")
  910. /*
  911. * <ini>
  912. *
  913. * wls_6ghz_capable - WiFi Location Service(WLS) is 6Ghz capable
  914. * @Min: 0 (WLS 6Ghz non-capable)
  915. * @Max: 1 (WLS 6Ghz capable)
  916. * @Default: 0 (WLS 6Ghz non-capable)
  917. *
  918. * Related: None
  919. *
  920. * Supported Feature: General
  921. *
  922. * Usage: Internal
  923. *
  924. * </ini>
  925. */
  926. #define CFG_WLS_6GHZ_CAPABLE CFG_INI_BOOL( \
  927. "wls_6ghz_capable", \
  928. 0, \
  929. "WiFi Location Service(WLS) is 6Ghz capable or not")
  930. /*
  931. * <ini>
  932. *
  933. * monitor_mode_conc - Monitor mode concurrency supported
  934. * @Min: 0
  935. * @Max: 1
  936. * @Default: 0
  937. *
  938. * Related: None
  939. *
  940. * Monitor mode concurrency supported
  941. * 0 - No concurrency supported
  942. * 1 - Allow STA scan + Monitor mode concurrency
  943. *
  944. * Supported Feature: General
  945. *
  946. * Usage: External
  947. *
  948. * </ini>
  949. */
  950. #define CFG_MONITOR_MODE_CONCURRENCY CFG_INI_UINT( \
  951. "monitor_mode_concurrency", \
  952. MONITOR_MODE_CONC_NO_SUPPORT, \
  953. MONITOR_MODE_CONC_MAX, \
  954. MONITOR_MODE_CONC_NO_SUPPORT, \
  955. CFG_VALUE_OR_DEFAULT, \
  956. "Monitor mode concurrency supported")
  957. #ifdef FEATURE_WDS
  958. /*
  959. * <ini>
  960. *
  961. * wds_mode - wds mode supported
  962. * @Min: 0
  963. * @Max: 1
  964. * @Default: 0
  965. *
  966. * Related: None
  967. *
  968. * wds mode supported
  969. * 0 - wds mode disabled
  970. * 1 - wds repeater mode
  971. *
  972. * Supported Feature: General
  973. *
  974. * Usage: External
  975. *
  976. * </ini>
  977. */
  978. #define CFG_WDS_MODE CFG_INI_UINT( \
  979. "wds_mode", \
  980. WLAN_WDS_MODE_DISABLED, \
  981. WLAN_WDS_MODE_MAX, \
  982. WLAN_WDS_MODE_DISABLED, \
  983. CFG_VALUE_OR_DEFAULT, \
  984. "wds mode supported")
  985. #define CFG_WDS_MODE_ALL CFG(CFG_WDS_MODE)
  986. #else
  987. #define CFG_WDS_MODE_ALL
  988. #endif
  989. /*
  990. * <ini>
  991. * tx_retry_multiplier - TX retry multiplier
  992. * @Min: 0
  993. * @Max: 500
  994. * @Default: 0
  995. *
  996. * This ini is used to indicate percentage to max retry limit to fw
  997. * which can further be used by fw to multiply counter by
  998. * tx_retry_multiplier percent.
  999. *
  1000. * Supported Feature: STA/SAP
  1001. *
  1002. * Usage: External
  1003. *
  1004. * </ini>
  1005. */
  1006. #define CFG_TX_RETRY_MULTIPLIER CFG_INI_UINT( \
  1007. "tx_retry_multiplier", \
  1008. 0, \
  1009. 500, \
  1010. 0, \
  1011. CFG_VALUE_OR_DEFAULT, \
  1012. "percentage of max retry limit")
  1013. /*
  1014. * <ini>
  1015. * mgmt_frame_hw_tx_retry_count - Set hw tx retry count for mgmt action
  1016. * frame
  1017. * @Min: N/A
  1018. * @Max: N/A
  1019. * @Default: N/A
  1020. *
  1021. * Set mgmt action frame hw tx retry count, string format looks like below:
  1022. * frame_hw_tx_retry_count="<frame type>,<retry count>,..."
  1023. * frame type is enum value of mlme_cfg_frame_type.
  1024. * Retry count max value is 127.
  1025. * For example:
  1026. * frame_hw_tx_retry_count="0,64,2,32"
  1027. * The above input string means:
  1028. * For p2p go negotiation request fame, hw retry count 64
  1029. * For p2p provision discovery request, hw retry count 32
  1030. *
  1031. * Related: None.
  1032. *
  1033. * Supported Feature: STA/P2P
  1034. *
  1035. * Usage: External
  1036. *
  1037. * </ini>
  1038. */
  1039. #define MGMT_FRM_HW_TX_RETRY_COUNT_STR_LEN (64)
  1040. #define CFG_MGMT_FRAME_HW_TX_RETRY_COUNT CFG_INI_STRING( \
  1041. "mgmt_frame_hw_tx_retry_count", \
  1042. 0, \
  1043. MGMT_FRM_HW_TX_RETRY_COUNT_STR_LEN, \
  1044. "", \
  1045. "Set mgmt action frame hw tx retry count")
  1046. #if defined(WLAN_FEATURE_SR)
  1047. /*
  1048. * <ini>
  1049. * sr_enable_modes - Modes for which SR(Spatial Reuse) feature can be enabled
  1050. * @Min: 0x00
  1051. * @Max: 0xf
  1052. * @Default: 0x1
  1053. *
  1054. * This ini is used to check for which mode SR feature is enabled
  1055. *
  1056. * Bit 0: Enable/Disable SR feature for STA
  1057. * Bit 1: Enable/Disable SR feature for SAP
  1058. * Bit 2: Enable/Disable SR feature for P2P CLI
  1059. * Bit 3: Enable/Disable SR feature for P2P GO
  1060. *
  1061. * Related: None
  1062. *
  1063. * Supported Feature: STA/SAP
  1064. *
  1065. * Usage: External
  1066. *
  1067. * </ini>
  1068. */
  1069. #define CFG_SR_ENABLE_MODES CFG_INI_UINT( \
  1070. "sr_enable_modes",\
  1071. 0x0,\
  1072. 0xf,\
  1073. 0x1,\
  1074. CFG_VALUE_OR_DEFAULT, \
  1075. "To decide for which mode SR feature is enabled")
  1076. #define CFG_SR_ENABLE_MODES_ALL CFG(CFG_SR_ENABLE_MODES)
  1077. #else
  1078. #define CFG_SR_ENABLE_MODES_ALL
  1079. #endif
  1080. #ifdef WLAN_FEATURE_11BE_MLO
  1081. /*
  1082. * t2lm_negotiation_support - T2LM negotiation support by STA
  1083. * @Min: 0
  1084. * @Max: 3
  1085. * @Default: 1
  1086. *
  1087. * This cfg is used to define t2lm negotiation supported value by STA
  1088. * If 0 - t2lm negotiation is not supported
  1089. * If 1 - supports the mapping of all TIDs to the same link set both DL and UL.
  1090. * If 2 - reserved
  1091. * If 3 - supports the mapping of each TID to the same or different link set.
  1092. *
  1093. * Related: None
  1094. *
  1095. * Supported Feature: STA
  1096. */
  1097. #define CFG_T2LM_NEGOTIATION_SUPPORT CFG_UINT( \
  1098. "t2lm_negotiation_supported", \
  1099. T2LM_NEGOTIATION_DISABLED, \
  1100. T2LM_NEGOTIATION_DISJOINT_MAPPING, \
  1101. T2LM_NEGOTIATION_ALL_TIDS_TO_SUBSET_OF_LINKS, \
  1102. CFG_VALUE_OR_DEFAULT, \
  1103. "T2LM negotiation supported value")
  1104. #define CFG_T2LM_NEGOTIATION_SUPPORTED CFG(CFG_T2LM_NEGOTIATION_SUPPORT)
  1105. #else
  1106. #define CFG_T2LM_NEGOTIATION_SUPPORTED
  1107. #endif
  1108. #define CFG_GENERIC_ALL \
  1109. CFG(CFG_ENABLE_DEBUG_PACKET_LOG) \
  1110. CFG(CFG_PMF_SA_QUERY_MAX_RETRIES) \
  1111. CFG(CFG_PMF_SA_QUERY_RETRY_INTERVAL) \
  1112. CFG(CFG_ENABLE_RTT_MAC_RANDOMIZATION) \
  1113. CFG(CFG_RTT3_ENABLE) \
  1114. CFG(CFG_11H_SUPPORT_ENABLED) \
  1115. CFG(CFG_11D_SUPPORT_ENABLED) \
  1116. CFG(CFG_BAND_CAPABILITY) \
  1117. CFG(CFG_PREVENT_LINK_DOWN) \
  1118. CFG(CFG_SELECT_5GHZ_MARGIN) \
  1119. CFG(CFG_ENABLE_MEM_DEEP_SLEEP) \
  1120. CFG(CFG_ENABLE_CCK_TX_FIR_OVERRIDE) \
  1121. CFG(CFG_ENABLE_CRASH_INJECT) \
  1122. CFG(CFG_ENABLE_LPASS_SUPPORT) \
  1123. CFG(CFG_ENABLE_SELF_RECOVERY) \
  1124. CFG(CFG_ENABLE_DEAUTH_TO_DISASSOC_MAP) \
  1125. CFG(CFG_DISABLE_4WAY_HS_OFFLOAD) \
  1126. CFG(CFG_SAP_DOT11MC) \
  1127. CFG(CFG_ENABLE_FATAL_EVENT_TRIGGER) \
  1128. CFG(CFG_SUB_20_CHANNEL_WIDTH) \
  1129. CFG(CFG_OPTIMIZE_CA_EVENT) \
  1130. CFG(CFG_CRASH_FW_TIMEOUT) \
  1131. CFG(CFG_DROPPED_PKT_DISCONNECT_THRESHOLD) \
  1132. CFG(CFG_ITO_REPEAT_COUNT) \
  1133. CFG(CFG_ENABLE_BEACON_RECEPTION_STATS) \
  1134. CFG(CFG_MGMT_RETRY_MAX) \
  1135. CFG(CFG_ENABLE_HE_MCS0_MGMT_6GHZ) \
  1136. CFG(CFG_BMISS_SKIP_FULL_SCAN) \
  1137. CFG(CFG_ENABLE_RING_BUFFER) \
  1138. CFG(CFG_DFS_CHAN_AGEOUT_TIME) \
  1139. CFG(CFG_SAE_CONNECION_RETRIES) \
  1140. CFG(CFG_WLS_6GHZ_CAPABLE) \
  1141. CFG(CFG_MONITOR_MODE_CONCURRENCY) \
  1142. CFG(CFG_RF_TEST_MODE_SUPP_ENABLED) \
  1143. CFG_WDS_MODE_ALL \
  1144. CFG(CFG_TX_RETRY_MULTIPLIER) \
  1145. CFG(CFG_MGMT_FRAME_HW_TX_RETRY_COUNT) \
  1146. CFG_6GHZ_STD_CONN_POLICY \
  1147. CFG_EMLSR_MODE_ENABLED \
  1148. CFG_SR_ENABLE_MODES_ALL \
  1149. CFG_T2LM_NEGOTIATION_SUPPORTED\
  1150. CFG_DIS_VLP_STA_CONN_TO_SP_AP
  1151. #endif /* __CFG_MLME_GENERIC_H */