cfg_mlme_generic.h 27 KB

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