cfg_mlme_generic.h 26 KB

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