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