mactx_he_sig_a_su.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497
  1. /*
  2. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. 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 _MACTX_HE_SIG_A_SU_H_
  17. #define _MACTX_HE_SIG_A_SU_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. #include "he_sig_a_su_info.h"
  21. #define NUM_OF_DWORDS_MACTX_HE_SIG_A_SU 2
  22. #define NUM_OF_QWORDS_MACTX_HE_SIG_A_SU 1
  23. struct mactx_he_sig_a_su {
  24. #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
  25. struct he_sig_a_su_info mactx_he_sig_a_su_info_details;
  26. #else
  27. struct he_sig_a_su_info mactx_he_sig_a_su_info_details;
  28. #endif
  29. };
  30. /* Description MACTX_HE_SIG_A_SU_INFO_DETAILS
  31. See detailed description of the STRUCT
  32. */
  33. /* Description FORMAT_INDICATION
  34. <enum 0 HE_SIGA_FORMAT_HE_TRIG>
  35. <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
  36. <legal all>
  37. */
  38. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION_OFFSET 0x0000000000000000
  39. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION_LSB 0
  40. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION_MSB 0
  41. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_FORMAT_INDICATION_MASK 0x0000000000000001
  42. /* Description BEAM_CHANGE
  43. Indicates whether spatial mapping is changed between legacy
  44. and HE portion of preamble. If not, channel estimation
  45. can include legacy preamble to improve accuracy
  46. <legal all>
  47. */
  48. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_BEAM_CHANGE_OFFSET 0x0000000000000000
  49. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_BEAM_CHANGE_LSB 1
  50. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_BEAM_CHANGE_MSB 1
  51. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_BEAM_CHANGE_MASK 0x0000000000000002
  52. /* Description DL_UL_FLAG
  53. Differentiates between DL and UL transmission
  54. <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
  55. <enum 1 DL_UL_FLAG_IS_UL>
  56. <legal all>
  57. */
  58. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DL_UL_FLAG_OFFSET 0x0000000000000000
  59. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DL_UL_FLAG_LSB 2
  60. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DL_UL_FLAG_MSB 2
  61. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DL_UL_FLAG_MASK 0x0000000000000004
  62. /* Description TRANSMIT_MCS
  63. Indicates the data MCS
  64. Field Used by MAC HW
  65. <legal all>
  66. */
  67. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_MCS_OFFSET 0x0000000000000000
  68. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_MCS_LSB 3
  69. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_MCS_MSB 6
  70. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_MCS_MASK 0x0000000000000078
  71. /* Description DCM
  72. Indicates whether dual sub-carrier modulation is applied
  73. 0: No DCM
  74. 1:DCM
  75. <legal all>
  76. */
  77. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DCM_OFFSET 0x0000000000000000
  78. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DCM_LSB 7
  79. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DCM_MSB 7
  80. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DCM_MASK 0x0000000000000080
  81. /* Description BSS_COLOR_ID
  82. BSS color ID
  83. Field Used by MAC HW
  84. <legal all>
  85. */
  86. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_BSS_COLOR_ID_OFFSET 0x0000000000000000
  87. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_BSS_COLOR_ID_LSB 8
  88. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_BSS_COLOR_ID_MSB 13
  89. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_BSS_COLOR_ID_MASK 0x0000000000003f00
  90. /* Description RESERVED_0A
  91. Note: spec indicates this shall be set to 1
  92. <legal 1>
  93. */
  94. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0A_OFFSET 0x0000000000000000
  95. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0A_LSB 14
  96. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0A_MSB 14
  97. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0A_MASK 0x0000000000004000
  98. /* Description SPATIAL_REUSE
  99. Spatial reuse
  100. For 20MHz one SR field corresponding to entire 20MHz (other
  101. 3 fields indicate identical values)
  102. For 40MHz two SR fields for each 20MHz (other 2 fields indicate
  103. identical values)
  104. For 80MHz four SR fields for each 20MHz
  105. For 160MHz four SR fields for each 40MHz
  106. <legal all>
  107. */
  108. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_SPATIAL_REUSE_OFFSET 0x0000000000000000
  109. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_SPATIAL_REUSE_LSB 15
  110. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_SPATIAL_REUSE_MSB 18
  111. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_SPATIAL_REUSE_MASK 0x0000000000078000
  112. /* Description TRANSMIT_BW
  113. Bandwidth of the PPDU.
  114. For HE SU PPDU
  115. <enum 0 HE_SIG_A_BW20> 20 Mhz
  116. <enum 1 HE_SIG_A_BW40> 40 Mhz
  117. <enum 2 HE_SIG_A_BW80> 80 Mhz
  118. <enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz
  119. For HE Extended Range SU PPDU
  120. Set to 0 for 242-tone RU
  121. Set to 1 for right 106-tone RU within
  122. the primary 20 MHz
  123. On RX side, Field Used by MAC HW
  124. <legal all>
  125. */
  126. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_BW_OFFSET 0x0000000000000000
  127. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_BW_LSB 19
  128. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_BW_MSB 20
  129. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TRANSMIT_BW_MASK 0x0000000000180000
  130. /* Description CP_LTF_SIZE
  131. Indicates the CP and HE-LTF type
  132. <enum 0 OneX_LTF_0_8CP> 1xLTF + 0.8 us CP
  133. <enum 1 TwoX_LTF_0_8CP> 2x LTF + 0.8 µs CP
  134. <enum 2 TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP
  135. <enum 3 FourX_LTF_0_8CP_3_2CP>
  136. When DCM == 0 OR STBC == 0: 4x LTF + 3.2 µs CP
  137. When DCM == 1 AND STBC == 1: 4x LTF + 0.8 µs CP. Note:
  138. In this scenario, Neither DCM nor STBC is applied to HE
  139. data field.
  140. NOTE:
  141. If ( DCM == 1 ) and ( MCS > 0 ) and (STBC == 0)
  142. 0 = 1xLTF + 0.4 usec
  143. 1 = 2xLTF + 0.4 usec
  144. 2~3 = Reserved
  145. <legal all>
  146. */
  147. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CP_LTF_SIZE_OFFSET 0x0000000000000000
  148. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CP_LTF_SIZE_LSB 21
  149. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CP_LTF_SIZE_MSB 22
  150. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CP_LTF_SIZE_MASK 0x0000000000600000
  151. /* Description NSTS
  152. Indicates number of streams used for the SU transmission
  153. For HE SU PPDU
  154. Set to n for n+1 space time stream,
  155. where n = 0, 1, 2,.....,7.
  156. For HE Extended Range PPDU
  157. Set to 0 for 1 space time stream.
  158. Value 1 is TBD
  159. Values 2 - 7 are reserved
  160. <legal all>
  161. */
  162. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_NSTS_OFFSET 0x0000000000000000
  163. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_NSTS_LSB 23
  164. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_NSTS_MSB 25
  165. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_NSTS_MASK 0x0000000003800000
  166. /* Description RESERVED_0B
  167. <legal 0>
  168. */
  169. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0B_OFFSET 0x0000000000000000
  170. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0B_LSB 26
  171. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0B_MSB 31
  172. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_0B_MASK 0x00000000fc000000
  173. /* Description TXOP_DURATION
  174. Indicates the remaining time in the current TXOP
  175. Field Used by MAC HW
  176. <legal all>
  177. */
  178. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TXOP_DURATION_OFFSET 0x0000000000000000
  179. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TXOP_DURATION_LSB 32
  180. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TXOP_DURATION_MSB 38
  181. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TXOP_DURATION_MASK 0x0000007f00000000
  182. /* Description CODING
  183. Distinguishes between BCC and LDPC coding.
  184. 0: BCC
  185. 1: LDPC
  186. <legal all>
  187. */
  188. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CODING_OFFSET 0x0000000000000000
  189. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CODING_LSB 39
  190. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CODING_MSB 39
  191. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CODING_MASK 0x0000008000000000
  192. /* Description LDPC_EXTRA_SYMBOL
  193. If LDPC,
  194. 0: LDPC extra symbol not present
  195. 1: LDPC extra symbol present
  196. Else
  197. Set to 1
  198. <legal all>
  199. */
  200. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_LDPC_EXTRA_SYMBOL_OFFSET 0x0000000000000000
  201. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_LDPC_EXTRA_SYMBOL_LSB 40
  202. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_LDPC_EXTRA_SYMBOL_MSB 40
  203. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_LDPC_EXTRA_SYMBOL_MASK 0x0000010000000000
  204. /* Description STBC
  205. Indicates whether STBC is applied
  206. 0: No STBC
  207. 1: STBC
  208. <legal all>
  209. */
  210. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_STBC_OFFSET 0x0000000000000000
  211. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_STBC_LSB 41
  212. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_STBC_MSB 41
  213. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_STBC_MASK 0x0000020000000000
  214. /* Description TXBF
  215. Indicates whether beamforming is applied
  216. 0: No beamforming
  217. 1: beamforming
  218. <legal all>
  219. */
  220. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TXBF_OFFSET 0x0000000000000000
  221. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TXBF_LSB 42
  222. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TXBF_MSB 42
  223. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TXBF_MASK 0x0000040000000000
  224. /* Description PACKET_EXTENSION_A_FACTOR
  225. Common trigger info
  226. the packet extension duration of the trigger-based PPDU
  227. response with these two bits indicating the "a-factor"
  228. <enum 0 a_factor_4>
  229. <enum 1 a_factor_1>
  230. <enum 2 a_factor_2>
  231. <enum 3 a_factor_3>
  232. <legal all>
  233. */
  234. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_A_FACTOR_OFFSET 0x0000000000000000
  235. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_A_FACTOR_LSB 43
  236. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_A_FACTOR_MSB 44
  237. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_A_FACTOR_MASK 0x0000180000000000
  238. /* Description PACKET_EXTENSION_PE_DISAMBIGUITY
  239. Common trigger info
  240. the packet extension duration of the trigger-based PPDU
  241. response with this bit indicating the PE-Disambiguity
  242. <legal all>
  243. */
  244. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET 0x0000000000000000
  245. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB 45
  246. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_MSB 45
  247. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK 0x0000200000000000
  248. /* Description RESERVED_1A
  249. Note: per standard, set to 1
  250. <legal 1>
  251. */
  252. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_1A_OFFSET 0x0000000000000000
  253. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_1A_LSB 46
  254. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_1A_MSB 46
  255. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RESERVED_1A_MASK 0x0000400000000000
  256. /* Description DOPPLER_INDICATION
  257. 0: No Doppler support
  258. 1: Doppler support
  259. <legal all>
  260. */
  261. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOPPLER_INDICATION_OFFSET 0x0000000000000000
  262. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOPPLER_INDICATION_LSB 47
  263. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOPPLER_INDICATION_MSB 47
  264. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOPPLER_INDICATION_MASK 0x0000800000000000
  265. /* Description CRC
  266. CRC for HE-SIG-A contents.
  267. <legal all>
  268. */
  269. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CRC_OFFSET 0x0000000000000000
  270. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CRC_LSB 48
  271. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CRC_MSB 51
  272. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_CRC_MASK 0x000f000000000000
  273. /* Description TAIL
  274. <legal 0>
  275. */
  276. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TAIL_OFFSET 0x0000000000000000
  277. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TAIL_LSB 52
  278. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TAIL_MSB 57
  279. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_TAIL_MASK 0x03f0000000000000
  280. /* Description DOT11AX_SU_EXTENDED
  281. TX side:
  282. Set to 0
  283. RX side:
  284. On RX side, evaluated by MAC HW. This is the only way for
  285. MAC RX to know that this was an HE_SIG_A_SU received in
  286. 'extended' format
  287. When set, the 11ax frame is of the extended range format
  288. <legal all>
  289. */
  290. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_SU_EXTENDED_OFFSET 0x0000000000000000
  291. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_SU_EXTENDED_LSB 58
  292. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_SU_EXTENDED_MSB 58
  293. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_SU_EXTENDED_MASK 0x0400000000000000
  294. /* Description DOT11AX_EXT_RU_SIZE
  295. TX side:
  296. Set to 0
  297. RX side:
  298. Field only contains valid info when dot11ax_su_extended
  299. is set.
  300. On RX side, evaluated by MAC HW. This is the only way for
  301. MAC RX to know what the number of based RUs was in this
  302. extended range reception. It is used by the MAC to determine
  303. the RU size for the response...
  304. <enum 0 EXT_RU_26>
  305. <enum 1 EXT_RU_52>
  306. <enum 2 EXT_RU_106>
  307. <enum 3 EXT_RU_242><legal 0-3>
  308. */
  309. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_EXT_RU_SIZE_OFFSET 0x0000000000000000
  310. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_EXT_RU_SIZE_LSB 59
  311. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_EXT_RU_SIZE_MSB 61
  312. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_DOT11AX_EXT_RU_SIZE_MASK 0x3800000000000000
  313. /* Description RX_NDP
  314. TX side:
  315. Set to 0
  316. RX side:Valid on RX side only, and looked at by MAC HW
  317. When set, PHY has received (expected) NDP frame
  318. <legal all>
  319. */
  320. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RX_NDP_OFFSET 0x0000000000000000
  321. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RX_NDP_LSB 62
  322. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RX_NDP_MSB 62
  323. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RX_NDP_MASK 0x4000000000000000
  324. /* Description RX_INTEGRITY_CHECK_PASSED
  325. TX side: Set to 0
  326. RX side: Set to 1 if PHY determines the HE-SIG-A CRC check
  327. has passed, else set to 0
  328. <legal all>
  329. */
  330. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RX_INTEGRITY_CHECK_PASSED_OFFSET 0x0000000000000000
  331. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RX_INTEGRITY_CHECK_PASSED_LSB 63
  332. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RX_INTEGRITY_CHECK_PASSED_MSB 63
  333. #define MACTX_HE_SIG_A_SU_MACTX_HE_SIG_A_SU_INFO_DETAILS_RX_INTEGRITY_CHECK_PASSED_MASK 0x8000000000000000
  334. #endif // MACTX_HE_SIG_A_SU