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