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