cfg_mlme_vht_caps.h 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  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_VHT_CAPS_H
  22. #define __CFG_MLME_VHT_CAPS_H
  23. #define CFG_VHT_SUPP_CHAN_WIDTH CFG_UINT( \
  24. "supp_chan_width", \
  25. 0, \
  26. 2, \
  27. 0, \
  28. CFG_VALUE_OR_DEFAULT, \
  29. "VHT SUPPORTED CHAN WIDTH SET")
  30. /*
  31. * <ini>
  32. * gTxBFCsnValue - ini to set VHT/HE STS Caps field
  33. * @Min: 0
  34. * @Max: 7
  35. * @Default: 7
  36. *
  37. * This ini is used to configure the STS capability shown in AC/AX mode
  38. * MGMT frame IE, the final STS field shown in VHT/HE IE will be calculated
  39. * by MIN of (INI set, target report value). Only if gTxBFEnable is enabled
  40. * and SU/MU BEAMFORMEE Caps is shown, then STS Caps make sense.
  41. *
  42. * Related: gTxBFEnable.
  43. *
  44. * Supported Feature: STA/SAP
  45. *
  46. * Usage: Internal
  47. *
  48. * </ini>
  49. */
  50. #define CFG_VHT_BEAMFORMEE_ANT_SUPP CFG_INI_UINT( \
  51. "txBFCsnValue", \
  52. 0, \
  53. 7, \
  54. 7, \
  55. CFG_VALUE_OR_DEFAULT, \
  56. "VHT BEAMFORMEE ANTENNA SUPPORTED CAP")
  57. #define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER CFG_INI_BOOL( \
  58. "gEnableTxSUBeamformer", \
  59. 0, \
  60. "vht tx su beam former")
  61. #define CFG_VHT_NUM_SOUNDING_DIMENSIONS CFG_UINT( \
  62. "num_soundingdim", \
  63. 0, \
  64. 3, \
  65. 0, \
  66. CFG_VALUE_OR_DEFAULT, \
  67. "VHT NUMBER OF SOUNDING DIMENSIONS")
  68. #define CFG_VHT_HTC_VHTC CFG_BOOL( \
  69. "htc_vhtc", \
  70. 0, \
  71. "VHT HTC VHTC")
  72. #define CFG_VHT_LINK_ADAPTATION_CAP CFG_UINT( \
  73. "link_adap_cap", \
  74. 0, \
  75. 3, \
  76. 0, \
  77. CFG_VALUE_OR_DEFAULT, \
  78. "VHT LINK ADAPTATION CAP")
  79. #define CFG_VHT_RX_ANT_PATTERN CFG_BOOL( \
  80. "rx_antpattern", \
  81. 1, \
  82. "VHT RX ANTENNA PATTERN CAP")
  83. #define CFG_VHT_TX_ANT_PATTERN CFG_BOOL( \
  84. "tx_antpattern", \
  85. 1, \
  86. "VHT TX ANTENNA PATTERN CAP")
  87. #define CFG_VHT_RX_SUPP_DATA_RATE CFG_UINT( \
  88. "rx_supp_data_rate", \
  89. 0, \
  90. 780, \
  91. 780, \
  92. CFG_VALUE_OR_DEFAULT, \
  93. "VHT RX SUPP DATA RATE")
  94. #define CFG_VHT_TX_SUPP_DATA_RATE CFG_UINT( \
  95. "tx_supp_data_rate", \
  96. 0, \
  97. 780, \
  98. 780, \
  99. CFG_VALUE_OR_DEFAULT, \
  100. "VHT TX SUPP DATA RATE")
  101. #define CFG_VHT_ENABLE_TXBF_20MHZ CFG_INI_BOOL( \
  102. "gTxBFEnable", \
  103. 0, \
  104. "VHT ENABLE TXBF 20MHZ")
  105. #define CFG_VHT_SU_BEAMFORMER_CAP CFG_BOOL( \
  106. "su_bformer", \
  107. 0, \
  108. "VHT SU BEAMFORMER CAP")
  109. #define CFG_VHT_SU_BEAMFORMEE_CAP CFG_BOOL( \
  110. "su_bformee", \
  111. 1, \
  112. "VHT SU BEAMFORMEE CAP")
  113. #define CFG_VHT_MU_BEAMFORMER_CAP CFG_BOOL( \
  114. "mu_bformer", \
  115. 0, \
  116. "VHT MU BEAMFORMER CAP")
  117. #define CFG_VHT_TXOP_PS CFG_BOOL( \
  118. "txop_ps", \
  119. 0, \
  120. "VHT TXOP PS")
  121. /*
  122. * <ini>
  123. * gVhtChannelWidth - Channel width capability for 11ac
  124. * @Min: 0
  125. * @Max: 4
  126. * @Default: 3
  127. *
  128. * This ini is used to set channel width capability for 11AC.
  129. * eHT_CHANNEL_WIDTH_20MHZ = 0,
  130. * eHT_CHANNEL_WIDTH_40MHZ = 1,
  131. * eHT_CHANNEL_WIDTH_80MHZ = 2,
  132. * eHT_CHANNEL_WIDTH_160MHZ = 3,
  133. * eHT_CHANNEL_WIDTH_80P80MHZ = 4,
  134. *
  135. * Related: NA
  136. *
  137. * Supported Feature: 11AC
  138. *
  139. * Usage: External
  140. *
  141. * </ini>
  142. */
  143. #define CFG_VHT_CHANNEL_WIDTH CFG_INI_UINT( \
  144. "gVhtChannelWidth", \
  145. 0, \
  146. 4, \
  147. 2, \
  148. CFG_VALUE_OR_DEFAULT, \
  149. "Channel width capability for 11ac")
  150. /*
  151. * <ini>
  152. * gVhtRxMCS - VHT Rx MCS capability for 1x1 mode
  153. * @Min: 0
  154. * @Max: 2
  155. * @Default: 0
  156. *
  157. * This ini is used to set VHT Rx MCS capability for 1x1 mode.
  158. * 0, MCS0-7
  159. * 1, MCS0-8
  160. * 2, MCS0-9
  161. *
  162. * Related: NA
  163. *
  164. * Supported Feature: 11AC
  165. *
  166. * Usage: Internal/External
  167. *
  168. * </ini>
  169. */
  170. #define CFG_VHT_ENABLE_RX_MCS_8_9 CFG_INI_UINT( \
  171. "gVhtRxMCS", \
  172. 0, \
  173. 2, \
  174. 0, \
  175. CFG_VALUE_OR_DEFAULT, \
  176. "VHT Rx MCS")
  177. /*
  178. * <ini>
  179. * gVhtTxMCS - VHT Tx MCS capability for 1x1 mode
  180. * @Min: 0
  181. * @Max: 2
  182. * @Default: 0
  183. *
  184. * This ini is used to set VHT Tx MCS capability for 1x1 mode.
  185. * 0, MCS0-7
  186. * 1, MCS0-8
  187. * 2, MCS0-9
  188. *
  189. * Related: NA
  190. *
  191. * Supported Feature: 11AC
  192. *
  193. * Usage: Internal/External
  194. *
  195. * </ini>
  196. */
  197. #define CFG_VHT_ENABLE_TX_MCS_8_9 CFG_INI_UINT( \
  198. "gVhtTxMCS", \
  199. 0, \
  200. 2, \
  201. 0, \
  202. CFG_VALUE_OR_DEFAULT, \
  203. "VHT Tx MCS")
  204. /*
  205. * <ini>
  206. * gVhtRxMCS2x2 - VHT Rx MCS capability for 2x2 mode
  207. * @Min: 0
  208. * @Max: 2
  209. * @Default: 0
  210. *
  211. * This ini is used to set VHT Rx MCS capability for 2x2 mode.
  212. * 0, MCS0-7
  213. * 1, MCS0-8
  214. * 2, MCS0-9
  215. *
  216. * Related: NA
  217. *
  218. * Supported Feature: 11AC
  219. *
  220. * Usage: External
  221. *
  222. * </ini>
  223. */
  224. #define CFG_VHT_ENABLE_RX_MCS2x2_8_9 CFG_INI_UINT( \
  225. "gVhtRxMCS2x2", \
  226. 0, \
  227. 2, \
  228. 0, \
  229. CFG_VALUE_OR_DEFAULT, \
  230. "VHT Rx MCS 2x2")
  231. /*
  232. * <ini>
  233. * gVhtTxMCS2x2 - VHT Tx MCS capability for 2x2 mode
  234. * @Min: 0
  235. * @Max: 2
  236. * @Default: 0
  237. *
  238. * This ini is used to set VHT Tx MCS capability for 2x2 mode.
  239. * 0, MCS0-7
  240. * 1, MCS0-8
  241. * 2, MCS0-9
  242. *
  243. * Related: NA
  244. *
  245. * Supported Feature: 11AC
  246. *
  247. * Usage: External
  248. *
  249. * </ini>
  250. */
  251. #define CFG_VHT_ENABLE_TX_MCS2x2_8_9 CFG_INI_UINT( \
  252. "gVhtTxMCS2x2", \
  253. 0, \
  254. 2, \
  255. 0, \
  256. CFG_VALUE_OR_DEFAULT, \
  257. "VHT Tx MCS 2x2")
  258. /*
  259. * <ini>
  260. * enable_vht20_mcs9 - Enables VHT MCS9 in 20M BW operation
  261. * @Min: 0
  262. * @Max: 1
  263. * @Default: 1
  264. *
  265. * Related: NA
  266. *
  267. * Supported Feature: 11AC
  268. *
  269. * Usage: External
  270. *
  271. * </ini>
  272. */
  273. #define CFG_ENABLE_VHT20_MCS9 CFG_INI_BOOL( \
  274. "enable_vht20_mcs9", \
  275. 1, \
  276. "Enables VHT MCS9 in 20M BW")
  277. /*
  278. * <ini>
  279. * gEnable2x2 - Enables/disables VHT Tx/Rx MCS values for 2x2
  280. * @Min: 0
  281. * @Max: 1
  282. * @Default: 0
  283. *
  284. * This ini disables/enables 2x2 mode. If this is zero then DUT operates as 1x1
  285. *
  286. * 0, Disable
  287. * 1, Enable
  288. *
  289. * Related: NA
  290. *
  291. * Supported Feature: 11AC
  292. *
  293. * Usage: External
  294. *
  295. * </ini>
  296. */
  297. #define CFG_VHT_ENABLE_2x2_CAP_FEATURE CFG_INI_BOOL( \
  298. "gEnable2x2", \
  299. 0, \
  300. "VHT Enable 2x2")
  301. /*
  302. * <ini>
  303. * gEnableMuBformee - Enables/disables multi-user (MU) beam formee capability
  304. * @Min: 0
  305. * @Max: 1
  306. * @Default: 0
  307. *
  308. * This ini enables/disables multi-user (MU) beam formee
  309. * capability
  310. *
  311. * Change MU Bformee only when gTxBFEnable is enabled.
  312. * When gTxBFEnable and gEnableMuBformee are set, MU beam formee capability is
  313. * enabled.
  314. * Related: gTxBFEnable
  315. *
  316. * Supported Feature: 11AC
  317. *
  318. * Usage: External
  319. *
  320. * </ini>
  321. */
  322. #define CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE CFG_INI_BOOL( \
  323. "gEnableMuBformee", \
  324. 0, \
  325. "VHT Enable MU Beamformee")
  326. #define CFG_VHT_ENABLE_PAID_FEATURE CFG_INI_BOOL( \
  327. "gEnablePAID", \
  328. 0, \
  329. "VHT Enable PAID")
  330. #define CFG_VHT_ENABLE_GID_FEATURE CFG_INI_BOOL( \
  331. "gEnableGID", \
  332. 0, \
  333. "VHT Enable GID")
  334. /* Parameter to control VHT support in 2.4 GHz band */
  335. #define CFG_ENABLE_VHT_FOR_24GHZ CFG_INI_BOOL( \
  336. "gEnableVhtFor24GHzBand", \
  337. 0, \
  338. "VHT Enable for 24GHz")
  339. /*
  340. * gEnableVendorVhtFor24GHzBand:Parameter to control VHT support
  341. * based on vendor ie in 2.4 GHz band
  342. * @Min: 0
  343. * @Max: 1
  344. * @Default: 1
  345. *
  346. * This parameter will enable SAP to read VHT capability in vendor ie in Assoc
  347. * Req and send VHT caps in Resp to establish connection in VHT Mode.
  348. * Supported Feature: SAP
  349. *
  350. *
  351. * Usage: Internal/External
  352. *
  353. * </ini>
  354. */
  355. #define CFG_ENABLE_VENDOR_VHT_FOR_24GHZ CFG_INI_BOOL( \
  356. "gEnableVendorVhtFor24GHzBand", \
  357. 1, \
  358. "VHT Enable Vendor for 24GHz")
  359. /* Macro to handle maximum receive AMPDU size configuration */
  360. #define CFG_VHT_AMPDU_LEN_EXPONENT CFG_INI_UINT( \
  361. "gVhtAmpduLenExponent", \
  362. 0, \
  363. 7, \
  364. 3, \
  365. CFG_VALUE_OR_DEFAULT, \
  366. "VHT AMPDU Len in Exponent")
  367. #define CFG_VHT_MPDU_LEN CFG_INI_UINT( \
  368. "gVhtMpduLen", \
  369. 0, \
  370. 2, \
  371. 0, \
  372. CFG_VALUE_OR_DEFAULT, \
  373. "VHT MPDU Length")
  374. /*
  375. * Enable / Disable Tx beamformee in SAP mode
  376. * Default: Disable
  377. */
  378. #define CFG_VHT_ENABLE_TXBF_SAP_MODE CFG_INI_BOOL( \
  379. "gEnableTxBFeeSAP", \
  380. 0, \
  381. "Enable tx bf sap mode")
  382. /*
  383. * <ini>
  384. * enable_subfee_vendor_vhtie - ini to enable/disable SU Bformee in vendor VHTIE
  385. * @Min: 0
  386. * @Max: 1
  387. * @Default: 1
  388. *
  389. * This ini is used to enable/disable SU Bformee in vendor vht ie if gTxBFEnable
  390. * is enabled. if gTxBFEnable is 0 this will not have any effect.
  391. *
  392. * Related: gTxBFEnable.
  393. *
  394. * Supported Feature: STA
  395. *
  396. * Usage: External
  397. *
  398. * </ini>
  399. */
  400. #define CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE CFG_INI_BOOL( \
  401. "enable_subfee_vendor_vhtie", \
  402. 0, \
  403. "Enable subfee in vendor vht ie")
  404. #define CFG_VHT_CAPS_ALL \
  405. CFG(CFG_VHT_SUPP_CHAN_WIDTH) \
  406. CFG(CFG_VHT_SU_BEAMFORMER_CAP) \
  407. CFG(CFG_VHT_SU_BEAMFORMEE_CAP) \
  408. CFG(CFG_VHT_BEAMFORMEE_ANT_SUPP) \
  409. CFG(CFG_VHT_ENABLE_TX_SU_BEAM_FORMER) \
  410. CFG(CFG_VHT_NUM_SOUNDING_DIMENSIONS) \
  411. CFG(CFG_VHT_MU_BEAMFORMER_CAP) \
  412. CFG(CFG_VHT_TXOP_PS) \
  413. CFG(CFG_VHT_HTC_VHTC) \
  414. CFG(CFG_VHT_LINK_ADAPTATION_CAP) \
  415. CFG(CFG_VHT_RX_ANT_PATTERN) \
  416. CFG(CFG_VHT_TX_ANT_PATTERN) \
  417. CFG(CFG_VHT_RX_SUPP_DATA_RATE) \
  418. CFG(CFG_VHT_TX_SUPP_DATA_RATE) \
  419. CFG(CFG_VHT_ENABLE_TXBF_20MHZ) \
  420. CFG(CFG_VHT_CHANNEL_WIDTH) \
  421. CFG(CFG_VHT_ENABLE_RX_MCS_8_9) \
  422. CFG(CFG_VHT_ENABLE_TX_MCS_8_9) \
  423. CFG(CFG_VHT_ENABLE_RX_MCS2x2_8_9) \
  424. CFG(CFG_VHT_ENABLE_TX_MCS2x2_8_9) \
  425. CFG(CFG_ENABLE_VHT20_MCS9) \
  426. CFG(CFG_VHT_ENABLE_2x2_CAP_FEATURE) \
  427. CFG(CFG_VHT_ENABLE_MU_BFORMEE_CAP_FEATURE) \
  428. CFG(CFG_VHT_ENABLE_PAID_FEATURE) \
  429. CFG(CFG_VHT_ENABLE_GID_FEATURE) \
  430. CFG(CFG_ENABLE_VHT_FOR_24GHZ) \
  431. CFG(CFG_ENABLE_VENDOR_VHT_FOR_24GHZ) \
  432. CFG(CFG_VHT_AMPDU_LEN_EXPONENT) \
  433. CFG(CFG_VHT_MPDU_LEN) \
  434. CFG(CFG_VHT_ENABLE_TXBF_SAP_MODE) \
  435. CFG(CFG_ENABLE_SUBFEE_IN_VENDOR_VHTIE)
  436. #endif /* __CFG_MLME_VHT_CAPS_H */