cfg_mlme_ht_caps.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. /*
  2. * Copyright (c) 2012-2018 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_MLME_HT_CAPS_H
  22. #define __CFG_MLME_HT_CAPS_H
  23. /*
  24. * <ini>
  25. * gTxLdpcEnable - Config Param to enable Tx LDPC capability
  26. * @Min: 0
  27. * @Max: 3
  28. * @Default: 3
  29. *
  30. * This ini is used to enable/disable Tx LDPC capability
  31. * 0 - disable
  32. * 1 - HT LDPC enable
  33. * 2 - VHT LDPC enable
  34. * 3 - HT & VHT LDPC enable
  35. *
  36. * Related: STA/SAP/P2P/IBSS/NAN.
  37. *
  38. * Supported Feature: Concurrency/Standalone
  39. *
  40. * Usage: Internal/External
  41. *
  42. * </ini>
  43. */
  44. #define CFG_TX_LDPC_ENABLE CFG_INI_UINT( \
  45. "gTxLdpcEnable", \
  46. 0, \
  47. 3, \
  48. 3, \
  49. CFG_VALUE_OR_DEFAULT, \
  50. "Tx LDPC capability")
  51. /*
  52. * <ini>
  53. * gEnableRXLDPC - Config Param to enable Rx LDPC capability
  54. * @Min: 0
  55. * @Max: 1
  56. * @Default: 0
  57. *
  58. * This ini is used to enable/disable Rx LDPC capability
  59. * 0 - disable Rx LDPC
  60. * 1 - enable Rx LDPC
  61. *
  62. * Related: STA/SAP/P2P/IBSS/NAN.
  63. *
  64. * Supported Feature: Concurrency/Standalone
  65. *
  66. * Usage: Internal/External
  67. *
  68. * </ini>
  69. */
  70. #define CFG_RX_LDPC_ENABLE CFG_INI_BOOL( \
  71. "gEnableRXLDPC", \
  72. 0, \
  73. "Rx LDPC capability")
  74. /*
  75. * <ini>
  76. * gEnableTXSTBC - Enables/disables Tx STBC capability in STA mode
  77. * @Min: 0
  78. * @Max: 1
  79. * @Default: 0
  80. *
  81. * This ini is used to set default Tx STBC capability
  82. *
  83. * Related: None
  84. *
  85. * Supported Feature: STA
  86. *
  87. * Usage: Internal/External
  88. *
  89. * </ini>
  90. */
  91. #define CFG_TX_STBC_ENABLE CFG_INI_BOOL( \
  92. "gEnableTXSTBC", \
  93. 0, \
  94. "Tx STBC capability")
  95. /*
  96. * <ini>
  97. * gEnableRXSTBC - Enables/disables Rx STBC capability in STA mode
  98. * @Min: 0
  99. * @Max: 1
  100. * @Default: 1
  101. *
  102. * This ini is used to set default Rx STBC capability
  103. *
  104. * Related: None
  105. *
  106. * Supported Feature: STA
  107. *
  108. * Usage: Internal/External
  109. *
  110. * </ini>
  111. */
  112. #define CFG_RX_STBC_ENABLE CFG_INI_BOOL( \
  113. "gEnableRXSTBC", \
  114. 1, \
  115. "Rx STBC capability")
  116. /*
  117. * <ini>
  118. * gShortGI20Mhz - Short Guard Interval for HT20
  119. * @Min: 0
  120. * @Max: 1
  121. * @Default: 1
  122. *
  123. * This ini is used to set default short interval for HT20
  124. *
  125. * Related: None
  126. *
  127. * Supported Feature: STA
  128. *
  129. * Usage: Internal/External
  130. *
  131. * </ini>
  132. */
  133. #define CFG_SHORT_GI_20MHZ CFG_INI_BOOL( \
  134. "gShortGI20Mhz", \
  135. 1, \
  136. "Short Guard Interval for HT20")
  137. /*
  138. * <ini>
  139. * gShortGI40Mhz - It will check gShortGI20Mhz and
  140. * gShortGI40Mhz from session entry
  141. * @Min: 0
  142. * @Max: 1
  143. * @Default: 1
  144. *
  145. * This ini is used to set default gShortGI40Mhz
  146. *
  147. * Related: None
  148. *
  149. * Supported Feature: STA
  150. *
  151. * Usage: Internal/External
  152. *
  153. * </ini>
  154. */
  155. #define CFG_SHORT_GI_40MHZ CFG_INI_BOOL( \
  156. "gShortGI40Mhz", \
  157. 1, \
  158. "Short Guard Interval for HT40")
  159. #define CFG_HT_CAP_INFO CFG_UINT( \
  160. "ht_cap_info", \
  161. 0, \
  162. 65535, \
  163. 364, \
  164. CFG_VALUE_OR_DEFAULT, \
  165. "HT cap info")
  166. /*
  167. * <ini>
  168. * gShortPreamble - Set Short Preamble
  169. * @Min: 0
  170. * @Max: 1
  171. * @Default: 1
  172. *
  173. * This ini is used to set default short Preamble
  174. *
  175. * Related: None
  176. *
  177. * Supported Feature: STA
  178. *
  179. * Usage: Internal/External
  180. *
  181. * </ini>
  182. */
  183. #define CFG_SHORT_PREAMBLE CFG_INI_BOOL( \
  184. "gShortPreamble", \
  185. 1, \
  186. "Short Preamble")
  187. #define CFG_HT_AMPDU_PARAMS CFG_UINT( \
  188. "ht_ampdu_params", \
  189. 0, \
  190. 255, \
  191. 0, \
  192. CFG_VALUE_OR_DEFAULT, \
  193. "HT AMPDU Params")
  194. #define CFG_EXT_HT_CAP_INFO CFG_UINT( \
  195. "ext_ht_cap_info", \
  196. 0, \
  197. 65535, \
  198. 1024, \
  199. CFG_VALUE_OR_DEFAULT, \
  200. "HT Ext Cap Info")
  201. #define CFG_HT_INFO_FIELD_1 CFG_UINT( \
  202. "ht_info_field_1", \
  203. 0, \
  204. 255, \
  205. 15, \
  206. CFG_VALUE_OR_DEFAULT, \
  207. "HT Info Field 1")
  208. #define CFG_HT_INFO_FIELD_2 CFG_UINT( \
  209. "ht_info_field_2", \
  210. 0, \
  211. 65535, \
  212. 0, \
  213. CFG_VALUE_OR_DEFAULT, \
  214. "HT Info Field 2")
  215. #define CFG_HT_INFO_FIELD_3 CFG_UINT( \
  216. "ht_info_field_3", \
  217. 0, \
  218. 65535, \
  219. 0, \
  220. CFG_VALUE_OR_DEFAULT, \
  221. "HT Info Field 3")
  222. /*
  223. * <ini>
  224. * gEnableHtSMPS - Enable the SM Power Save
  225. * @Min: 0
  226. * @Max: 1
  227. * @Default: 0
  228. *
  229. * This ini is used to enable SM Power Save
  230. *
  231. * Related: None
  232. *
  233. * Supported Feature: STA
  234. *
  235. * Usage: Internal/External
  236. *
  237. * </ini>
  238. */
  239. #define CFG_ENABLE_HT_SMPS CFG_INI_BOOL( \
  240. "gEnableHtSMPS", \
  241. 0, \
  242. "Enable HT SM PowerSave")
  243. /*
  244. * <ini>
  245. * gHtSMPS - SMPS Mode
  246. * @Min: 0
  247. * @Max: 3
  248. * @Default: 3
  249. *
  250. * This ini is used to set default SM Power Save Antenna mode
  251. * 0 - Static
  252. * 1 - Dynamic
  253. * 2 - Reserved/Invalid
  254. * 3 - Disabled
  255. *
  256. * Related: None
  257. *
  258. * Supported Feature: STA
  259. *
  260. * Usage: Internal/External
  261. *
  262. * </ini>
  263. */
  264. #define CFG_HT_SMPS_MODE CFG_INI_UINT( \
  265. "gHtSMPS", \
  266. 0, \
  267. 3, \
  268. 3, \
  269. CFG_VALUE_OR_DEFAULT, \
  270. "HT SM Power Save Config")
  271. /*
  272. * <ini>
  273. * gMaxAmsduNum - Max number of MSDU's in aggregate
  274. * @Min: 0
  275. * @Max: 3
  276. * @Default: 1
  277. * gMaxAmsduNum is the number of MSDU's transmitted in the 11n aggregate
  278. * frame. Setting it to a value larger than 1 enables transmit aggregation.
  279. * It is a PHY parameter that applies to all vdev's in firmware.
  280. *
  281. * Supported Feature: 11n aggregation
  282. *
  283. * Usage: Internal
  284. *
  285. * </ini>
  286. */
  287. #define CFG_MAX_AMSDU_NUM CFG_INI_UINT( \
  288. "gMaxAmsduNum", \
  289. 0, \
  290. 3, \
  291. 1, \
  292. CFG_VALUE_OR_DEFAULT, \
  293. "Max AMSDU Number")
  294. /*
  295. * <ini>
  296. * gMaxRxAmpduFactor - Provide the maximum ampdu factor.
  297. * @Min: 0
  298. * @Max: 3
  299. * @Default: 3
  300. *
  301. * This ini is used to set default maxampdu factor
  302. *
  303. * Related: None
  304. *
  305. * Supported Feature: STA
  306. *
  307. * Usage: Internal/External
  308. *
  309. * </ini>
  310. */
  311. #define CFG_MAX_RX_AMPDU_FACTOR CFG_INI_UINT( \
  312. "gMaxRxAmpduFactor", \
  313. 0, \
  314. 3, \
  315. 3, \
  316. CFG_VALUE_OR_DEFAULT, \
  317. "Max Rx AMPDU Factor")
  318. /*
  319. * <ini>
  320. * ght_mpdu_density - Configuration option for HT MPDU density
  321. * @Min: 0
  322. * @Max: 7
  323. * @Default: 7
  324. *
  325. * This ini is used to set default MPDU Density
  326. *
  327. * Related: None
  328. *
  329. * Supported Feature: STA
  330. *
  331. * Usage: Internal/External
  332. *
  333. * As per (Table 8-125 802.11-2012)
  334. * 0 for no restriction
  335. * 1 for 1/4 micro sec
  336. * 2 for 1/2 micro sec
  337. * 3 for 1 micro sec
  338. * 4 for 2 micro sec
  339. * 5 for 4 micro sec
  340. * 6 for 8 micro sec
  341. * 7 for 16 micro sec
  342. *
  343. * </ini>
  344. */
  345. #define CFG_MPDU_DENSITY CFG_INI_UINT( \
  346. "ght_mpdu_density", \
  347. 0, \
  348. 7, \
  349. 7, \
  350. CFG_VALUE_OR_DEFAULT, \
  351. "MPDU Density")
  352. #define CFG_HT_CAPS_ALL \
  353. CFG(CFG_HT_CAP_INFO) \
  354. CFG(CFG_TX_LDPC_ENABLE) \
  355. CFG(CFG_RX_LDPC_ENABLE) \
  356. CFG(CFG_TX_STBC_ENABLE) \
  357. CFG(CFG_RX_STBC_ENABLE) \
  358. CFG(CFG_SHORT_GI_20MHZ) \
  359. CFG(CFG_SHORT_GI_40MHZ) \
  360. CFG(CFG_SHORT_PREAMBLE) \
  361. CFG(CFG_HT_AMPDU_PARAMS) \
  362. CFG(CFG_EXT_HT_CAP_INFO) \
  363. CFG(CFG_HT_INFO_FIELD_1) \
  364. CFG(CFG_HT_INFO_FIELD_2) \
  365. CFG(CFG_HT_INFO_FIELD_3) \
  366. CFG(CFG_ENABLE_HT_SMPS) \
  367. CFG(CFG_HT_SMPS_MODE) \
  368. CFG(CFG_MAX_AMSDU_NUM) \
  369. CFG(CFG_MAX_RX_AMPDU_FACTOR) \
  370. CFG(CFG_MPDU_DENSITY)
  371. #endif /* __CFG_MLME_HT_CAPS_H */