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