cfg_mlme_generic.h 26 KB

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