cfg_mlme_generic.h 22 KB

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