cfg_mlme_generic.h 26 KB

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