he_sig_a_su_info.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827
  1. /*
  2. * Copyright (c) 2019, The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. #ifndef _HE_SIG_A_SU_INFO_H_
  17. #define _HE_SIG_A_SU_INFO_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. // ################ START SUMMARY #################
  21. //
  22. // Dword Fields
  23. // 0 format_indication[0], beam_change[1], dl_ul_flag[2], transmit_mcs[6:3], dcm[7], bss_color_id[13:8], reserved_0a[14], spatial_reuse[18:15], transmit_bw[20:19], cp_ltf_size[22:21], nsts[25:23], reserved_0b[31:26]
  24. // 1 txop_duration[6:0], coding[7], ldpc_extra_symbol[8], stbc[9], txbf[10], packet_extension_a_factor[12:11], packet_extension_pe_disambiguity[13], reserved_1a[14], doppler_indication[15], crc[19:16], tail[25:20], dot11ax_su_extended[26], dot11ax_ext_ru_size[30:27], rx_ndp[31]
  25. //
  26. // ################ END SUMMARY #################
  27. #define NUM_OF_DWORDS_HE_SIG_A_SU_INFO 2
  28. struct he_sig_a_su_info {
  29. uint32_t format_indication : 1, //[0]
  30. beam_change : 1, //[1]
  31. dl_ul_flag : 1, //[2]
  32. transmit_mcs : 4, //[6:3]
  33. dcm : 1, //[7]
  34. bss_color_id : 6, //[13:8]
  35. reserved_0a : 1, //[14]
  36. spatial_reuse : 4, //[18:15]
  37. transmit_bw : 2, //[20:19]
  38. cp_ltf_size : 2, //[22:21]
  39. nsts : 3, //[25:23]
  40. reserved_0b : 6; //[31:26]
  41. uint32_t txop_duration : 7, //[6:0]
  42. coding : 1, //[7]
  43. ldpc_extra_symbol : 1, //[8]
  44. stbc : 1, //[9]
  45. txbf : 1, //[10]
  46. packet_extension_a_factor : 2, //[12:11]
  47. packet_extension_pe_disambiguity: 1, //[13]
  48. reserved_1a : 1, //[14]
  49. doppler_indication : 1, //[15]
  50. crc : 4, //[19:16]
  51. tail : 6, //[25:20]
  52. dot11ax_su_extended : 1, //[26]
  53. dot11ax_ext_ru_size : 4, //[30:27]
  54. rx_ndp : 1; //[31]
  55. };
  56. /*
  57. format_indication
  58. <enum 0 HE_SIGA_FORMAT_HE_TRIG>
  59. <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
  60. <legal all>
  61. beam_change
  62. Indicates whether spatial mapping is changed between
  63. legacy and HE portion of preamble. If not, channel
  64. estimation can include legacy preamble to improve accuracy
  65. <legal all>
  66. dl_ul_flag
  67. Differentiates between DL and UL transmission
  68. <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
  69. <enum 1 DL_UL_FLAG_IS_UL>
  70. <legal all>
  71. transmit_mcs
  72. Indicates the data MCS
  73. Field Used by MAC HW
  74. <legal all>
  75. dcm
  76. 0: No DCM
  77. 1:DCM
  78. <legal all>
  79. bss_color_id
  80. BSS color ID
  81. Field Used by MAC HW
  82. <legal all>
  83. reserved_0a
  84. Note: spec indicates this shall be set to 1
  85. <legal 1>
  86. spatial_reuse
  87. Spatial reuse
  88. For 20MHz one SR field corresponding to entire 20MHz
  89. (other 3 fields indicate identical values)
  90. For 40MHz two SR fields for each 20MHz (other 2 fields
  91. indicate identical values)
  92. For 80MHz four SR fields for each 20MHz
  93. For 160MHz four SR fields for each 40MHz
  94. <legal all>
  95. transmit_bw
  96. Bandwidth of the PPDU.
  97. For HE SU PPDU
  98. <enum 0 HE_SIG_A_BW20> 20 Mhz
  99. <enum 1 HE_SIG_A_BW40> 40 Mhz
  100. <enum 2 HE_SIG_A_BW80> 80 Mhz
  101. <enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz
  102. For HE Extended Range SU PPDU
  103. Set to 0 for 242-tone RU
  104. Set to 1 for right 106-tone RU within the primary 20 MHz
  105. On RX side, Field Used by MAC HW
  106. <legal all>
  107. cp_ltf_size
  108. Indicates the CP and HE-LTF type
  109. <enum 3 FourX_LTF_0_8CP_3_2CP>
  110. When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
  111. When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
  112. In this scenario, Neither DCM nor STBC is applied to HE data
  113. field.
  114. NOTE:
  115. If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
  116. 0 = 1xLTF + 0.4 usec
  117. 1 = 2xLTF + 0.4 usec
  118. 2~3 = Reserved
  119. <legal all>
  120. nsts
  121. For HE SU PPDU
  122. For HE Extended Range PPDU
  123. <legal all>
  124. reserved_0b
  125. <legal 0>
  126. txop_duration
  127. Indicates the remaining time in the current TXOP
  128. Field Used by MAC HW
  129. <legal all>
  130. coding
  131. Distinguishes between BCC and LDPC coding.
  132. 0: BCC
  133. 1: LDPC
  134. <legal all>
  135. ldpc_extra_symbol
  136. If LDPC,
  137. 0: LDPC extra symbol not present
  138. 1: LDPC extra symbol present
  139. Else
  140. Set to 1
  141. <legal all>
  142. stbc
  143. Indicates whether STBC is applied
  144. 0: No STBC
  145. 1: STBC
  146. <legal all>
  147. txbf
  148. Indicates whether beamforming is applied
  149. 0: No beamforming
  150. 1: beamforming
  151. <legal all>
  152. packet_extension_a_factor
  153. Common trigger info
  154. the packet extension duration of the trigger-based PPDU
  155. response with these two bits indicating the a-factor
  156. <enum 0 a_factor_4>
  157. <enum 1 a_factor_1>
  158. <enum 2 a_factor_2>
  159. <enum 3 a_factor_3>
  160. <legal all>
  161. packet_extension_pe_disambiguity
  162. Common trigger info
  163. the packet extension duration of the trigger-based PPDU
  164. response with this bit indicating the PE-Disambiguity
  165. <legal all>
  166. reserved_1a
  167. Note: per standard, set to 1
  168. <legal 1>
  169. doppler_indication
  170. 0: No Doppler support
  171. 1: Doppler support
  172. <legal all>
  173. crc
  174. CRC for HE-SIG-A contents.
  175. <legal all>
  176. tail
  177. <legal 0>
  178. dot11ax_su_extended
  179. TX side:
  180. Set to 0
  181. RX side:
  182. On RX side, evaluated by MAC HW. This is the only way
  183. for MAC RX to know that this was an HE_SIG_A_SU received in
  184. 'extended' format
  185. <legal all>
  186. dot11ax_ext_ru_size
  187. TX side:
  188. Set to 0
  189. RX side:
  190. Field only contains valid info when dot11ax_su_extended
  191. is set.
  192. On RX side, evaluated by MAC HW. This is the only way
  193. for MAC RX to know what the number of based RUs was in this
  194. extended range reception. It is used by the MAC to determine
  195. the RU size for the response...
  196. <legal all>
  197. rx_ndp
  198. TX side:
  199. Set to 0
  200. RX side:Valid on RX side only, and looked at by MAC HW
  201. When set, PHY has received (expected) NDP frame
  202. <legal all>
  203. */
  204. /* Description HE_SIG_A_SU_INFO_0_FORMAT_INDICATION
  205. <enum 0 HE_SIGA_FORMAT_HE_TRIG>
  206. <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
  207. <legal all>
  208. */
  209. #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_OFFSET 0x00000000
  210. #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_LSB 0
  211. #define HE_SIG_A_SU_INFO_0_FORMAT_INDICATION_MASK 0x00000001
  212. /* Description HE_SIG_A_SU_INFO_0_BEAM_CHANGE
  213. Indicates whether spatial mapping is changed between
  214. legacy and HE portion of preamble. If not, channel
  215. estimation can include legacy preamble to improve accuracy
  216. <legal all>
  217. */
  218. #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_OFFSET 0x00000000
  219. #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_LSB 1
  220. #define HE_SIG_A_SU_INFO_0_BEAM_CHANGE_MASK 0x00000002
  221. /* Description HE_SIG_A_SU_INFO_0_DL_UL_FLAG
  222. Differentiates between DL and UL transmission
  223. <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
  224. <enum 1 DL_UL_FLAG_IS_UL>
  225. <legal all>
  226. */
  227. #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_OFFSET 0x00000000
  228. #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_LSB 2
  229. #define HE_SIG_A_SU_INFO_0_DL_UL_FLAG_MASK 0x00000004
  230. /* Description HE_SIG_A_SU_INFO_0_TRANSMIT_MCS
  231. Indicates the data MCS
  232. Field Used by MAC HW
  233. <legal all>
  234. */
  235. #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_OFFSET 0x00000000
  236. #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_LSB 3
  237. #define HE_SIG_A_SU_INFO_0_TRANSMIT_MCS_MASK 0x00000078
  238. /* Description HE_SIG_A_SU_INFO_0_DCM
  239. 0: No DCM
  240. 1:DCM
  241. <legal all>
  242. */
  243. #define HE_SIG_A_SU_INFO_0_DCM_OFFSET 0x00000000
  244. #define HE_SIG_A_SU_INFO_0_DCM_LSB 7
  245. #define HE_SIG_A_SU_INFO_0_DCM_MASK 0x00000080
  246. /* Description HE_SIG_A_SU_INFO_0_BSS_COLOR_ID
  247. BSS color ID
  248. Field Used by MAC HW
  249. <legal all>
  250. */
  251. #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_OFFSET 0x00000000
  252. #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_LSB 8
  253. #define HE_SIG_A_SU_INFO_0_BSS_COLOR_ID_MASK 0x00003f00
  254. /* Description HE_SIG_A_SU_INFO_0_RESERVED_0A
  255. Note: spec indicates this shall be set to 1
  256. <legal 1>
  257. */
  258. #define HE_SIG_A_SU_INFO_0_RESERVED_0A_OFFSET 0x00000000
  259. #define HE_SIG_A_SU_INFO_0_RESERVED_0A_LSB 14
  260. #define HE_SIG_A_SU_INFO_0_RESERVED_0A_MASK 0x00004000
  261. /* Description HE_SIG_A_SU_INFO_0_SPATIAL_REUSE
  262. Spatial reuse
  263. For 20MHz one SR field corresponding to entire 20MHz
  264. (other 3 fields indicate identical values)
  265. For 40MHz two SR fields for each 20MHz (other 2 fields
  266. indicate identical values)
  267. For 80MHz four SR fields for each 20MHz
  268. For 160MHz four SR fields for each 40MHz
  269. <legal all>
  270. */
  271. #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_OFFSET 0x00000000
  272. #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_LSB 15
  273. #define HE_SIG_A_SU_INFO_0_SPATIAL_REUSE_MASK 0x00078000
  274. /* Description HE_SIG_A_SU_INFO_0_TRANSMIT_BW
  275. Bandwidth of the PPDU.
  276. For HE SU PPDU
  277. <enum 0 HE_SIG_A_BW20> 20 Mhz
  278. <enum 1 HE_SIG_A_BW40> 40 Mhz
  279. <enum 2 HE_SIG_A_BW80> 80 Mhz
  280. <enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz
  281. For HE Extended Range SU PPDU
  282. Set to 0 for 242-tone RU
  283. Set to 1 for right 106-tone RU within the primary 20 MHz
  284. On RX side, Field Used by MAC HW
  285. <legal all>
  286. */
  287. #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_OFFSET 0x00000000
  288. #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_LSB 19
  289. #define HE_SIG_A_SU_INFO_0_TRANSMIT_BW_MASK 0x00180000
  290. /* Description HE_SIG_A_SU_INFO_0_CP_LTF_SIZE
  291. Indicates the CP and HE-LTF type
  292. <enum 3 FourX_LTF_0_8CP_3_2CP>
  293. When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
  294. When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
  295. In this scenario, Neither DCM nor STBC is applied to HE data
  296. field.
  297. NOTE:
  298. If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
  299. 0 = 1xLTF + 0.4 usec
  300. 1 = 2xLTF + 0.4 usec
  301. 2~3 = Reserved
  302. <legal all>
  303. */
  304. #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_OFFSET 0x00000000
  305. #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_LSB 21
  306. #define HE_SIG_A_SU_INFO_0_CP_LTF_SIZE_MASK 0x00600000
  307. /* Description HE_SIG_A_SU_INFO_0_NSTS
  308. For HE SU PPDU
  309. For HE Extended Range PPDU
  310. <legal all>
  311. */
  312. #define HE_SIG_A_SU_INFO_0_NSTS_OFFSET 0x00000000
  313. #define HE_SIG_A_SU_INFO_0_NSTS_LSB 23
  314. #define HE_SIG_A_SU_INFO_0_NSTS_MASK 0x03800000
  315. /* Description HE_SIG_A_SU_INFO_0_RESERVED_0B
  316. <legal 0>
  317. */
  318. #define HE_SIG_A_SU_INFO_0_RESERVED_0B_OFFSET 0x00000000
  319. #define HE_SIG_A_SU_INFO_0_RESERVED_0B_LSB 26
  320. #define HE_SIG_A_SU_INFO_0_RESERVED_0B_MASK 0xfc000000
  321. /* Description HE_SIG_A_SU_INFO_1_TXOP_DURATION
  322. Indicates the remaining time in the current TXOP
  323. Field Used by MAC HW
  324. <legal all>
  325. */
  326. #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_OFFSET 0x00000004
  327. #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_LSB 0
  328. #define HE_SIG_A_SU_INFO_1_TXOP_DURATION_MASK 0x0000007f
  329. /* Description HE_SIG_A_SU_INFO_1_CODING
  330. Distinguishes between BCC and LDPC coding.
  331. 0: BCC
  332. 1: LDPC
  333. <legal all>
  334. */
  335. #define HE_SIG_A_SU_INFO_1_CODING_OFFSET 0x00000004
  336. #define HE_SIG_A_SU_INFO_1_CODING_LSB 7
  337. #define HE_SIG_A_SU_INFO_1_CODING_MASK 0x00000080
  338. /* Description HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL
  339. If LDPC,
  340. 0: LDPC extra symbol not present
  341. 1: LDPC extra symbol present
  342. Else
  343. Set to 1
  344. <legal all>
  345. */
  346. #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_OFFSET 0x00000004
  347. #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_LSB 8
  348. #define HE_SIG_A_SU_INFO_1_LDPC_EXTRA_SYMBOL_MASK 0x00000100
  349. /* Description HE_SIG_A_SU_INFO_1_STBC
  350. Indicates whether STBC is applied
  351. 0: No STBC
  352. 1: STBC
  353. <legal all>
  354. */
  355. #define HE_SIG_A_SU_INFO_1_STBC_OFFSET 0x00000004
  356. #define HE_SIG_A_SU_INFO_1_STBC_LSB 9
  357. #define HE_SIG_A_SU_INFO_1_STBC_MASK 0x00000200
  358. /* Description HE_SIG_A_SU_INFO_1_TXBF
  359. Indicates whether beamforming is applied
  360. 0: No beamforming
  361. 1: beamforming
  362. <legal all>
  363. */
  364. #define HE_SIG_A_SU_INFO_1_TXBF_OFFSET 0x00000004
  365. #define HE_SIG_A_SU_INFO_1_TXBF_LSB 10
  366. #define HE_SIG_A_SU_INFO_1_TXBF_MASK 0x00000400
  367. /* Description HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR
  368. Common trigger info
  369. the packet extension duration of the trigger-based PPDU
  370. response with these two bits indicating the a-factor
  371. <enum 0 a_factor_4>
  372. <enum 1 a_factor_1>
  373. <enum 2 a_factor_2>
  374. <enum 3 a_factor_3>
  375. <legal all>
  376. */
  377. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_OFFSET 0x00000004
  378. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_LSB 11
  379. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_A_FACTOR_MASK 0x00001800
  380. /* Description HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY
  381. Common trigger info
  382. the packet extension duration of the trigger-based PPDU
  383. response with this bit indicating the PE-Disambiguity
  384. <legal all>
  385. */
  386. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET 0x00000004
  387. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB 13
  388. #define HE_SIG_A_SU_INFO_1_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK 0x00002000
  389. /* Description HE_SIG_A_SU_INFO_1_RESERVED_1A
  390. Note: per standard, set to 1
  391. <legal 1>
  392. */
  393. #define HE_SIG_A_SU_INFO_1_RESERVED_1A_OFFSET 0x00000004
  394. #define HE_SIG_A_SU_INFO_1_RESERVED_1A_LSB 14
  395. #define HE_SIG_A_SU_INFO_1_RESERVED_1A_MASK 0x00004000
  396. /* Description HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION
  397. 0: No Doppler support
  398. 1: Doppler support
  399. <legal all>
  400. */
  401. #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_OFFSET 0x00000004
  402. #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_LSB 15
  403. #define HE_SIG_A_SU_INFO_1_DOPPLER_INDICATION_MASK 0x00008000
  404. /* Description HE_SIG_A_SU_INFO_1_CRC
  405. CRC for HE-SIG-A contents.
  406. <legal all>
  407. */
  408. #define HE_SIG_A_SU_INFO_1_CRC_OFFSET 0x00000004
  409. #define HE_SIG_A_SU_INFO_1_CRC_LSB 16
  410. #define HE_SIG_A_SU_INFO_1_CRC_MASK 0x000f0000
  411. /* Description HE_SIG_A_SU_INFO_1_TAIL
  412. <legal 0>
  413. */
  414. #define HE_SIG_A_SU_INFO_1_TAIL_OFFSET 0x00000004
  415. #define HE_SIG_A_SU_INFO_1_TAIL_LSB 20
  416. #define HE_SIG_A_SU_INFO_1_TAIL_MASK 0x03f00000
  417. /* Description HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED
  418. TX side:
  419. Set to 0
  420. RX side:
  421. On RX side, evaluated by MAC HW. This is the only way
  422. for MAC RX to know that this was an HE_SIG_A_SU received in
  423. 'extended' format
  424. <legal all>
  425. */
  426. #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_OFFSET 0x00000004
  427. #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_LSB 26
  428. #define HE_SIG_A_SU_INFO_1_DOT11AX_SU_EXTENDED_MASK 0x04000000
  429. /* Description HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE
  430. TX side:
  431. Set to 0
  432. RX side:
  433. Field only contains valid info when dot11ax_su_extended
  434. is set.
  435. On RX side, evaluated by MAC HW. This is the only way
  436. for MAC RX to know what the number of based RUs was in this
  437. extended range reception. It is used by the MAC to determine
  438. the RU size for the response...
  439. <legal all>
  440. */
  441. #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_OFFSET 0x00000004
  442. #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_LSB 27
  443. #define HE_SIG_A_SU_INFO_1_DOT11AX_EXT_RU_SIZE_MASK 0x78000000
  444. /* Description HE_SIG_A_SU_INFO_1_RX_NDP
  445. TX side:
  446. Set to 0
  447. RX side:Valid on RX side only, and looked at by MAC HW
  448. When set, PHY has received (expected) NDP frame
  449. <legal all>
  450. */
  451. #define HE_SIG_A_SU_INFO_1_RX_NDP_OFFSET 0x00000004
  452. #define HE_SIG_A_SU_INFO_1_RX_NDP_LSB 31
  453. #define HE_SIG_A_SU_INFO_1_RX_NDP_MASK 0x80000000
  454. #endif // _HE_SIG_A_SU_INFO_H_