xref: /wlan-driver/fw-api/hw/qcn6432/tx_fes_status_start_ppdu.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #ifndef _TX_FES_STATUS_START_PPDU_H_
18 #define _TX_FES_STATUS_START_PPDU_H_
19 #if !defined(__ASSEMBLER__)
20 #endif
21 
22 #define NUM_OF_DWORDS_TX_FES_STATUS_START_PPDU 4
23 
24 #define NUM_OF_QWORDS_TX_FES_STATUS_START_PPDU 2
25 
26 
27 struct tx_fes_status_start_ppdu {
28 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
29              uint32_t ppdu_timestamp_lower_32                                 : 32; // [31:0]
30              uint32_t ppdu_timestamp_upper_32                                 : 32; // [31:0]
31              uint32_t subband_mask                                            : 16, // [15:0]
32                       ndp_frame                                               :  2, // [17:16]
33                       reserved_2b                                             :  2, // [19:18]
34                       coex_based_tx_bw                                        :  3, // [22:20]
35                       coex_based_ant_mask                                     :  8, // [30:23]
36                       reserved_2c                                             :  1; // [31:31]
37              uint32_t coex_based_tx_pwr_shared_ant                            :  8, // [7:0]
38                       coex_based_tx_pwr_ant                                   :  8, // [15:8]
39                       concurrent_bt_tx                                        :  1, // [16:16]
40                       concurrent_wlan_tx                                      :  1, // [17:17]
41                       concurrent_wan_tx                                       :  1, // [18:18]
42                       concurrent_wan_rx                                       :  1, // [19:19]
43                       coex_pwr_reduction_bt                                   :  1, // [20:20]
44                       coex_pwr_reduction_wlan                                 :  1, // [21:21]
45                       coex_pwr_reduction_wan                                  :  1, // [22:22]
46                       coex_result_alt_based                                   :  1, // [23:23]
47                       request_packet_bw                                       :  3, // [26:24]
48                       response_type                                           :  5; // [31:27]
49 #else
50              uint32_t ppdu_timestamp_lower_32                                 : 32; // [31:0]
51              uint32_t ppdu_timestamp_upper_32                                 : 32; // [31:0]
52              uint32_t reserved_2c                                             :  1, // [31:31]
53                       coex_based_ant_mask                                     :  8, // [30:23]
54                       coex_based_tx_bw                                        :  3, // [22:20]
55                       reserved_2b                                             :  2, // [19:18]
56                       ndp_frame                                               :  2, // [17:16]
57                       subband_mask                                            : 16; // [15:0]
58              uint32_t response_type                                           :  5, // [31:27]
59                       request_packet_bw                                       :  3, // [26:24]
60                       coex_result_alt_based                                   :  1, // [23:23]
61                       coex_pwr_reduction_wan                                  :  1, // [22:22]
62                       coex_pwr_reduction_wlan                                 :  1, // [21:21]
63                       coex_pwr_reduction_bt                                   :  1, // [20:20]
64                       concurrent_wan_rx                                       :  1, // [19:19]
65                       concurrent_wan_tx                                       :  1, // [18:18]
66                       concurrent_wlan_tx                                      :  1, // [17:17]
67                       concurrent_bt_tx                                        :  1, // [16:16]
68                       coex_based_tx_pwr_ant                                   :  8, // [15:8]
69                       coex_based_tx_pwr_shared_ant                            :  8; // [7:0]
70 #endif
71 };
72 
73 
74 /* Description		PPDU_TIMESTAMP_LOWER_32
75 
76 			Global timer value at start of Protection transmission
77 */
78 
79 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_OFFSET                     0x0000000000000000
80 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_LSB                        0
81 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_MSB                        31
82 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_LOWER_32_MASK                       0x00000000ffffffff
83 
84 
85 /* Description		PPDU_TIMESTAMP_UPPER_32
86 
87 			Global timer value at start of Protection transmission
88 */
89 
90 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_OFFSET                     0x0000000000000000
91 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_LSB                        32
92 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_MSB                        63
93 #define TX_FES_STATUS_START_PPDU_PPDU_TIMESTAMP_UPPER_32_MASK                       0xffffffff00000000
94 
95 
96 /* Description		SUBBAND_MASK
97 
98 			This mask indicates which 20 Mhz channels are actively used
99 			 in the BW or puncture pattern selected for transmit.
100 
101 			Bit 0: primary 20 Mhz
102 			Bit 1: secondary 20 MHz
103 			Etc.
104 
105 			<legal all>
106 */
107 
108 #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_OFFSET                                0x0000000000000008
109 #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_LSB                                   0
110 #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_MSB                                   15
111 #define TX_FES_STATUS_START_PPDU_SUBBAND_MASK_MASK                                  0x000000000000ffff
112 
113 
114 /* Description		NDP_FRAME
115 
116 			Bit copied from the TX_FES_SETUP TLV
117 
118 			<enum 0 no_ndp>No NDP transmission
119 			<enum 1 beamforming_ndp>Beamforming NDP
120 			<enum 2 he_ranging_ndp>11az NDP (HE Ranging NDP)
121 			<enum 3 he_feedback_ndp>Short TB (HE Feedback NDP)
122 */
123 
124 #define TX_FES_STATUS_START_PPDU_NDP_FRAME_OFFSET                                   0x0000000000000008
125 #define TX_FES_STATUS_START_PPDU_NDP_FRAME_LSB                                      16
126 #define TX_FES_STATUS_START_PPDU_NDP_FRAME_MSB                                      17
127 #define TX_FES_STATUS_START_PPDU_NDP_FRAME_MASK                                     0x0000000000030000
128 
129 
130 /* Description		RESERVED_2B
131 
132 			<legal 0>
133 */
134 
135 #define TX_FES_STATUS_START_PPDU_RESERVED_2B_OFFSET                                 0x0000000000000008
136 #define TX_FES_STATUS_START_PPDU_RESERVED_2B_LSB                                    18
137 #define TX_FES_STATUS_START_PPDU_RESERVED_2B_MSB                                    19
138 #define TX_FES_STATUS_START_PPDU_RESERVED_2B_MASK                                   0x00000000000c0000
139 
140 
141 /* Description		COEX_BASED_TX_BW
142 
143 			Field valid for regular PPDU frame transmission
144 
145 			This is the transmit bandwidth value
146 			that is granted by Coex.
147 
148 			<enum 0 20_mhz>20 Mhz BW
149 			<enum 1 40_mhz>40 Mhz BW
150 			<enum 2 80_mhz>80 Mhz BW
151 			<enum 3 160_mhz>160 Mhz BW
152 			<enum 4 320_mhz>320 Mhz BW
153 			<enum 5 240_mhz>240 Mhz BW
154 */
155 
156 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_OFFSET                            0x0000000000000008
157 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_LSB                               20
158 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_MSB                               22
159 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_BW_MASK                              0x0000000000700000
160 
161 
162 /* Description		COEX_BASED_ANT_MASK
163 
164 			Field valid for regular PPDU or Response frame transmission
165 
166 
167 			The antennas allowed to be used for this transmission.
168 			(Coex is allowed to reduce the number of antennas to be
169 			used, but not the number of SS)
170 			<legal all>
171 */
172 
173 #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_OFFSET                         0x0000000000000008
174 #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_LSB                            23
175 #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_MSB                            30
176 #define TX_FES_STATUS_START_PPDU_COEX_BASED_ANT_MASK_MASK                           0x000000007f800000
177 
178 
179 /* Description		RESERVED_2C
180 
181 			<legal 0>
182 */
183 
184 #define TX_FES_STATUS_START_PPDU_RESERVED_2C_OFFSET                                 0x0000000000000008
185 #define TX_FES_STATUS_START_PPDU_RESERVED_2C_LSB                                    31
186 #define TX_FES_STATUS_START_PPDU_RESERVED_2C_MSB                                    31
187 #define TX_FES_STATUS_START_PPDU_RESERVED_2C_MASK                                   0x0000000080000000
188 
189 
190 /* Description		COEX_BASED_TX_PWR_SHARED_ANT
191 
192 			Field valid for regular PPDU or Response frame transmission
193 
194 
195 			Granted tx power for the shared antenna.
196 
197 			Transmit Power in s6.2 format.
198 			In units of 0.25 dBm
199 			<legal all>
200 */
201 
202 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_OFFSET                0x0000000000000008
203 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_LSB                   32
204 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_MSB                   39
205 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_SHARED_ANT_MASK                  0x000000ff00000000
206 
207 
208 /* Description		COEX_BASED_TX_PWR_ANT
209 
210 			Field valid for regular PPDU or Response frame transmission
211 
212 
213 			Granted tx power for the unshared antenna
214 			Transmit Power in s6.2 format.
215 			In units of 0.25 dBm
216 			<legal all>
217 */
218 
219 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_OFFSET                       0x0000000000000008
220 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_LSB                          40
221 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_MSB                          47
222 #define TX_FES_STATUS_START_PPDU_COEX_BASED_TX_PWR_ANT_MASK                         0x0000ff0000000000
223 
224 
225 /* Description		CONCURRENT_BT_TX
226 
227 			Indicate the current TX is concurrent with a BT transmission.
228 			This bit is to be copied over into the FES status info.
229 
230 			<legal all>
231 */
232 
233 #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_OFFSET                            0x0000000000000008
234 #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_LSB                               48
235 #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_MSB                               48
236 #define TX_FES_STATUS_START_PPDU_CONCURRENT_BT_TX_MASK                              0x0001000000000000
237 
238 
239 /* Description		CONCURRENT_WLAN_TX
240 
241 			Field valid for regular PPDU or Response frame transmission
242 
243 
244 			Indicate the current TX is concurrent with other WLAN transmission.
245 			This bit is to be copied over into FES status info.
246 			<legal all>
247 */
248 
249 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_OFFSET                          0x0000000000000008
250 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_LSB                             49
251 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_MSB                             49
252 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WLAN_TX_MASK                            0x0002000000000000
253 
254 
255 /* Description		CONCURRENT_WAN_TX
256 
257 			Field valid for regular PPDU or Response frame transmission
258 
259 
260 			Indicate the current TX is concurrent with WAN transmission.
261 			This bit is to be copied over into FES status info.
262 			<legal all>
263 */
264 
265 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_OFFSET                           0x0000000000000008
266 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_LSB                              50
267 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_MSB                              50
268 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_TX_MASK                             0x0004000000000000
269 
270 
271 /* Description		CONCURRENT_WAN_RX
272 
273 			Field valid for regular PPDU or Response frame transmission
274 
275 
276 			Indicate the current TX is concurrent with WAN reception.
277 			This bit is to be copied over into FES status info.
278 			<legal all>
279 */
280 
281 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_OFFSET                           0x0000000000000008
282 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_LSB                              51
283 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_MSB                              51
284 #define TX_FES_STATUS_START_PPDU_CONCURRENT_WAN_RX_MASK                             0x0008000000000000
285 
286 
287 /* Description		COEX_PWR_REDUCTION_BT
288 
289 			Field valid for regular or response frame transmission.
290 			When set, transmit power is reduced due to BT coex reason
291 
292 			<legal all>
293 */
294 
295 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_OFFSET                       0x0000000000000008
296 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_LSB                          52
297 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_MSB                          52
298 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_BT_MASK                         0x0010000000000000
299 
300 
301 /* Description		COEX_PWR_REDUCTION_WLAN
302 
303 			Field valid for regular or response frame transmission.
304 			When set, transmit power is reduced due to wlan coex reason
305 
306 			<legal all>
307 */
308 
309 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_OFFSET                     0x0000000000000008
310 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_LSB                        53
311 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_MSB                        53
312 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WLAN_MASK                       0x0020000000000000
313 
314 
315 /* Description		COEX_PWR_REDUCTION_WAN
316 
317 			Field valid for regular or response frame transmission.
318 			When set, transmit power is reduced due to wan coex reason
319 
320 			<legal all>
321 */
322 
323 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_OFFSET                      0x0000000000000008
324 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_LSB                         54
325 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_MSB                         54
326 #define TX_FES_STATUS_START_PPDU_COEX_PWR_REDUCTION_WAN_MASK                        0x0040000000000000
327 
328 
329 /* Description		COEX_RESULT_ALT_BASED
330 
331 			Field valid for regular PPDU or Response frame transmission
332 
333 
334 			When set, the resulting Coex transmit parameters are based
335 			 alternate transmit settings in the TX_RATE_SETTING STRUCT
336 			 of the original selected BW
337 
338 			When not set, the resulting Coex parameters are based on
339 			 the default transmit settings in the TX_RATE_SETTING STRUCT
340 
341 
342 			<legal all>
343 */
344 
345 #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_OFFSET                       0x0000000000000008
346 #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_LSB                          55
347 #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_MSB                          55
348 #define TX_FES_STATUS_START_PPDU_COEX_RESULT_ALT_BASED_MASK                         0x0080000000000000
349 
350 
351 /* Description		REQUEST_PACKET_BW
352 
353 			The requested transmit BW to PDG
354 			Note that Coex can have changed the actual allowed transmit
355 			 bandwidth.
356 
357 			<enum 0 20_mhz>20 Mhz BW
358 			<enum 1 40_mhz>40 Mhz BW
359 			<enum 2 80_mhz>80 Mhz BW
360 			<enum 3 160_mhz>160 Mhz BW
361 			<enum 4 320_mhz>320 Mhz BW
362 			<enum 5 240_mhz>240 Mhz BW
363 */
364 
365 #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_OFFSET                           0x0000000000000008
366 #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_LSB                              56
367 #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_MSB                              58
368 #define TX_FES_STATUS_START_PPDU_REQUEST_PACKET_BW_MASK                             0x0700000000000000
369 
370 
371 /* Description		RESPONSE_TYPE
372 
373 			PPDU transmission Response type expected
374 
375 			<enum 0 no_response_expected>After transmission of this
376 			frame, no response in SIFS time is expected
377 
378 			When TXPCU sees this setting, it shall not generated the
379 			 EXPECTED_RESPONSE TLV.
380 
381 			RXPCU should never see this setting
382 			<enum 1 ack_expected>An ACK frame is expected as response
383 
384 
385 			RXPCU is just expecting any response. It is TXPCU who checks
386 			 that the right response was received.
387 			<enum 2 ba_64_bitmap_expected>BA with 64 bitmap is expected.
388 
389 
390 			PDG DOES NOT use the size info to calculated response duration.
391 			The length of the response will have to be programmed by
392 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
393 
394 			For TXPCU only the fact that it is a BA is important. Actual
395 			 received BA size is not important
396 
397 			RXPCU is just expecting any response. It is TXPCU who checks
398 			 that the right response was received.
399 			<enum 3 ba_256_expected>BA with 256 bitmap is expected.
400 
401 			PDG DOES NOT use the size info to calculated response duration.
402 			The length of the response will have to be programmed by
403 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
404 
405 			For TXPCU only the fact that it is a BA is important. Actual
406 			 received BA size is not important
407 
408 			RXPCU is just expecting any response. It is TXPCU who checks
409 			 that the right response was received.
410 			<enum 4 actionnoack_expected>SW sets this after sending
411 			NDP or BR-Poll.
412 
413 			As PDG has no idea on how long the reception is going to
414 			 be, the reception time of the response will have to be
415 			programmed by SW in the 'Extend_duration_value_bw...' field
416 
417 
418 			RXPCU is just expecting any response. It is TXPCU who checks
419 			 that the right response was received.
420 			<enum 5 ack_ba_expected>PDG uses the size info and assumes
421 			 single BA format with ACK and 64 bitmap embedded.
422 			If SW expects more bitmaps in case of multi-TID, is shall
423 			 program the 'Extend_duration_value_bw...' field for additional
424 			 duration time.
425 			For TXPCU only the fact that an ACK and/or BA is received
426 			 is important. Reception of only ACK or BA is also considered
427 			 a success.
428 			SW also typically sets this when sending VHT single MPDU.
429 			Some chip vendors might send BA rather than ACK in response
430 			 to VHT single MPDU but still we want to accept BA as well.
431 
432 
433 			RXPCU is just expecting any response. It is TXPCU who checks
434 			 that the right response was received.
435 			<enum 6 cts_expected>SW sets this after queuing RTS frame
436 			 as standalone packet and sending it.
437 
438 			RXPCU is just expecting any response. It is TXPCU who checks
439 			 that the right response was received.
440 			<enum 7 ack_data_expected>SW sets this after sending PS-Poll.
441 
442 
443 			For TXPCU either ACK and/or data reception is considered
444 			 success.
445 			PDG basis it's response duration calculation on an ACK.
446 			For the data portion, SW shall program the 'Extend_duration_value_bw...'
447 			field
448 			<enum 8 ndp_ack_expected>Reserved for 11ah usage.
449 			<enum 9 ndp_modified_ack>Reserved for 11ah usage
450 			<enum 10 ndp_ba_expected>Reserved for 11ah usage.
451 			<enum 11 ndp_cts_expected>Reserved for 11ah usage
452 			<enum 12 ndp_ack_or_ndp_modified_ack_expected>Reserved for
453 			 11ah usage
454 
455 			TXPCU expects UL MU OFDMA or UL MU MIMO reception.
456 			As PDG does not know how RUs are assigned for the uplink
457 			 portion, PDG can not calculate the uplink duration. Therefor
458 			 SW shall program the 'Extend_duration_value_bw...' field
459 
460 
461 			RXPCU will report any frame received, irrespective of it
462 			 having been UL MU or SU It is TXPCUs responsibility to
463 			distinguish between the UL MU or SU
464 
465 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO MU_Response_BA_bitmap
466 			 if indeed BA was received
467 
468 			TXPCU expects UL MU OFDMA or UL MU MIMO reception.
469 			As PDG does not know how RUs are assigned for the uplink
470 			 portion, PDG can not calculate the uplink duration. Therefor
471 			 SW shall program the 'Extend_duration_value_bw...' field
472 
473 
474 			RXPCU will report any frame received, irrespective of it
475 			 having been UL MU or SU It is TXPCUs responsibility to
476 			distinguish between the UL MU or SU
477 
478 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_data_bitmap
479 			 and MU_Response_BA_bitmap if indeed BA and data was received
480 
481 			When selected, CBF frames are expected to be received in
482 			 MU reception (uplink OFDMA or uplink MIMO)
483 
484 			RXPCU is just expecting any response. It is TXPCU who checks
485 			 that the right response was received
486 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_cbf_bitmap
487 			 if indeed CBF frames were received.
488 			<enum 16 ul_mu_frames_expected>When selected, MPDU frames
489 			 are expected in the MU reception (uplink OFDMA or uplink
490 			 MIMO)
491 
492 			RXPCU is just expecting any response. It is TXPCU who checks
493 			 that the right response was received
494 
495 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_bitmap
496 			 if indeed frames were received.
497 			<enum 17 any_response_to_this_device>Any response expected
498 			 to be send to this device in SIFS time is acceptable.
499 
500 			RXPCU is just expecting any response. It is TXPCU who checks
501 			 that the right response was received
502 
503 			For TXPCU, UL MU or SU is both acceptable.
504 
505 			Can be used for complex OFDMA scenarios. PDG can not calculate
506 			 the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
507 			field
508 			<enum 18 any_response_accepted>Any frame in the medium to
509 			 this or any other device, is acceptable as response.
510 			RXPCU is just expecting any response. It is TXPCU who checks
511 			 that the right response was received
512 
513 			For TXPCU, UL MU or SU is both acceptable.
514 
515 			Can be used for complex OFDMA scenarios. PDG can not calculate
516 			 the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
517 			field
518 			<enum 19 frameless_phyrx_response_accepted>Any MU frameless
519 			 reception generated by the PHY is acceptable.
520 
521 			PHY indicates this type of reception explicitly in TLV PHYRX_RSSI_LEGACY,
522 			field Reception_type == reception_is_frameless
523 
524 			RXPCU will report any frame received, irrespective of it
525 			 having been UL MU or SU.
526 
527 			This can be used for complex MU-MIMO or OFDMA scenarios,
528 			like receiving MU-CTS.
529 
530 			PDG can not calculate the uplink duration. Therefor SW shall
531 			 program the 'Extend_duration_value_bw...' field
532 			<enum 20 ranging_ndp_and_lmr_expected>SW sets this after
533 			 sending ranging NDPA followed by NDP as an ISTA and NDP
534 			 and LMR (Action No Ack) are expected as back-to-back reception
535 			 in SIFS.
536 
537 			As PDG has no idea on how long the reception is going to
538 			 be, the reception time of the response will have to be
539 			programmed by SW in the 'Extend_duration_value_bw...' field
540 
541 
542 			RXPCU is just expecting any response. It is TXPCU who checks
543 			 that the right response was received.
544 			<enum 21 ba_512_expected>BA with 512 bitmap is expected.
545 
546 
547 			PDG DOES NOT use the size info to calculated response duration.
548 			The length of the response will have to be programmed by
549 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
550 
551 			For TXPCU only the fact that it is a BA is important. Actual
552 			 received BA size is not important
553 
554 			RXPCU is just expecting any response. It is TXPCU who checks
555 			 that the right response was received.
556 			<enum 22 ba_1024_expected>BA with 1024 bitmap is expected.
557 
558 
559 			PDG DOES NOT use the size info to calculated response duration.
560 			The length of the response will have to be programmed by
561 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
562 
563 			For TXPCU only the fact that it is a BA is important. Actual
564 			 received BA size is not important
565 
566 			RXPCU is just expecting any response. It is TXPCU who checks
567 			 that the right response was received.
568 			<enum 23 ul_mu_ranging_cts2s_expected>When selected, CTS2S
569 			 frames are expected to be received in MU reception (uplink
570 			 OFDMA)
571 
572 			RXPCU shall check each response for CTS2S and report to
573 			TXPCU.
574 
575 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
576 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed CTS2S
577 			 frames were received.
578 			<enum 24 ul_mu_ranging_ndp_expected>When selected, UL NDP
579 			 frames are expected to be received in MU reception (uplink
580 			 spatial multiplexing)
581 
582 			RXPCU shall check each response for NDP and report to TXPCU.
583 
584 
585 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
586 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed NDP
587 			 frames were received.
588 			<enum 25 ul_mu_ranging_lmr_expected>When selected, LMR frames
589 			 are expected to be received in MU reception (uplink OFDMA
590 			 or uplink MIMO)
591 
592 			RXPCU shall check each response for LMR and report to TXPCU.
593 
594 
595 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
596 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed LMR
597 			 frames were received.
598 */
599 
600 #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_OFFSET                               0x0000000000000008
601 #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_LSB                                  59
602 #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_MSB                                  63
603 #define TX_FES_STATUS_START_PPDU_RESPONSE_TYPE_MASK                                 0xf800000000000000
604 
605 
606 
607 #endif   // TX_FES_STATUS_START_PPDU
608