rx_response_required_info.h 87 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100
  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 _RX_RESPONSE_REQUIRED_INFO_H_
  17. #define _RX_RESPONSE_REQUIRED_INFO_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. #include "mlo_sta_id_details.h"
  21. #define NUM_OF_DWORDS_RX_RESPONSE_REQUIRED_INFO 16
  22. #define NUM_OF_QWORDS_RX_RESPONSE_REQUIRED_INFO 8
  23. struct rx_response_required_info {
  24. #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
  25. uint32_t phy_ppdu_id : 16, // [15:0]
  26. su_or_uplink_mu_reception : 1, // [16:16]
  27. trigger_frame_received : 1, // [17:17]
  28. ftm_tm : 2, // [19:18]
  29. tb_ranging_response_required : 2, // [21:20]
  30. mac_security : 1, // [22:22]
  31. filter_pass_monitor_ovrd : 1, // [23:23]
  32. ast_search_incomplete : 1, // [24:24]
  33. r2r_end_status_to_follow : 1, // [25:25]
  34. reserved_0a : 2, // [27:26]
  35. three_or_more_type_subtypes : 1, // [28:28]
  36. wait_sifs_config_valid : 1, // [29:29]
  37. wait_sifs : 2; // [31:30]
  38. uint32_t general_frame_control : 16, // [15:0]
  39. second_frame_control : 16; // [31:16]
  40. uint32_t duration : 16, // [15:0]
  41. pkt_type : 4, // [19:16]
  42. dot11ax_su_extended : 1, // [20:20]
  43. rate_mcs : 4, // [24:21]
  44. sgi : 2, // [26:25]
  45. stbc : 1, // [27:27]
  46. ldpc : 1, // [28:28]
  47. ampdu : 1, // [29:29]
  48. vht_ack : 1, // [30:30]
  49. rts_ta_grp_bit : 1; // [31:31]
  50. uint32_t ctrl_frame_soliciting_resp : 1, // [0:0]
  51. ast_fail_for_dot11ax_su_ext : 1, // [1:1]
  52. service_dynamic : 1, // [2:2]
  53. m_pkt : 1, // [3:3]
  54. sta_partial_aid : 12, // [15:4]
  55. group_id : 6, // [21:16]
  56. ctrl_resp_pwr_mgmt : 1, // [22:22]
  57. response_indication : 2, // [24:23]
  58. ndp_indication : 1, // [25:25]
  59. ndp_frame_type : 3, // [28:26]
  60. second_frame_control_valid : 1, // [29:29]
  61. reserved_3a : 2; // [31:30]
  62. uint32_t ack_id : 16, // [15:0]
  63. ack_id_ext : 10, // [25:16]
  64. agc_cbw : 3, // [28:26]
  65. service_cbw : 3; // [31:29]
  66. uint32_t response_sta_count : 7, // [6:0]
  67. reserved : 4, // [10:7]
  68. ht_vht_sig_cbw : 3, // [13:11]
  69. cts_cbw : 3, // [16:14]
  70. response_ack_count : 7, // [23:17]
  71. response_assoc_ack_count : 7, // [30:24]
  72. txop_duration_all_ones : 1; // [31:31]
  73. uint32_t response_ba32_count : 7, // [6:0]
  74. response_ba64_count : 7, // [13:7]
  75. response_ba128_count : 7, // [20:14]
  76. response_ba256_count : 7, // [27:21]
  77. multi_tid : 1, // [28:28]
  78. sw_response_tlv_from_crypto : 1, // [29:29]
  79. dot11ax_dl_ul_flag : 1, // [30:30]
  80. reserved_6a : 1; // [31:31]
  81. uint32_t sw_response_frame_length : 16, // [15:0]
  82. response_ba512_count : 7, // [22:16]
  83. response_ba1024_count : 7, // [29:23]
  84. reserved_7a : 2; // [31:30]
  85. uint32_t addr1_31_0 : 32; // [31:0]
  86. uint32_t addr1_47_32 : 16, // [15:0]
  87. addr2_15_0 : 16; // [31:16]
  88. uint32_t addr2_47_16 : 32; // [31:0]
  89. uint32_t dot11ax_received_format_indication : 1, // [0:0]
  90. dot11ax_received_dl_ul_flag : 1, // [1:1]
  91. dot11ax_received_bss_color_id : 6, // [7:2]
  92. dot11ax_received_spatial_reuse : 4, // [11:8]
  93. dot11ax_received_cp_size : 2, // [13:12]
  94. dot11ax_received_ltf_size : 2, // [15:14]
  95. dot11ax_received_coding : 1, // [16:16]
  96. dot11ax_received_dcm : 1, // [17:17]
  97. dot11ax_received_doppler_indication : 1, // [18:18]
  98. dot11ax_received_ext_ru_size : 4, // [22:19]
  99. ftm_fields_valid : 1, // [23:23]
  100. ftm_pe_nss : 3, // [26:24]
  101. ftm_pe_ltf_size : 2, // [28:27]
  102. ftm_pe_content : 1, // [29:29]
  103. ftm_chain_csd_en : 1, // [30:30]
  104. ftm_pe_chain_csd_en : 1; // [31:31]
  105. uint32_t dot11ax_response_rate_source : 8, // [7:0]
  106. dot11ax_ext_response_rate_source : 8, // [15:8]
  107. sw_peer_id : 16; // [31:16]
  108. uint32_t dot11be_puncture_bitmap : 16, // [15:0]
  109. dot11be_response : 1, // [16:16]
  110. punctured_response : 1, // [17:17]
  111. eht_duplicate_mode : 2, // [19:18]
  112. force_extra_symbol : 1, // [20:20]
  113. reserved_13a : 5, // [25:21]
  114. u_sig_puncture_pattern_encoding : 6; // [31:26]
  115. struct mlo_sta_id_details mlo_sta_id_details_rx;
  116. uint16_t he_a_control_response_time : 12, // [27:16]
  117. reserved_after_struct16 : 4; // [31:28]
  118. uint32_t tlv64_padding : 32; // [31:0]
  119. #else
  120. uint32_t wait_sifs : 2, // [31:30]
  121. wait_sifs_config_valid : 1, // [29:29]
  122. three_or_more_type_subtypes : 1, // [28:28]
  123. reserved_0a : 2, // [27:26]
  124. r2r_end_status_to_follow : 1, // [25:25]
  125. ast_search_incomplete : 1, // [24:24]
  126. filter_pass_monitor_ovrd : 1, // [23:23]
  127. mac_security : 1, // [22:22]
  128. tb_ranging_response_required : 2, // [21:20]
  129. ftm_tm : 2, // [19:18]
  130. trigger_frame_received : 1, // [17:17]
  131. su_or_uplink_mu_reception : 1, // [16:16]
  132. phy_ppdu_id : 16; // [15:0]
  133. uint32_t second_frame_control : 16, // [31:16]
  134. general_frame_control : 16; // [15:0]
  135. uint32_t rts_ta_grp_bit : 1, // [31:31]
  136. vht_ack : 1, // [30:30]
  137. ampdu : 1, // [29:29]
  138. ldpc : 1, // [28:28]
  139. stbc : 1, // [27:27]
  140. sgi : 2, // [26:25]
  141. rate_mcs : 4, // [24:21]
  142. dot11ax_su_extended : 1, // [20:20]
  143. pkt_type : 4, // [19:16]
  144. duration : 16; // [15:0]
  145. uint32_t reserved_3a : 2, // [31:30]
  146. second_frame_control_valid : 1, // [29:29]
  147. ndp_frame_type : 3, // [28:26]
  148. ndp_indication : 1, // [25:25]
  149. response_indication : 2, // [24:23]
  150. ctrl_resp_pwr_mgmt : 1, // [22:22]
  151. group_id : 6, // [21:16]
  152. sta_partial_aid : 12, // [15:4]
  153. m_pkt : 1, // [3:3]
  154. service_dynamic : 1, // [2:2]
  155. ast_fail_for_dot11ax_su_ext : 1, // [1:1]
  156. ctrl_frame_soliciting_resp : 1; // [0:0]
  157. uint32_t service_cbw : 3, // [31:29]
  158. agc_cbw : 3, // [28:26]
  159. ack_id_ext : 10, // [25:16]
  160. ack_id : 16; // [15:0]
  161. uint32_t txop_duration_all_ones : 1, // [31:31]
  162. response_assoc_ack_count : 7, // [30:24]
  163. response_ack_count : 7, // [23:17]
  164. cts_cbw : 3, // [16:14]
  165. ht_vht_sig_cbw : 3, // [13:11]
  166. reserved : 4, // [10:7]
  167. response_sta_count : 7; // [6:0]
  168. uint32_t reserved_6a : 1, // [31:31]
  169. dot11ax_dl_ul_flag : 1, // [30:30]
  170. sw_response_tlv_from_crypto : 1, // [29:29]
  171. multi_tid : 1, // [28:28]
  172. response_ba256_count : 7, // [27:21]
  173. response_ba128_count : 7, // [20:14]
  174. response_ba64_count : 7, // [13:7]
  175. response_ba32_count : 7; // [6:0]
  176. uint32_t reserved_7a : 2, // [31:30]
  177. response_ba1024_count : 7, // [29:23]
  178. response_ba512_count : 7, // [22:16]
  179. sw_response_frame_length : 16; // [15:0]
  180. uint32_t addr1_31_0 : 32; // [31:0]
  181. uint32_t addr2_15_0 : 16, // [31:16]
  182. addr1_47_32 : 16; // [15:0]
  183. uint32_t addr2_47_16 : 32; // [31:0]
  184. uint32_t ftm_pe_chain_csd_en : 1, // [31:31]
  185. ftm_chain_csd_en : 1, // [30:30]
  186. ftm_pe_content : 1, // [29:29]
  187. ftm_pe_ltf_size : 2, // [28:27]
  188. ftm_pe_nss : 3, // [26:24]
  189. ftm_fields_valid : 1, // [23:23]
  190. dot11ax_received_ext_ru_size : 4, // [22:19]
  191. dot11ax_received_doppler_indication : 1, // [18:18]
  192. dot11ax_received_dcm : 1, // [17:17]
  193. dot11ax_received_coding : 1, // [16:16]
  194. dot11ax_received_ltf_size : 2, // [15:14]
  195. dot11ax_received_cp_size : 2, // [13:12]
  196. dot11ax_received_spatial_reuse : 4, // [11:8]
  197. dot11ax_received_bss_color_id : 6, // [7:2]
  198. dot11ax_received_dl_ul_flag : 1, // [1:1]
  199. dot11ax_received_format_indication : 1; // [0:0]
  200. uint32_t sw_peer_id : 16, // [31:16]
  201. dot11ax_ext_response_rate_source : 8, // [15:8]
  202. dot11ax_response_rate_source : 8; // [7:0]
  203. uint32_t u_sig_puncture_pattern_encoding : 6, // [31:26]
  204. reserved_13a : 5, // [25:21]
  205. force_extra_symbol : 1, // [20:20]
  206. eht_duplicate_mode : 2, // [19:18]
  207. punctured_response : 1, // [17:17]
  208. dot11be_response : 1, // [16:16]
  209. dot11be_puncture_bitmap : 16; // [15:0]
  210. uint32_t reserved_after_struct16 : 4, // [31:28]
  211. he_a_control_response_time : 12; // [27:16]
  212. struct mlo_sta_id_details mlo_sta_id_details_rx;
  213. uint32_t tlv64_padding : 32; // [31:0]
  214. #endif
  215. };
  216. /* Description PHY_PPDU_ID
  217. A ppdu counter value that PHY increments for every PPDU
  218. received. The counter value wraps around
  219. <legal all>
  220. */
  221. #define RX_RESPONSE_REQUIRED_INFO_PHY_PPDU_ID_OFFSET 0x0000000000000000
  222. #define RX_RESPONSE_REQUIRED_INFO_PHY_PPDU_ID_LSB 0
  223. #define RX_RESPONSE_REQUIRED_INFO_PHY_PPDU_ID_MSB 15
  224. #define RX_RESPONSE_REQUIRED_INFO_PHY_PPDU_ID_MASK 0x000000000000ffff
  225. /* Description SU_OR_UPLINK_MU_RECEPTION
  226. <enum 0 Reception_is_SU> This TLV is the result of an SU
  227. reception. Note that this can be regular SU reception or
  228. an SU reception as part of a downlink MU - MIMO/OFDMA transmission.
  229. <enum 1 Reception_is_MU> This TLV is the result of an MU_OFDMA
  230. uplink reception or MU_MIMO uplink reception
  231. NOTE:When a STA receives a downlink MU-MIMO or DL MU_OFDMA,
  232. this field shall still be set to Reception_is_SU. From the
  233. STA perspective, it is only receiving from one other device.
  234. <legal all>
  235. */
  236. #define RX_RESPONSE_REQUIRED_INFO_SU_OR_UPLINK_MU_RECEPTION_OFFSET 0x0000000000000000
  237. #define RX_RESPONSE_REQUIRED_INFO_SU_OR_UPLINK_MU_RECEPTION_LSB 16
  238. #define RX_RESPONSE_REQUIRED_INFO_SU_OR_UPLINK_MU_RECEPTION_MSB 16
  239. #define RX_RESPONSE_REQUIRED_INFO_SU_OR_UPLINK_MU_RECEPTION_MASK 0x0000000000010000
  240. /* Description TRIGGER_FRAME_RECEIVED
  241. Field only valid in case of SU_or_uplink_MU_reception =
  242. Reception_is_SU
  243. When set, this TLV has been sent because a trigger frame
  244. has been received.
  245. Note that in case there were other frames received as well
  246. that required an immediate response, like data or management
  247. frames, this will still be indicated here in this TLV with
  248. the fields "Response_..._count".
  249. <legal all>
  250. */
  251. #define RX_RESPONSE_REQUIRED_INFO_TRIGGER_FRAME_RECEIVED_OFFSET 0x0000000000000000
  252. #define RX_RESPONSE_REQUIRED_INFO_TRIGGER_FRAME_RECEIVED_LSB 17
  253. #define RX_RESPONSE_REQUIRED_INFO_TRIGGER_FRAME_RECEIVED_MSB 17
  254. #define RX_RESPONSE_REQUIRED_INFO_TRIGGER_FRAME_RECEIVED_MASK 0x0000000000020000
  255. /* Description FTM_TM
  256. Field only valid in case of SU_or_uplink_MU_reception =
  257. Reception_is_SU
  258. This field Indicates if the response is related to receiving
  259. a TM or FTM frame
  260. 0: no TM and no FTM frame => there is NO measurement done
  261. 1: FTM frame
  262. 2: TM frame
  263. 3: reserved
  264. */
  265. #define RX_RESPONSE_REQUIRED_INFO_FTM_TM_OFFSET 0x0000000000000000
  266. #define RX_RESPONSE_REQUIRED_INFO_FTM_TM_LSB 18
  267. #define RX_RESPONSE_REQUIRED_INFO_FTM_TM_MSB 19
  268. #define RX_RESPONSE_REQUIRED_INFO_FTM_TM_MASK 0x00000000000c0000
  269. /* Description TB_RANGING_RESPONSE_REQUIRED
  270. Field only valid in case of TB Ranging
  271. <enum 0 No_TB_Ranging_Resp>
  272. <enum 1 CTS2S_Resp_to_TF_poll > TXPCU to generate CTS-to-self
  273. in TB response
  274. <enum 2 LMR_Resp_to_TF_report> TXPCU to generate LMR in
  275. TB response
  276. <enum 3 NDP_Resp_to_TF_sound> DO NOT USE.
  277. <legal 0-3>
  278. */
  279. #define RX_RESPONSE_REQUIRED_INFO_TB_RANGING_RESPONSE_REQUIRED_OFFSET 0x0000000000000000
  280. #define RX_RESPONSE_REQUIRED_INFO_TB_RANGING_RESPONSE_REQUIRED_LSB 20
  281. #define RX_RESPONSE_REQUIRED_INFO_TB_RANGING_RESPONSE_REQUIRED_MSB 21
  282. #define RX_RESPONSE_REQUIRED_INFO_TB_RANGING_RESPONSE_REQUIRED_MASK 0x0000000000300000
  283. /* Description MAC_SECURITY
  284. Field only valid if TB_Ranging_response_required = LMR_Resp_to_TF_report
  285. Indicates whether MAC security is enabled for LMR
  286. <legal all>
  287. */
  288. #define RX_RESPONSE_REQUIRED_INFO_MAC_SECURITY_OFFSET 0x0000000000000000
  289. #define RX_RESPONSE_REQUIRED_INFO_MAC_SECURITY_LSB 22
  290. #define RX_RESPONSE_REQUIRED_INFO_MAC_SECURITY_MSB 22
  291. #define RX_RESPONSE_REQUIRED_INFO_MAC_SECURITY_MASK 0x0000000000400000
  292. /* Description FILTER_PASS_MONITOR_OVRD
  293. Consumer: TXMON/SW
  294. Producer: RXPCU
  295. This indicates that the Rx MPDU passed the 'normal' frame
  296. filter programming of RXPCU and additionally the MAC address
  297. search matched an 'ADDR_SEARCH_ENTRY' of a 'Monitor_override_sta.'
  298. When enabled in TXMON, it will discard the upstream response
  299. TLVs for cases not matching the 'Filter_pass_Monitor_ovrd'
  300. criterion.
  301. If RXPCU is generating this TLV before the address search
  302. is complete, it shall fill this bit based on a register
  303. configuration 'FILTER_PASS_OVRD_AST_NOT_DONE.'
  304. <legal all>
  305. */
  306. #define RX_RESPONSE_REQUIRED_INFO_FILTER_PASS_MONITOR_OVRD_OFFSET 0x0000000000000000
  307. #define RX_RESPONSE_REQUIRED_INFO_FILTER_PASS_MONITOR_OVRD_LSB 23
  308. #define RX_RESPONSE_REQUIRED_INFO_FILTER_PASS_MONITOR_OVRD_MSB 23
  309. #define RX_RESPONSE_REQUIRED_INFO_FILTER_PASS_MONITOR_OVRD_MASK 0x0000000000800000
  310. /* Description AST_SEARCH_INCOMPLETE
  311. Consumer: SW
  312. Producer: RXPCU
  313. If RXPCU is generating this TLV before the address search
  314. is complete, it shall set this bit. This is to indicate
  315. to SW (via TXMON) that the Filter_pass_Monitor_ovrd bit
  316. is unreliable and SW may have to add their own filtering
  317. logic.
  318. <legal all>
  319. */
  320. #define RX_RESPONSE_REQUIRED_INFO_AST_SEARCH_INCOMPLETE_OFFSET 0x0000000000000000
  321. #define RX_RESPONSE_REQUIRED_INFO_AST_SEARCH_INCOMPLETE_LSB 24
  322. #define RX_RESPONSE_REQUIRED_INFO_AST_SEARCH_INCOMPLETE_MSB 24
  323. #define RX_RESPONSE_REQUIRED_INFO_AST_SEARCH_INCOMPLETE_MASK 0x0000000001000000
  324. /* Description R2R_END_STATUS_TO_FOLLOW
  325. Consumer: TXMON
  326. Producer: TXPCU
  327. When set, TXPCU will generate an R2R frame (typically M-BA),
  328. and the 'R2R_STATUS_END' TLV.
  329. TXMON uses this to identify the continuation of a Tx sequence
  330. (typically including Trigger frames) with R2R Tx.
  331. <legal all>
  332. */
  333. #define RX_RESPONSE_REQUIRED_INFO_R2R_END_STATUS_TO_FOLLOW_OFFSET 0x0000000000000000
  334. #define RX_RESPONSE_REQUIRED_INFO_R2R_END_STATUS_TO_FOLLOW_LSB 25
  335. #define RX_RESPONSE_REQUIRED_INFO_R2R_END_STATUS_TO_FOLLOW_MSB 25
  336. #define RX_RESPONSE_REQUIRED_INFO_R2R_END_STATUS_TO_FOLLOW_MASK 0x0000000002000000
  337. /* Description RESERVED_0A
  338. <legal 0>
  339. */
  340. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_0A_OFFSET 0x0000000000000000
  341. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_0A_LSB 26
  342. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_0A_MSB 27
  343. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_0A_MASK 0x000000000c000000
  344. /* Description THREE_OR_MORE_TYPE_SUBTYPES
  345. Field only valid in case of SU_or_uplink_MU_reception =
  346. Reception_is_SU
  347. When set, there are 3 or more different frame type/subtypes
  348. received that all required a response.
  349. Note that the HW will only report the very first two that
  350. have been seen
  351. */
  352. #define RX_RESPONSE_REQUIRED_INFO_THREE_OR_MORE_TYPE_SUBTYPES_OFFSET 0x0000000000000000
  353. #define RX_RESPONSE_REQUIRED_INFO_THREE_OR_MORE_TYPE_SUBTYPES_LSB 28
  354. #define RX_RESPONSE_REQUIRED_INFO_THREE_OR_MORE_TYPE_SUBTYPES_MSB 28
  355. #define RX_RESPONSE_REQUIRED_INFO_THREE_OR_MORE_TYPE_SUBTYPES_MASK 0x0000000010000000
  356. /* Description WAIT_SIFS_CONFIG_VALID
  357. When set, TXPCU shall follow the wait_sifs configuration.
  358. Field added to be backwards compatible, and transition to
  359. the new signalling.
  360. <legal all>
  361. */
  362. #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_CONFIG_VALID_OFFSET 0x0000000000000000
  363. #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_CONFIG_VALID_LSB 29
  364. #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_CONFIG_VALID_MSB 29
  365. #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_CONFIG_VALID_MASK 0x0000000020000000
  366. /* Description WAIT_SIFS
  367. Indicates to the TXPCU how precise the SIFS the response
  368. timing shall be...
  369. The configuration for this is coming from SW programmable
  370. register in RXPCU
  371. <enum 0 NO_SIFS_TIMING> Transmission shall start with the
  372. normal delay in PHY after receiving this notification
  373. <enum 1 SIFS_TIMING_DESIRED> Transmission shall be made
  374. at the SIFS boundary. If shall never start before SIFS boundary,
  375. but if it a little later, it is not ideal and should be
  376. flagged, but transmission shall not be aborted.
  377. <enum 2 SIFS_TIMING_MANDATED> Transmission shall be made
  378. at exactly SIFS boundary. If this notification is received
  379. by the PHY after SIFS boundary already passed, the PHY
  380. shall abort the transmission
  381. <legal 0-2>
  382. */
  383. #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_OFFSET 0x0000000000000000
  384. #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_LSB 30
  385. #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_MSB 31
  386. #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_MASK 0x00000000c0000000
  387. /* Description GENERAL_FRAME_CONTROL
  388. Field only valid in case of SU_or_uplink_MU_reception =
  389. Reception_is_SU
  390. In case only a single frame is receive, this field will
  391. always contain the frame control field of the received frame.
  392. In case multiple frames are received that require a response,
  393. and one of those frames is not a data frame, this field
  394. will always contain the frame control field of that received
  395. frame.
  396. In case multiple frames are received that require a response,
  397. but all have them have the same type/subtype, this field
  398. will contain the very first one of them.
  399. Note: In case of a BAR frame reception, the 'response_ack_...'
  400. fields will indicate for how many TIDs a BA is needed, as
  401. well as their individual sizes.
  402. Used by TXPCU to determine the type of response that is
  403. needed
  404. TODO: Look at table below for all the possible combination
  405. of frames types reported here and in the next field: Second_frame_control
  406. */
  407. #define RX_RESPONSE_REQUIRED_INFO_GENERAL_FRAME_CONTROL_OFFSET 0x0000000000000000
  408. #define RX_RESPONSE_REQUIRED_INFO_GENERAL_FRAME_CONTROL_LSB 32
  409. #define RX_RESPONSE_REQUIRED_INFO_GENERAL_FRAME_CONTROL_MSB 47
  410. #define RX_RESPONSE_REQUIRED_INFO_GENERAL_FRAME_CONTROL_MASK 0x0000ffff00000000
  411. /* Description SECOND_FRAME_CONTROL
  412. Field only valid when Second_frame_control_valid ==1
  413. In case multiple frames of different frame type/subtype
  414. are received that require a response, this field will always
  415. contain the frame control field remaining after the 'frame_control
  416. ' field has been filled in.
  417. NOTE: in case more then 2 different frame type/subtypes
  418. are received (which only happens if the transmitter did
  419. something wrong), only the first two frame types are reported
  420. in this and the General_frame_control field. All the other
  421. ones are ignored, but bit 'three_or_more_type_subtypes'
  422. shall be set.
  423. Note: In case of a BAR frame reception, the 'response_ack_...'
  424. fields will indicate for how many TIDs a BA is needed, as
  425. well as their individual sizes.
  426. Used by TXPCU to determine the type of response that is
  427. needed
  428. */
  429. #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_OFFSET 0x0000000000000000
  430. #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_LSB 48
  431. #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_MSB 63
  432. #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_MASK 0xffff000000000000
  433. /* Description DURATION
  434. Field only valid in case of SU_or_uplink_MU_reception =
  435. Reception_is_SU
  436. duration field of the received frame
  437. */
  438. #define RX_RESPONSE_REQUIRED_INFO_DURATION_OFFSET 0x0000000000000008
  439. #define RX_RESPONSE_REQUIRED_INFO_DURATION_LSB 0
  440. #define RX_RESPONSE_REQUIRED_INFO_DURATION_MSB 15
  441. #define RX_RESPONSE_REQUIRED_INFO_DURATION_MASK 0x000000000000ffff
  442. /* Description PKT_TYPE
  443. Packet type:
  444. Note that for MU UL reception, this field can only be set
  445. to dot11ax.
  446. <enum 0 dot11a>802.11a PPDU type
  447. <enum 1 dot11b>802.11b PPDU type
  448. <enum 2 dot11n_mm>802.11n Mixed Mode PPDU type
  449. <enum 3 dot11ac>802.11ac PPDU type
  450. <enum 4 dot11ax>802.11ax PPDU type
  451. <enum 5 dot11ba>802.11ba (WUR) PPDU type
  452. <enum 6 dot11be>802.11be PPDU type
  453. <enum 7 dot11az>802.11az (ranging) PPDU type
  454. <enum 8 dot11n_gf>802.11n Green Field PPDU type (unsupported
  455. & aborted)
  456. */
  457. #define RX_RESPONSE_REQUIRED_INFO_PKT_TYPE_OFFSET 0x0000000000000008
  458. #define RX_RESPONSE_REQUIRED_INFO_PKT_TYPE_LSB 16
  459. #define RX_RESPONSE_REQUIRED_INFO_PKT_TYPE_MSB 19
  460. #define RX_RESPONSE_REQUIRED_INFO_PKT_TYPE_MASK 0x00000000000f0000
  461. /* Description DOT11AX_SU_EXTENDED
  462. This field is only valid for pkt_type == 11ax OR pkt_type
  463. == 11be
  464. When set, the 11ax or 11be reception was an extended range
  465. SU
  466. */
  467. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_SU_EXTENDED_OFFSET 0x0000000000000008
  468. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_SU_EXTENDED_LSB 20
  469. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_SU_EXTENDED_MSB 20
  470. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_SU_EXTENDED_MASK 0x0000000000100000
  471. /* Description RATE_MCS
  472. Field only valid in case of SU_or_uplink_MU_reception =
  473. Reception_is_SU
  474. For details, refer to MCS_TYPE description
  475. Note: This is "rate" in case of 11a/11b
  476. <legal all>
  477. */
  478. #define RX_RESPONSE_REQUIRED_INFO_RATE_MCS_OFFSET 0x0000000000000008
  479. #define RX_RESPONSE_REQUIRED_INFO_RATE_MCS_LSB 21
  480. #define RX_RESPONSE_REQUIRED_INFO_RATE_MCS_MSB 24
  481. #define RX_RESPONSE_REQUIRED_INFO_RATE_MCS_MASK 0x0000000001e00000
  482. /* Description SGI
  483. Field only valid in case of SU_or_uplink_MU_reception =
  484. Reception_is_SU
  485. Field only valid when pkt type is HT, VHT or HE.
  486. Specify the right GI for HE-Ranging NDPs (11az).
  487. <enum 0 0_8_us_sgi > Legacy normal GI. Can also be used
  488. for HE
  489. <enum 1 0_4_us_sgi > Legacy short GI. Can also be used
  490. for HE
  491. <enum 2 1_6_us_sgi > HE related GI
  492. <enum 3 3_2_us_sgi > HE related GI
  493. <legal 0 - 3>
  494. */
  495. #define RX_RESPONSE_REQUIRED_INFO_SGI_OFFSET 0x0000000000000008
  496. #define RX_RESPONSE_REQUIRED_INFO_SGI_LSB 25
  497. #define RX_RESPONSE_REQUIRED_INFO_SGI_MSB 26
  498. #define RX_RESPONSE_REQUIRED_INFO_SGI_MASK 0x0000000006000000
  499. /* Description STBC
  500. Field only valid in case of SU_or_uplink_MU_reception =
  501. Reception_is_SU
  502. Indicate STBC
  503. In 11ah mode of Operation, this bit indicates the STBC bit
  504. setting in the SIG Preamble.
  505. */
  506. #define RX_RESPONSE_REQUIRED_INFO_STBC_OFFSET 0x0000000000000008
  507. #define RX_RESPONSE_REQUIRED_INFO_STBC_LSB 27
  508. #define RX_RESPONSE_REQUIRED_INFO_STBC_MSB 27
  509. #define RX_RESPONSE_REQUIRED_INFO_STBC_MASK 0x0000000008000000
  510. /* Description LDPC
  511. Field only valid in case of SU_or_uplink_MU_reception =
  512. Reception_is_SU
  513. Indicate LDPC
  514. In 11ah mode of Operation, this bit indicates the LDPC bit
  515. setting in the SIG Preamble.
  516. */
  517. #define RX_RESPONSE_REQUIRED_INFO_LDPC_OFFSET 0x0000000000000008
  518. #define RX_RESPONSE_REQUIRED_INFO_LDPC_LSB 28
  519. #define RX_RESPONSE_REQUIRED_INFO_LDPC_MSB 28
  520. #define RX_RESPONSE_REQUIRED_INFO_LDPC_MASK 0x0000000010000000
  521. /* Description AMPDU
  522. Field only valid in case of SU_or_uplink_MU_reception =
  523. Reception_is_SU
  524. Field indicates if the received frame was in ampdu format
  525. or not. If set, it implies the reception was 11n, aggregation,
  526. 11ac or 11ax.
  527. Within TXPCU it is used to determine if the response will
  528. have to be BA format or not. Note that there are some exceptions
  529. where received frame was A-MPDU format, but the response
  530. will still be just an ACK frame.
  531. */
  532. #define RX_RESPONSE_REQUIRED_INFO_AMPDU_OFFSET 0x0000000000000008
  533. #define RX_RESPONSE_REQUIRED_INFO_AMPDU_LSB 29
  534. #define RX_RESPONSE_REQUIRED_INFO_AMPDU_MSB 29
  535. #define RX_RESPONSE_REQUIRED_INFO_AMPDU_MASK 0x0000000020000000
  536. /* Description VHT_ACK
  537. Field only valid in case of SU_or_uplink_MU_reception =
  538. Reception_is_SU
  539. set when ACK is required to be generated
  540. */
  541. #define RX_RESPONSE_REQUIRED_INFO_VHT_ACK_OFFSET 0x0000000000000008
  542. #define RX_RESPONSE_REQUIRED_INFO_VHT_ACK_LSB 30
  543. #define RX_RESPONSE_REQUIRED_INFO_VHT_ACK_MSB 30
  544. #define RX_RESPONSE_REQUIRED_INFO_VHT_ACK_MASK 0x0000000040000000
  545. /* Description RTS_TA_GRP_BIT
  546. Field only valid in case of SU_or_uplink_MU_reception =
  547. Reception_is_SU
  548. frame is rts and TA G/I bit is set
  549. */
  550. #define RX_RESPONSE_REQUIRED_INFO_RTS_TA_GRP_BIT_OFFSET 0x0000000000000008
  551. #define RX_RESPONSE_REQUIRED_INFO_RTS_TA_GRP_BIT_LSB 31
  552. #define RX_RESPONSE_REQUIRED_INFO_RTS_TA_GRP_BIT_MSB 31
  553. #define RX_RESPONSE_REQUIRED_INFO_RTS_TA_GRP_BIT_MASK 0x0000000080000000
  554. /* Description CTRL_FRAME_SOLICITING_RESP
  555. Field only valid in case of SU_or_uplink_MU_reception =
  556. Reception_is_SU
  557. frame is rts, bar or ps_poll and TA G/I bit is set
  558. */
  559. #define RX_RESPONSE_REQUIRED_INFO_CTRL_FRAME_SOLICITING_RESP_OFFSET 0x0000000000000008
  560. #define RX_RESPONSE_REQUIRED_INFO_CTRL_FRAME_SOLICITING_RESP_LSB 32
  561. #define RX_RESPONSE_REQUIRED_INFO_CTRL_FRAME_SOLICITING_RESP_MSB 32
  562. #define RX_RESPONSE_REQUIRED_INFO_CTRL_FRAME_SOLICITING_RESP_MASK 0x0000000100000000
  563. /* Description AST_FAIL_FOR_DOT11AX_SU_EXT
  564. Field only valid in case of
  565. dot11ax_su_extended = 1
  566. When set, the just finished reception had address search
  567. failure (e.g. unassociated STA).
  568. This field can be used to determine special response rates
  569. for those types of STAs.
  570. This field shall be analyzed in combination with pkt_type
  571. and dot11ax_su_extended settings.
  572. <legal all>
  573. */
  574. #define RX_RESPONSE_REQUIRED_INFO_AST_FAIL_FOR_DOT11AX_SU_EXT_OFFSET 0x0000000000000008
  575. #define RX_RESPONSE_REQUIRED_INFO_AST_FAIL_FOR_DOT11AX_SU_EXT_LSB 33
  576. #define RX_RESPONSE_REQUIRED_INFO_AST_FAIL_FOR_DOT11AX_SU_EXT_MSB 33
  577. #define RX_RESPONSE_REQUIRED_INFO_AST_FAIL_FOR_DOT11AX_SU_EXT_MASK 0x0000000200000000
  578. /* Description SERVICE_DYNAMIC
  579. Field only valid in case of SU_or_uplink_MU_reception =
  580. Reception_is_SU
  581. Dynamic field extracted from Service field
  582. Reserved for 11ah. Should be populated to zero by RxPCU
  583. */
  584. #define RX_RESPONSE_REQUIRED_INFO_SERVICE_DYNAMIC_OFFSET 0x0000000000000008
  585. #define RX_RESPONSE_REQUIRED_INFO_SERVICE_DYNAMIC_LSB 34
  586. #define RX_RESPONSE_REQUIRED_INFO_SERVICE_DYNAMIC_MSB 34
  587. #define RX_RESPONSE_REQUIRED_INFO_SERVICE_DYNAMIC_MASK 0x0000000400000000
  588. /* Description M_PKT
  589. Field only valid in case of SU_or_uplink_MU_reception =
  590. Reception_is_SU
  591. Indicates that RXPCU has detected a 802.11v M packet. The
  592. TXPCU should generate a TX_FREEZE_CAPTURE_CHANNEL message
  593. to the PHY so that the PHY will hold the current channel
  594. capture so FW can read the channel capture memory over
  595. APB.
  596. Reserved for 11ah. Should be populated to zero by RxPCU
  597. */
  598. #define RX_RESPONSE_REQUIRED_INFO_M_PKT_OFFSET 0x0000000000000008
  599. #define RX_RESPONSE_REQUIRED_INFO_M_PKT_LSB 35
  600. #define RX_RESPONSE_REQUIRED_INFO_M_PKT_MSB 35
  601. #define RX_RESPONSE_REQUIRED_INFO_M_PKT_MASK 0x0000000800000000
  602. /* Description STA_PARTIAL_AID
  603. Field only valid in case of SU_or_uplink_MU_reception =
  604. Reception_is_SU
  605. Specifies the partial AID of response frames transmitted
  606. at VHT rates.
  607. In 11ah mode of operation, this field is used to populate
  608. the RA/partial BSSID filed in the NDP CTS response frame.
  609. Please refer to the 802.11 spec for details on the NDP CTS
  610. frame format.
  611. Reserved for 11ah.
  612. Should be populated to zero by RxPCU
  613. */
  614. #define RX_RESPONSE_REQUIRED_INFO_STA_PARTIAL_AID_OFFSET 0x0000000000000008
  615. #define RX_RESPONSE_REQUIRED_INFO_STA_PARTIAL_AID_LSB 36
  616. #define RX_RESPONSE_REQUIRED_INFO_STA_PARTIAL_AID_MSB 47
  617. #define RX_RESPONSE_REQUIRED_INFO_STA_PARTIAL_AID_MASK 0x0000fff000000000
  618. /* Description GROUP_ID
  619. Field only valid in case of SU_or_uplink_MU_reception =
  620. Reception_is_SU
  621. Reserved for 11ah.
  622. Should be populated to zero by RxPCU
  623. */
  624. #define RX_RESPONSE_REQUIRED_INFO_GROUP_ID_OFFSET 0x0000000000000008
  625. #define RX_RESPONSE_REQUIRED_INFO_GROUP_ID_LSB 48
  626. #define RX_RESPONSE_REQUIRED_INFO_GROUP_ID_MSB 53
  627. #define RX_RESPONSE_REQUIRED_INFO_GROUP_ID_MASK 0x003f000000000000
  628. /* Description CTRL_RESP_PWR_MGMT
  629. Field valid in case of both SU_or_uplink_MU_reception =
  630. Reception_is_SU
  631. AND
  632. SU_or_uplink_MU_reception = Reception_is_MU
  633. RX PCU passes this bit (coming from the peer entry) setting
  634. on to TX PCU, where the setting of this bit is inserted
  635. in the pwr_mgt bit in the control field of the SIFS response
  636. control frames: ACK, CTS, BA
  637. <legal all>
  638. */
  639. #define RX_RESPONSE_REQUIRED_INFO_CTRL_RESP_PWR_MGMT_OFFSET 0x0000000000000008
  640. #define RX_RESPONSE_REQUIRED_INFO_CTRL_RESP_PWR_MGMT_LSB 54
  641. #define RX_RESPONSE_REQUIRED_INFO_CTRL_RESP_PWR_MGMT_MSB 54
  642. #define RX_RESPONSE_REQUIRED_INFO_CTRL_RESP_PWR_MGMT_MASK 0x0040000000000000
  643. /* Description RESPONSE_INDICATION
  644. Field only valid in case of SU_or_uplink_MU_reception =
  645. Reception_is_SU
  646. <enum 0 no_response>
  647. <enum 1 ndp_response>
  648. <enum 2 normal_response>
  649. <enum 3 long_response>
  650. <legal 0-3>
  651. This field indicates the Response Indication of the received
  652. PPDU. RxPCU populates this field using the Response Indication
  653. bits extracted from the SIG in the received PPDU.
  654. */
  655. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_INDICATION_OFFSET 0x0000000000000008
  656. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_INDICATION_LSB 55
  657. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_INDICATION_MSB 56
  658. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_INDICATION_MASK 0x0180000000000000
  659. /* Description NDP_INDICATION
  660. Field only valid in case of SU_or_uplink_MU_reception =
  661. Reception_is_SU
  662. This field is valid in 11ah mode of opearation only. In
  663. non-11ah mode, this bit is reserved and RxPCU populates
  664. this bit to Zero.
  665. NDP Indication bit.
  666. This field is set if the received SIG has the NDP Indication
  667. bit set.
  668. <legal all>
  669. */
  670. #define RX_RESPONSE_REQUIRED_INFO_NDP_INDICATION_OFFSET 0x0000000000000008
  671. #define RX_RESPONSE_REQUIRED_INFO_NDP_INDICATION_LSB 57
  672. #define RX_RESPONSE_REQUIRED_INFO_NDP_INDICATION_MSB 57
  673. #define RX_RESPONSE_REQUIRED_INFO_NDP_INDICATION_MASK 0x0200000000000000
  674. /* Description NDP_FRAME_TYPE
  675. Field only valid in case of SU_or_uplink_MU_reception =
  676. Reception_is_SU
  677. Include the ndp_frame_type encoding.
  678. This field is valid in 11ah mode of opearation only. In
  679. non-11ah mode, this bit is reserved and RxPCU populates
  680. this bit to Zero.
  681. The ndp_frame_type filed form the SIG is extracted and is
  682. populated in this field by RxPCU. TxPCU can decode the
  683. NDP frame type.
  684. */
  685. #define RX_RESPONSE_REQUIRED_INFO_NDP_FRAME_TYPE_OFFSET 0x0000000000000008
  686. #define RX_RESPONSE_REQUIRED_INFO_NDP_FRAME_TYPE_LSB 58
  687. #define RX_RESPONSE_REQUIRED_INFO_NDP_FRAME_TYPE_MSB 60
  688. #define RX_RESPONSE_REQUIRED_INFO_NDP_FRAME_TYPE_MASK 0x1c00000000000000
  689. /* Description SECOND_FRAME_CONTROL_VALID
  690. Field only valid in case of SU_or_uplink_MU_reception =
  691. Reception_is_SU
  692. When set, the second frame control field is valid.
  693. */
  694. #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_VALID_OFFSET 0x0000000000000008
  695. #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_VALID_LSB 61
  696. #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_VALID_MSB 61
  697. #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_VALID_MASK 0x2000000000000000
  698. /* Description RESERVED_3A
  699. <legal 0>
  700. */
  701. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_3A_OFFSET 0x0000000000000008
  702. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_3A_LSB 62
  703. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_3A_MSB 63
  704. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_3A_MASK 0xc000000000000000
  705. /* Description ACK_ID
  706. Field only valid in case of SU_or_uplink_MU_reception =
  707. Reception_is_SU
  708. Indicates the ACD_ID to be used in NDP response frames (NDP
  709. ACK and NDP Modified ACK).
  710. For NDP ACK
  711. ACK_ID (16bits)= {Scrambler Initialization[0:6], FCS[23:31}
  712. for 2MHz
  713. ACK_ID (9bits)= { Scrambler Initialization[0:6], FCS[30:31]}
  714. for 1MHz. Bits[15:9] should be filled with Zero by RxPCU
  715. For NDP Modified ACK
  716. ACK_ID (16bits)= {CRC[0:3],TA[0:8],RA[6:8]} for 2MHz
  717. ACK_ID (9bits)= { CRC[0:3], TA[4:8]} for 1MHz; Bits[15:9]
  718. should be filled with Zero by RxPCU.
  719. */
  720. #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_OFFSET 0x0000000000000010
  721. #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_LSB 0
  722. #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_MSB 15
  723. #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_MASK 0x000000000000ffff
  724. /* Description ACK_ID_EXT
  725. Field only valid in case of SU_or_uplink_MU_reception =
  726. Reception_is_SU
  727. This is populated by RxPCU when the Duration Indication
  728. Bit is set to Zero in the Received NDP PS-Poll Frame.
  729. */
  730. #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_EXT_OFFSET 0x0000000000000010
  731. #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_EXT_LSB 16
  732. #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_EXT_MSB 25
  733. #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_EXT_MASK 0x0000000003ff0000
  734. /* Description AGC_CBW
  735. BW as detected by the AGC
  736. <enum 0 20_mhz>20 Mhz BW
  737. <enum 1 40_mhz>40 Mhz BW
  738. <enum 2 80_mhz>80 Mhz BW
  739. <enum 3 160_mhz>160 Mhz BW
  740. <enum 4 320_mhz>320 Mhz BW
  741. <enum 5 240_mhz>240 Mhz BW
  742. */
  743. #define RX_RESPONSE_REQUIRED_INFO_AGC_CBW_OFFSET 0x0000000000000010
  744. #define RX_RESPONSE_REQUIRED_INFO_AGC_CBW_LSB 26
  745. #define RX_RESPONSE_REQUIRED_INFO_AGC_CBW_MSB 28
  746. #define RX_RESPONSE_REQUIRED_INFO_AGC_CBW_MASK 0x000000001c000000
  747. /* Description SERVICE_CBW
  748. Field only valid in case of SU_or_uplink_MU_reception =
  749. Reception_is_SU
  750. This field reflects the BW extracted from the Serivce Field
  751. for 11ac mode of operation and from the FC portion of the
  752. MAC header in 11ah mode of operation. This field is used
  753. in the context of Dynamic/Static BW evaluation purposes
  754. in TxPCU
  755. CBW field extracted from Service field by RXPCU and populates
  756. this
  757. <enum 0 20_mhz>20 Mhz BW
  758. <enum 1 40_mhz>40 Mhz BW
  759. <enum 2 80_mhz>80 Mhz BW
  760. <enum 3 160_mhz>160 Mhz BW
  761. <enum 4 320_mhz>320 Mhz BW
  762. <enum 5 240_mhz>240 Mhz BW
  763. */
  764. #define RX_RESPONSE_REQUIRED_INFO_SERVICE_CBW_OFFSET 0x0000000000000010
  765. #define RX_RESPONSE_REQUIRED_INFO_SERVICE_CBW_LSB 29
  766. #define RX_RESPONSE_REQUIRED_INFO_SERVICE_CBW_MSB 31
  767. #define RX_RESPONSE_REQUIRED_INFO_SERVICE_CBW_MASK 0x00000000e0000000
  768. /* Description RESPONSE_STA_COUNT
  769. The number of STAs to which the responses need to be sent.
  770. In case of multiple ACKs/BAs to be send, TXPCU uses this
  771. field to determine what address formatting to use for the
  772. response frame: This could be broadcast or unicast.
  773. <legal 0-36>
  774. */
  775. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_STA_COUNT_OFFSET 0x0000000000000010
  776. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_STA_COUNT_LSB 32
  777. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_STA_COUNT_MSB 38
  778. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_STA_COUNT_MASK 0x0000007f00000000
  779. /* Description RESERVED
  780. <legal 0>
  781. */
  782. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_OFFSET 0x0000000000000010
  783. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_LSB 39
  784. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_MSB 42
  785. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_MASK 0x0000078000000000
  786. /* Description HT_VHT_SIG_CBW
  787. Field only valid in case of SU_or_uplink_MU_reception =
  788. Reception_is_SU
  789. Bandwidth of the received frame from either the HT-SIG or
  790. VHT-SIG-A or HE-SIG. For HT-SIG, this bandwidth can be
  791. 20 MHz or 40 MHz, For VHT or HE, this bandwidth can be 20,
  792. 40, 80, or 160 MHz:
  793. <enum 0 20_mhz>20 Mhz BW
  794. <enum 1 40_mhz>40 Mhz BW
  795. <enum 2 80_mhz>80 Mhz BW
  796. <enum 3 160_mhz>160 Mhz BW
  797. <enum 4 320_mhz>320 Mhz BW
  798. <enum 5 240_mhz>240 Mhz BW
  799. */
  800. #define RX_RESPONSE_REQUIRED_INFO_HT_VHT_SIG_CBW_OFFSET 0x0000000000000010
  801. #define RX_RESPONSE_REQUIRED_INFO_HT_VHT_SIG_CBW_LSB 43
  802. #define RX_RESPONSE_REQUIRED_INFO_HT_VHT_SIG_CBW_MSB 45
  803. #define RX_RESPONSE_REQUIRED_INFO_HT_VHT_SIG_CBW_MASK 0x0000380000000000
  804. /* Description CTS_CBW
  805. Field only valid in case of SU_or_uplink_MU_reception =
  806. Reception_is_SU
  807. Calculated bandwidth for the CTS response frame
  808. <enum 0 20_mhz>20 Mhz BW
  809. <enum 1 40_mhz>40 Mhz BW
  810. <enum 2 80_mhz>80 Mhz BW
  811. <enum 3 160_mhz>160 Mhz BW
  812. <enum 4 320_mhz>320 Mhz BW
  813. <enum 5 240_mhz>240 Mhz BW
  814. */
  815. #define RX_RESPONSE_REQUIRED_INFO_CTS_CBW_OFFSET 0x0000000000000010
  816. #define RX_RESPONSE_REQUIRED_INFO_CTS_CBW_LSB 46
  817. #define RX_RESPONSE_REQUIRED_INFO_CTS_CBW_MSB 48
  818. #define RX_RESPONSE_REQUIRED_INFO_CTS_CBW_MASK 0x0001c00000000000
  819. /* Description RESPONSE_ACK_COUNT
  820. Field valid for both SU and MU reception
  821. ACK Count for management action frames, PS_POLL frames,
  822. single data frame and the general "ACK ALL". For this last
  823. one, a single "ACK" should be interpreted by the receiver
  824. that all transmitted frames have been properly received.
  825. For SU:
  826. Max count can be 1
  827. Note that Response_ba64_count and/or Response_ba256_count
  828. can be > 0, which implies that both an ACK and BA needs
  829. to be send back.
  830. For MU:
  831. The number of users that need an 'ACK' response.
  832. <legal 0-36>
  833. */
  834. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ACK_COUNT_OFFSET 0x0000000000000010
  835. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ACK_COUNT_LSB 49
  836. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ACK_COUNT_MSB 55
  837. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ACK_COUNT_MASK 0x00fe000000000000
  838. /* Description RESPONSE_ASSOC_ACK_COUNT
  839. Field ONLY valid for Reception_is_MU. This count can only
  840. be set to > 0, when there were wildcards send in the trigger
  841. frame.
  842. ACK Count to be generated for Management frames from STAs
  843. that are not yet associated to this device. These STAs
  844. can only send this type of response when the trigger frame
  845. included some wildcards.
  846. Note that in the MBA frame, this "ack" has a special format,
  847. and includes more bytes then the normal "ack". For that
  848. reason TXPCU needs to be able to differentiate between the
  849. 'normal acks' and these association request acks...
  850. <legal 0-36>
  851. */
  852. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ASSOC_ACK_COUNT_OFFSET 0x0000000000000010
  853. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ASSOC_ACK_COUNT_LSB 56
  854. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ASSOC_ACK_COUNT_MSB 62
  855. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ASSOC_ACK_COUNT_MASK 0x7f00000000000000
  856. /* Description TXOP_DURATION_ALL_ONES
  857. When set, either the TXOP_DURATION of the received frame
  858. was set to all 1s or there is a BSS color collision. The
  859. TXOP_DURATION of the transmit response should be forced
  860. to all 1s.
  861. <legal all>
  862. */
  863. #define RX_RESPONSE_REQUIRED_INFO_TXOP_DURATION_ALL_ONES_OFFSET 0x0000000000000010
  864. #define RX_RESPONSE_REQUIRED_INFO_TXOP_DURATION_ALL_ONES_LSB 63
  865. #define RX_RESPONSE_REQUIRED_INFO_TXOP_DURATION_ALL_ONES_MSB 63
  866. #define RX_RESPONSE_REQUIRED_INFO_TXOP_DURATION_ALL_ONES_MASK 0x8000000000000000
  867. /* Description RESPONSE_BA32_COUNT
  868. Field valid for both Reception_is_SU and Reception_is_MU
  869. For SU:
  870. Total number of '32 bitmap BA' responses for this one user.
  871. If this value is > 1, in implies that multi TID response
  872. is needed. Also, if the sum of all the Response_ba??? Counts
  873. ) > 1, a multi TID response is needed.
  874. For MU:
  875. Total number of '32 bitmap BA' responses shared between
  876. all the users.
  877. <legal 0-36>
  878. */
  879. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA32_COUNT_OFFSET 0x0000000000000018
  880. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA32_COUNT_LSB 0
  881. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA32_COUNT_MSB 6
  882. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA32_COUNT_MASK 0x000000000000007f
  883. /* Description RESPONSE_BA64_COUNT
  884. Field valid for both Reception_is_SU and Reception_is_MU
  885. For SU:
  886. Total number of '64 bitmap BA' responses for this one user.
  887. If this value is > 1, in implies that multi TID response
  888. is needed. Also, if the sum of all the Response_ba??? Counts
  889. ) > 1, a multi TID response is needed.
  890. For MU:
  891. Total number of '64 bitmap BA' responses shared between
  892. all the users.
  893. <legal 0-36>
  894. */
  895. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA64_COUNT_OFFSET 0x0000000000000018
  896. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA64_COUNT_LSB 7
  897. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA64_COUNT_MSB 13
  898. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA64_COUNT_MASK 0x0000000000003f80
  899. /* Description RESPONSE_BA128_COUNT
  900. Field valid for both Reception_is_SU and Reception_is_MU
  901. For SU:
  902. Total number of '128 bitmap BA' responses for this one user.
  903. If this value is > 1, in implies that multi TID response
  904. is needed. Also, if the sum of all the Response_ba??? Counts
  905. ) > 1, a multi TID response is needed.
  906. For MU:
  907. Total number of '128 bitmap BA' responses shared between
  908. all the users.
  909. <legal 0-36>
  910. */
  911. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA128_COUNT_OFFSET 0x0000000000000018
  912. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA128_COUNT_LSB 14
  913. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA128_COUNT_MSB 20
  914. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA128_COUNT_MASK 0x00000000001fc000
  915. /* Description RESPONSE_BA256_COUNT
  916. Field valid for both Reception_is_SU and Reception_is_MU
  917. For SU:
  918. Total number of '256 bitmap BA' responses for this one user.
  919. If this value is > 1, in implies that multi TID response
  920. is needed. Also, if the sum of all the Response_ba??? Counts
  921. ) > 1, a multi TID response is needed.
  922. For MU:
  923. Total number of '256 bitmap BA' responses shared between
  924. all the users.
  925. <legal 0-36>
  926. */
  927. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA256_COUNT_OFFSET 0x0000000000000018
  928. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA256_COUNT_LSB 21
  929. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA256_COUNT_MSB 27
  930. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA256_COUNT_MASK 0x000000000fe00000
  931. /* Description MULTI_TID
  932. Field valid for both Reception_is_SU and Reception_is_MU
  933. When set, RXPCU has for at least one user multiple bitmaps
  934. available (which corresponds to multiple TIDs)
  935. Note that the sum of Response_ack_count,
  936. response_ba32_count, response_ba64_count,
  937. response_ba128_count, response_ba256_count is larger then
  938. the total number of users.
  939. Note: There is no restriction on TXPCU to retrieve all the
  940. bitmaps using explicit_user_request mode or not.
  941. <legal all>
  942. */
  943. #define RX_RESPONSE_REQUIRED_INFO_MULTI_TID_OFFSET 0x0000000000000018
  944. #define RX_RESPONSE_REQUIRED_INFO_MULTI_TID_LSB 28
  945. #define RX_RESPONSE_REQUIRED_INFO_MULTI_TID_MSB 28
  946. #define RX_RESPONSE_REQUIRED_INFO_MULTI_TID_MASK 0x0000000010000000
  947. /* Description SW_RESPONSE_TLV_FROM_CRYPTO
  948. Field can only be set by MAC mitigation logic
  949. The idea is here that normally TXPCU generates the BA frame.
  950. But as a backup scenario, in case of a last moment BA format
  951. change or some other issue, the BA frame could be fully
  952. generated in the MAC micro CPU and pushed into TXPCU through
  953. the Crypto - TXPCU TLV interface.
  954. This feature can be used for any response frame generation.
  955. From TXPCU perspective, all interaction with PDG remains
  956. exactly the same, accept that the frame length is now coming
  957. from field SW_Response_frame_length and the response frame
  958. is pushed into TXPCU over the CRYPTO - TXPCU TLV interface
  959. When set, this feature kick in
  960. When clear, this feature is not enabled
  961. <legal all>
  962. */
  963. #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_OFFSET 0x0000000000000018
  964. #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_LSB 29
  965. #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_MSB 29
  966. #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_MASK 0x0000000020000000
  967. /* Description DOT11AX_DL_UL_FLAG
  968. Field only valid in case of SU_or_uplink_MU_reception =
  969. Reception_is_SU
  970. This field is only valid for pkt_type == 11ax
  971. DL_UL_flag to be used for response frame sent to this device.
  972. Differentiates between DL and UL transmission
  973. <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
  974. <enum 1 DL_UL_FLAG_IS_UL>
  975. Note: this setting can also come from response look-up table
  976. in TXPCU...
  977. The selection is SW programmable
  978. <legal all>
  979. */
  980. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_DL_UL_FLAG_OFFSET 0x0000000000000018
  981. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_DL_UL_FLAG_LSB 30
  982. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_DL_UL_FLAG_MSB 30
  983. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_DL_UL_FLAG_MASK 0x0000000040000000
  984. /* Description RESERVED_6A
  985. <legal 0>
  986. */
  987. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_6A_OFFSET 0x0000000000000018
  988. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_6A_LSB 31
  989. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_6A_MSB 31
  990. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_6A_MASK 0x0000000080000000
  991. /* Description SW_RESPONSE_FRAME_LENGTH
  992. Field only valid when SW_Response_tlv_from_crypto is set
  993. This is the size of the frame that SW will generate as the
  994. response frame. In those scenarios where TXPCU needs to
  995. indicate a frame_length in the PDG_RESPONSE TLV, this will
  996. be the value that TXPCU needs to use.
  997. Note that this value shall always be such that when PDG
  998. calculates the LSIG duration field, the calculated value
  999. is less then the max time duration that the LSIG length
  1000. can hold.
  1001. Note that the MAX range here for
  1002. 11ax, MCS 11, BW 180, might not be reached. But as this
  1003. is just for 'normal HW generated response' frames, the range
  1004. is size here is more then enough.
  1005. Also not that this field is NOT used for trigger responses.
  1006. <legal all>
  1007. */
  1008. #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_FRAME_LENGTH_OFFSET 0x0000000000000018
  1009. #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_FRAME_LENGTH_LSB 32
  1010. #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_FRAME_LENGTH_MSB 47
  1011. #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_FRAME_LENGTH_MASK 0x0000ffff00000000
  1012. /* Description RESPONSE_BA512_COUNT
  1013. Field valid for both Reception_is_SU and Reception_is_MU
  1014. For SU:
  1015. Total number of '512 bitmap BA' responses for this one user.
  1016. If this value is > 1, in implies that multi TID response
  1017. is needed. Also, if the sum of all the Response_ba??? Counts
  1018. > 1, a multi TID response is needed.
  1019. For MU:
  1020. Total number of '512 bitmap BA' responses shared between
  1021. all the users.
  1022. <legal 0-36>
  1023. */
  1024. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA512_COUNT_OFFSET 0x0000000000000018
  1025. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA512_COUNT_LSB 48
  1026. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA512_COUNT_MSB 54
  1027. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA512_COUNT_MASK 0x007f000000000000
  1028. /* Description RESPONSE_BA1024_COUNT
  1029. Field valid for both Reception_is_SU and Reception_is_MU
  1030. For SU:
  1031. Total number of '1024 bitmap BA' responses for this one
  1032. user.
  1033. If this value is > 1, in implies that multi TID response
  1034. is needed. Also, if the sum of all the Response_ba??? Counts
  1035. > 1, a multi TID response is needed.
  1036. For MU:
  1037. Total number of '1024 bitmap BA' responses shared between
  1038. all the users.
  1039. <legal 0-36>
  1040. */
  1041. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA1024_COUNT_OFFSET 0x0000000000000018
  1042. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA1024_COUNT_LSB 55
  1043. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA1024_COUNT_MSB 61
  1044. #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA1024_COUNT_MASK 0x3f80000000000000
  1045. /* Description RESERVED_7A
  1046. <legal 0>
  1047. */
  1048. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_7A_OFFSET 0x0000000000000018
  1049. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_7A_LSB 62
  1050. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_7A_MSB 63
  1051. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_7A_MASK 0xc000000000000000
  1052. /* Description ADDR1_31_0
  1053. Field only valid in case of SU_or_uplink_MU_reception =
  1054. Reception_is_SU
  1055. lower 32 bits of addr1 of the received frame
  1056. <legal all>
  1057. */
  1058. #define RX_RESPONSE_REQUIRED_INFO_ADDR1_31_0_OFFSET 0x0000000000000020
  1059. #define RX_RESPONSE_REQUIRED_INFO_ADDR1_31_0_LSB 0
  1060. #define RX_RESPONSE_REQUIRED_INFO_ADDR1_31_0_MSB 31
  1061. #define RX_RESPONSE_REQUIRED_INFO_ADDR1_31_0_MASK 0x00000000ffffffff
  1062. /* Description ADDR1_47_32
  1063. Field only valid in case of SU_or_uplink_MU_reception =
  1064. Reception_is_SU
  1065. upper 16 bits of addr1 of the received frame
  1066. <legal all>
  1067. */
  1068. #define RX_RESPONSE_REQUIRED_INFO_ADDR1_47_32_OFFSET 0x0000000000000020
  1069. #define RX_RESPONSE_REQUIRED_INFO_ADDR1_47_32_LSB 32
  1070. #define RX_RESPONSE_REQUIRED_INFO_ADDR1_47_32_MSB 47
  1071. #define RX_RESPONSE_REQUIRED_INFO_ADDR1_47_32_MASK 0x0000ffff00000000
  1072. /* Description ADDR2_15_0
  1073. Field only valid in case of SU_or_uplink_MU_reception =
  1074. Reception_is_SU
  1075. lower 16 bits of addr2 of the received frame
  1076. <legal all>
  1077. */
  1078. #define RX_RESPONSE_REQUIRED_INFO_ADDR2_15_0_OFFSET 0x0000000000000020
  1079. #define RX_RESPONSE_REQUIRED_INFO_ADDR2_15_0_LSB 48
  1080. #define RX_RESPONSE_REQUIRED_INFO_ADDR2_15_0_MSB 63
  1081. #define RX_RESPONSE_REQUIRED_INFO_ADDR2_15_0_MASK 0xffff000000000000
  1082. /* Description ADDR2_47_16
  1083. Field only valid in case of SU_or_uplink_MU_reception =
  1084. Reception_is_SU
  1085. upper 32 bits of addr2 of the received frame
  1086. <legal all>
  1087. */
  1088. #define RX_RESPONSE_REQUIRED_INFO_ADDR2_47_16_OFFSET 0x0000000000000028
  1089. #define RX_RESPONSE_REQUIRED_INFO_ADDR2_47_16_LSB 0
  1090. #define RX_RESPONSE_REQUIRED_INFO_ADDR2_47_16_MSB 31
  1091. #define RX_RESPONSE_REQUIRED_INFO_ADDR2_47_16_MASK 0x00000000ffffffff
  1092. /* Description DOT11AX_RECEIVED_FORMAT_INDICATION
  1093. Field only valid in case of SU_or_uplink_MU_reception =
  1094. Reception_is_SU
  1095. This field is only valid for pkt_type == 11ax
  1096. Format_Indication from the received frame.
  1097. <enum 0 HE_SIGA_FORMAT_HE_TRIG>
  1098. <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU>
  1099. <legal all>
  1100. */
  1101. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_OFFSET 0x0000000000000028
  1102. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_LSB 32
  1103. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_MSB 32
  1104. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_MASK 0x0000000100000000
  1105. /* Description DOT11AX_RECEIVED_DL_UL_FLAG
  1106. Field only valid in case of SU_or_uplink_MU_reception =
  1107. Reception_is_SU
  1108. This field is only valid for pkt_type == 11ax
  1109. DL_UL_flag from the received frame
  1110. Differentiates between DL and UL transmission
  1111. <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS>
  1112. <enum 1 DL_UL_FLAG_IS_UL>
  1113. <legal all>
  1114. */
  1115. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_OFFSET 0x0000000000000028
  1116. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_LSB 33
  1117. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_MSB 33
  1118. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_MASK 0x0000000200000000
  1119. /* Description DOT11AX_RECEIVED_BSS_COLOR_ID
  1120. Field only valid in case of SU_or_uplink_MU_reception =
  1121. Reception_is_SU
  1122. This field is only valid for pkt_type == 11ax
  1123. BSS_color_id from the received frame
  1124. <legal all>
  1125. */
  1126. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_OFFSET 0x0000000000000028
  1127. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_LSB 34
  1128. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_MSB 39
  1129. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_MASK 0x000000fc00000000
  1130. /* Description DOT11AX_RECEIVED_SPATIAL_REUSE
  1131. Field only valid in case of SU_or_uplink_MU_reception =
  1132. Reception_is_SU
  1133. This field is only valid for pkt_type == 11ax
  1134. Spatial reuse from the received frame
  1135. <legal all>
  1136. */
  1137. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_OFFSET 0x0000000000000028
  1138. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_LSB 40
  1139. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_MSB 43
  1140. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_MASK 0x00000f0000000000
  1141. /* Description DOT11AX_RECEIVED_CP_SIZE
  1142. Field only valid in case of SU_or_uplink_MU_reception =
  1143. Reception_is_SU
  1144. This field is only valid for pkt_type == 11ax
  1145. CP size of the received frame
  1146. Specify the right GI for HE-Ranging NDPs (11az).
  1147. <enum 0 0_8_us_sgi > Legacy normal GI. Can also be used
  1148. for HE
  1149. <enum 1 0_4_us_sgi > Legacy short GI. Can also be used
  1150. for HE
  1151. <enum 2 1_6_us_sgi > HE related GI
  1152. <enum 3 3_2_us_sgi > HE related GI
  1153. <legal 0 - 3>
  1154. */
  1155. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CP_SIZE_OFFSET 0x0000000000000028
  1156. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CP_SIZE_LSB 44
  1157. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CP_SIZE_MSB 45
  1158. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CP_SIZE_MASK 0x0000300000000000
  1159. /* Description DOT11AX_RECEIVED_LTF_SIZE
  1160. Field only valid in case of SU_or_uplink_MU_reception =
  1161. Reception_is_SU
  1162. This field is only valid for pkt_type == 11ax
  1163. LTF size of the received frame
  1164. Specify the right LTF-size for HE-Ranging NDPs (11az).
  1165. <enum 0 ltf_1x >
  1166. <enum 1 ltf_2x >
  1167. <enum 2 ltf_4x >
  1168. <legal 0 - 2>
  1169. */
  1170. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_LTF_SIZE_OFFSET 0x0000000000000028
  1171. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_LTF_SIZE_LSB 46
  1172. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_LTF_SIZE_MSB 47
  1173. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_LTF_SIZE_MASK 0x0000c00000000000
  1174. /* Description DOT11AX_RECEIVED_CODING
  1175. Field only valid in case of SU_or_uplink_MU_reception =
  1176. Reception_is_SU
  1177. This field is only valid for pkt_type == 11ax
  1178. Coding from the received frame
  1179. <legal all>
  1180. */
  1181. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CODING_OFFSET 0x0000000000000028
  1182. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CODING_LSB 48
  1183. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CODING_MSB 48
  1184. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CODING_MASK 0x0001000000000000
  1185. /* Description DOT11AX_RECEIVED_DCM
  1186. Field only valid in case of SU_or_uplink_MU_reception =
  1187. Reception_is_SU
  1188. This field is only valid for pkt_type == 11ax
  1189. DCM from the received frame
  1190. <legal all>
  1191. */
  1192. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DCM_OFFSET 0x0000000000000028
  1193. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DCM_LSB 49
  1194. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DCM_MSB 49
  1195. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DCM_MASK 0x0002000000000000
  1196. /* Description DOT11AX_RECEIVED_DOPPLER_INDICATION
  1197. Field only valid in case of SU_or_uplink_MU_reception =
  1198. Reception_is_SU
  1199. This field is only valid for pkt_type == 11ax
  1200. Doppler_indication from the received frame
  1201. <legal all>
  1202. */
  1203. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_OFFSET 0x0000000000000028
  1204. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_LSB 50
  1205. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_MSB 50
  1206. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_MASK 0x0004000000000000
  1207. /* Description DOT11AX_RECEIVED_EXT_RU_SIZE
  1208. Field only valid in case of SU_or_uplink_MU_reception =
  1209. Reception_is_SU
  1210. This field is only valid for pkt_type == 11ax OR pkt_type
  1211. == 11be AND dot11ax_su_extended is set
  1212. The number of (basic) RUs in this extended range reception
  1213. RXPCU gets this from the received HE_SIG_A
  1214. <legal all>
  1215. */
  1216. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_OFFSET 0x0000000000000028
  1217. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_LSB 51
  1218. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_MSB 54
  1219. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_MASK 0x0078000000000000
  1220. /* Description FTM_FIELDS_VALID
  1221. Field only valid in case of SU_or_uplink_MU_reception =
  1222. Reception_is_SU
  1223. Field only valid in case ftm_en is set.
  1224. When set, the other ftm_ fields are valid and TXCPU shall
  1225. use these in the response frame instead of the response
  1226. table based fields with a similar name.
  1227. <legal all>
  1228. */
  1229. #define RX_RESPONSE_REQUIRED_INFO_FTM_FIELDS_VALID_OFFSET 0x0000000000000028
  1230. #define RX_RESPONSE_REQUIRED_INFO_FTM_FIELDS_VALID_LSB 55
  1231. #define RX_RESPONSE_REQUIRED_INFO_FTM_FIELDS_VALID_MSB 55
  1232. #define RX_RESPONSE_REQUIRED_INFO_FTM_FIELDS_VALID_MASK 0x0080000000000000
  1233. /* Description FTM_PE_NSS
  1234. Field only valid in case ftm_fields_valid is set.
  1235. Number of active spatial streams during packet extension
  1236. for ftm related frame exchanges
  1237. <enum 0 1_spatial_stream>Single spatial stream
  1238. <enum 1 2_spatial_streams>2 spatial streams
  1239. <enum 2 3_spatial_streams>3 spatial streams
  1240. <enum 3 4_spatial_streams>4 spatial streams
  1241. <enum 4 5_spatial_streams>5 spatial streams
  1242. <enum 5 6_spatial_streams>6 spatial streams
  1243. <enum 6 7_spatial_streams>7 spatial streams
  1244. <enum 7 8_spatial_streams>8 spatial streams
  1245. */
  1246. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_NSS_OFFSET 0x0000000000000028
  1247. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_NSS_LSB 56
  1248. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_NSS_MSB 58
  1249. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_NSS_MASK 0x0700000000000000
  1250. /* Description FTM_PE_LTF_SIZE
  1251. Field only valid in case ftm_fields_valid is set.
  1252. LTF size to be used during packet extention for ftm related
  1253. frame exchanges.
  1254. 0-1x
  1255. 1-2x (unsupported un HWK-1)
  1256. 2-4x (unsupported un HWK-1)
  1257. <legal all>
  1258. */
  1259. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_LTF_SIZE_OFFSET 0x0000000000000028
  1260. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_LTF_SIZE_LSB 59
  1261. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_LTF_SIZE_MSB 60
  1262. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_LTF_SIZE_MASK 0x1800000000000000
  1263. /* Description FTM_PE_CONTENT
  1264. Field only valid in case ftm_fields_valid is set.
  1265. The pe content for ftm related frame exchanges.
  1266. Content of packet extension.
  1267. 0-he_ltf, 1-last_data_symbol
  1268. <legal all>
  1269. */
  1270. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CONTENT_OFFSET 0x0000000000000028
  1271. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CONTENT_LSB 61
  1272. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CONTENT_MSB 61
  1273. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CONTENT_MASK 0x2000000000000000
  1274. /* Description FTM_CHAIN_CSD_EN
  1275. Field only valid in case ftm_fields_valid is set.
  1276. This field denotes whether to apply CSD on the preamble
  1277. and data portion of the packet. This field is valid for
  1278. all transmit packets
  1279. 0: disable per-chain csd
  1280. 1: enable per-chain csd
  1281. <legal all>
  1282. */
  1283. #define RX_RESPONSE_REQUIRED_INFO_FTM_CHAIN_CSD_EN_OFFSET 0x0000000000000028
  1284. #define RX_RESPONSE_REQUIRED_INFO_FTM_CHAIN_CSD_EN_LSB 62
  1285. #define RX_RESPONSE_REQUIRED_INFO_FTM_CHAIN_CSD_EN_MSB 62
  1286. #define RX_RESPONSE_REQUIRED_INFO_FTM_CHAIN_CSD_EN_MASK 0x4000000000000000
  1287. /* Description FTM_PE_CHAIN_CSD_EN
  1288. Field only valid in case ftm_fields_valid is set.
  1289. This field denotes whether to apply CSD on the preamble
  1290. and data portion of the packet. This field is valid for
  1291. all transmit packets
  1292. 0: disable per-chain csd
  1293. 1: enable per-chain csd
  1294. <legal all>
  1295. */
  1296. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CHAIN_CSD_EN_OFFSET 0x0000000000000028
  1297. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CHAIN_CSD_EN_LSB 63
  1298. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CHAIN_CSD_EN_MSB 63
  1299. #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CHAIN_CSD_EN_MASK 0x8000000000000000
  1300. /* Description DOT11AX_RESPONSE_RATE_SOURCE
  1301. Field only valid in case of SU_or_uplink_MU_reception =
  1302. Reception_is_SU
  1303. Valid for response generation to an 11ax pkt_type received
  1304. frame, but NOT 11ax extended pkt_type of frame
  1305. When set to 0, use the register based lookup for determining
  1306. the 11ax response rates.
  1307. When > 0, TXPCU shall use this response table index for
  1308. the 20 MHz response, and higher BW responses are in the
  1309. subsequent response table entries
  1310. <legal all>
  1311. */
  1312. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RESPONSE_RATE_SOURCE_OFFSET 0x0000000000000030
  1313. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RESPONSE_RATE_SOURCE_LSB 0
  1314. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RESPONSE_RATE_SOURCE_MSB 7
  1315. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RESPONSE_RATE_SOURCE_MASK 0x00000000000000ff
  1316. /* Description DOT11AX_EXT_RESPONSE_RATE_SOURCE
  1317. Field only valid in case of SU_or_uplink_MU_reception =
  1318. Reception_is_SU
  1319. This field is only valid for pkt_type == 11ax and dot11ax_su_extended
  1320. is set
  1321. When set to 0, the response rates are based on the 11ax
  1322. extended response register based indexes in TXPCU.
  1323. When > 0, TXPCU shall use this response table index for
  1324. the response to a 1RU reception. Higher RU count reception
  1325. responses can be found in the subsequent response table
  1326. entries: Next entry is for 2 RU receptions, then 4 RU
  1327. receptions, then >= 8 RU receptions...
  1328. <legal all>
  1329. */
  1330. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_EXT_RESPONSE_RATE_SOURCE_OFFSET 0x0000000000000030
  1331. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_EXT_RESPONSE_RATE_SOURCE_LSB 8
  1332. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_EXT_RESPONSE_RATE_SOURCE_MSB 15
  1333. #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_EXT_RESPONSE_RATE_SOURCE_MASK 0x000000000000ff00
  1334. /* Description SW_PEER_ID
  1335. Field only valid in case of SU_or_uplink_MU_reception =
  1336. Reception_is_SU
  1337. An identifier indicating for which device this response
  1338. is needed.
  1339. <legal all>
  1340. */
  1341. #define RX_RESPONSE_REQUIRED_INFO_SW_PEER_ID_OFFSET 0x0000000000000030
  1342. #define RX_RESPONSE_REQUIRED_INFO_SW_PEER_ID_LSB 16
  1343. #define RX_RESPONSE_REQUIRED_INFO_SW_PEER_ID_MSB 31
  1344. #define RX_RESPONSE_REQUIRED_INFO_SW_PEER_ID_MASK 0x00000000ffff0000
  1345. /* Description DOT11BE_PUNCTURE_BITMAP
  1346. This field is only valid if Punctured_response is set
  1347. The bitmap of 20 MHz sub-bands valid in this EHT reception
  1348. RXPCU gets this from the received U-SIG and/or EHT-SIG via
  1349. PHY microcode.
  1350. <legal all>
  1351. */
  1352. #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_PUNCTURE_BITMAP_OFFSET 0x0000000000000030
  1353. #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_PUNCTURE_BITMAP_LSB 32
  1354. #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_PUNCTURE_BITMAP_MSB 47
  1355. #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_PUNCTURE_BITMAP_MASK 0x0000ffff00000000
  1356. /* Description DOT11BE_RESPONSE
  1357. Field only valid in case of SU_or_uplink_MU_reception =
  1358. Reception_is_SU
  1359. Indicates that the peer supports .11be response protocols,
  1360. e.g. .11be BW indication in scrambler seed, .11be dynamic
  1361. BW procedure, punctured response, etc.
  1362. */
  1363. #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_RESPONSE_OFFSET 0x0000000000000030
  1364. #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_RESPONSE_LSB 48
  1365. #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_RESPONSE_MSB 48
  1366. #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_RESPONSE_MASK 0x0001000000000000
  1367. /* Description PUNCTURED_RESPONSE
  1368. Field only valid if Dot11be_response is set
  1369. Indicates that the response shall use preamble puncturing
  1370. */
  1371. #define RX_RESPONSE_REQUIRED_INFO_PUNCTURED_RESPONSE_OFFSET 0x0000000000000030
  1372. #define RX_RESPONSE_REQUIRED_INFO_PUNCTURED_RESPONSE_LSB 49
  1373. #define RX_RESPONSE_REQUIRED_INFO_PUNCTURED_RESPONSE_MSB 49
  1374. #define RX_RESPONSE_REQUIRED_INFO_PUNCTURED_RESPONSE_MASK 0x0002000000000000
  1375. /* Description EHT_DUPLICATE_MODE
  1376. Field only valid in case of SU_or_uplink_MU_reception =
  1377. Reception_is_SU for pkt_type == 11be
  1378. Indicates EHT duplicate modulation
  1379. <enum 0 eht_no_duplicate>
  1380. <enum 1 eht_2x_duplicate>
  1381. <enum 2 eht_4x_duplicate>
  1382. <legal 0-2>
  1383. */
  1384. #define RX_RESPONSE_REQUIRED_INFO_EHT_DUPLICATE_MODE_OFFSET 0x0000000000000030
  1385. #define RX_RESPONSE_REQUIRED_INFO_EHT_DUPLICATE_MODE_LSB 50
  1386. #define RX_RESPONSE_REQUIRED_INFO_EHT_DUPLICATE_MODE_MSB 51
  1387. #define RX_RESPONSE_REQUIRED_INFO_EHT_DUPLICATE_MODE_MASK 0x000c000000000000
  1388. /* Description FORCE_EXTRA_SYMBOL
  1389. Set to 1 to force an extra OFDM symbol (or symbols) even
  1390. if the PPDU encoding process does not result in an extra
  1391. OFDM symbol (or symbols)
  1392. */
  1393. #define RX_RESPONSE_REQUIRED_INFO_FORCE_EXTRA_SYMBOL_OFFSET 0x0000000000000030
  1394. #define RX_RESPONSE_REQUIRED_INFO_FORCE_EXTRA_SYMBOL_LSB 52
  1395. #define RX_RESPONSE_REQUIRED_INFO_FORCE_EXTRA_SYMBOL_MSB 52
  1396. #define RX_RESPONSE_REQUIRED_INFO_FORCE_EXTRA_SYMBOL_MASK 0x0010000000000000
  1397. /* Description RESERVED_13A
  1398. <legal 0>
  1399. */
  1400. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_13A_OFFSET 0x0000000000000030
  1401. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_13A_LSB 53
  1402. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_13A_MSB 57
  1403. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_13A_MASK 0x03e0000000000000
  1404. /* Description U_SIG_PUNCTURE_PATTERN_ENCODING
  1405. This field is only valid if Punctured_response is set
  1406. The 6-bit value used in U-SIG and/or EHT-SIG Common field
  1407. for the puncture pattern
  1408. <legal 0-29>
  1409. */
  1410. #define RX_RESPONSE_REQUIRED_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET 0x0000000000000030
  1411. #define RX_RESPONSE_REQUIRED_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB 58
  1412. #define RX_RESPONSE_REQUIRED_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB 63
  1413. #define RX_RESPONSE_REQUIRED_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK 0xfc00000000000000
  1414. /* Description MLO_STA_ID_DETAILS_RX
  1415. Bits 10 and 11 are not valid, bits [9:0] reflect 'NSTR_MLO_STA_ID'
  1416. from address search.
  1417. */
  1418. /* Description NSTR_MLO_STA_ID
  1419. ID of peer participating in non-STR MLO
  1420. */
  1421. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_OFFSET 0x0000000000000038
  1422. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_LSB 0
  1423. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MSB 9
  1424. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MASK 0x00000000000003ff
  1425. /* Description BLOCK_SELF_ML_SYNC
  1426. Only valid for TX
  1427. When set, this provides an indication to block the peer
  1428. for self-link.
  1429. */
  1430. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_OFFSET 0x0000000000000038
  1431. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_LSB 10
  1432. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MSB 10
  1433. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MASK 0x0000000000000400
  1434. /* Description BLOCK_PARTNER_ML_SYNC
  1435. Only valid for TX
  1436. When set, this provides an indication to block the peer
  1437. for partner links.
  1438. */
  1439. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_OFFSET 0x0000000000000038
  1440. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_LSB 11
  1441. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MSB 11
  1442. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MASK 0x0000000000000800
  1443. /* Description NSTR_MLO_STA_ID_VALID
  1444. All the fields in this TLV are valid only if this bit is
  1445. set.
  1446. */
  1447. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_OFFSET 0x0000000000000038
  1448. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_LSB 12
  1449. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MSB 12
  1450. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MASK 0x0000000000001000
  1451. /* Description RESERVED_0A
  1452. <legal 0>
  1453. */
  1454. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_OFFSET 0x0000000000000038
  1455. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_LSB 13
  1456. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MSB 15
  1457. #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MASK 0x000000000000e000
  1458. /* Description HE_A_CONTROL_RESPONSE_TIME
  1459. When non-zero, indicates the value from an HE A-Control
  1460. in the received frame requiring a specific response time
  1461. (e.g. for sync MLO)
  1462. <legal all>
  1463. */
  1464. #define RX_RESPONSE_REQUIRED_INFO_HE_A_CONTROL_RESPONSE_TIME_OFFSET 0x0000000000000038
  1465. #define RX_RESPONSE_REQUIRED_INFO_HE_A_CONTROL_RESPONSE_TIME_LSB 16
  1466. #define RX_RESPONSE_REQUIRED_INFO_HE_A_CONTROL_RESPONSE_TIME_MSB 27
  1467. #define RX_RESPONSE_REQUIRED_INFO_HE_A_CONTROL_RESPONSE_TIME_MASK 0x000000000fff0000
  1468. /* Description RESERVED_AFTER_STRUCT16
  1469. <legal 0>
  1470. */
  1471. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_AFTER_STRUCT16_OFFSET 0x0000000000000038
  1472. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_AFTER_STRUCT16_LSB 28
  1473. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_AFTER_STRUCT16_MSB 31
  1474. #define RX_RESPONSE_REQUIRED_INFO_RESERVED_AFTER_STRUCT16_MASK 0x00000000f0000000
  1475. /* Description TLV64_PADDING
  1476. Automatic DWORD padding inserted while converting TLV32
  1477. to TLV64 for 64 bit ARCH
  1478. <legal 0>
  1479. */
  1480. #define RX_RESPONSE_REQUIRED_INFO_TLV64_PADDING_OFFSET 0x0000000000000038
  1481. #define RX_RESPONSE_REQUIRED_INFO_TLV64_PADDING_LSB 32
  1482. #define RX_RESPONSE_REQUIRED_INFO_TLV64_PADDING_MSB 63
  1483. #define RX_RESPONSE_REQUIRED_INFO_TLV64_PADDING_MASK 0xffffffff00000000
  1484. #endif // RX_RESPONSE_REQUIRED_INFO