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