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