xref: /wlan-driver/fw-api/hw/qca5332/tx_fes_status_start_prot.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_PROT_H_
27 #define _TX_FES_STATUS_START_PROT_H_
28 #if !defined(__ASSEMBLER__)
29 #endif
30 
31 #define NUM_OF_DWORDS_TX_FES_STATUS_START_PROT 4
32 
33 #define NUM_OF_QWORDS_TX_FES_STATUS_START_PROT 2
34 
35 
36 struct tx_fes_status_start_prot {
37 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
38              uint32_t prot_timestamp_lower_32                                 : 32; // [31:0]
39              uint32_t prot_timestamp_upper_32                                 : 32; // [31:0]
40              uint32_t subband_mask                                            : 16, // [15:0]
41                       reserved_2b                                             :  4, // [19:16]
42                       prot_coex_based_tx_bw                                   :  3, // [22:20]
43                       prot_coex_based_ant_mask                                :  8, // [30:23]
44                       prot_coex_result_alt_based                              :  1; // [31:31]
45              uint32_t prot_coex_tx_pwr_shared_ant                             :  8, // [7:0]
46                       prot_coex_tx_pwr_ant                                    :  8, // [15:8]
47                       prot_concurrent_bt_tx                                   :  1, // [16:16]
48                       prot_concurrent_wlan_tx                                 :  1, // [17:17]
49                       prot_concurrent_wan_tx                                  :  1, // [18:18]
50                       prot_concurrent_wan_rx                                  :  1, // [19:19]
51                       prot_coex_pwr_reduction_bt                              :  1, // [20:20]
52                       prot_coex_pwr_reduction_wlan                            :  1, // [21:21]
53                       prot_coex_pwr_reduction_wan                             :  1, // [22:22]
54                       prot_request_packet_bw                                  :  3, // [25:23]
55                       response_type                                           :  5, // [30:26]
56                       reserved_3a                                             :  1; // [31:31]
57 #else
58              uint32_t prot_timestamp_lower_32                                 : 32; // [31:0]
59              uint32_t prot_timestamp_upper_32                                 : 32; // [31:0]
60              uint32_t prot_coex_result_alt_based                              :  1, // [31:31]
61                       prot_coex_based_ant_mask                                :  8, // [30:23]
62                       prot_coex_based_tx_bw                                   :  3, // [22:20]
63                       reserved_2b                                             :  4, // [19:16]
64                       subband_mask                                            : 16; // [15:0]
65              uint32_t reserved_3a                                             :  1, // [31:31]
66                       response_type                                           :  5, // [30:26]
67                       prot_request_packet_bw                                  :  3, // [25:23]
68                       prot_coex_pwr_reduction_wan                             :  1, // [22:22]
69                       prot_coex_pwr_reduction_wlan                            :  1, // [21:21]
70                       prot_coex_pwr_reduction_bt                              :  1, // [20:20]
71                       prot_concurrent_wan_rx                                  :  1, // [19:19]
72                       prot_concurrent_wan_tx                                  :  1, // [18:18]
73                       prot_concurrent_wlan_tx                                 :  1, // [17:17]
74                       prot_concurrent_bt_tx                                   :  1, // [16:16]
75                       prot_coex_tx_pwr_ant                                    :  8, // [15:8]
76                       prot_coex_tx_pwr_shared_ant                             :  8; // [7:0]
77 #endif
78 };
79 
80 
81 /* Description		PROT_TIMESTAMP_LOWER_32
82 
83 			Global timer value at start of Protection transmission
84 */
85 
86 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_LOWER_32_OFFSET                     0x0000000000000000
87 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_LOWER_32_LSB                        0
88 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_LOWER_32_MSB                        31
89 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_LOWER_32_MASK                       0x00000000ffffffff
90 
91 
92 /* Description		PROT_TIMESTAMP_UPPER_32
93 
94 			Global timer value at start of Protection transmission
95 */
96 
97 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_UPPER_32_OFFSET                     0x0000000000000000
98 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_UPPER_32_LSB                        32
99 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_UPPER_32_MSB                        63
100 #define TX_FES_STATUS_START_PROT_PROT_TIMESTAMP_UPPER_32_MASK                       0xffffffff00000000
101 
102 
103 /* Description		SUBBAND_MASK
104 
105 			This mask indicates which 20 Mhz channels are actively used
106 			 in the BW or puncture pattern selected for transmit.
107 
108 			Bit 0: primary 20 Mhz
109 			Bit 1: secondary 20 MHz
110 			Etc.
111 
112 			Hamilton v1 used bits [5:1] for the 'Response_type' expected.
113 
114 			<legal all>
115 */
116 
117 #define TX_FES_STATUS_START_PROT_SUBBAND_MASK_OFFSET                                0x0000000000000008
118 #define TX_FES_STATUS_START_PROT_SUBBAND_MASK_LSB                                   0
119 #define TX_FES_STATUS_START_PROT_SUBBAND_MASK_MSB                                   15
120 #define TX_FES_STATUS_START_PROT_SUBBAND_MASK_MASK                                  0x000000000000ffff
121 
122 
123 /* Description		RESERVED_2B
124 
125 			<legal 0>
126 */
127 
128 #define TX_FES_STATUS_START_PROT_RESERVED_2B_OFFSET                                 0x0000000000000008
129 #define TX_FES_STATUS_START_PROT_RESERVED_2B_LSB                                    16
130 #define TX_FES_STATUS_START_PROT_RESERVED_2B_MSB                                    19
131 #define TX_FES_STATUS_START_PROT_RESERVED_2B_MASK                                   0x00000000000f0000
132 
133 
134 /* Description		PROT_COEX_BASED_TX_BW
135 
136 			Field valid for Protection frame transmission
137 
138 			This is the transmit bandwidth value
139 			that is granted by Coex.
140 
141 			<enum 0 20_mhz>20 Mhz BW
142 			<enum 1 40_mhz>40 Mhz BW
143 			<enum 2 80_mhz>80 Mhz BW
144 			<enum 3 160_mhz>160 Mhz BW
145 			<enum 4 320_mhz>320 Mhz BW
146 			<enum 5 240_mhz>240 Mhz BW
147 */
148 
149 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_TX_BW_OFFSET                       0x0000000000000008
150 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_TX_BW_LSB                          20
151 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_TX_BW_MSB                          22
152 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_TX_BW_MASK                         0x0000000000700000
153 
154 
155 /* Description		PROT_COEX_BASED_ANT_MASK
156 
157 			Field valid for Protection frame transmission
158 
159 			The antennas allowed to be used for this transmission.
160 			(Coex is allowed to reduce the number of antennas to be
161 			used, but not the number of SS)
162 			<legal all>
163 */
164 
165 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_ANT_MASK_OFFSET                    0x0000000000000008
166 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_ANT_MASK_LSB                       23
167 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_ANT_MASK_MSB                       30
168 #define TX_FES_STATUS_START_PROT_PROT_COEX_BASED_ANT_MASK_MASK                      0x000000007f800000
169 
170 
171 /* Description		PROT_COEX_RESULT_ALT_BASED
172 
173 			Field valid for Protection frame transmission
174 
175 			When set, the resulting Coex transmit parameters are based
176 			 alternate transmit settings in the TX_RATE_SETTING STRUCT
177 			 of the original selected BW
178 
179 			When not set, the resulting Coex parameters are based on
180 			 the default transmit settings in the TX_RATE_SETTING STRUCT
181 
182 
183 			<legal all>
184 */
185 
186 #define TX_FES_STATUS_START_PROT_PROT_COEX_RESULT_ALT_BASED_OFFSET                  0x0000000000000008
187 #define TX_FES_STATUS_START_PROT_PROT_COEX_RESULT_ALT_BASED_LSB                     31
188 #define TX_FES_STATUS_START_PROT_PROT_COEX_RESULT_ALT_BASED_MSB                     31
189 #define TX_FES_STATUS_START_PROT_PROT_COEX_RESULT_ALT_BASED_MASK                    0x0000000080000000
190 
191 
192 /* Description		PROT_COEX_TX_PWR_SHARED_ANT
193 
194 			Field valid for Protection frame transmission
195 
196 			Transmit Power in s6.2 format.
197 			In units of 0.25 dBm
198 			<legal all>
199 */
200 
201 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_SHARED_ANT_OFFSET                 0x0000000000000008
202 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_SHARED_ANT_LSB                    32
203 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_SHARED_ANT_MSB                    39
204 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_SHARED_ANT_MASK                   0x000000ff00000000
205 
206 
207 /* Description		PROT_COEX_TX_PWR_ANT
208 
209 			Field valid for Protection frame transmission
210 
211 			Transmit Power in s6.2 format.
212 			In units of 0.25 dBm
213 			<legal all>
214 */
215 
216 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_ANT_OFFSET                        0x0000000000000008
217 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_ANT_LSB                           40
218 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_ANT_MSB                           47
219 #define TX_FES_STATUS_START_PROT_PROT_COEX_TX_PWR_ANT_MASK                          0x0000ff0000000000
220 
221 
222 /* Description		PROT_CONCURRENT_BT_TX
223 
224 			Field valid for Protection frame transmission
225 
226 			Indicate the current TX is concurrent with a BT transmission.
227 			This bit is to be copied over into the FES status info.
228 
229 			<legal all>
230 */
231 
232 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_BT_TX_OFFSET                       0x0000000000000008
233 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_BT_TX_LSB                          48
234 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_BT_TX_MSB                          48
235 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_BT_TX_MASK                         0x0001000000000000
236 
237 
238 /* Description		PROT_CONCURRENT_WLAN_TX
239 
240 			Field valid for Protection frame transmission
241 
242 			Indicate the current TX is concurrent with other WLAN transmission.
243 			This bit is to be copied over into FES status info. <legal
244 			 all>
245 */
246 
247 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WLAN_TX_OFFSET                     0x0000000000000008
248 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WLAN_TX_LSB                        49
249 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WLAN_TX_MSB                        49
250 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WLAN_TX_MASK                       0x0002000000000000
251 
252 
253 /* Description		PROT_CONCURRENT_WAN_TX
254 
255 			Field valid for Protection frame transmission
256 
257 			Indicate the current TX is concurrent with WAN transmission.
258 			This bit is to be copied over into FES status info.
259 			<legal all>
260 */
261 
262 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_TX_OFFSET                      0x0000000000000008
263 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_TX_LSB                         50
264 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_TX_MSB                         50
265 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_TX_MASK                        0x0004000000000000
266 
267 
268 /* Description		PROT_CONCURRENT_WAN_RX
269 
270 			Field valid for Protection frame transmission
271 
272 			Indicate the current TX is concurrent with WAN reception.
273 			This bit is to be copied over into FES status info.
274 			<legal all>
275 */
276 
277 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_RX_OFFSET                      0x0000000000000008
278 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_RX_LSB                         51
279 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_RX_MSB                         51
280 #define TX_FES_STATUS_START_PROT_PROT_CONCURRENT_WAN_RX_MASK                        0x0008000000000000
281 
282 
283 /* Description		PROT_COEX_PWR_REDUCTION_BT
284 
285 			When set, transmit power for the protection frame is reduced
286 			 due to BT coex reason
287 			<legal all>
288 */
289 
290 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_BT_OFFSET                  0x0000000000000008
291 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_BT_LSB                     52
292 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_BT_MSB                     52
293 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_BT_MASK                    0x0010000000000000
294 
295 
296 /* Description		PROT_COEX_PWR_REDUCTION_WLAN
297 
298 			When set, transmit power  for the protection frame is reduced
299 			 due to wlan coex reason
300 			<legal all>
301 */
302 
303 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WLAN_OFFSET                0x0000000000000008
304 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WLAN_LSB                   53
305 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WLAN_MSB                   53
306 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WLAN_MASK                  0x0020000000000000
307 
308 
309 /* Description		PROT_COEX_PWR_REDUCTION_WAN
310 
311 			When set, transmit power for the protection frame is reduced
312 			 due to wan coex reason
313 			<legal all>
314 */
315 
316 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WAN_OFFSET                 0x0000000000000008
317 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WAN_LSB                    54
318 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WAN_MSB                    54
319 #define TX_FES_STATUS_START_PROT_PROT_COEX_PWR_REDUCTION_WAN_MASK                   0x0040000000000000
320 
321 
322 /* Description		PROT_REQUEST_PACKET_BW
323 
324 			The requested transmit BW to PDG
325 			Note that Coex can have changed the actual allowed transmit
326 			 bandwidth.
327 
328 			<enum 0 20_mhz>20 Mhz BW
329 			<enum 1 40_mhz>40 Mhz BW
330 			<enum 2 80_mhz>80 Mhz BW
331 			<enum 3 160_mhz>160 Mhz BW
332 			<enum 4 320_mhz>320 Mhz BW
333 			<enum 5 240_mhz>240 Mhz BW
334 */
335 
336 #define TX_FES_STATUS_START_PROT_PROT_REQUEST_PACKET_BW_OFFSET                      0x0000000000000008
337 #define TX_FES_STATUS_START_PROT_PROT_REQUEST_PACKET_BW_LSB                         55
338 #define TX_FES_STATUS_START_PROT_PROT_REQUEST_PACKET_BW_MSB                         57
339 #define TX_FES_STATUS_START_PROT_PROT_REQUEST_PACKET_BW_MASK                        0x0380000000000000
340 
341 
342 /* Description		RESPONSE_TYPE
343 
344 			PPDU transmission Response type expected
345 
346 			<enum 0 no_response_expected>After transmission of this
347 			frame, no response in SIFS time is expected
348 
349 			When TXPCU sees this setting, it shall not generated the
350 			 EXPECTED_RESPONSE TLV.
351 
352 			RXPCU should never see this setting
353 			<enum 1 ack_expected>An ACK frame is expected as response
354 
355 
356 			RXPCU is just expecting any response. It is TXPCU who checks
357 			 that the right response was received.
358 			<enum 2 ba_64_bitmap_expected>BA with 64 bitmap is expected.
359 
360 
361 			PDG DOES NOT use the size info to calculated response duration.
362 			The length of the response will have to be programmed by
363 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
364 
365 			For TXPCU only the fact that it is a BA is important. Actual
366 			 received BA size is not important
367 
368 			RXPCU is just expecting any response. It is TXPCU who checks
369 			 that the right response was received.
370 			<enum 3 ba_256_expected>BA with 256 bitmap is expected.
371 
372 			PDG DOES NOT use the size info to calculated response duration.
373 			The length of the response will have to be programmed by
374 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
375 
376 			For TXPCU only the fact that it is a BA is important. Actual
377 			 received BA size is not important
378 
379 			RXPCU is just expecting any response. It is TXPCU who checks
380 			 that the right response was received.
381 			<enum 4 actionnoack_expected>SW sets this after sending
382 			NDP or BR-Poll.
383 
384 			As PDG has no idea on how long the reception is going to
385 			 be, the reception time of the response will have to be
386 			programmed by SW in the 'Extend_duration_value_bw...' field
387 
388 
389 			RXPCU is just expecting any response. It is TXPCU who checks
390 			 that the right response was received.
391 			<enum 5 ack_ba_expected>PDG uses the size info and assumes
392 			 single BA format with ACK and 64 bitmap embedded.
393 			If SW expects more bitmaps in case of multi-TID, is shall
394 			 program the 'Extend_duration_value_bw...' field for additional
395 			 duration time.
396 			For TXPCU only the fact that an ACK and/or BA is received
397 			 is important. Reception of only ACK or BA is also considered
398 			 a success.
399 			SW also typically sets this when sending VHT single MPDU.
400 			Some chip vendors might send BA rather than ACK in response
401 			 to VHT single MPDU but still we want to accept BA as well.
402 
403 
404 			RXPCU is just expecting any response. It is TXPCU who checks
405 			 that the right response was received.
406 			<enum 6 cts_expected>SW sets this after queuing RTS frame
407 			 as standalone packet and sending it.
408 
409 			RXPCU is just expecting any response. It is TXPCU who checks
410 			 that the right response was received.
411 			<enum 7 ack_data_expected>SW sets this after sending PS-Poll.
412 
413 
414 			For TXPCU either ACK and/or data reception is considered
415 			 success.
416 			PDG basis it's response duration calculation on an ACK.
417 			For the data portion, SW shall program the 'Extend_duration_value_bw...'
418 			field
419 			<enum 8 ndp_ack_expected>Reserved for 11ah usage.
420 			<enum 9 ndp_modified_ack>Reserved for 11ah usage
421 			<enum 10 ndp_ba_expected>Reserved for 11ah usage.
422 			<enum 11 ndp_cts_expected>Reserved for 11ah usage
423 			<enum 12 ndp_ack_or_ndp_modified_ack_expected>Reserved for
424 			 11ah usage
425 			<enum 13 ul_mu_ba_expected>NOT SUPPORTED IN NAPIER AX AND
426 			 HASTINGS
427 
428 			TXPCU expects UL MU OFDMA or UL MU MIMO reception.
429 			As PDG does not know how RUs are assigned for the uplink
430 			 portion, PDG can not calculate the uplink duration. Therefor
431 			 SW shall program the 'Extend_duration_value_bw...' field
432 
433 
434 			RXPCU will report any frame received, irrespective of it
435 			 having been UL MU or SU It is TXPCUs responsibility to
436 			distinguish between the UL MU or SU
437 
438 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO MU_Response_BA_bitmap
439 			 if indeed BA was received
440 			<enum 14 ul_mu_ba_and_data_expected>NOT SUPPORTED IN NAPIER
441 			 AX AND HASTINGS
442 
443 			TXPCU expects UL MU OFDMA or UL MU MIMO reception.
444 			As PDG does not know how RUs are assigned for the uplink
445 			 portion, PDG can not calculate the uplink duration. Therefor
446 			 SW shall program the 'Extend_duration_value_bw...' field
447 
448 
449 			RXPCU will report any frame received, irrespective of it
450 			 having been UL MU or SU It is TXPCUs responsibility to
451 			distinguish between the UL MU or SU
452 
453 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_data_bitmap
454 			 and MU_Response_BA_bitmap if indeed BA and data was received
455 
456 			<enum 15 ul_mu_cbf_expected>NOT SUPPORTED IN NAPIER AX AND
457 			 HASTINGS
458 
459 			When selected, CBF frames are expected to be received in
460 			 MU reception (uplink OFDMA or uplink MIMO)
461 
462 			RXPCU is just expecting any response. It is TXPCU who checks
463 			 that the right response was received
464 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_cbf_bitmap
465 			 if indeed CBF frames were received.
466 			<enum 16 ul_mu_frames_expected>When selected, MPDU frames
467 			 are expected in the MU reception (uplink OFDMA or uplink
468 			 MIMO)
469 
470 			RXPCU is just expecting any response. It is TXPCU who checks
471 			 that the right response was received
472 
473 			TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_bitmap
474 			 if indeed frames were received.
475 			<enum 17 any_response_to_this_device>Any response expected
476 			 to be send to this device in SIFS time is acceptable.
477 
478 			RXPCU is just expecting any response. It is TXPCU who checks
479 			 that the right response was received
480 
481 			For TXPCU, UL MU or SU is both acceptable.
482 
483 			Can be used for complex OFDMA scenarios. PDG can not calculate
484 			 the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
485 			field
486 			<enum 18 any_response_accepted>Any frame in the medium to
487 			 this or any other device, is acceptable as response.
488 			RXPCU is just expecting any response. It is TXPCU who checks
489 			 that the right response was received
490 
491 			For TXPCU, UL MU or SU is both acceptable.
492 
493 			Can be used for complex OFDMA scenarios. PDG can not calculate
494 			 the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...'
495 			field
496 			<enum 19 frameless_phyrx_response_accepted>Any MU frameless
497 			 reception generated by the PHY is acceptable.
498 
499 			PHY indicates this type of reception explicitly in TLV PHYRX_RSSI_LEGACY,
500 			field Reception_type == reception_is_frameless
501 
502 			RXPCU will report any frame received, irrespective of it
503 			 having been UL MU or SU.
504 
505 			This can be used for complex MU-MIMO or OFDMA scenarios,
506 			like receiving MU-CTS.
507 
508 			PDG can not calculate the uplink duration. Therefor SW shall
509 			 program the 'Extend_duration_value_bw...' field
510 			<enum 20 ranging_ndp_and_lmr_expected>SW sets this after
511 			 sending ranging NDPA followed by NDP as an ISTA and NDP
512 			 and LMR (Action No Ack) are expected as back-to-back reception
513 			 in SIFS.
514 
515 			As PDG has no idea on how long the reception is going to
516 			 be, the reception time of the response will have to be
517 			programmed by SW in the 'Extend_duration_value_bw...' field
518 
519 
520 			RXPCU is just expecting any response. It is TXPCU who checks
521 			 that the right response was received.
522 			<enum 21 ba_512_expected>BA with 512 bitmap is expected.
523 
524 
525 			PDG DOES NOT use the size info to calculated response duration.
526 			The length of the response will have to be programmed by
527 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
528 
529 			For TXPCU only the fact that it is a BA is important. Actual
530 			 received BA size is not important
531 
532 			RXPCU is just expecting any response. It is TXPCU who checks
533 			 that the right response was received.
534 			<enum 22 ba_1024_expected>BA with 1024 bitmap is expected.
535 
536 
537 			PDG DOES NOT use the size info to calculated response duration.
538 			The length of the response will have to be programmed by
539 			 SW in the per-BW 'Expected_ppdu_resp_length' field.
540 
541 			For TXPCU only the fact that it is a BA is important. Actual
542 			 received BA size is not important
543 
544 			RXPCU is just expecting any response. It is TXPCU who checks
545 			 that the right response was received.
546 			<enum 23 ul_mu_ranging_cts2s_expected>When selected, CTS2S
547 			 frames are expected to be received in MU reception (uplink
548 			 OFDMA)
549 
550 			RXPCU shall check each response for CTS2S and report to
551 			TXPCU.
552 
553 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
554 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed CTS2S
555 			 frames were received.
556 			<enum 24 ul_mu_ranging_ndp_expected>When selected, UL NDP
557 			 frames are expected to be received in MU reception (uplink
558 			 spatial multiplexing)
559 
560 			RXPCU shall check each response for NDP and report to TXPCU.
561 
562 
563 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
564 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed NDP
565 			 frames were received.
566 			<enum 25 ul_mu_ranging_lmr_expected>When selected, LMR frames
567 			 are expected to be received in MU reception (uplink OFDMA
568 			 or uplink MIMO)
569 
570 			RXPCU shall check each response for LMR and report to TXPCU.
571 
572 
573 			TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields
574 			 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed LMR
575 			 frames were received.
576 */
577 
578 #define TX_FES_STATUS_START_PROT_RESPONSE_TYPE_OFFSET                               0x0000000000000008
579 #define TX_FES_STATUS_START_PROT_RESPONSE_TYPE_LSB                                  58
580 #define TX_FES_STATUS_START_PROT_RESPONSE_TYPE_MSB                                  62
581 #define TX_FES_STATUS_START_PROT_RESPONSE_TYPE_MASK                                 0x7c00000000000000
582 
583 
584 /* Description		RESERVED_3A
585 
586 */
587 
588 #define TX_FES_STATUS_START_PROT_RESERVED_3A_OFFSET                                 0x0000000000000008
589 #define TX_FES_STATUS_START_PROT_RESERVED_3A_LSB                                    63
590 #define TX_FES_STATUS_START_PROT_RESERVED_3A_MSB                                    63
591 #define TX_FES_STATUS_START_PROT_RESERVED_3A_MASK                                   0x8000000000000000
592 
593 
594 
595 #endif   // TX_FES_STATUS_START_PROT
596