cfg_fwol_generic.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765
  1. /*
  2. * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. /**
  19. * DOC: This file contains centralized definitions of converged configuration.
  20. */
  21. #ifndef __CFG_FWOL_GENERIC_H
  22. #define __CFG_FWOL_GENERIC_H
  23. /*
  24. *
  25. * <ini>
  26. * gEnableANI - Enable Adaptive Noise Immunity
  27. * @Min: 0
  28. * @Max: 1
  29. * @Default: 1
  30. *
  31. * This ini is used to enable or disable Adaptive Noise Immunity.
  32. *
  33. * Related: None
  34. *
  35. * Supported Feature: ANI
  36. *
  37. * Usage: External
  38. *
  39. * </ini>
  40. */
  41. #define CFG_ENABLE_ANI CFG_INI_BOOL( \
  42. "gEnableANI", \
  43. 1, \
  44. "Enable/Disable Adaptive Noise Immunity")
  45. /*
  46. * <ini>
  47. * gSetRTSForSIFSBursting - set rts for sifs bursting
  48. * @Min: 0
  49. * @Max: 1
  50. * @Default: 0
  51. *
  52. * This ini set rts for sifs bursting
  53. *
  54. * Usage: External
  55. *
  56. * </ini>
  57. */
  58. #define CFG_SET_RTS_FOR_SIFS_BURSTING CFG_INI_BOOL( \
  59. "gSetRTSForSIFSBursting", \
  60. 0, \
  61. "Set rts for sifs bursting")
  62. /*
  63. * <ini>
  64. * sifs_burst_mask - Set sifs burst mask
  65. * @Min: 0
  66. * @Max: 3
  67. * @Default: 1
  68. *
  69. * This ini is used to set 11n and legacy(non 11n/wmm)
  70. * sifs burst. Especially under running multi stream
  71. * traffic test case, it can be useful to let the low
  72. * priority AC, or legacy mode device, or the specified
  73. * AC to aggressively contend air medium, then have a
  74. * obvious improvement of throughput. Bit0 is the switch
  75. * of sifs burst, it must be set if want to enable sifs
  76. * burst, Bit1 is for legacy mode.
  77. * Supported configuration:
  78. * 0: disabled
  79. * 1: enabled, but disabled for legacy mode
  80. * 3: all enabled
  81. *
  82. * Usage: External
  83. *
  84. * </ini>
  85. */
  86. #define CFG_SET_SIFS_BURST CFG_INI_UINT( \
  87. "sifs_burst_mask", \
  88. 0, \
  89. 3, \
  90. 1, \
  91. CFG_VALUE_OR_DEFAULT, \
  92. "Set SIFS burst mask")
  93. /*
  94. * <ini>
  95. * gMaxMPDUsInAMPDU - max mpdus in ampdu
  96. * @Min: 0
  97. * @Max: 64
  98. * @Default: 0
  99. *
  100. * This ini configure max mpdus in ampdu
  101. *
  102. * Usage: External
  103. *
  104. * </ini>
  105. */
  106. #define CFG_MAX_MPDUS_IN_AMPDU CFG_INI_INT( \
  107. "gMaxMPDUsInAMPDU", \
  108. 0, \
  109. 64, \
  110. 0, \
  111. CFG_VALUE_OR_DEFAULT, \
  112. "This ini configure max mpdus in ampdu")
  113. /*
  114. * <ini>
  115. * arp_ac_category - ARP access category
  116. * @Min: 0
  117. * @Max: 3
  118. * @Default: 3
  119. *
  120. * Firmware by default categorizes ARP packets with VOICE TID.
  121. * This ini shall be used to override the default configuration.
  122. * Access category enums are referenced in qca-vendor.h
  123. * QCA_WLAN_AC_BE = 0 (Best effort)
  124. * QCA_WLAN_AC_BK = 1 (Background)
  125. * QCA_WLAN_AC_VI = 2 (Video)
  126. * QCA_WLAN_AC_VO = 3 (Voice)
  127. *
  128. * Related: none
  129. *
  130. * Usage: Internal/External
  131. *
  132. * </ini>
  133. */
  134. #define CFG_ARP_AC_CATEGORY CFG_INI_INT( \
  135. "arp_ac_category", \
  136. 0, \
  137. 3, \
  138. 3, \
  139. CFG_VALUE_OR_DEFAULT, \
  140. "Override the default ARP AC configuration")
  141. /*
  142. * <ini>
  143. * gEnableFastPwrTransition - Configuration for fast power transition
  144. * @Min: 0
  145. * @Max: 2
  146. * @Default: 0
  147. *
  148. * This ini supported values:
  149. * 0x0: Phy register retention disabled (Higher timeline, Good for power)
  150. * 0x1: Phy register retention statically enabled
  151. * 0x2: Phy register retention enabled/disabled dynamically
  152. *
  153. * Usage: Internal
  154. *
  155. * </ini>
  156. */
  157. #define CFG_ENABLE_PHY_REG CFG_INI_UINT( \
  158. "gEnableFastPwrTransition", \
  159. 0x0, \
  160. 0x2, \
  161. 0x0, \
  162. CFG_VALUE_OR_DEFAULT, \
  163. "Configuration for fast power transition")
  164. /*
  165. * <ini>
  166. * gUpperBrssiThresh - Sets Upper threshold for beacon RSSI
  167. * @Min: 36
  168. * @Max: 66
  169. * @Default: 46
  170. *
  171. * This ini sets Upper beacon threshold for beacon RSSI in FW
  172. * Used to reduced RX chainmask in FW, once this threshold is
  173. * reached FW will switch to 1X1 (Single chain).
  174. *
  175. * Supported Feature: STA
  176. *
  177. * Usage: External
  178. *
  179. * </ini>
  180. */
  181. #define CFG_UPPER_BRSSI_THRESH CFG_INI_UINT( \
  182. "gUpperBrssiThresh", \
  183. 36, \
  184. 66, \
  185. 46, \
  186. CFG_VALUE_OR_DEFAULT, \
  187. "Sets Upper threshold for beacon RSSI")
  188. /*
  189. * <ini>
  190. * gLowerBrssiThresh - Sets Lower threshold for beacon RSSI
  191. * @Min: 6
  192. * @Max: 36
  193. * @Default: 26
  194. *
  195. * This ini sets Lower beacon threshold for beacon RSSI in FW
  196. * Used to increase RX chainmask in FW, once this threshold is
  197. * reached FW will switch to 2X2 chain.
  198. *
  199. * Supported Feature: STA
  200. *
  201. * Usage: External
  202. *
  203. * </ini>
  204. */
  205. #define CFG_LOWER_BRSSI_THRESH CFG_INI_UINT( \
  206. "gLowerBrssiThresh", \
  207. 6, \
  208. 36, \
  209. 26, \
  210. CFG_VALUE_OR_DEFAULT, \
  211. "Sets Lower threshold for beacon RSSI")
  212. /*
  213. * <ini>
  214. * gDtim1ChRxEnable - Enable/Disable DTIM 1Chrx feature
  215. * @Min: 0
  216. * @Max: 1
  217. * @Default: 1
  218. *
  219. * This ini Enables or Disables DTIM 1CHRX feature in FW
  220. * If this flag is set FW enables shutting off one chain
  221. * while going to power save.
  222. *
  223. * Supported Feature: STA
  224. *
  225. * Usage: External
  226. *
  227. * </ini>
  228. */
  229. #define CFG_DTIM_1CHRX_ENABLE CFG_INI_BOOL( \
  230. "gDtim1ChRxEnable", \
  231. 1, \
  232. "Enable/Disable DTIM 1Chrx feature")
  233. /*
  234. * <ini>
  235. * gEnableAlternativeChainmask - Enable Co-Ex Alternative Chainmask
  236. * @Min: 0
  237. * @Max: 1
  238. * @Default: 0
  239. *
  240. * This ini is used to enable/disable the Co-ex Alternative Chainmask
  241. * feature via the WMI_PDEV_PARAM_ALTERNATIVE_CHAINMASK_SCHEME
  242. * firmware parameter.
  243. *
  244. * Related: None
  245. *
  246. * Supported Feature: STA
  247. *
  248. * Usage: Internal/External
  249. *
  250. * </ini>
  251. */
  252. #define CFG_ENABLE_COEX_ALT_CHAINMASK CFG_INI_BOOL( \
  253. "gEnableAlternativeChainmask", \
  254. 0, \
  255. "Enable Co-Ex Alternative Chainmask")
  256. /*
  257. * <ini>
  258. * gEnableSmartChainmask - Enable Smart Chainmask
  259. * @Min: 0
  260. * @Max: 1
  261. * @Default: 0
  262. *
  263. * This ini is used to enable/disable the Smart Chainmask feature via
  264. * the WMI_PDEV_PARAM_SMART_CHAINMASK_SCHEME firmware parameter.
  265. *
  266. * Related: None
  267. *
  268. * Supported Feature: STA
  269. *
  270. * Usage: Internal/External
  271. *
  272. * </ini>
  273. */
  274. #define CFG_ENABLE_SMART_CHAINMASK CFG_INI_BOOL( \
  275. "gEnableSmartChainmask", \
  276. 0, \
  277. "Enable/disable the Smart Chainmask feature")
  278. /*
  279. * <ini>
  280. * gEnableRTSProfiles - It will use configuring different RTS profiles
  281. * @Min: 0
  282. * @Max: 66
  283. * @Default: 33
  284. *
  285. * This ini used for configuring different RTS profiles
  286. * to firmware.
  287. * Following are the valid values for the rts profile:
  288. * RTSCTS_DISABLED 0
  289. * NOT_ALLOWED 1
  290. * NOT_ALLOWED 2
  291. * RTSCTS_DISABLED 16
  292. * RTSCTS_ENABLED_4_SECOND_RATESERIES 17
  293. * CTS2SELF_ENABLED_4_SECOND_RATESERIES 18
  294. * RTSCTS_DISABLED 32
  295. * RTSCTS_ENABLED_4_SWRETRIES 33
  296. * CTS2SELF_ENABLED_4_SWRETRIES 34
  297. * NOT_ALLOWED 48
  298. * NOT_ALLOWED 49
  299. * NOT_ALLOWED 50
  300. * RTSCTS_DISABLED 64
  301. * RTSCTS_ENABLED_4_ALL_RATESERIES 65
  302. * CTS2SELF_ENABLED_4_ALL_RATESERIES 66
  303. *
  304. * Related: None
  305. *
  306. * Supported Feature: STA
  307. *
  308. * Usage: Internal/External
  309. *
  310. * </ini>
  311. */
  312. #define CFG_ENABLE_FW_RTS_PROFILE CFG_INI_INT( \
  313. "gEnableRTSProfiles", \
  314. 0, \
  315. 66, \
  316. 33, \
  317. CFG_VALUE_OR_DEFAULT, \
  318. "It is used to configure different RTS profiles")
  319. /* <ini>
  320. * gFwDebugLogLevel - Firmware debug log level
  321. * @Min: 0
  322. * @Max: 255
  323. * @Default: 3
  324. *
  325. * This option controls the level of firmware debug log. Default value is
  326. * DBGLOG_WARN, which is to enable error and warning logs.
  327. *
  328. * Related: None
  329. *
  330. * Supported Features: Debugging
  331. *
  332. * Usage: Internal
  333. *
  334. * </ini>
  335. */
  336. #define CFG_ENABLE_FW_DEBUG_LOG_LEVEL CFG_INI_INT( \
  337. "gFwDebugLogLevel", \
  338. 0, \
  339. 255, \
  340. 3, \
  341. CFG_VALUE_OR_DEFAULT, \
  342. "enable error and warning logs by default")
  343. /* <ini>
  344. * gFwDebugLogType - Firmware debug log type
  345. * @Min: 0
  346. * @Max: 255
  347. * @Default: 3
  348. *
  349. * This option controls how driver is to give the firmware logs to net link
  350. * when cnss_diag service is started.
  351. *
  352. * Related: None
  353. *
  354. * Supported Features: Debugging
  355. *
  356. * Usage: Internal
  357. *
  358. * </ini>
  359. */
  360. #define CFG_ENABLE_FW_LOG_TYPE CFG_INI_INT( \
  361. "gFwDebugLogType", \
  362. 0, \
  363. 255, \
  364. 3, \
  365. CFG_VALUE_OR_DEFAULT, \
  366. "Default value to be given to the net link cnss_diag service")
  367. /*
  368. * <ini>
  369. * gFwDebugModuleLoglevel - modulized firmware debug log level
  370. * @Min: N/A
  371. * @Max: N/A
  372. * @Default: N/A
  373. *
  374. * This ini is used to set modulized firmware debug log level.
  375. * FW module log level input string format looks like below:
  376. * gFwDebugModuleLoglevel="<FW Module ID>,<Log Level>,..."
  377. * For example:
  378. * gFwDebugModuleLoglevel="1,0,2,1,3,2,4,3,5,4,6,5,7,6"
  379. * The above input string means:
  380. * For FW module ID 1 enable log level 0
  381. * For FW module ID 2 enable log level 1
  382. * For FW module ID 3 enable log level 2
  383. * For FW module ID 4 enable log level 3
  384. * For FW module ID 5 enable log level 4
  385. * For FW module ID 6 enable log level 5
  386. * For FW module ID 7 enable log level 6
  387. * For valid values of log levels check enum DBGLOG_LOG_LVL and
  388. * for valid values of module ids check enum WLAN_MODULE_ID.
  389. *
  390. * Related: None
  391. *
  392. * Supported Feature: Debugging
  393. *
  394. * Usage: Internal/External
  395. *
  396. * </ini>
  397. */
  398. #define FW_MODULE_LOG_LEVEL_STRING_LENGTH (512)
  399. #define CFG_ENABLE_FW_MODULE_LOG_LEVEL CFG_INI_STRING( \
  400. "gFwDebugModuleLoglevel", \
  401. 0, \
  402. FW_MODULE_LOG_LEVEL_STRING_LENGTH, \
  403. "2,1,3,1,5,1,9,1,13,1,14,1,18,1,19,1,26,1,28,1,29,1,31,1,36,1,38,1,"\
  404. "46,1,47,1,50,1,52,1,53,1,56,1,60,1,61,1,4,1", \
  405. "Set modulized firmware debug log level")
  406. #ifdef FEATURE_WLAN_RA_FILTERING
  407. /* <ini>
  408. * gRAFilterEnable
  409. * @Min: 0
  410. * @Max: 1
  411. * @Default: 1
  412. *
  413. * Related: None
  414. *
  415. * Usage: Internal
  416. *
  417. * </ini>
  418. */
  419. #define CFG_RA_FILTER_ENABLE CFG_INI_BOOL( \
  420. "gRAFilterEnable", \
  421. 1, \
  422. "Enable RA Filter")
  423. #else
  424. #define CFG_RA_FILTER_ENABLE
  425. #endif
  426. /* <ini>
  427. * gtsf_gpio_pin
  428. * @Min: 0
  429. * @Max: 254
  430. * @Default: 255
  431. *
  432. * GPIO pin to toggle when capture tsf
  433. *
  434. * Related: None
  435. *
  436. * Usage: Internal
  437. *
  438. * </ini>
  439. */
  440. #define CFG_SET_TSF_GPIO_PIN CFG_INI_INT( \
  441. "gtsf_gpio_pin", \
  442. 0, \
  443. 254, \
  444. 255, \
  445. CFG_VALUE_OR_DEFAULT, \
  446. "GPIO pin to toggle when capture tsf")
  447. #ifdef WLAN_FEATURE_TSF_PLUS_EXT_GPIO_IRQ
  448. /* <ini>
  449. * gtsf_irq_host_gpio_pin
  450. * @Min: 0
  451. * @Max: 254
  452. * @Default: 255
  453. *
  454. * TSF irq GPIO pin of host platform
  455. *
  456. * Related: None
  457. *
  458. * Usage: Internal
  459. *
  460. * </ini>
  461. */
  462. #define CFG_SET_TSF_IRQ_HOST_GPIO_PIN CFG_INI_INT( \
  463. "gtsf_irq_host_gpio_pin", \
  464. 0, \
  465. 254, \
  466. 255, \
  467. CFG_VALUE_OR_DEFAULT, \
  468. "TSF irq GPIO pin of host platform")
  469. #define __CFG_SET_TSF_IRQ_HOST_GPIO_PIN CFG(CFG_SET_TSF_IRQ_HOST_GPIO_PIN)
  470. #else
  471. #define __CFG_SET_TSF_IRQ_HOST_GPIO_PIN
  472. #endif
  473. #ifdef WLAN_FEATURE_TSF_PLUS_EXT_GPIO_SYNC
  474. /*
  475. * <ini>
  476. * gtsf_sync_host_gpio_pin
  477. * @Min: 0
  478. * @Max: 254
  479. * @Default: 255
  480. *
  481. * TSF sync GPIO pin of host platform
  482. *
  483. * The driver will use this gpio on host platform
  484. * to drive the TSF sync pin on wlan chip.
  485. * Toggling this gpio will generate a strobe to fw
  486. * for latching TSF.
  487. *
  488. * Related: None
  489. *
  490. * Usage: External
  491. *
  492. * </ini>
  493. */
  494. #define CFG_SET_TSF_SYNC_HOST_GPIO_PIN CFG_INI_UINT( \
  495. "gtsf_sync_host_gpio_pin", \
  496. 0, \
  497. 254, \
  498. 255, \
  499. CFG_VALUE_OR_DEFAULT, \
  500. "TSF sync GPIO pin of host platform")
  501. #define __CFG_SET_TSF_SYNC_HOST_GPIO_PIN CFG(CFG_SET_TSF_SYNC_HOST_GPIO_PIN)
  502. #else
  503. #define __CFG_SET_TSF_SYNC_HOST_GPIO_PIN
  504. #endif
  505. #if defined(WLAN_FEATURE_TSF) && defined(WLAN_FEATURE_TSF_PLUS)
  506. /* <ini>
  507. * gtsf_ptp_options: TSF Plus feature options
  508. * @Min: 0
  509. * @Max: 0xff
  510. * @Default: 0xf
  511. *
  512. * CFG_SET_TSF_PTP_OPT_RX (0x1)
  513. * CFG_SET_TSF_PTP_OPT_TX (0x2)
  514. * CFG_SET_TSF_PTP_OPT_RAW (0x4)
  515. * CFG_SET_TSF_DBG_FS (0x8)
  516. * CFG_SET_TSF_PTP_OPT_TSF64_TX (0x10)
  517. *
  518. * Related: None
  519. *
  520. * Usage: Internal
  521. *
  522. * </ini>
  523. */
  524. #define CFG_SET_TSF_PTP_OPT_RX (0x1)
  525. #define CFG_SET_TSF_PTP_OPT_TX (0x2)
  526. #define CFG_SET_TSF_PTP_OPT_RAW (0x4)
  527. #define CFG_SET_TSF_DBG_FS (0x8)
  528. #define CFG_SET_TSF_PTP_OPT_TSF64_TX (0x10)
  529. #define CFG_SET_TSF_PTP_OPT CFG_INI_UINT( \
  530. "gtsf_ptp_options", \
  531. 0, \
  532. 0xff, \
  533. 0xf, \
  534. CFG_VALUE_OR_DEFAULT, \
  535. "TSF Plus feature options")
  536. #define __CFG_SET_TSF_PTP_OPT CFG(CFG_SET_TSF_PTP_OPT)
  537. #else
  538. #define __CFG_SET_TSF_PTP_OPT
  539. #endif
  540. #ifdef DHCP_SERVER_OFFLOAD
  541. /* <ini>
  542. * gDHCPServerOffloadEnable
  543. * @Min: 0
  544. * @Max: 1
  545. * @Default: 0
  546. *
  547. * DHCP Server offload support
  548. *
  549. * Related: None
  550. *
  551. * Usage: Internal
  552. *
  553. * </ini>
  554. */
  555. #define CFG_DHCP_SERVER_OFFLOAD_SUPPORT CFG_INI_BOOL( \
  556. "gDHCPServerOffloadEnable", \
  557. 0, \
  558. "DHCP Server offload support")
  559. /* <ini>
  560. * gDHCPMaxNumClients
  561. * @Min: 1
  562. * @Max: 8
  563. * @Default: 8
  564. *
  565. * Number of DHCP server offload clients
  566. *
  567. * Related: None
  568. *
  569. * Usage: Internal
  570. *
  571. * </ini>
  572. */
  573. #define CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT CFG_INI_INT( \
  574. "gDHCPMaxNumClients", \
  575. 1, \
  576. 8, \
  577. 8, \
  578. CFG_VALUE_OR_DEFAULT, \
  579. "Number of DHCP server offload clients")
  580. #define CFG_FWOL_DHCP \
  581. CFG(CFG_DHCP_SERVER_OFFLOAD_SUPPORT) \
  582. CFG(CFG_DHCP_SERVER_OFFLOAD_NUM_CLIENT)
  583. #else
  584. #define CFG_FWOL_DHCP
  585. #endif
  586. /*
  587. * <ini>
  588. * gEnableLPRx - Enable/Disable LPRx
  589. * @Min: 0
  590. * @Max: 1
  591. * @Default: 1
  592. *
  593. * This ini Enables or disables the LPRx in FW
  594. *
  595. * Usage: External
  596. *
  597. * </ini>
  598. */
  599. #define CFG_LPRX CFG_INI_BOOL( \
  600. "gEnableLPRx", \
  601. 1, \
  602. "LPRx control")
  603. #ifdef WLAN_FEATURE_SAE
  604. /*
  605. * <ini>
  606. * sae_enabled - Enable/Disable SAE support in driver
  607. * @Min: 0
  608. * @Max: 1
  609. * @Default: 1
  610. *
  611. * This ini is used to enable/disable SAE support in driver
  612. * Driver will update config to supplicant based on this config.
  613. *
  614. * Related: None
  615. *
  616. * Supported Feature: SAE
  617. * Usage: External
  618. *
  619. * </ini>
  620. */
  621. #define CFG_IS_SAE_ENABLED CFG_INI_BOOL( \
  622. "sae_enabled", \
  623. 1, \
  624. "SAE feature control")
  625. #define __CFG_IS_SAE_ENABLED CFG(CFG_IS_SAE_ENABLED)
  626. #else
  627. #define __CFG_IS_SAE_ENABLED
  628. #endif
  629. /*
  630. * <ini>
  631. * gcmp_enabled - ini to enable/disable GCMP
  632. * @Min: 0
  633. * @Max: 1
  634. * @Default: 1
  635. *
  636. * Currently Firmware update the sequence number for each TID with 2^3
  637. * because of security issues. But with this PN mechanism, throughput drop
  638. * is observed. With this ini FW takes the decision to trade off between
  639. * security and throughput
  640. *
  641. * Supported Feature: STA/SAP/P2P
  642. *
  643. * Usage: External
  644. *
  645. * </ini>
  646. */
  647. #define CFG_ENABLE_GCMP CFG_INI_BOOL( \
  648. "gcmp_enabled", \
  649. 1, \
  650. "GCMP Feature control param")
  651. /*
  652. * <ini>
  653. * gTxSchDelay - Enable/Disable Tx sch delay
  654. * @Min: 0
  655. * @Max: 5
  656. * @Default: 0
  657. *
  658. * Usage: Internal/External
  659. *
  660. * </ini>
  661. */
  662. #define CFG_TX_SCH_DELAY CFG_INI_UINT( \
  663. "gTxSchDelay", \
  664. 0, \
  665. 5, \
  666. 0, \
  667. CFG_VALUE_OR_DEFAULT, \
  668. "Enable/Disable Tx sch delay")
  669. /*
  670. * <ini>
  671. * gEnableSecondaryRate - Enable/Disable Secondary Retry Rate feature subset
  672. *
  673. * @Min: 0x0
  674. * @Max: 0x3F
  675. * @Default: 0x17
  676. *
  677. * It is a 32 bit value such that the various bits represent as below -
  678. * Bit-0 : is Enable/Disable Control for "PPDU Secondary Retry Support"
  679. * Bit-1 : is Enable/Disable Control for "RTS Black/White-listing Support"
  680. * Bit-2 : is Enable/Disable Control for "Higher MCS retry restriction
  681. * on XRETRY failures"
  682. * Bit 3-5 : is "Xretry threshold" to use
  683. * Bit 3~31 : reserved for future use.
  684. *
  685. * Usage: External
  686. *
  687. * </ini>
  688. */
  689. #define CFG_ENABLE_SECONDARY_RATE CFG_INI_UINT( \
  690. "gEnableSecondaryRate", \
  691. 0, \
  692. 0x3f, \
  693. 0x17, \
  694. CFG_VALUE_OR_DEFAULT, \
  695. "Secondary Retry Rate feature subset control")
  696. #define CFG_FWOL_GENERIC_ALL \
  697. CFG_FWOL_DHCP \
  698. CFG(CFG_ENABLE_ANI) \
  699. CFG(CFG_SET_RTS_FOR_SIFS_BURSTING) \
  700. CFG(CFG_SET_SIFS_BURST) \
  701. CFG(CFG_MAX_MPDUS_IN_AMPDU) \
  702. CFG(CFG_ARP_AC_CATEGORY) \
  703. CFG(CFG_ENABLE_PHY_REG) \
  704. CFG(CFG_UPPER_BRSSI_THRESH) \
  705. CFG(CFG_LOWER_BRSSI_THRESH) \
  706. CFG(CFG_DTIM_1CHRX_ENABLE) \
  707. CFG(CFG_ENABLE_COEX_ALT_CHAINMASK) \
  708. CFG(CFG_ENABLE_SMART_CHAINMASK) \
  709. CFG(CFG_ENABLE_FW_RTS_PROFILE) \
  710. CFG(CFG_ENABLE_FW_DEBUG_LOG_LEVEL) \
  711. CFG(CFG_ENABLE_FW_LOG_TYPE) \
  712. CFG(CFG_ENABLE_FW_MODULE_LOG_LEVEL) \
  713. CFG(CFG_RA_FILTER_ENABLE) \
  714. CFG(CFG_SET_TSF_GPIO_PIN) \
  715. __CFG_SET_TSF_IRQ_HOST_GPIO_PIN \
  716. __CFG_SET_TSF_SYNC_HOST_GPIO_PIN \
  717. __CFG_SET_TSF_PTP_OPT \
  718. CFG(CFG_LPRX) \
  719. __CFG_IS_SAE_ENABLED \
  720. CFG(CFG_ENABLE_GCMP) \
  721. CFG(CFG_TX_SCH_DELAY) \
  722. CFG(CFG_ENABLE_SECONDARY_RATE)
  723. #endif