cfg_mlme_he_caps.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757
  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_HE_CAPS_H
  22. #define __CFG_MLME_HE_CAPS_H
  23. #define CFG_HE_CONTROL CFG_BOOL( \
  24. "he_control", \
  25. 0, \
  26. "HE Control")
  27. #define CFG_HE_TWT_REQUESTOR CFG_BOOL( \
  28. "he_twt_requestor", \
  29. 0, \
  30. "HE Twt Requestor")
  31. #define CFG_HE_TWT_RESPONDER CFG_BOOL( \
  32. "he_twt_responder", \
  33. 0, \
  34. "HE Twt Responder")
  35. #define CFG_HE_FRAGMENTATION CFG_UINT( \
  36. "he_fragmentation", \
  37. 0, \
  38. 3, \
  39. 0, \
  40. CFG_VALUE_OR_DEFAULT, \
  41. "HE Fragmentation")
  42. #define CFG_HE_MAX_FRAG_MSDU CFG_UINT( \
  43. "he_max_frag_msdu", \
  44. 0, \
  45. 7, \
  46. 0, \
  47. CFG_VALUE_OR_DEFAULT, \
  48. "HE Max Frag Msdu")
  49. #define CFG_HE_MIN_FRAG_SIZE CFG_UINT( \
  50. "he_min_frag_size", \
  51. 0, \
  52. 3, \
  53. 0, \
  54. CFG_VALUE_OR_DEFAULT, \
  55. "HE Min Frag Size")
  56. #define CFG_HE_TRIG_PAD CFG_UINT( \
  57. "he_trig_pad", \
  58. 0, \
  59. 2, \
  60. 0, \
  61. CFG_VALUE_OR_DEFAULT, \
  62. "HE Trig Pad")
  63. #define CFG_HE_MTID_AGGR_RX CFG_UINT( \
  64. "he_mtid_aggr_rx", \
  65. 0, \
  66. 7, \
  67. 0, \
  68. CFG_VALUE_OR_DEFAULT, \
  69. "HE Mtid Aggr")
  70. #define CFG_HE_LINK_ADAPTATION CFG_UINT( \
  71. "he_link_adaptation", \
  72. 0, \
  73. 3, \
  74. 0, \
  75. CFG_VALUE_OR_DEFAULT, \
  76. "HE Link Adaptation")
  77. #define CFG_HE_ALL_ACK CFG_BOOL( \
  78. "he_all_ack", \
  79. 0, \
  80. "HE All Ack")
  81. #define CFG_HE_TRIGD_RSP_SCHEDULING CFG_BOOL( \
  82. "he_trigd_rsp_scheduling", \
  83. 0, \
  84. "HE Trigd Rsp Scheduling")
  85. #define CFG_HE_BUFFER_STATUS_RPT CFG_BOOL( \
  86. "he_buffer_status_rpt", \
  87. 0, \
  88. "HE Buffer Status Rpt")
  89. #define CFG_HE_BCAST_TWT CFG_BOOL( \
  90. "he_bcast_twt", \
  91. 0, \
  92. "HE Bcast twt")
  93. #define CFG_HE_BA_32BIT CFG_BOOL( \
  94. "he_ba_32bit", \
  95. 0, \
  96. "HE BA 32Bit")
  97. #define CFG_HE_MU_CASCADING CFG_BOOL( \
  98. "he_mu_cascading", \
  99. 0, \
  100. "HE Mu Cascading")
  101. #define CFG_HE_MULTI_TID CFG_BOOL( \
  102. "he_multi_tid", \
  103. 0, \
  104. "HE Multi Tid")
  105. #define CFG_HE_OMI CFG_BOOL( \
  106. "he_omi", \
  107. 0, \
  108. "HE Omi")
  109. #define CFG_HE_OFDMA_RA CFG_BOOL( \
  110. "he_ofdma_ra", \
  111. 0, \
  112. "HE Ofdma Ra")
  113. #define CFG_HE_MAX_AMPDU_LEN CFG_UINT( \
  114. "he_max_ampdu_len", \
  115. 0, \
  116. 3, \
  117. 0, \
  118. CFG_VALUE_OR_DEFAULT, \
  119. "HE Max Ampdu Len")
  120. #define CFG_HE_AMSDU_FRAG CFG_BOOL( \
  121. "he_amspdu_frag", \
  122. 0, \
  123. "HE Amsdu Frag")
  124. #define CFG_HE_FLEX_TWT_SCHED CFG_BOOL( \
  125. "he_flex_twt_sched", \
  126. 0, \
  127. "HE Flex Twt Sched")
  128. #define CFG_HE_RX_CTRL CFG_BOOL( \
  129. "he_rx_ctrl", \
  130. 0, \
  131. "HE Rx Ctrl")
  132. #define CFG_HE_BSRP_AMPDU_AGGR CFG_BOOL( \
  133. "he_bsrp_ampdu_aggr", \
  134. 0, \
  135. "He Bspr Ampdu Aggr")
  136. #define CFG_HE_QTP CFG_BOOL( \
  137. "he_qtp", \
  138. 0, \
  139. "He Qtp")
  140. #define CFG_HE_A_BQR CFG_BOOL( \
  141. "he_a_bqr", \
  142. 0, \
  143. "He A Bqr")
  144. #define CFG_HE_SR_RESPONDER CFG_BOOL( \
  145. "he_sr_responder", \
  146. 0, \
  147. "He Sr Responder")
  148. #define CFG_HE_NDP_FEEDBACK_SUPP CFG_BOOL( \
  149. "he_ndp_feedback_supp", \
  150. 0, \
  151. "He Ndp Feedback Supp")
  152. #define CFG_HE_OPS_SUPP CFG_BOOL( \
  153. "he_ops_supp", \
  154. 0, \
  155. "He Ops Supp")
  156. #define CFG_HE_AMSDU_IN_AMPDU CFG_BOOL( \
  157. "he_amsdu_in_ampdu", \
  158. 0, \
  159. "He Amsdu In Ampdu")
  160. #define CFG_HE_MTID_AGGR_TX CFG_UINT( \
  161. "he_mtid_aggr_tx", \
  162. 0, \
  163. 0x7, \
  164. 0, \
  165. CFG_VALUE_OR_DEFAULT, \
  166. "He MTid Aggr Tx")
  167. #define CFG_HE_SUB_CH_SEL_TX CFG_BOOL( \
  168. "he_sub_ch_sel_tx", \
  169. 0, \
  170. "He Sub cg sel tx")
  171. #define CFG_HE_UL_2X996_RU CFG_BOOL( \
  172. "he_ul_2x996_ru", \
  173. 0, \
  174. "He Ul 2x996 Ru")
  175. #define CFG_HE_OM_CTRL_UL_MU_DIS_RX CFG_BOOL( \
  176. "he_om_ctrl_ul_mu_dis_rx", \
  177. 0, \
  178. "He Om Ctrl Ul My Dis Rx")
  179. #define CFG_HE_CHAN_WIDTH CFG_UINT( \
  180. "he_chan_width", \
  181. 0, \
  182. 0x3F, \
  183. 0, \
  184. CFG_VALUE_OR_DEFAULT, \
  185. "He Chan Width")
  186. #define CFG_HE_RX_PREAM_PUNC CFG_UINT( \
  187. "he_rx_pream_punc", \
  188. 0, \
  189. 0xF, \
  190. 0, \
  191. CFG_VALUE_OR_DEFAULT, \
  192. "He Rx Pream Punc")
  193. #define CFG_HE_CLASS_OF_DEVICE CFG_BOOL( \
  194. "he_class_of_device", \
  195. 0, \
  196. "He Class Of Device")
  197. #define CFG_HE_LDPC CFG_BOOL( \
  198. "he_ldpc", \
  199. 0, \
  200. "He Ldpc")
  201. #define CFG_HE_LTF_PPDU CFG_UINT( \
  202. "he_ltf_ppdu", \
  203. 0, \
  204. 3, \
  205. 0, \
  206. CFG_VALUE_OR_DEFAULT, \
  207. "He Ltf Ppdu")
  208. #define CFG_HE_MIDAMBLE_RX_MAX_NSTS CFG_UINT( \
  209. "he_midamble_rx_max_nsts", \
  210. 0, \
  211. 3, \
  212. 0, \
  213. CFG_VALUE_OR_DEFAULT, \
  214. "He Midamble Rx Max Nsts")
  215. #define CFG_HE_LTF_NDP CFG_UINT( \
  216. "he_ltf_ndp", \
  217. 0, \
  218. 3, \
  219. 0, \
  220. CFG_VALUE_OR_DEFAULT, \
  221. "He Ltf Ndp")
  222. #define CFG_HE_TX_STBC_LT80 CFG_BOOL( \
  223. "he_tx_stbc_lt80_sta", \
  224. 0, \
  225. "He Tx Stbc Lt80")
  226. #define CFG_HE_RX_STBC_LT80 CFG_BOOL( \
  227. "he_rx_stbc_lt80", \
  228. 0, \
  229. "He Rx Stbc Lt80")
  230. #define CFG_HE_DOPPLER CFG_UINT( \
  231. "he_doppler", \
  232. 0, \
  233. 3, \
  234. 0, \
  235. CFG_VALUE_OR_DEFAULT, \
  236. "He Doppler")
  237. #define CFG_HE_UL_MUMIMO CFG_UINT( \
  238. "he_ul_mumimo", \
  239. 0, \
  240. 3, \
  241. 0, \
  242. CFG_VALUE_OR_DEFAULT, \
  243. "He Ul Mumimo")
  244. #define CFG_HE_DCM_TX CFG_UINT( \
  245. "he_dcm_tx", \
  246. 0, \
  247. 7, \
  248. 0, \
  249. CFG_VALUE_OR_DEFAULT, \
  250. "He Dcm Tx")
  251. #define CFG_HE_DCM_RX CFG_UINT( \
  252. "he_dcm_rx", \
  253. 0, \
  254. 7, \
  255. 0, \
  256. CFG_VALUE_OR_DEFAULT, \
  257. "He Dcm Rx")
  258. #define CFG_HE_MU_PPDU CFG_BOOL( \
  259. "he_mu_ppdu", \
  260. 0, \
  261. "He Mu Ppdu")
  262. #define CFG_HE_SU_BEAMFORMER CFG_BOOL( \
  263. "he_su_beamformer", \
  264. 0, \
  265. "He Su Beamformer")
  266. #define CFG_HE_SU_BEAMFORMEE CFG_BOOL( \
  267. "he_su_beamformee", \
  268. 0, \
  269. "He Su Beamformee")
  270. #define CFG_HE_MU_BEAMFORMER CFG_BOOL( \
  271. "he_mu_beamformer", \
  272. 0, \
  273. "He Mu Beamformer")
  274. #define CFG_HE_BFEE_STS_LT80 CFG_UINT( \
  275. "he_bfee_sts_lt80", \
  276. 0, \
  277. 7, \
  278. 0, \
  279. CFG_VALUE_OR_DEFAULT, \
  280. "He Mu Bfee Sts Lt80")
  281. #define CFG_HE_BFEE_STS_GT80 CFG_UINT( \
  282. "he_bfee_sts_lt80", \
  283. 0, \
  284. 7, \
  285. 0, \
  286. CFG_VALUE_OR_DEFAULT, \
  287. "He Mu Bfee Sts Gt80")
  288. #define CFG_HE_NUM_SOUND_LT80 CFG_UINT( \
  289. "he_num_sound_lt80", \
  290. 0, \
  291. 7, \
  292. 0, \
  293. CFG_VALUE_OR_DEFAULT, \
  294. "He Num Sound Lt80")
  295. #define CFG_HE_NUM_SOUND_GT80 CFG_UINT( \
  296. "he_num_sound_gt80", \
  297. 0, \
  298. 7, \
  299. 0, \
  300. CFG_VALUE_OR_DEFAULT, \
  301. "He Num Sound Gt80")
  302. #define CFG_HE_SU_FEED_TONE16 CFG_BOOL( \
  303. "he_su_feed_tone16", \
  304. 0, \
  305. "He Su Feed Tone16")
  306. #define CFG_HE_MU_FEED_TONE16 CFG_BOOL( \
  307. "he_mu_feed_tone16", \
  308. 0, \
  309. "He Mu Feed Tone16")
  310. #define CFG_HE_CODEBOOK_SU CFG_BOOL( \
  311. "he_codebook_su", \
  312. 0, \
  313. "He Codebook Su")
  314. #define CFG_HE_CODEBOOK_MU CFG_BOOL( \
  315. "he_codebook_mu", \
  316. 0, \
  317. "He Codebook Mu")
  318. #define CFG_HE_BFRM_FEED CFG_UINT( \
  319. "he_bfrm_feed", \
  320. 0, \
  321. 7, \
  322. 0, \
  323. CFG_VALUE_OR_DEFAULT, \
  324. "He Bfrm Feed")
  325. #define CFG_HE_ER_SU_PPDU CFG_BOOL( \
  326. "he_bfrm_feed", \
  327. 0, \
  328. "He Er Su Ppdu")
  329. #define CFG_HE_DL_PART_BW CFG_BOOL( \
  330. "he_dl_part_bw", \
  331. 0, \
  332. "He Dl Part Bw")
  333. #define CFG_HE_PPET_PRESENT CFG_BOOL( \
  334. "he_ppet_present", \
  335. 0, \
  336. "He Pper Present")
  337. #define CFG_HE_SRP CFG_BOOL( \
  338. "he_srp", \
  339. 0, \
  340. "He Srp")
  341. #define CFG_HE_POWER_BOOST CFG_BOOL( \
  342. "he_power_boost", \
  343. 0, \
  344. "He Power Boost")
  345. #define CFG_HE_4x_LTF_GI CFG_BOOL( \
  346. "he_4x_ltf_gi", \
  347. 0, \
  348. "He 4x Ltf Gi")
  349. #define CFG_HE_MAX_NC CFG_UINT( \
  350. "he_max_nc", \
  351. 0, \
  352. 7, \
  353. 0, \
  354. CFG_VALUE_OR_DEFAULT, \
  355. "He Max Nc")
  356. #define CFG_HE_RX_STBC_GT80 CFG_BOOL( \
  357. "he_rx_stbc_gt80", \
  358. 0, \
  359. "He Rx Stbc Gt80")
  360. #define CFG_HE_TX_STBC_GT80 CFG_BOOL( \
  361. "he_Tx_stbc_gt80", \
  362. 0, \
  363. "He Tx Stbc Gt80")
  364. #define CFG_HE_ER_4x_LTF_GI CFG_BOOL( \
  365. "he_er_4x_ltf_gi", \
  366. 0, \
  367. "He Er 4x Ltf Gi")
  368. #define CFG_HE_PPDU_20_IN_40MHZ_2G CFG_BOOL( \
  369. "he_ppdu_20_in_40mhz_2g", \
  370. 0, \
  371. "He Ppdu 20 In 40Mhz 2g")
  372. #define CFG_HE_PPDU_20_IN_160_80P80MHZ CFG_BOOL( \
  373. "he_ppdu_20_in_160_80p80mhz", \
  374. 0, \
  375. "He Ppdu 20 In 160 80p80mhz")
  376. #define CFG_HE_PPDU_80_IN_160_80P80MHZ CFG_BOOL( \
  377. "he_ppdu_80_in_160_80p80mhz", \
  378. 0, \
  379. "He Ppdu 80 In 160 80p80mhz")
  380. #define CFG_HE_ER_1X_HE_LTF_GI CFG_BOOL( \
  381. "he_er_1x_he_ltf_gi", \
  382. 0, \
  383. "He Er 1x He Ltf Gi")
  384. #define CFG_HE_MIDAMBLE_TXRX_1X_HE_LTF CFG_BOOL( \
  385. "he_midamble_txrx_1x_he_ltf", \
  386. 0, \
  387. "He Midamble Tx Rx 1x He Ltf")
  388. #define CFG_HE_DCM_MAX_BW CFG_UINT( \
  389. "he_dcm_max_bw", \
  390. 0, \
  391. 3, \
  392. 0, \
  393. CFG_VALUE_OR_DEFAULT, \
  394. "He Dcm Max Bw")
  395. #define CFG_HE_LONGER_16_SIGB_OFDM_SYM CFG_BOOL( \
  396. "he_longer_16_sigb_ofdm_sys", \
  397. 0, \
  398. "He Longer 16 Sigb Ofdm Sys")
  399. #define CFG_HE_NON_TRIG_CQI_FEEDBACK CFG_BOOL( \
  400. "he_rx_mcs_map_lt_80", \
  401. 0, \
  402. "He Non Trig Cqi Feedback")
  403. #define CFG_HE_TX_1024_QAM_LT_242_RU CFG_BOOL( \
  404. "he_tx_1024_qam_lt_242_ru", \
  405. 0, \
  406. "He Tx 1024 Qam Lt 242 Ru")
  407. #define CFG_HE_RX_1024_QAM_LT_242_RU CFG_BOOL( \
  408. "he_rx_1024_qam_lt_242_ru", \
  409. 0, \
  410. "He Rx 1024 Qam Lt 242 Ru")
  411. #define CFG_HE_RX_FULL_BW_MU_CMPR_SIGB CFG_BOOL( \
  412. "he_rx_full_bw_cmpr_sigb", \
  413. 0, \
  414. "He Rx Full Bw Mu Cmpr Sigb")
  415. #define CFG_HE_RX_FULL_BW_MU_NON_CMPR_SIGB CFG_BOOL( \
  416. "he_rx_full_bw_mu_non_cmpr_sigb", \
  417. 0, \
  418. "He Rx Full Bw Mu Non Cmpr Sigb")
  419. #define CFG_HE_RX_MCS_MAP_LT_80 CFG_UINT( \
  420. "he_rx_mcs_map_lt_80", \
  421. 0, \
  422. 0xFFFF, \
  423. 0xFFF0, \
  424. CFG_VALUE_OR_DEFAULT, \
  425. "He Rx Mcs Map Lt 80")
  426. #define CFG_HE_TX_MCS_MAP_LT_80 CFG_UINT( \
  427. "he_tx_mcs_map_lt_80", \
  428. 0, \
  429. 0xFFFF, \
  430. 0xFFF0, \
  431. CFG_VALUE_OR_DEFAULT, \
  432. "He Tx Mcs Map Lt 80")
  433. #define CFG_HE_RX_MCS_MAP_160 CFG_UINT( \
  434. "he_rx_mcs_map_160", \
  435. 0, \
  436. 0xFFFF, \
  437. 0xFFF0, \
  438. CFG_VALUE_OR_DEFAULT, \
  439. "He Rx Mcs Map 160")
  440. #define CFG_HE_TX_MCS_MAP_160 CFG_UINT( \
  441. "he_tx_mcs_map_160", \
  442. 0, \
  443. 0xFFFF, \
  444. 0xFFF0, \
  445. CFG_VALUE_OR_DEFAULT, \
  446. "He Tx Mcs Map 160")
  447. #define CFG_HE_RX_MCS_MAP_80_80 CFG_UINT( \
  448. "he_rx_mcs_map_80_80", \
  449. 0, \
  450. 0xFFFF, \
  451. 0xFFF0, \
  452. CFG_VALUE_OR_DEFAULT, \
  453. "He Rx Mcs Map 80 80")
  454. #define CFG_HE_TX_MCS_MAP_80_80 CFG_UINT( \
  455. "he_tx_mcs_map_80_80", \
  456. 0, \
  457. 0xFFFF, \
  458. 0xFFF0, \
  459. CFG_VALUE_OR_DEFAULT, \
  460. "He tx Mcs Map 80 80")
  461. #define CFG_HE_OPS_BASIC_MCS_NSS CFG_UINT( \
  462. "cfg_he_ops_basic_mcs_nss", \
  463. 0x0000, \
  464. 0xFFFF, \
  465. 0xFFFC, \
  466. CFG_VALUE_OR_DEFAULT, \
  467. "He Ops Basic Mcs NSS")
  468. /* 11AX related INI configuration */
  469. /*
  470. * <ini>
  471. * he_dynamic_frag_support - configure dynamic fragmentation
  472. * @Min: 0
  473. * @Max: 3
  474. * @Default: 0
  475. *
  476. * This ini is used to configure dynamic fragmentation.
  477. *
  478. * Related: NA
  479. *
  480. * Supported Feature: 11AX
  481. *
  482. * Usage: Internal/External
  483. *
  484. * </ini>
  485. */
  486. #define CFG_HE_DYNAMIC_FRAGMENTATION CFG_INI_UINT( \
  487. "he_dynamic_frag_support", \
  488. 0, \
  489. 3, \
  490. 0, \
  491. CFG_VALUE_OR_DEFAULT, \
  492. "HE Dynamic Fragmentation")
  493. /*
  494. * <ini>
  495. * enable_ul_mimo- Enable UL MIMO.
  496. * @Min: 0
  497. * @Max: 1
  498. * @Default: 0
  499. *
  500. * This ini is used to enable or disable UL MIMO.
  501. *
  502. * Related: NA
  503. *
  504. * Supported Feature: 11AX
  505. *
  506. * Usage: External
  507. *
  508. * </ini>
  509. */
  510. #define CFG_ENABLE_UL_MIMO CFG_INI_BOOL( \
  511. "enable_ul_mimo", \
  512. 0, \
  513. "He Enble Ul Mimo Name")
  514. /*
  515. * <ini>
  516. * enable_ul_ofdma- Enable UL OFDMA.
  517. * @Min: 0
  518. * @Max: 1
  519. * @Default: 0
  520. *
  521. * This ini is used to enable or disable UL OFDMA.
  522. *
  523. * Related: NA
  524. *
  525. * Supported Feature: 11AX
  526. *
  527. * Usage: External
  528. *
  529. * </ini>
  530. */
  531. #define CFG_ENABLE_UL_OFDMA CFG_INI_BOOL( \
  532. "enable_ul_ofdma", \
  533. 0, \
  534. "He Enable Ul Ofdma Name")
  535. /*
  536. * <ini>
  537. * he_sta_obsspd- 11AX HE OBSS PD bit field
  538. * @Min: 0
  539. * @Max: uin32_t max
  540. * @Default: 0x15b8c2ae
  541. *
  542. * 4 Byte value with each byte representing a signed value for following params:
  543. * Param Bit position Default
  544. * OBSS_PD min (primary) 7:0 -82 (0xae)
  545. * OBSS_PD max (primary) 15:8 -62 (0xc2)
  546. * Secondary channel Ed 23:16 -72 (0xb8)
  547. * TX_PWR(ref) 31:24 21 (0x15)
  548. * This bit field value is directly applied to FW
  549. *
  550. * Related: NA
  551. *
  552. * Supported Feature: 11AX
  553. *
  554. * Usage: External
  555. *
  556. * </ini>
  557. */
  558. #define CFG_HE_STA_OBSSPD CFG_INI_UINT( \
  559. "he_sta_obsspd", \
  560. 0, \
  561. 0xFFFFFFFF, \
  562. 0x15b8c2ae, \
  563. CFG_VALUE_OR_DEFAULT, \
  564. "He Mu Bfee Sts Gt80")
  565. #define CFG_HE_CAPS_ALL \
  566. CFG(CFG_HE_CONTROL) \
  567. CFG(CFG_HE_TWT_REQUESTOR) \
  568. CFG(CFG_HE_TWT_RESPONDER) \
  569. CFG(CFG_HE_FRAGMENTATION) \
  570. CFG(CFG_HE_MAX_FRAG_MSDU) \
  571. CFG(CFG_HE_MIN_FRAG_SIZE) \
  572. CFG(CFG_HE_TRIG_PAD) \
  573. CFG(CFG_HE_MTID_AGGR_RX) \
  574. CFG(CFG_HE_LINK_ADAPTATION) \
  575. CFG(CFG_HE_ALL_ACK) \
  576. CFG(CFG_HE_TRIGD_RSP_SCHEDULING) \
  577. CFG(CFG_HE_BUFFER_STATUS_RPT) \
  578. CFG(CFG_HE_BCAST_TWT) \
  579. CFG(CFG_HE_BA_32BIT) \
  580. CFG(CFG_HE_MU_CASCADING) \
  581. CFG(CFG_HE_MULTI_TID) \
  582. CFG(CFG_HE_OMI) \
  583. CFG(CFG_HE_OFDMA_RA) \
  584. CFG(CFG_HE_MAX_AMPDU_LEN) \
  585. CFG(CFG_HE_AMSDU_FRAG) \
  586. CFG(CFG_HE_FLEX_TWT_SCHED) \
  587. CFG(CFG_HE_RX_CTRL) \
  588. CFG(CFG_HE_BSRP_AMPDU_AGGR) \
  589. CFG(CFG_HE_QTP) \
  590. CFG(CFG_HE_A_BQR) \
  591. CFG(CFG_HE_SR_RESPONDER) \
  592. CFG(CFG_HE_NDP_FEEDBACK_SUPP) \
  593. CFG(CFG_HE_OPS_SUPP) \
  594. CFG(CFG_HE_AMSDU_IN_AMPDU) \
  595. CFG(CFG_HE_CHAN_WIDTH) \
  596. CFG(CFG_HE_MTID_AGGR_TX) \
  597. CFG(CFG_HE_SUB_CH_SEL_TX) \
  598. CFG(CFG_HE_UL_2X996_RU) \
  599. CFG(CFG_HE_OM_CTRL_UL_MU_DIS_RX) \
  600. CFG(CFG_HE_RX_PREAM_PUNC) \
  601. CFG(CFG_HE_CLASS_OF_DEVICE) \
  602. CFG(CFG_HE_LDPC) \
  603. CFG(CFG_HE_LTF_PPDU) \
  604. CFG(CFG_HE_MIDAMBLE_RX_MAX_NSTS) \
  605. CFG(CFG_HE_LTF_NDP) \
  606. CFG(CFG_HE_TX_STBC_LT80) \
  607. CFG(CFG_HE_RX_STBC_LT80) \
  608. CFG(CFG_HE_DOPPLER) \
  609. CFG(CFG_HE_UL_MUMIMO) \
  610. CFG(CFG_HE_DCM_TX) \
  611. CFG(CFG_HE_DCM_RX) \
  612. CFG(CFG_HE_MU_PPDU) \
  613. CFG(CFG_HE_SU_BEAMFORMER) \
  614. CFG(CFG_HE_SU_BEAMFORMEE) \
  615. CFG(CFG_HE_MU_BEAMFORMER) \
  616. CFG(CFG_HE_BFEE_STS_LT80) \
  617. CFG(CFG_HE_BFEE_STS_GT80) \
  618. CFG(CFG_HE_NUM_SOUND_LT80) \
  619. CFG(CFG_HE_NUM_SOUND_GT80) \
  620. CFG(CFG_HE_SU_FEED_TONE16) \
  621. CFG(CFG_HE_MU_FEED_TONE16) \
  622. CFG(CFG_HE_CODEBOOK_SU) \
  623. CFG(CFG_HE_CODEBOOK_MU) \
  624. CFG(CFG_HE_BFRM_FEED) \
  625. CFG(CFG_HE_ER_SU_PPDU) \
  626. CFG(CFG_HE_DL_PART_BW) \
  627. CFG(CFG_HE_PPET_PRESENT) \
  628. CFG(CFG_HE_SRP) \
  629. CFG(CFG_HE_POWER_BOOST) \
  630. CFG(CFG_HE_4x_LTF_GI) \
  631. CFG(CFG_HE_MAX_NC) \
  632. CFG(CFG_HE_RX_STBC_GT80) \
  633. CFG(CFG_HE_TX_STBC_GT80) \
  634. CFG(CFG_HE_ER_4x_LTF_GI) \
  635. CFG(CFG_HE_PPDU_20_IN_40MHZ_2G) \
  636. CFG(CFG_HE_PPDU_20_IN_160_80P80MHZ) \
  637. CFG(CFG_HE_PPDU_80_IN_160_80P80MHZ) \
  638. CFG(CFG_HE_ER_1X_HE_LTF_GI) \
  639. CFG(CFG_HE_MIDAMBLE_TXRX_1X_HE_LTF) \
  640. CFG(CFG_HE_DCM_MAX_BW) \
  641. CFG(CFG_HE_LONGER_16_SIGB_OFDM_SYM) \
  642. CFG(CFG_HE_NON_TRIG_CQI_FEEDBACK) \
  643. CFG(CFG_HE_TX_1024_QAM_LT_242_RU) \
  644. CFG(CFG_HE_RX_1024_QAM_LT_242_RU) \
  645. CFG(CFG_HE_RX_FULL_BW_MU_CMPR_SIGB) \
  646. CFG(CFG_HE_RX_FULL_BW_MU_NON_CMPR_SIGB) \
  647. CFG(CFG_HE_RX_MCS_MAP_LT_80) \
  648. CFG(CFG_HE_TX_MCS_MAP_LT_80) \
  649. CFG(CFG_HE_RX_MCS_MAP_160) \
  650. CFG(CFG_HE_TX_MCS_MAP_160) \
  651. CFG(CFG_HE_RX_MCS_MAP_80_80) \
  652. CFG(CFG_HE_TX_MCS_MAP_80_80) \
  653. CFG(CFG_HE_OPS_BASIC_MCS_NSS) \
  654. CFG(CFG_HE_DYNAMIC_FRAGMENTATION) \
  655. CFG(CFG_ENABLE_UL_MIMO) \
  656. CFG(CFG_ENABLE_UL_OFDMA) \
  657. CFG(CFG_HE_STA_OBSSPD)
  658. #endif /* __CFG_MLME_HE_CAPS_H */