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 _RX_RESPONSE_REQUIRED_INFO_H_ 27 #define _RX_RESPONSE_REQUIRED_INFO_H_ 28 #if !defined(__ASSEMBLER__) 29 #endif 30 31 #include "mlo_sta_id_details.h" 32 #define NUM_OF_DWORDS_RX_RESPONSE_REQUIRED_INFO 16 33 34 #define NUM_OF_QWORDS_RX_RESPONSE_REQUIRED_INFO 8 35 36 37 struct rx_response_required_info { 38 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 39 uint32_t phy_ppdu_id : 16, // [15:0] 40 su_or_uplink_mu_reception : 1, // [16:16] 41 trigger_frame_received : 1, // [17:17] 42 ftm_tm : 2, // [19:18] 43 tb_ranging_response_required : 2, // [21:20] 44 mac_security : 1, // [22:22] 45 filter_pass_monitor_ovrd : 1, // [23:23] 46 ast_search_incomplete : 1, // [24:24] 47 r2r_end_status_to_follow : 1, // [25:25] 48 reserved_0a : 2, // [27:26] 49 three_or_more_type_subtypes : 1, // [28:28] 50 wait_sifs_config_valid : 1, // [29:29] 51 wait_sifs : 2; // [31:30] 52 uint32_t general_frame_control : 16, // [15:0] 53 second_frame_control : 16; // [31:16] 54 uint32_t duration : 16, // [15:0] 55 pkt_type : 4, // [19:16] 56 dot11ax_su_extended : 1, // [20:20] 57 rate_mcs : 4, // [24:21] 58 sgi : 2, // [26:25] 59 stbc : 1, // [27:27] 60 ldpc : 1, // [28:28] 61 ampdu : 1, // [29:29] 62 vht_ack : 1, // [30:30] 63 rts_ta_grp_bit : 1; // [31:31] 64 uint32_t ctrl_frame_soliciting_resp : 1, // [0:0] 65 ast_fail_for_dot11ax_su_ext : 1, // [1:1] 66 service_dynamic : 1, // [2:2] 67 m_pkt : 1, // [3:3] 68 sta_partial_aid : 12, // [15:4] 69 group_id : 6, // [21:16] 70 ctrl_resp_pwr_mgmt : 1, // [22:22] 71 response_indication : 2, // [24:23] 72 ndp_indication : 1, // [25:25] 73 ndp_frame_type : 3, // [28:26] 74 second_frame_control_valid : 1, // [29:29] 75 reserved_3a : 2; // [31:30] 76 uint32_t ack_id : 16, // [15:0] 77 ack_id_ext : 10, // [25:16] 78 agc_cbw : 3, // [28:26] 79 service_cbw : 3; // [31:29] 80 uint32_t response_sta_count : 7, // [6:0] 81 reserved : 4, // [10:7] 82 ht_vht_sig_cbw : 3, // [13:11] 83 cts_cbw : 3, // [16:14] 84 response_ack_count : 7, // [23:17] 85 response_assoc_ack_count : 7, // [30:24] 86 txop_duration_all_ones : 1; // [31:31] 87 uint32_t response_ba32_count : 7, // [6:0] 88 response_ba64_count : 7, // [13:7] 89 response_ba128_count : 7, // [20:14] 90 response_ba256_count : 7, // [27:21] 91 multi_tid : 1, // [28:28] 92 sw_response_tlv_from_crypto : 1, // [29:29] 93 dot11ax_dl_ul_flag : 1, // [30:30] 94 reserved_6a : 1; // [31:31] 95 uint32_t sw_response_frame_length : 16, // [15:0] 96 response_ba512_count : 7, // [22:16] 97 response_ba1024_count : 7, // [29:23] 98 reserved_7a : 2; // [31:30] 99 uint32_t addr1_31_0 : 32; // [31:0] 100 uint32_t addr1_47_32 : 16, // [15:0] 101 addr2_15_0 : 16; // [31:16] 102 uint32_t addr2_47_16 : 32; // [31:0] 103 uint32_t dot11ax_received_format_indication : 1, // [0:0] 104 dot11ax_received_dl_ul_flag : 1, // [1:1] 105 dot11ax_received_bss_color_id : 6, // [7:2] 106 dot11ax_received_spatial_reuse : 4, // [11:8] 107 dot11ax_received_cp_size : 2, // [13:12] 108 dot11ax_received_ltf_size : 2, // [15:14] 109 dot11ax_received_coding : 1, // [16:16] 110 dot11ax_received_dcm : 1, // [17:17] 111 dot11ax_received_doppler_indication : 1, // [18:18] 112 dot11ax_received_ext_ru_size : 4, // [22:19] 113 ftm_fields_valid : 1, // [23:23] 114 ftm_pe_nss : 3, // [26:24] 115 ftm_pe_ltf_size : 2, // [28:27] 116 ftm_pe_content : 1, // [29:29] 117 ftm_chain_csd_en : 1, // [30:30] 118 ftm_pe_chain_csd_en : 1; // [31:31] 119 uint32_t dot11ax_response_rate_source : 8, // [7:0] 120 dot11ax_ext_response_rate_source : 8, // [15:8] 121 sw_peer_id : 16; // [31:16] 122 uint32_t dot11be_puncture_bitmap : 16, // [15:0] 123 dot11be_response : 1, // [16:16] 124 punctured_response : 1, // [17:17] 125 eht_duplicate_mode : 2, // [19:18] 126 force_extra_symbol : 1, // [20:20] 127 reserved_13a : 5, // [25:21] 128 u_sig_puncture_pattern_encoding : 6; // [31:26] 129 struct mlo_sta_id_details mlo_sta_id_details_rx; 130 uint16_t he_a_control_response_time : 12, // [27:16] 131 reserved_after_struct16 : 4; // [31:28] 132 uint32_t tlv64_padding : 32; // [31:0] 133 #else 134 uint32_t wait_sifs : 2, // [31:30] 135 wait_sifs_config_valid : 1, // [29:29] 136 three_or_more_type_subtypes : 1, // [28:28] 137 reserved_0a : 2, // [27:26] 138 r2r_end_status_to_follow : 1, // [25:25] 139 ast_search_incomplete : 1, // [24:24] 140 filter_pass_monitor_ovrd : 1, // [23:23] 141 mac_security : 1, // [22:22] 142 tb_ranging_response_required : 2, // [21:20] 143 ftm_tm : 2, // [19:18] 144 trigger_frame_received : 1, // [17:17] 145 su_or_uplink_mu_reception : 1, // [16:16] 146 phy_ppdu_id : 16; // [15:0] 147 uint32_t second_frame_control : 16, // [31:16] 148 general_frame_control : 16; // [15:0] 149 uint32_t rts_ta_grp_bit : 1, // [31:31] 150 vht_ack : 1, // [30:30] 151 ampdu : 1, // [29:29] 152 ldpc : 1, // [28:28] 153 stbc : 1, // [27:27] 154 sgi : 2, // [26:25] 155 rate_mcs : 4, // [24:21] 156 dot11ax_su_extended : 1, // [20:20] 157 pkt_type : 4, // [19:16] 158 duration : 16; // [15:0] 159 uint32_t reserved_3a : 2, // [31:30] 160 second_frame_control_valid : 1, // [29:29] 161 ndp_frame_type : 3, // [28:26] 162 ndp_indication : 1, // [25:25] 163 response_indication : 2, // [24:23] 164 ctrl_resp_pwr_mgmt : 1, // [22:22] 165 group_id : 6, // [21:16] 166 sta_partial_aid : 12, // [15:4] 167 m_pkt : 1, // [3:3] 168 service_dynamic : 1, // [2:2] 169 ast_fail_for_dot11ax_su_ext : 1, // [1:1] 170 ctrl_frame_soliciting_resp : 1; // [0:0] 171 uint32_t service_cbw : 3, // [31:29] 172 agc_cbw : 3, // [28:26] 173 ack_id_ext : 10, // [25:16] 174 ack_id : 16; // [15:0] 175 uint32_t txop_duration_all_ones : 1, // [31:31] 176 response_assoc_ack_count : 7, // [30:24] 177 response_ack_count : 7, // [23:17] 178 cts_cbw : 3, // [16:14] 179 ht_vht_sig_cbw : 3, // [13:11] 180 reserved : 4, // [10:7] 181 response_sta_count : 7; // [6:0] 182 uint32_t reserved_6a : 1, // [31:31] 183 dot11ax_dl_ul_flag : 1, // [30:30] 184 sw_response_tlv_from_crypto : 1, // [29:29] 185 multi_tid : 1, // [28:28] 186 response_ba256_count : 7, // [27:21] 187 response_ba128_count : 7, // [20:14] 188 response_ba64_count : 7, // [13:7] 189 response_ba32_count : 7; // [6:0] 190 uint32_t reserved_7a : 2, // [31:30] 191 response_ba1024_count : 7, // [29:23] 192 response_ba512_count : 7, // [22:16] 193 sw_response_frame_length : 16; // [15:0] 194 uint32_t addr1_31_0 : 32; // [31:0] 195 uint32_t addr2_15_0 : 16, // [31:16] 196 addr1_47_32 : 16; // [15:0] 197 uint32_t addr2_47_16 : 32; // [31:0] 198 uint32_t ftm_pe_chain_csd_en : 1, // [31:31] 199 ftm_chain_csd_en : 1, // [30:30] 200 ftm_pe_content : 1, // [29:29] 201 ftm_pe_ltf_size : 2, // [28:27] 202 ftm_pe_nss : 3, // [26:24] 203 ftm_fields_valid : 1, // [23:23] 204 dot11ax_received_ext_ru_size : 4, // [22:19] 205 dot11ax_received_doppler_indication : 1, // [18:18] 206 dot11ax_received_dcm : 1, // [17:17] 207 dot11ax_received_coding : 1, // [16:16] 208 dot11ax_received_ltf_size : 2, // [15:14] 209 dot11ax_received_cp_size : 2, // [13:12] 210 dot11ax_received_spatial_reuse : 4, // [11:8] 211 dot11ax_received_bss_color_id : 6, // [7:2] 212 dot11ax_received_dl_ul_flag : 1, // [1:1] 213 dot11ax_received_format_indication : 1; // [0:0] 214 uint32_t sw_peer_id : 16, // [31:16] 215 dot11ax_ext_response_rate_source : 8, // [15:8] 216 dot11ax_response_rate_source : 8; // [7:0] 217 uint32_t u_sig_puncture_pattern_encoding : 6, // [31:26] 218 reserved_13a : 5, // [25:21] 219 force_extra_symbol : 1, // [20:20] 220 eht_duplicate_mode : 2, // [19:18] 221 punctured_response : 1, // [17:17] 222 dot11be_response : 1, // [16:16] 223 dot11be_puncture_bitmap : 16; // [15:0] 224 uint32_t reserved_after_struct16 : 4, // [31:28] 225 he_a_control_response_time : 12; // [27:16] 226 struct mlo_sta_id_details mlo_sta_id_details_rx; 227 uint32_t tlv64_padding : 32; // [31:0] 228 #endif 229 }; 230 231 232 /* Description PHY_PPDU_ID 233 234 A ppdu counter value that PHY increments for every PPDU 235 received. The counter value wraps around 236 <legal all> 237 */ 238 239 #define RX_RESPONSE_REQUIRED_INFO_PHY_PPDU_ID_OFFSET 0x0000000000000000 240 #define RX_RESPONSE_REQUIRED_INFO_PHY_PPDU_ID_LSB 0 241 #define RX_RESPONSE_REQUIRED_INFO_PHY_PPDU_ID_MSB 15 242 #define RX_RESPONSE_REQUIRED_INFO_PHY_PPDU_ID_MASK 0x000000000000ffff 243 244 245 /* Description SU_OR_UPLINK_MU_RECEPTION 246 247 <enum 0 Reception_is_SU> This TLV is the result of an SU 248 reception. Note that this can be regular SU reception or 249 an SU reception as part of a downlink MU - MIMO/OFDMA transmission. 250 251 252 <enum 1 Reception_is_MU> This TLV is the result of an MU_OFDMA 253 uplink reception or MU_MIMO uplink reception 254 255 NOTE:When a STA receives a downlink MU-MIMO or DL MU_OFDMA, 256 this field shall still be set to Reception_is_SU. From the 257 STA perspective, it is only receiving from one other device. 258 259 260 <legal all> 261 */ 262 263 #define RX_RESPONSE_REQUIRED_INFO_SU_OR_UPLINK_MU_RECEPTION_OFFSET 0x0000000000000000 264 #define RX_RESPONSE_REQUIRED_INFO_SU_OR_UPLINK_MU_RECEPTION_LSB 16 265 #define RX_RESPONSE_REQUIRED_INFO_SU_OR_UPLINK_MU_RECEPTION_MSB 16 266 #define RX_RESPONSE_REQUIRED_INFO_SU_OR_UPLINK_MU_RECEPTION_MASK 0x0000000000010000 267 268 269 /* Description TRIGGER_FRAME_RECEIVED 270 271 Field only valid in case of SU_or_uplink_MU_reception = 272 Reception_is_SU 273 274 When set, this TLV has been sent because a trigger frame 275 has been received. 276 277 Note that in case there were other frames received as well 278 that required an immediate response, like data or management 279 frames, this will still be indicated here in this TLV with 280 the fields "Response_..._count". 281 <legal all> 282 */ 283 284 #define RX_RESPONSE_REQUIRED_INFO_TRIGGER_FRAME_RECEIVED_OFFSET 0x0000000000000000 285 #define RX_RESPONSE_REQUIRED_INFO_TRIGGER_FRAME_RECEIVED_LSB 17 286 #define RX_RESPONSE_REQUIRED_INFO_TRIGGER_FRAME_RECEIVED_MSB 17 287 #define RX_RESPONSE_REQUIRED_INFO_TRIGGER_FRAME_RECEIVED_MASK 0x0000000000020000 288 289 290 /* Description FTM_TM 291 292 Field only valid in case of SU_or_uplink_MU_reception = 293 Reception_is_SU 294 295 This field Indicates if the response is related to receiving 296 a TM or FTM frame 297 298 0: no TM and no FTM frame => there is NO measurement done 299 300 1: FTM frame 301 2: TM frame 302 3: reserved 303 */ 304 305 #define RX_RESPONSE_REQUIRED_INFO_FTM_TM_OFFSET 0x0000000000000000 306 #define RX_RESPONSE_REQUIRED_INFO_FTM_TM_LSB 18 307 #define RX_RESPONSE_REQUIRED_INFO_FTM_TM_MSB 19 308 #define RX_RESPONSE_REQUIRED_INFO_FTM_TM_MASK 0x00000000000c0000 309 310 311 /* Description TB_RANGING_RESPONSE_REQUIRED 312 313 Field only valid in case of TB Ranging 314 <enum 0 No_TB_Ranging_Resp> 315 <enum 1 CTS2S_Resp_to_TF_poll > TXPCU to generate CTS-to-self 316 in TB response 317 <enum 2 LMR_Resp_to_TF_report> TXPCU to generate LMR in 318 TB response 319 <enum 3 NDP_Resp_to_TF_sound> DO NOT USE. 320 <legal 0-3> 321 */ 322 323 #define RX_RESPONSE_REQUIRED_INFO_TB_RANGING_RESPONSE_REQUIRED_OFFSET 0x0000000000000000 324 #define RX_RESPONSE_REQUIRED_INFO_TB_RANGING_RESPONSE_REQUIRED_LSB 20 325 #define RX_RESPONSE_REQUIRED_INFO_TB_RANGING_RESPONSE_REQUIRED_MSB 21 326 #define RX_RESPONSE_REQUIRED_INFO_TB_RANGING_RESPONSE_REQUIRED_MASK 0x0000000000300000 327 328 329 /* Description MAC_SECURITY 330 331 Field only valid if TB_Ranging_response_required = LMR_Resp_to_TF_report 332 333 334 Indicates whether MAC security is enabled for LMR 335 <legal all> 336 */ 337 338 #define RX_RESPONSE_REQUIRED_INFO_MAC_SECURITY_OFFSET 0x0000000000000000 339 #define RX_RESPONSE_REQUIRED_INFO_MAC_SECURITY_LSB 22 340 #define RX_RESPONSE_REQUIRED_INFO_MAC_SECURITY_MSB 22 341 #define RX_RESPONSE_REQUIRED_INFO_MAC_SECURITY_MASK 0x0000000000400000 342 343 344 /* Description FILTER_PASS_MONITOR_OVRD 345 346 Consumer: TXMON/SW 347 Producer: RXPCU 348 349 This indicates that the Rx MPDU passed the 'normal' frame 350 filter programming of RXPCU and additionally the MAC address 351 search matched an 'ADDR_SEARCH_ENTRY' of a 'Monitor_override_sta.' 352 353 354 When enabled in TXMON, it will discard the upstream response 355 TLVs for cases not matching the 'Filter_pass_Monitor_ovrd' 356 criterion. 357 358 If RXPCU is generating this TLV before the address search 359 is complete, it shall fill this bit based on a register 360 configuration 'FILTER_PASS_OVRD_AST_NOT_DONE.' 361 362 <legal all> 363 */ 364 365 #define RX_RESPONSE_REQUIRED_INFO_FILTER_PASS_MONITOR_OVRD_OFFSET 0x0000000000000000 366 #define RX_RESPONSE_REQUIRED_INFO_FILTER_PASS_MONITOR_OVRD_LSB 23 367 #define RX_RESPONSE_REQUIRED_INFO_FILTER_PASS_MONITOR_OVRD_MSB 23 368 #define RX_RESPONSE_REQUIRED_INFO_FILTER_PASS_MONITOR_OVRD_MASK 0x0000000000800000 369 370 371 /* Description AST_SEARCH_INCOMPLETE 372 373 Consumer: SW 374 Producer: RXPCU 375 376 If RXPCU is generating this TLV before the address search 377 is complete, it shall set this bit. This is to indicate 378 to SW (via TXMON) that the Filter_pass_Monitor_ovrd bit 379 is unreliable and SW may have to add their own filtering 380 logic. 381 382 <legal all> 383 */ 384 385 #define RX_RESPONSE_REQUIRED_INFO_AST_SEARCH_INCOMPLETE_OFFSET 0x0000000000000000 386 #define RX_RESPONSE_REQUIRED_INFO_AST_SEARCH_INCOMPLETE_LSB 24 387 #define RX_RESPONSE_REQUIRED_INFO_AST_SEARCH_INCOMPLETE_MSB 24 388 #define RX_RESPONSE_REQUIRED_INFO_AST_SEARCH_INCOMPLETE_MASK 0x0000000001000000 389 390 391 /* Description R2R_END_STATUS_TO_FOLLOW 392 393 Consumer: TXMON 394 Producer: TXPCU 395 396 When set, TXPCU will generate an R2R frame (typically M-BA), 397 and the 'R2R_STATUS_END' TLV. 398 399 TXMON uses this to identify the continuation of a Tx sequence 400 (typically including Trigger frames) with R2R Tx. 401 <legal all> 402 */ 403 404 #define RX_RESPONSE_REQUIRED_INFO_R2R_END_STATUS_TO_FOLLOW_OFFSET 0x0000000000000000 405 #define RX_RESPONSE_REQUIRED_INFO_R2R_END_STATUS_TO_FOLLOW_LSB 25 406 #define RX_RESPONSE_REQUIRED_INFO_R2R_END_STATUS_TO_FOLLOW_MSB 25 407 #define RX_RESPONSE_REQUIRED_INFO_R2R_END_STATUS_TO_FOLLOW_MASK 0x0000000002000000 408 409 410 /* Description RESERVED_0A 411 412 <legal 0> 413 */ 414 415 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_0A_OFFSET 0x0000000000000000 416 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_0A_LSB 26 417 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_0A_MSB 27 418 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_0A_MASK 0x000000000c000000 419 420 421 /* Description THREE_OR_MORE_TYPE_SUBTYPES 422 423 Field only valid in case of SU_or_uplink_MU_reception = 424 Reception_is_SU 425 426 When set, there are 3 or more different frame type/subtypes 427 received that all required a response. 428 Note that the HW will only report the very first two that 429 have been seen 430 */ 431 432 #define RX_RESPONSE_REQUIRED_INFO_THREE_OR_MORE_TYPE_SUBTYPES_OFFSET 0x0000000000000000 433 #define RX_RESPONSE_REQUIRED_INFO_THREE_OR_MORE_TYPE_SUBTYPES_LSB 28 434 #define RX_RESPONSE_REQUIRED_INFO_THREE_OR_MORE_TYPE_SUBTYPES_MSB 28 435 #define RX_RESPONSE_REQUIRED_INFO_THREE_OR_MORE_TYPE_SUBTYPES_MASK 0x0000000010000000 436 437 438 /* Description WAIT_SIFS_CONFIG_VALID 439 440 When set, TXPCU shall follow the wait_sifs configuration. 441 442 443 Field added to be backwards compatible, and transition to 444 the new signalling. 445 <legal all> 446 */ 447 448 #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_CONFIG_VALID_OFFSET 0x0000000000000000 449 #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_CONFIG_VALID_LSB 29 450 #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_CONFIG_VALID_MSB 29 451 #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_CONFIG_VALID_MASK 0x0000000020000000 452 453 454 /* Description WAIT_SIFS 455 456 Indicates to the TXPCU how precise the SIFS the response 457 timing shall be... 458 459 The configuration for this is coming from SW programmable 460 register in RXPCU 461 462 <enum 0 NO_SIFS_TIMING> Transmission shall start with the 463 normal delay in PHY after receiving this notification 464 <enum 1 SIFS_TIMING_DESIRED> Transmission shall be made 465 at the SIFS boundary. If shall never start before SIFS boundary, 466 but if it a little later, it is not ideal and should be 467 flagged, but transmission shall not be aborted. 468 <enum 2 SIFS_TIMING_MANDATED> Transmission shall be made 469 at exactly SIFS boundary. If this notification is received 470 by the PHY after SIFS boundary already passed, the PHY 471 shall abort the transmission 472 <legal 0-2> 473 */ 474 475 #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_OFFSET 0x0000000000000000 476 #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_LSB 30 477 #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_MSB 31 478 #define RX_RESPONSE_REQUIRED_INFO_WAIT_SIFS_MASK 0x00000000c0000000 479 480 481 /* Description GENERAL_FRAME_CONTROL 482 483 Field only valid in case of SU_or_uplink_MU_reception = 484 Reception_is_SU 485 486 In case only a single frame is receive, this field will 487 always contain the frame control field of the received frame. 488 489 490 In case multiple frames are received that require a response, 491 and one of those frames is not a data frame, this field 492 will always contain the frame control field of that received 493 frame. 494 495 In case multiple frames are received that require a response, 496 but all have them have the same type/subtype, this field 497 will contain the very first one of them. 498 499 Note: In case of a BAR frame reception, the 'response_ack_...' 500 fields will indicate for how many TIDs a BA is needed, as 501 well as their individual sizes. 502 503 Used by TXPCU to determine the type of response that is 504 needed 505 506 TODO: Look at table below for all the possible combination 507 of frames types reported here and in the next field: Second_frame_control 508 509 */ 510 511 #define RX_RESPONSE_REQUIRED_INFO_GENERAL_FRAME_CONTROL_OFFSET 0x0000000000000000 512 #define RX_RESPONSE_REQUIRED_INFO_GENERAL_FRAME_CONTROL_LSB 32 513 #define RX_RESPONSE_REQUIRED_INFO_GENERAL_FRAME_CONTROL_MSB 47 514 #define RX_RESPONSE_REQUIRED_INFO_GENERAL_FRAME_CONTROL_MASK 0x0000ffff00000000 515 516 517 /* Description SECOND_FRAME_CONTROL 518 519 Field only valid when Second_frame_control_valid ==1 520 521 In case multiple frames of different frame type/subtype 522 are received that require a response, this field will always 523 contain the frame control field remaining after the 'frame_control 524 ' field has been filled in. 525 526 NOTE: in case more then 2 different frame type/subtypes 527 are received (which only happens if the transmitter did 528 something wrong), only the first two frame types are reported 529 in this and the General_frame_control field. All the other 530 ones are ignored, but bit 'three_or_more_type_subtypes' 531 shall be set. 532 533 Note: In case of a BAR frame reception, the 'response_ack_...' 534 fields will indicate for how many TIDs a BA is needed, as 535 well as their individual sizes. 536 537 Used by TXPCU to determine the type of response that is 538 needed 539 */ 540 541 #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_OFFSET 0x0000000000000000 542 #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_LSB 48 543 #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_MSB 63 544 #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_MASK 0xffff000000000000 545 546 547 /* Description DURATION 548 549 Field only valid in case of SU_or_uplink_MU_reception = 550 Reception_is_SU 551 552 duration field of the received frame 553 */ 554 555 #define RX_RESPONSE_REQUIRED_INFO_DURATION_OFFSET 0x0000000000000008 556 #define RX_RESPONSE_REQUIRED_INFO_DURATION_LSB 0 557 #define RX_RESPONSE_REQUIRED_INFO_DURATION_MSB 15 558 #define RX_RESPONSE_REQUIRED_INFO_DURATION_MASK 0x000000000000ffff 559 560 561 /* Description PKT_TYPE 562 563 Packet type: 564 565 Note that for MU UL reception, this field can only be set 566 to dot11ax. 567 <enum 0 dot11a>802.11a PPDU type 568 <enum 1 dot11b>802.11b PPDU type 569 <enum 2 dot11n_mm>802.11n Mixed Mode PPDU type 570 <enum 3 dot11ac>802.11ac PPDU type 571 <enum 4 dot11ax>802.11ax PPDU type 572 <enum 5 dot11ba>802.11ba (WUR) PPDU type 573 <enum 6 dot11be>802.11be PPDU type 574 <enum 7 dot11az>802.11az (ranging) PPDU type 575 <enum 8 dot11n_gf>802.11n Green Field PPDU type (unsupported 576 & aborted) 577 */ 578 579 #define RX_RESPONSE_REQUIRED_INFO_PKT_TYPE_OFFSET 0x0000000000000008 580 #define RX_RESPONSE_REQUIRED_INFO_PKT_TYPE_LSB 16 581 #define RX_RESPONSE_REQUIRED_INFO_PKT_TYPE_MSB 19 582 #define RX_RESPONSE_REQUIRED_INFO_PKT_TYPE_MASK 0x00000000000f0000 583 584 585 /* Description DOT11AX_SU_EXTENDED 586 587 This field is only valid for pkt_type == 11ax OR pkt_type 588 == 11be 589 590 When set, the 11ax or 11be reception was an extended range 591 SU 592 */ 593 594 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_SU_EXTENDED_OFFSET 0x0000000000000008 595 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_SU_EXTENDED_LSB 20 596 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_SU_EXTENDED_MSB 20 597 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_SU_EXTENDED_MASK 0x0000000000100000 598 599 600 /* Description RATE_MCS 601 602 Field only valid in case of SU_or_uplink_MU_reception = 603 Reception_is_SU 604 605 606 For details, refer to MCS_TYPE description 607 Note: This is "rate" in case of 11a/11b 608 609 <legal all> 610 */ 611 612 #define RX_RESPONSE_REQUIRED_INFO_RATE_MCS_OFFSET 0x0000000000000008 613 #define RX_RESPONSE_REQUIRED_INFO_RATE_MCS_LSB 21 614 #define RX_RESPONSE_REQUIRED_INFO_RATE_MCS_MSB 24 615 #define RX_RESPONSE_REQUIRED_INFO_RATE_MCS_MASK 0x0000000001e00000 616 617 618 /* Description SGI 619 620 Field only valid in case of SU_or_uplink_MU_reception = 621 Reception_is_SU 622 623 Field only valid when pkt type is HT, VHT or HE. 624 625 Specify the right GI for HE-Ranging NDPs (11az). 626 627 <enum 0 0_8_us_sgi > Legacy normal GI. Can also be used 628 for HE 629 <enum 1 0_4_us_sgi > Legacy short GI. Can also be used 630 for HE 631 <enum 2 1_6_us_sgi > HE related GI 632 <enum 3 3_2_us_sgi > HE related GI 633 634 <legal 0 - 3> 635 */ 636 637 #define RX_RESPONSE_REQUIRED_INFO_SGI_OFFSET 0x0000000000000008 638 #define RX_RESPONSE_REQUIRED_INFO_SGI_LSB 25 639 #define RX_RESPONSE_REQUIRED_INFO_SGI_MSB 26 640 #define RX_RESPONSE_REQUIRED_INFO_SGI_MASK 0x0000000006000000 641 642 643 /* Description STBC 644 645 Field only valid in case of SU_or_uplink_MU_reception = 646 Reception_is_SU 647 648 Indicate STBC 649 650 In 11ah mode of Operation, this bit indicates the STBC bit 651 setting in the SIG Preamble. 652 */ 653 654 #define RX_RESPONSE_REQUIRED_INFO_STBC_OFFSET 0x0000000000000008 655 #define RX_RESPONSE_REQUIRED_INFO_STBC_LSB 27 656 #define RX_RESPONSE_REQUIRED_INFO_STBC_MSB 27 657 #define RX_RESPONSE_REQUIRED_INFO_STBC_MASK 0x0000000008000000 658 659 660 /* Description LDPC 661 662 Field only valid in case of SU_or_uplink_MU_reception = 663 Reception_is_SU 664 665 Indicate LDPC 666 667 In 11ah mode of Operation, this bit indicates the LDPC bit 668 setting in the SIG Preamble. 669 */ 670 671 #define RX_RESPONSE_REQUIRED_INFO_LDPC_OFFSET 0x0000000000000008 672 #define RX_RESPONSE_REQUIRED_INFO_LDPC_LSB 28 673 #define RX_RESPONSE_REQUIRED_INFO_LDPC_MSB 28 674 #define RX_RESPONSE_REQUIRED_INFO_LDPC_MASK 0x0000000010000000 675 676 677 /* Description AMPDU 678 679 Field only valid in case of SU_or_uplink_MU_reception = 680 Reception_is_SU 681 682 Field indicates if the received frame was in ampdu format 683 or not. If set, it implies the reception was 11n, aggregation, 684 11ac or 11ax. 685 686 Within TXPCU it is used to determine if the response will 687 have to be BA format or not. Note that there are some exceptions 688 where received frame was A-MPDU format, but the response 689 will still be just an ACK frame. 690 */ 691 692 #define RX_RESPONSE_REQUIRED_INFO_AMPDU_OFFSET 0x0000000000000008 693 #define RX_RESPONSE_REQUIRED_INFO_AMPDU_LSB 29 694 #define RX_RESPONSE_REQUIRED_INFO_AMPDU_MSB 29 695 #define RX_RESPONSE_REQUIRED_INFO_AMPDU_MASK 0x0000000020000000 696 697 698 /* Description VHT_ACK 699 700 Field only valid in case of SU_or_uplink_MU_reception = 701 Reception_is_SU 702 703 set when ACK is required to be generated 704 */ 705 706 #define RX_RESPONSE_REQUIRED_INFO_VHT_ACK_OFFSET 0x0000000000000008 707 #define RX_RESPONSE_REQUIRED_INFO_VHT_ACK_LSB 30 708 #define RX_RESPONSE_REQUIRED_INFO_VHT_ACK_MSB 30 709 #define RX_RESPONSE_REQUIRED_INFO_VHT_ACK_MASK 0x0000000040000000 710 711 712 /* Description RTS_TA_GRP_BIT 713 714 Field only valid in case of SU_or_uplink_MU_reception = 715 Reception_is_SU 716 717 frame is rts and TA G/I bit is set 718 */ 719 720 #define RX_RESPONSE_REQUIRED_INFO_RTS_TA_GRP_BIT_OFFSET 0x0000000000000008 721 #define RX_RESPONSE_REQUIRED_INFO_RTS_TA_GRP_BIT_LSB 31 722 #define RX_RESPONSE_REQUIRED_INFO_RTS_TA_GRP_BIT_MSB 31 723 #define RX_RESPONSE_REQUIRED_INFO_RTS_TA_GRP_BIT_MASK 0x0000000080000000 724 725 726 /* Description CTRL_FRAME_SOLICITING_RESP 727 728 Field only valid in case of SU_or_uplink_MU_reception = 729 Reception_is_SU 730 731 frame is rts, bar or ps_poll and TA G/I bit is set 732 */ 733 734 #define RX_RESPONSE_REQUIRED_INFO_CTRL_FRAME_SOLICITING_RESP_OFFSET 0x0000000000000008 735 #define RX_RESPONSE_REQUIRED_INFO_CTRL_FRAME_SOLICITING_RESP_LSB 32 736 #define RX_RESPONSE_REQUIRED_INFO_CTRL_FRAME_SOLICITING_RESP_MSB 32 737 #define RX_RESPONSE_REQUIRED_INFO_CTRL_FRAME_SOLICITING_RESP_MASK 0x0000000100000000 738 739 740 /* Description AST_FAIL_FOR_DOT11AX_SU_EXT 741 742 Field only valid in case of 743 dot11ax_su_extended = 1 744 745 When set, the just finished reception had address search 746 failure (e.g. unassociated STA). 747 This field can be used to determine special response rates 748 for those types of STAs. 749 This field shall be analyzed in combination with pkt_type 750 and dot11ax_su_extended settings. 751 752 <legal all> 753 */ 754 755 #define RX_RESPONSE_REQUIRED_INFO_AST_FAIL_FOR_DOT11AX_SU_EXT_OFFSET 0x0000000000000008 756 #define RX_RESPONSE_REQUIRED_INFO_AST_FAIL_FOR_DOT11AX_SU_EXT_LSB 33 757 #define RX_RESPONSE_REQUIRED_INFO_AST_FAIL_FOR_DOT11AX_SU_EXT_MSB 33 758 #define RX_RESPONSE_REQUIRED_INFO_AST_FAIL_FOR_DOT11AX_SU_EXT_MASK 0x0000000200000000 759 760 761 /* Description SERVICE_DYNAMIC 762 763 Field only valid in case of SU_or_uplink_MU_reception = 764 Reception_is_SU 765 766 Dynamic field extracted from Service field 767 768 Reserved for 11ah. Should be populated to zero by RxPCU 769 */ 770 771 #define RX_RESPONSE_REQUIRED_INFO_SERVICE_DYNAMIC_OFFSET 0x0000000000000008 772 #define RX_RESPONSE_REQUIRED_INFO_SERVICE_DYNAMIC_LSB 34 773 #define RX_RESPONSE_REQUIRED_INFO_SERVICE_DYNAMIC_MSB 34 774 #define RX_RESPONSE_REQUIRED_INFO_SERVICE_DYNAMIC_MASK 0x0000000400000000 775 776 777 /* Description M_PKT 778 779 Field only valid in case of SU_or_uplink_MU_reception = 780 Reception_is_SU 781 782 Indicates that RXPCU has detected a 802.11v M packet. The 783 TXPCU should generate a TX_FREEZE_CAPTURE_CHANNEL message 784 to the PHY so that the PHY will hold the current channel 785 capture so FW can read the channel capture memory over 786 APB. 787 Reserved for 11ah. Should be populated to zero by RxPCU 788 */ 789 790 #define RX_RESPONSE_REQUIRED_INFO_M_PKT_OFFSET 0x0000000000000008 791 #define RX_RESPONSE_REQUIRED_INFO_M_PKT_LSB 35 792 #define RX_RESPONSE_REQUIRED_INFO_M_PKT_MSB 35 793 #define RX_RESPONSE_REQUIRED_INFO_M_PKT_MASK 0x0000000800000000 794 795 796 /* Description STA_PARTIAL_AID 797 798 Field only valid in case of SU_or_uplink_MU_reception = 799 Reception_is_SU 800 801 Specifies the partial AID of response frames transmitted 802 at VHT rates. 803 804 In 11ah mode of operation, this field is used to populate 805 the RA/partial BSSID filed in the NDP CTS response frame. 806 Please refer to the 802.11 spec for details on the NDP CTS 807 frame format. 808 809 Reserved for 11ah. 810 Should be populated to zero by RxPCU 811 */ 812 813 #define RX_RESPONSE_REQUIRED_INFO_STA_PARTIAL_AID_OFFSET 0x0000000000000008 814 #define RX_RESPONSE_REQUIRED_INFO_STA_PARTIAL_AID_LSB 36 815 #define RX_RESPONSE_REQUIRED_INFO_STA_PARTIAL_AID_MSB 47 816 #define RX_RESPONSE_REQUIRED_INFO_STA_PARTIAL_AID_MASK 0x0000fff000000000 817 818 819 /* Description GROUP_ID 820 821 Field only valid in case of SU_or_uplink_MU_reception = 822 Reception_is_SU 823 824 Reserved for 11ah. 825 Should be populated to zero by RxPCU 826 */ 827 828 #define RX_RESPONSE_REQUIRED_INFO_GROUP_ID_OFFSET 0x0000000000000008 829 #define RX_RESPONSE_REQUIRED_INFO_GROUP_ID_LSB 48 830 #define RX_RESPONSE_REQUIRED_INFO_GROUP_ID_MSB 53 831 #define RX_RESPONSE_REQUIRED_INFO_GROUP_ID_MASK 0x003f000000000000 832 833 834 /* Description CTRL_RESP_PWR_MGMT 835 836 Field valid in case of both SU_or_uplink_MU_reception = 837 Reception_is_SU 838 AND 839 SU_or_uplink_MU_reception = Reception_is_MU 840 841 RX PCU passes this bit (coming from the peer entry) setting 842 on to TX PCU, where the setting of this bit is inserted 843 in the pwr_mgt bit in the control field of the SIFS response 844 control frames: ACK, CTS, BA 845 <legal all> 846 */ 847 848 #define RX_RESPONSE_REQUIRED_INFO_CTRL_RESP_PWR_MGMT_OFFSET 0x0000000000000008 849 #define RX_RESPONSE_REQUIRED_INFO_CTRL_RESP_PWR_MGMT_LSB 54 850 #define RX_RESPONSE_REQUIRED_INFO_CTRL_RESP_PWR_MGMT_MSB 54 851 #define RX_RESPONSE_REQUIRED_INFO_CTRL_RESP_PWR_MGMT_MASK 0x0040000000000000 852 853 854 /* Description RESPONSE_INDICATION 855 856 Field only valid in case of SU_or_uplink_MU_reception = 857 Reception_is_SU 858 859 <enum 0 no_response> 860 <enum 1 ndp_response> 861 <enum 2 normal_response> 862 <enum 3 long_response> 863 <legal 0-3> 864 865 This field indicates the Response Indication of the received 866 PPDU. RxPCU populates this field using the Response Indication 867 bits extracted from the SIG in the received PPDU. 868 */ 869 870 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_INDICATION_OFFSET 0x0000000000000008 871 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_INDICATION_LSB 55 872 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_INDICATION_MSB 56 873 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_INDICATION_MASK 0x0180000000000000 874 875 876 /* Description NDP_INDICATION 877 878 Field only valid in case of SU_or_uplink_MU_reception = 879 Reception_is_SU 880 881 This field is valid in 11ah mode of opearation only. In 882 non-11ah mode, this bit is reserved and RxPCU populates 883 this bit to Zero. 884 885 NDP Indication bit. 886 887 This field is set if the received SIG has the NDP Indication 888 bit set. 889 890 <legal all> 891 */ 892 893 #define RX_RESPONSE_REQUIRED_INFO_NDP_INDICATION_OFFSET 0x0000000000000008 894 #define RX_RESPONSE_REQUIRED_INFO_NDP_INDICATION_LSB 57 895 #define RX_RESPONSE_REQUIRED_INFO_NDP_INDICATION_MSB 57 896 #define RX_RESPONSE_REQUIRED_INFO_NDP_INDICATION_MASK 0x0200000000000000 897 898 899 /* Description NDP_FRAME_TYPE 900 901 Field only valid in case of SU_or_uplink_MU_reception = 902 Reception_is_SU 903 904 Include the ndp_frame_type encoding. 905 906 This field is valid in 11ah mode of opearation only. In 907 non-11ah mode, this bit is reserved and RxPCU populates 908 this bit to Zero. 909 910 The ndp_frame_type filed form the SIG is extracted and is 911 populated in this field by RxPCU. TxPCU can decode the 912 NDP frame type. 913 */ 914 915 #define RX_RESPONSE_REQUIRED_INFO_NDP_FRAME_TYPE_OFFSET 0x0000000000000008 916 #define RX_RESPONSE_REQUIRED_INFO_NDP_FRAME_TYPE_LSB 58 917 #define RX_RESPONSE_REQUIRED_INFO_NDP_FRAME_TYPE_MSB 60 918 #define RX_RESPONSE_REQUIRED_INFO_NDP_FRAME_TYPE_MASK 0x1c00000000000000 919 920 921 /* Description SECOND_FRAME_CONTROL_VALID 922 923 Field only valid in case of SU_or_uplink_MU_reception = 924 Reception_is_SU 925 926 When set, the second frame control field is valid. 927 */ 928 929 #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_VALID_OFFSET 0x0000000000000008 930 #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_VALID_LSB 61 931 #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_VALID_MSB 61 932 #define RX_RESPONSE_REQUIRED_INFO_SECOND_FRAME_CONTROL_VALID_MASK 0x2000000000000000 933 934 935 /* Description RESERVED_3A 936 937 <legal 0> 938 */ 939 940 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_3A_OFFSET 0x0000000000000008 941 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_3A_LSB 62 942 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_3A_MSB 63 943 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_3A_MASK 0xc000000000000000 944 945 946 /* Description ACK_ID 947 948 Field only valid in case of SU_or_uplink_MU_reception = 949 Reception_is_SU 950 951 Indicates the ACD_ID to be used in NDP response frames (NDP 952 ACK and NDP Modified ACK). 953 954 For NDP ACK 955 ACK_ID (16bits)= {Scrambler Initialization[0:6], FCS[23:31} 956 for 2MHz 957 ACK_ID (9bits)= { Scrambler Initialization[0:6], FCS[30:31]} 958 for 1MHz. Bits[15:9] should be filled with Zero by RxPCU 959 960 961 For NDP Modified ACK 962 ACK_ID (16bits)= {CRC[0:3],TA[0:8],RA[6:8]} for 2MHz 963 ACK_ID (9bits)= { CRC[0:3], TA[4:8]} for 1MHz; Bits[15:9] 964 should be filled with Zero by RxPCU. 965 */ 966 967 #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_OFFSET 0x0000000000000010 968 #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_LSB 0 969 #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_MSB 15 970 #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_MASK 0x000000000000ffff 971 972 973 /* Description ACK_ID_EXT 974 975 Field only valid in case of SU_or_uplink_MU_reception = 976 Reception_is_SU 977 978 This is populated by RxPCU when the Duration Indication 979 Bit is set to Zero in the Received NDP PS-Poll Frame. 980 */ 981 982 #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_EXT_OFFSET 0x0000000000000010 983 #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_EXT_LSB 16 984 #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_EXT_MSB 25 985 #define RX_RESPONSE_REQUIRED_INFO_ACK_ID_EXT_MASK 0x0000000003ff0000 986 987 988 /* Description AGC_CBW 989 990 BW as detected by the AGC 991 992 <enum 0 20_mhz>20 Mhz BW 993 <enum 1 40_mhz>40 Mhz BW 994 <enum 2 80_mhz>80 Mhz BW 995 <enum 3 160_mhz>160 Mhz BW 996 <enum 4 320_mhz>320 Mhz BW 997 <enum 5 240_mhz>240 Mhz BW 998 */ 999 1000 #define RX_RESPONSE_REQUIRED_INFO_AGC_CBW_OFFSET 0x0000000000000010 1001 #define RX_RESPONSE_REQUIRED_INFO_AGC_CBW_LSB 26 1002 #define RX_RESPONSE_REQUIRED_INFO_AGC_CBW_MSB 28 1003 #define RX_RESPONSE_REQUIRED_INFO_AGC_CBW_MASK 0x000000001c000000 1004 1005 1006 /* Description SERVICE_CBW 1007 1008 Field only valid in case of SU_or_uplink_MU_reception = 1009 Reception_is_SU 1010 1011 This field reflects the BW extracted from the Serivce Field 1012 for 11ac mode of operation and from the FC portion of the 1013 MAC header in 11ah mode of operation. This field is used 1014 in the context of Dynamic/Static BW evaluation purposes 1015 in TxPCU 1016 CBW field extracted from Service field by RXPCU and populates 1017 this 1018 1019 <enum 0 20_mhz>20 Mhz BW 1020 <enum 1 40_mhz>40 Mhz BW 1021 <enum 2 80_mhz>80 Mhz BW 1022 <enum 3 160_mhz>160 Mhz BW 1023 <enum 4 320_mhz>320 Mhz BW 1024 <enum 5 240_mhz>240 Mhz BW 1025 */ 1026 1027 #define RX_RESPONSE_REQUIRED_INFO_SERVICE_CBW_OFFSET 0x0000000000000010 1028 #define RX_RESPONSE_REQUIRED_INFO_SERVICE_CBW_LSB 29 1029 #define RX_RESPONSE_REQUIRED_INFO_SERVICE_CBW_MSB 31 1030 #define RX_RESPONSE_REQUIRED_INFO_SERVICE_CBW_MASK 0x00000000e0000000 1031 1032 1033 /* Description RESPONSE_STA_COUNT 1034 1035 The number of STAs to which the responses need to be sent. 1036 1037 1038 In case of multiple ACKs/BAs to be send, TXPCU uses this 1039 field to determine what address formatting to use for the 1040 response frame: This could be broadcast or unicast. 1041 1042 <legal 0-36> 1043 */ 1044 1045 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_STA_COUNT_OFFSET 0x0000000000000010 1046 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_STA_COUNT_LSB 32 1047 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_STA_COUNT_MSB 38 1048 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_STA_COUNT_MASK 0x0000007f00000000 1049 1050 1051 /* Description RESERVED 1052 1053 <legal 0> 1054 */ 1055 1056 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_OFFSET 0x0000000000000010 1057 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_LSB 39 1058 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_MSB 42 1059 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_MASK 0x0000078000000000 1060 1061 1062 /* Description HT_VHT_SIG_CBW 1063 1064 Field only valid in case of SU_or_uplink_MU_reception = 1065 Reception_is_SU 1066 1067 Bandwidth of the received frame from either the HT-SIG or 1068 VHT-SIG-A or HE-SIG. For HT-SIG, this bandwidth can be 1069 20 MHz or 40 MHz, For VHT or HE, this bandwidth can be 20, 1070 40, 80, or 160 MHz: 1071 1072 <enum 0 20_mhz>20 Mhz BW 1073 <enum 1 40_mhz>40 Mhz BW 1074 <enum 2 80_mhz>80 Mhz BW 1075 <enum 3 160_mhz>160 Mhz BW 1076 <enum 4 320_mhz>320 Mhz BW 1077 <enum 5 240_mhz>240 Mhz BW 1078 */ 1079 1080 #define RX_RESPONSE_REQUIRED_INFO_HT_VHT_SIG_CBW_OFFSET 0x0000000000000010 1081 #define RX_RESPONSE_REQUIRED_INFO_HT_VHT_SIG_CBW_LSB 43 1082 #define RX_RESPONSE_REQUIRED_INFO_HT_VHT_SIG_CBW_MSB 45 1083 #define RX_RESPONSE_REQUIRED_INFO_HT_VHT_SIG_CBW_MASK 0x0000380000000000 1084 1085 1086 /* Description CTS_CBW 1087 1088 Field only valid in case of SU_or_uplink_MU_reception = 1089 Reception_is_SU 1090 1091 Calculated bandwidth for the CTS response frame 1092 1093 <enum 0 20_mhz>20 Mhz BW 1094 <enum 1 40_mhz>40 Mhz BW 1095 <enum 2 80_mhz>80 Mhz BW 1096 <enum 3 160_mhz>160 Mhz BW 1097 <enum 4 320_mhz>320 Mhz BW 1098 <enum 5 240_mhz>240 Mhz BW 1099 */ 1100 1101 #define RX_RESPONSE_REQUIRED_INFO_CTS_CBW_OFFSET 0x0000000000000010 1102 #define RX_RESPONSE_REQUIRED_INFO_CTS_CBW_LSB 46 1103 #define RX_RESPONSE_REQUIRED_INFO_CTS_CBW_MSB 48 1104 #define RX_RESPONSE_REQUIRED_INFO_CTS_CBW_MASK 0x0001c00000000000 1105 1106 1107 /* Description RESPONSE_ACK_COUNT 1108 1109 Field valid for both SU and MU reception 1110 1111 ACK Count for management action frames, PS_POLL frames, 1112 single data frame and the general "ACK ALL". For this last 1113 one, a single "ACK" should be interpreted by the receiver 1114 that all transmitted frames have been properly received. 1115 1116 1117 For SU: 1118 Max count can be 1 1119 Note that Response_ba64_count and/or Response_ba256_count 1120 can be > 0, which implies that both an ACK and BA needs 1121 to be send back. 1122 1123 For MU: 1124 The number of users that need an 'ACK' response. 1125 <legal 0-36> 1126 */ 1127 1128 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ACK_COUNT_OFFSET 0x0000000000000010 1129 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ACK_COUNT_LSB 49 1130 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ACK_COUNT_MSB 55 1131 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ACK_COUNT_MASK 0x00fe000000000000 1132 1133 1134 /* Description RESPONSE_ASSOC_ACK_COUNT 1135 1136 Field ONLY valid for Reception_is_MU. This count can only 1137 be set to > 0, when there were wildcards send in the trigger 1138 frame. 1139 1140 ACK Count to be generated for Management frames from STAs 1141 that are not yet associated to this device. These STAs 1142 can only send this type of response when the trigger frame 1143 included some wildcards. 1144 1145 Note that in the MBA frame, this "ack" has a special format, 1146 and includes more bytes then the normal "ack". For that 1147 reason TXPCU needs to be able to differentiate between the 1148 'normal acks' and these association request acks... 1149 <legal 0-36> 1150 */ 1151 1152 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ASSOC_ACK_COUNT_OFFSET 0x0000000000000010 1153 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ASSOC_ACK_COUNT_LSB 56 1154 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ASSOC_ACK_COUNT_MSB 62 1155 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_ASSOC_ACK_COUNT_MASK 0x7f00000000000000 1156 1157 1158 /* Description TXOP_DURATION_ALL_ONES 1159 1160 When set, either the TXOP_DURATION of the received frame 1161 was set to all 1s or there is a BSS color collision. The 1162 TXOP_DURATION of the transmit response should be forced 1163 to all 1s. 1164 1165 <legal all> 1166 */ 1167 1168 #define RX_RESPONSE_REQUIRED_INFO_TXOP_DURATION_ALL_ONES_OFFSET 0x0000000000000010 1169 #define RX_RESPONSE_REQUIRED_INFO_TXOP_DURATION_ALL_ONES_LSB 63 1170 #define RX_RESPONSE_REQUIRED_INFO_TXOP_DURATION_ALL_ONES_MSB 63 1171 #define RX_RESPONSE_REQUIRED_INFO_TXOP_DURATION_ALL_ONES_MASK 0x8000000000000000 1172 1173 1174 /* Description RESPONSE_BA32_COUNT 1175 1176 Field valid for both Reception_is_SU and Reception_is_MU 1177 1178 1179 For SU: 1180 Total number of '32 bitmap BA' responses for this one user. 1181 1182 If this value is > 1, in implies that multi TID response 1183 is needed. Also, if the sum of all the Response_ba??? Counts 1184 ) > 1, a multi TID response is needed. 1185 1186 For MU: 1187 Total number of '32 bitmap BA' responses shared between 1188 all the users. 1189 <legal 0-36> 1190 */ 1191 1192 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA32_COUNT_OFFSET 0x0000000000000018 1193 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA32_COUNT_LSB 0 1194 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA32_COUNT_MSB 6 1195 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA32_COUNT_MASK 0x000000000000007f 1196 1197 1198 /* Description RESPONSE_BA64_COUNT 1199 1200 Field valid for both Reception_is_SU and Reception_is_MU 1201 1202 1203 For SU: 1204 Total number of '64 bitmap BA' responses for this one user. 1205 1206 If this value is > 1, in implies that multi TID response 1207 is needed. Also, if the sum of all the Response_ba??? Counts 1208 ) > 1, a multi TID response is needed. 1209 1210 For MU: 1211 Total number of '64 bitmap BA' responses shared between 1212 all the users. 1213 <legal 0-36> 1214 */ 1215 1216 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA64_COUNT_OFFSET 0x0000000000000018 1217 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA64_COUNT_LSB 7 1218 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA64_COUNT_MSB 13 1219 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA64_COUNT_MASK 0x0000000000003f80 1220 1221 1222 /* Description RESPONSE_BA128_COUNT 1223 1224 Field valid for both Reception_is_SU and Reception_is_MU 1225 1226 1227 For SU: 1228 Total number of '128 bitmap BA' responses for this one user. 1229 1230 If this value is > 1, in implies that multi TID response 1231 is needed. Also, if the sum of all the Response_ba??? Counts 1232 ) > 1, a multi TID response is needed. 1233 1234 For MU: 1235 Total number of '128 bitmap BA' responses shared between 1236 all the users. 1237 <legal 0-36> 1238 */ 1239 1240 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA128_COUNT_OFFSET 0x0000000000000018 1241 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA128_COUNT_LSB 14 1242 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA128_COUNT_MSB 20 1243 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA128_COUNT_MASK 0x00000000001fc000 1244 1245 1246 /* Description RESPONSE_BA256_COUNT 1247 1248 Field valid for both Reception_is_SU and Reception_is_MU 1249 1250 1251 For SU: 1252 Total number of '256 bitmap BA' responses for this one user. 1253 1254 If this value is > 1, in implies that multi TID response 1255 is needed. Also, if the sum of all the Response_ba??? Counts 1256 ) > 1, a multi TID response is needed. 1257 1258 For MU: 1259 Total number of '256 bitmap BA' responses shared between 1260 all the users. 1261 <legal 0-36> 1262 */ 1263 1264 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA256_COUNT_OFFSET 0x0000000000000018 1265 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA256_COUNT_LSB 21 1266 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA256_COUNT_MSB 27 1267 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA256_COUNT_MASK 0x000000000fe00000 1268 1269 1270 /* Description MULTI_TID 1271 1272 Field valid for both Reception_is_SU and Reception_is_MU 1273 1274 1275 When set, RXPCU has for at least one user multiple bitmaps 1276 available (which corresponds to multiple TIDs) 1277 1278 Note that the sum of Response_ack_count, 1279 response_ba32_count, response_ba64_count, 1280 response_ba128_count, response_ba256_count is larger then 1281 the total number of users. 1282 1283 Note: There is no restriction on TXPCU to retrieve all the 1284 bitmaps using explicit_user_request mode or not. 1285 <legal all> 1286 */ 1287 1288 #define RX_RESPONSE_REQUIRED_INFO_MULTI_TID_OFFSET 0x0000000000000018 1289 #define RX_RESPONSE_REQUIRED_INFO_MULTI_TID_LSB 28 1290 #define RX_RESPONSE_REQUIRED_INFO_MULTI_TID_MSB 28 1291 #define RX_RESPONSE_REQUIRED_INFO_MULTI_TID_MASK 0x0000000010000000 1292 1293 1294 /* Description SW_RESPONSE_TLV_FROM_CRYPTO 1295 1296 Field can only be set by MAC mitigation logic 1297 1298 The idea is here that normally TXPCU generates the BA frame. 1299 1300 But as a backup scenario, in case of a last moment BA format 1301 change or some other issue, the BA frame could be fully 1302 generated in the MAC micro CPU and pushed into TXPCU through 1303 the Crypto - TXPCU TLV interface. 1304 This feature can be used for any response frame generation. 1305 From TXPCU perspective, all interaction with PDG remains 1306 exactly the same, accept that the frame length is now coming 1307 from field SW_Response_frame_length and the response frame 1308 is pushed into TXPCU over the CRYPTO - TXPCU TLV interface 1309 1310 1311 When set, this feature kick in 1312 When clear, this feature is not enabled 1313 <legal all> 1314 */ 1315 1316 #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_OFFSET 0x0000000000000018 1317 #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_LSB 29 1318 #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_MSB 29 1319 #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_TLV_FROM_CRYPTO_MASK 0x0000000020000000 1320 1321 1322 /* Description DOT11AX_DL_UL_FLAG 1323 1324 Field only valid in case of SU_or_uplink_MU_reception = 1325 Reception_is_SU 1326 1327 This field is only valid for pkt_type == 11ax 1328 1329 DL_UL_flag to be used for response frame sent to this device. 1330 1331 1332 Differentiates between DL and UL transmission 1333 1334 <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS> 1335 <enum 1 DL_UL_FLAG_IS_UL> 1336 1337 Note: this setting can also come from response look-up table 1338 in TXPCU... 1339 The selection is SW programmable 1340 1341 <legal all> 1342 */ 1343 1344 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_DL_UL_FLAG_OFFSET 0x0000000000000018 1345 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_DL_UL_FLAG_LSB 30 1346 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_DL_UL_FLAG_MSB 30 1347 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_DL_UL_FLAG_MASK 0x0000000040000000 1348 1349 1350 /* Description RESERVED_6A 1351 1352 <legal 0> 1353 */ 1354 1355 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_6A_OFFSET 0x0000000000000018 1356 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_6A_LSB 31 1357 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_6A_MSB 31 1358 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_6A_MASK 0x0000000080000000 1359 1360 1361 /* Description SW_RESPONSE_FRAME_LENGTH 1362 1363 Field only valid when SW_Response_tlv_from_crypto is set 1364 1365 1366 This is the size of the frame that SW will generate as the 1367 response frame. In those scenarios where TXPCU needs to 1368 indicate a frame_length in the PDG_RESPONSE TLV, this will 1369 be the value that TXPCU needs to use. 1370 1371 Note that this value shall always be such that when PDG 1372 calculates the LSIG duration field, the calculated value 1373 is less then the max time duration that the LSIG length 1374 can hold. 1375 1376 Note that the MAX range here for 1377 11ax, MCS 11, BW 180, might not be reached. But as this 1378 is just for 'normal HW generated response' frames, the range 1379 is size here is more then enough. 1380 Also not that this field is NOT used for trigger responses. 1381 1382 1383 <legal all> 1384 */ 1385 1386 #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_FRAME_LENGTH_OFFSET 0x0000000000000018 1387 #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_FRAME_LENGTH_LSB 32 1388 #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_FRAME_LENGTH_MSB 47 1389 #define RX_RESPONSE_REQUIRED_INFO_SW_RESPONSE_FRAME_LENGTH_MASK 0x0000ffff00000000 1390 1391 1392 /* Description RESPONSE_BA512_COUNT 1393 1394 Field valid for both Reception_is_SU and Reception_is_MU 1395 1396 1397 For SU: 1398 Total number of '512 bitmap BA' responses for this one user. 1399 1400 If this value is > 1, in implies that multi TID response 1401 is needed. Also, if the sum of all the Response_ba??? Counts 1402 > 1, a multi TID response is needed. 1403 1404 For MU: 1405 Total number of '512 bitmap BA' responses shared between 1406 all the users. 1407 <legal 0-36> 1408 */ 1409 1410 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA512_COUNT_OFFSET 0x0000000000000018 1411 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA512_COUNT_LSB 48 1412 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA512_COUNT_MSB 54 1413 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA512_COUNT_MASK 0x007f000000000000 1414 1415 1416 /* Description RESPONSE_BA1024_COUNT 1417 1418 Field valid for both Reception_is_SU and Reception_is_MU 1419 1420 1421 For SU: 1422 Total number of '1024 bitmap BA' responses for this one 1423 user. 1424 If this value is > 1, in implies that multi TID response 1425 is needed. Also, if the sum of all the Response_ba??? Counts 1426 > 1, a multi TID response is needed. 1427 1428 For MU: 1429 Total number of '1024 bitmap BA' responses shared between 1430 all the users. 1431 <legal 0-36> 1432 */ 1433 1434 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA1024_COUNT_OFFSET 0x0000000000000018 1435 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA1024_COUNT_LSB 55 1436 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA1024_COUNT_MSB 61 1437 #define RX_RESPONSE_REQUIRED_INFO_RESPONSE_BA1024_COUNT_MASK 0x3f80000000000000 1438 1439 1440 /* Description RESERVED_7A 1441 1442 <legal 0> 1443 */ 1444 1445 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_7A_OFFSET 0x0000000000000018 1446 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_7A_LSB 62 1447 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_7A_MSB 63 1448 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_7A_MASK 0xc000000000000000 1449 1450 1451 /* Description ADDR1_31_0 1452 1453 Field only valid in case of SU_or_uplink_MU_reception = 1454 Reception_is_SU 1455 1456 lower 32 bits of addr1 of the received frame 1457 <legal all> 1458 */ 1459 1460 #define RX_RESPONSE_REQUIRED_INFO_ADDR1_31_0_OFFSET 0x0000000000000020 1461 #define RX_RESPONSE_REQUIRED_INFO_ADDR1_31_0_LSB 0 1462 #define RX_RESPONSE_REQUIRED_INFO_ADDR1_31_0_MSB 31 1463 #define RX_RESPONSE_REQUIRED_INFO_ADDR1_31_0_MASK 0x00000000ffffffff 1464 1465 1466 /* Description ADDR1_47_32 1467 1468 Field only valid in case of SU_or_uplink_MU_reception = 1469 Reception_is_SU 1470 1471 upper 16 bits of addr1 of the received frame 1472 <legal all> 1473 */ 1474 1475 #define RX_RESPONSE_REQUIRED_INFO_ADDR1_47_32_OFFSET 0x0000000000000020 1476 #define RX_RESPONSE_REQUIRED_INFO_ADDR1_47_32_LSB 32 1477 #define RX_RESPONSE_REQUIRED_INFO_ADDR1_47_32_MSB 47 1478 #define RX_RESPONSE_REQUIRED_INFO_ADDR1_47_32_MASK 0x0000ffff00000000 1479 1480 1481 /* Description ADDR2_15_0 1482 1483 Field only valid in case of SU_or_uplink_MU_reception = 1484 Reception_is_SU 1485 1486 lower 16 bits of addr2 of the received frame 1487 <legal all> 1488 */ 1489 1490 #define RX_RESPONSE_REQUIRED_INFO_ADDR2_15_0_OFFSET 0x0000000000000020 1491 #define RX_RESPONSE_REQUIRED_INFO_ADDR2_15_0_LSB 48 1492 #define RX_RESPONSE_REQUIRED_INFO_ADDR2_15_0_MSB 63 1493 #define RX_RESPONSE_REQUIRED_INFO_ADDR2_15_0_MASK 0xffff000000000000 1494 1495 1496 /* Description ADDR2_47_16 1497 1498 Field only valid in case of SU_or_uplink_MU_reception = 1499 Reception_is_SU 1500 1501 upper 32 bits of addr2 of the received frame 1502 <legal all> 1503 */ 1504 1505 #define RX_RESPONSE_REQUIRED_INFO_ADDR2_47_16_OFFSET 0x0000000000000028 1506 #define RX_RESPONSE_REQUIRED_INFO_ADDR2_47_16_LSB 0 1507 #define RX_RESPONSE_REQUIRED_INFO_ADDR2_47_16_MSB 31 1508 #define RX_RESPONSE_REQUIRED_INFO_ADDR2_47_16_MASK 0x00000000ffffffff 1509 1510 1511 /* Description DOT11AX_RECEIVED_FORMAT_INDICATION 1512 1513 Field only valid in case of SU_or_uplink_MU_reception = 1514 Reception_is_SU 1515 1516 This field is only valid for pkt_type == 11ax 1517 1518 Format_Indication from the received frame. 1519 1520 <enum 0 HE_SIGA_FORMAT_HE_TRIG> 1521 <enum 1 HE_SIGA_FORMAT_SU_OR_EXT_SU> 1522 <legal all> 1523 */ 1524 1525 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_OFFSET 0x0000000000000028 1526 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_LSB 32 1527 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_MSB 32 1528 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_FORMAT_INDICATION_MASK 0x0000000100000000 1529 1530 1531 /* Description DOT11AX_RECEIVED_DL_UL_FLAG 1532 1533 Field only valid in case of SU_or_uplink_MU_reception = 1534 Reception_is_SU 1535 1536 This field is only valid for pkt_type == 11ax 1537 1538 DL_UL_flag from the received frame 1539 1540 Differentiates between DL and UL transmission 1541 1542 <enum 0 DL_UL_FLAG_IS_DL_OR_TDLS> 1543 <enum 1 DL_UL_FLAG_IS_UL> 1544 1545 <legal all> 1546 */ 1547 1548 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_OFFSET 0x0000000000000028 1549 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_LSB 33 1550 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_MSB 33 1551 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DL_UL_FLAG_MASK 0x0000000200000000 1552 1553 1554 /* Description DOT11AX_RECEIVED_BSS_COLOR_ID 1555 1556 Field only valid in case of SU_or_uplink_MU_reception = 1557 Reception_is_SU 1558 1559 This field is only valid for pkt_type == 11ax 1560 1561 BSS_color_id from the received frame 1562 <legal all> 1563 */ 1564 1565 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_OFFSET 0x0000000000000028 1566 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_LSB 34 1567 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_MSB 39 1568 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_BSS_COLOR_ID_MASK 0x000000fc00000000 1569 1570 1571 /* Description DOT11AX_RECEIVED_SPATIAL_REUSE 1572 1573 Field only valid in case of SU_or_uplink_MU_reception = 1574 Reception_is_SU 1575 1576 This field is only valid for pkt_type == 11ax 1577 Spatial reuse from the received frame 1578 <legal all> 1579 */ 1580 1581 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_OFFSET 0x0000000000000028 1582 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_LSB 40 1583 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_MSB 43 1584 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_SPATIAL_REUSE_MASK 0x00000f0000000000 1585 1586 1587 /* Description DOT11AX_RECEIVED_CP_SIZE 1588 1589 Field only valid in case of SU_or_uplink_MU_reception = 1590 Reception_is_SU 1591 1592 This field is only valid for pkt_type == 11ax 1593 1594 CP size of the received frame 1595 1596 Specify the right GI for HE-Ranging NDPs (11az). 1597 1598 <enum 0 0_8_us_sgi > Legacy normal GI. Can also be used 1599 for HE 1600 <enum 1 0_4_us_sgi > Legacy short GI. Can also be used 1601 for HE 1602 <enum 2 1_6_us_sgi > HE related GI 1603 <enum 3 3_2_us_sgi > HE related GI 1604 <legal 0 - 3> 1605 */ 1606 1607 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CP_SIZE_OFFSET 0x0000000000000028 1608 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CP_SIZE_LSB 44 1609 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CP_SIZE_MSB 45 1610 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CP_SIZE_MASK 0x0000300000000000 1611 1612 1613 /* Description DOT11AX_RECEIVED_LTF_SIZE 1614 1615 Field only valid in case of SU_or_uplink_MU_reception = 1616 Reception_is_SU 1617 1618 This field is only valid for pkt_type == 11ax 1619 1620 LTF size of the received frame 1621 1622 Specify the right LTF-size for HE-Ranging NDPs (11az). 1623 1624 <enum 0 ltf_1x > 1625 <enum 1 ltf_2x > 1626 <enum 2 ltf_4x > 1627 <legal 0 - 2> 1628 */ 1629 1630 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_LTF_SIZE_OFFSET 0x0000000000000028 1631 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_LTF_SIZE_LSB 46 1632 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_LTF_SIZE_MSB 47 1633 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_LTF_SIZE_MASK 0x0000c00000000000 1634 1635 1636 /* Description DOT11AX_RECEIVED_CODING 1637 1638 Field only valid in case of SU_or_uplink_MU_reception = 1639 Reception_is_SU 1640 1641 This field is only valid for pkt_type == 11ax 1642 1643 Coding from the received frame 1644 1645 <legal all> 1646 */ 1647 1648 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CODING_OFFSET 0x0000000000000028 1649 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CODING_LSB 48 1650 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CODING_MSB 48 1651 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_CODING_MASK 0x0001000000000000 1652 1653 1654 /* Description DOT11AX_RECEIVED_DCM 1655 1656 Field only valid in case of SU_or_uplink_MU_reception = 1657 Reception_is_SU 1658 1659 This field is only valid for pkt_type == 11ax 1660 1661 DCM from the received frame 1662 1663 <legal all> 1664 */ 1665 1666 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DCM_OFFSET 0x0000000000000028 1667 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DCM_LSB 49 1668 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DCM_MSB 49 1669 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DCM_MASK 0x0002000000000000 1670 1671 1672 /* Description DOT11AX_RECEIVED_DOPPLER_INDICATION 1673 1674 Field only valid in case of SU_or_uplink_MU_reception = 1675 Reception_is_SU 1676 1677 This field is only valid for pkt_type == 11ax 1678 1679 Doppler_indication from the received frame 1680 1681 <legal all> 1682 */ 1683 1684 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_OFFSET 0x0000000000000028 1685 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_LSB 50 1686 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_MSB 50 1687 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_DOPPLER_INDICATION_MASK 0x0004000000000000 1688 1689 1690 /* Description DOT11AX_RECEIVED_EXT_RU_SIZE 1691 1692 Field only valid in case of SU_or_uplink_MU_reception = 1693 Reception_is_SU 1694 1695 This field is only valid for pkt_type == 11ax OR pkt_type 1696 == 11be AND dot11ax_su_extended is set 1697 The number of (basic) RUs in this extended range reception 1698 1699 1700 RXPCU gets this from the received HE_SIG_A 1701 1702 <legal all> 1703 */ 1704 1705 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_OFFSET 0x0000000000000028 1706 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_LSB 51 1707 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_MSB 54 1708 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RECEIVED_EXT_RU_SIZE_MASK 0x0078000000000000 1709 1710 1711 /* Description FTM_FIELDS_VALID 1712 1713 Field only valid in case of SU_or_uplink_MU_reception = 1714 Reception_is_SU 1715 1716 Field only valid in case ftm_en is set. 1717 1718 When set, the other ftm_ fields are valid and TXCPU shall 1719 use these in the response frame instead of the response 1720 table based fields with a similar name. 1721 <legal all> 1722 */ 1723 1724 #define RX_RESPONSE_REQUIRED_INFO_FTM_FIELDS_VALID_OFFSET 0x0000000000000028 1725 #define RX_RESPONSE_REQUIRED_INFO_FTM_FIELDS_VALID_LSB 55 1726 #define RX_RESPONSE_REQUIRED_INFO_FTM_FIELDS_VALID_MSB 55 1727 #define RX_RESPONSE_REQUIRED_INFO_FTM_FIELDS_VALID_MASK 0x0080000000000000 1728 1729 1730 /* Description FTM_PE_NSS 1731 1732 Field only valid in case ftm_fields_valid is set. 1733 1734 Number of active spatial streams during packet extension 1735 for ftm related frame exchanges 1736 1737 <enum 0 1_spatial_stream>Single spatial stream 1738 <enum 1 2_spatial_streams>2 spatial streams 1739 <enum 2 3_spatial_streams>3 spatial streams 1740 <enum 3 4_spatial_streams>4 spatial streams 1741 <enum 4 5_spatial_streams>5 spatial streams 1742 <enum 5 6_spatial_streams>6 spatial streams 1743 <enum 6 7_spatial_streams>7 spatial streams 1744 <enum 7 8_spatial_streams>8 spatial streams 1745 */ 1746 1747 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_NSS_OFFSET 0x0000000000000028 1748 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_NSS_LSB 56 1749 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_NSS_MSB 58 1750 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_NSS_MASK 0x0700000000000000 1751 1752 1753 /* Description FTM_PE_LTF_SIZE 1754 1755 Field only valid in case ftm_fields_valid is set. 1756 1757 LTF size to be used during packet extention for ftm related 1758 frame exchanges. 1759 1760 0-1x 1761 1-2x (unsupported un HWK-1) 1762 2-4x (unsupported un HWK-1) 1763 <legal all> 1764 */ 1765 1766 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_LTF_SIZE_OFFSET 0x0000000000000028 1767 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_LTF_SIZE_LSB 59 1768 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_LTF_SIZE_MSB 60 1769 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_LTF_SIZE_MASK 0x1800000000000000 1770 1771 1772 /* Description FTM_PE_CONTENT 1773 1774 Field only valid in case ftm_fields_valid is set. 1775 1776 The pe content for ftm related frame exchanges. 1777 1778 Content of packet extension. 1779 1780 0-he_ltf, 1-last_data_symbol 1781 <legal all> 1782 */ 1783 1784 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CONTENT_OFFSET 0x0000000000000028 1785 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CONTENT_LSB 61 1786 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CONTENT_MSB 61 1787 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CONTENT_MASK 0x2000000000000000 1788 1789 1790 /* Description FTM_CHAIN_CSD_EN 1791 1792 Field only valid in case ftm_fields_valid is set. 1793 1794 This field denotes whether to apply CSD on the preamble 1795 and data portion of the packet. This field is valid for 1796 all transmit packets 1797 0: disable per-chain csd 1798 1: enable per-chain csd 1799 <legal all> 1800 */ 1801 1802 #define RX_RESPONSE_REQUIRED_INFO_FTM_CHAIN_CSD_EN_OFFSET 0x0000000000000028 1803 #define RX_RESPONSE_REQUIRED_INFO_FTM_CHAIN_CSD_EN_LSB 62 1804 #define RX_RESPONSE_REQUIRED_INFO_FTM_CHAIN_CSD_EN_MSB 62 1805 #define RX_RESPONSE_REQUIRED_INFO_FTM_CHAIN_CSD_EN_MASK 0x4000000000000000 1806 1807 1808 /* Description FTM_PE_CHAIN_CSD_EN 1809 1810 Field only valid in case ftm_fields_valid is set. 1811 1812 This field denotes whether to apply CSD on the preamble 1813 and data portion of the packet. This field is valid for 1814 all transmit packets 1815 0: disable per-chain csd 1816 1: enable per-chain csd 1817 <legal all> 1818 */ 1819 1820 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CHAIN_CSD_EN_OFFSET 0x0000000000000028 1821 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CHAIN_CSD_EN_LSB 63 1822 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CHAIN_CSD_EN_MSB 63 1823 #define RX_RESPONSE_REQUIRED_INFO_FTM_PE_CHAIN_CSD_EN_MASK 0x8000000000000000 1824 1825 1826 /* Description DOT11AX_RESPONSE_RATE_SOURCE 1827 1828 Field only valid in case of SU_or_uplink_MU_reception = 1829 Reception_is_SU 1830 1831 Valid for response generation to an 11ax pkt_type received 1832 frame, but NOT 11ax extended pkt_type of frame 1833 1834 When set to 0, use the register based lookup for determining 1835 the 11ax response rates. 1836 1837 When > 0, TXPCU shall use this response table index for 1838 the 20 MHz response, and higher BW responses are in the 1839 subsequent response table entries 1840 <legal all> 1841 */ 1842 1843 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RESPONSE_RATE_SOURCE_OFFSET 0x0000000000000030 1844 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RESPONSE_RATE_SOURCE_LSB 0 1845 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RESPONSE_RATE_SOURCE_MSB 7 1846 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_RESPONSE_RATE_SOURCE_MASK 0x00000000000000ff 1847 1848 1849 /* Description DOT11AX_EXT_RESPONSE_RATE_SOURCE 1850 1851 Field only valid in case of SU_or_uplink_MU_reception = 1852 Reception_is_SU 1853 1854 This field is only valid for pkt_type == 11ax and dot11ax_su_extended 1855 is set 1856 1857 When set to 0, the response rates are based on the 11ax 1858 extended response register based indexes in TXPCU. 1859 1860 When > 0, TXPCU shall use this response table index for 1861 the response to a 1RU reception. Higher RU count reception 1862 responses can be found in the subsequent response table 1863 entries: Next entry is for 2 RU receptions, then 4 RU 1864 receptions, then >= 8 RU receptions... 1865 <legal all> 1866 */ 1867 1868 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_EXT_RESPONSE_RATE_SOURCE_OFFSET 0x0000000000000030 1869 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_EXT_RESPONSE_RATE_SOURCE_LSB 8 1870 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_EXT_RESPONSE_RATE_SOURCE_MSB 15 1871 #define RX_RESPONSE_REQUIRED_INFO_DOT11AX_EXT_RESPONSE_RATE_SOURCE_MASK 0x000000000000ff00 1872 1873 1874 /* Description SW_PEER_ID 1875 1876 Field only valid in case of SU_or_uplink_MU_reception = 1877 Reception_is_SU 1878 1879 An identifier indicating for which device this response 1880 is needed. 1881 <legal all> 1882 */ 1883 1884 #define RX_RESPONSE_REQUIRED_INFO_SW_PEER_ID_OFFSET 0x0000000000000030 1885 #define RX_RESPONSE_REQUIRED_INFO_SW_PEER_ID_LSB 16 1886 #define RX_RESPONSE_REQUIRED_INFO_SW_PEER_ID_MSB 31 1887 #define RX_RESPONSE_REQUIRED_INFO_SW_PEER_ID_MASK 0x00000000ffff0000 1888 1889 1890 /* Description DOT11BE_PUNCTURE_BITMAP 1891 1892 This field is only valid if Punctured_response is set 1893 1894 The bitmap of 20 MHz sub-bands valid in this EHT reception 1895 1896 1897 RXPCU gets this from the received U-SIG and/or EHT-SIG via 1898 PHY microcode. 1899 1900 <legal all> 1901 */ 1902 1903 #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_PUNCTURE_BITMAP_OFFSET 0x0000000000000030 1904 #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_PUNCTURE_BITMAP_LSB 32 1905 #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_PUNCTURE_BITMAP_MSB 47 1906 #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_PUNCTURE_BITMAP_MASK 0x0000ffff00000000 1907 1908 1909 /* Description DOT11BE_RESPONSE 1910 1911 Field only valid in case of SU_or_uplink_MU_reception = 1912 Reception_is_SU 1913 1914 Indicates that the peer supports .11be response protocols, 1915 e.g. .11be BW indication in scrambler seed, .11be dynamic 1916 BW procedure, punctured response, etc. 1917 */ 1918 1919 #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_RESPONSE_OFFSET 0x0000000000000030 1920 #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_RESPONSE_LSB 48 1921 #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_RESPONSE_MSB 48 1922 #define RX_RESPONSE_REQUIRED_INFO_DOT11BE_RESPONSE_MASK 0x0001000000000000 1923 1924 1925 /* Description PUNCTURED_RESPONSE 1926 1927 Field only valid if Dot11be_response is set 1928 1929 Indicates that the response shall use preamble puncturing 1930 1931 */ 1932 1933 #define RX_RESPONSE_REQUIRED_INFO_PUNCTURED_RESPONSE_OFFSET 0x0000000000000030 1934 #define RX_RESPONSE_REQUIRED_INFO_PUNCTURED_RESPONSE_LSB 49 1935 #define RX_RESPONSE_REQUIRED_INFO_PUNCTURED_RESPONSE_MSB 49 1936 #define RX_RESPONSE_REQUIRED_INFO_PUNCTURED_RESPONSE_MASK 0x0002000000000000 1937 1938 1939 /* Description EHT_DUPLICATE_MODE 1940 1941 Field only valid in case of SU_or_uplink_MU_reception = 1942 Reception_is_SU for pkt_type == 11be 1943 1944 Indicates EHT duplicate modulation 1945 1946 <enum 0 eht_no_duplicate> 1947 <enum 1 eht_2x_duplicate> 1948 <enum 2 eht_4x_duplicate> 1949 1950 <legal 0-2> 1951 */ 1952 1953 #define RX_RESPONSE_REQUIRED_INFO_EHT_DUPLICATE_MODE_OFFSET 0x0000000000000030 1954 #define RX_RESPONSE_REQUIRED_INFO_EHT_DUPLICATE_MODE_LSB 50 1955 #define RX_RESPONSE_REQUIRED_INFO_EHT_DUPLICATE_MODE_MSB 51 1956 #define RX_RESPONSE_REQUIRED_INFO_EHT_DUPLICATE_MODE_MASK 0x000c000000000000 1957 1958 1959 /* Description FORCE_EXTRA_SYMBOL 1960 1961 Set to 1 to force an extra OFDM symbol (or symbols) even 1962 if the PPDU encoding process does not result in an extra 1963 OFDM symbol (or symbols) 1964 */ 1965 1966 #define RX_RESPONSE_REQUIRED_INFO_FORCE_EXTRA_SYMBOL_OFFSET 0x0000000000000030 1967 #define RX_RESPONSE_REQUIRED_INFO_FORCE_EXTRA_SYMBOL_LSB 52 1968 #define RX_RESPONSE_REQUIRED_INFO_FORCE_EXTRA_SYMBOL_MSB 52 1969 #define RX_RESPONSE_REQUIRED_INFO_FORCE_EXTRA_SYMBOL_MASK 0x0010000000000000 1970 1971 1972 /* Description RESERVED_13A 1973 1974 <legal 0> 1975 */ 1976 1977 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_13A_OFFSET 0x0000000000000030 1978 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_13A_LSB 53 1979 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_13A_MSB 57 1980 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_13A_MASK 0x03e0000000000000 1981 1982 1983 /* Description U_SIG_PUNCTURE_PATTERN_ENCODING 1984 1985 This field is only valid if Punctured_response is set 1986 1987 The 6-bit value used in U-SIG and/or EHT-SIG Common field 1988 for the puncture pattern 1989 <legal 0-29> 1990 */ 1991 1992 #define RX_RESPONSE_REQUIRED_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET 0x0000000000000030 1993 #define RX_RESPONSE_REQUIRED_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB 58 1994 #define RX_RESPONSE_REQUIRED_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB 63 1995 #define RX_RESPONSE_REQUIRED_INFO_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK 0xfc00000000000000 1996 1997 1998 /* Description MLO_STA_ID_DETAILS_RX 1999 2000 Bits 10 and 11 are not valid, bits [9:0] reflect 'NSTR_MLO_STA_ID' 2001 from address search. 2002 2003 See definition of mlo_sta_id_details. 2004 2005 Hamilton v1 did not include this (and any subsequent) word. 2006 2007 */ 2008 2009 2010 /* Description NSTR_MLO_STA_ID 2011 2012 ID of peer participating in non-STR MLO 2013 */ 2014 2015 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_OFFSET 0x0000000000000038 2016 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_LSB 0 2017 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MSB 9 2018 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MASK 0x00000000000003ff 2019 2020 2021 /* Description BLOCK_SELF_ML_SYNC 2022 2023 Only valid for TX 2024 2025 When set, this provides an indication to block the peer 2026 for self-link. 2027 */ 2028 2029 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_OFFSET 0x0000000000000038 2030 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_LSB 10 2031 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MSB 10 2032 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MASK 0x0000000000000400 2033 2034 2035 /* Description BLOCK_PARTNER_ML_SYNC 2036 2037 Only valid for TX 2038 2039 When set, this provides an indication to block the peer 2040 for partner links. 2041 */ 2042 2043 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_OFFSET 0x0000000000000038 2044 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_LSB 11 2045 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MSB 11 2046 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MASK 0x0000000000000800 2047 2048 2049 /* Description NSTR_MLO_STA_ID_VALID 2050 2051 All the fields in this TLV are valid only if this bit is 2052 set. 2053 */ 2054 2055 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_OFFSET 0x0000000000000038 2056 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_LSB 12 2057 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MSB 12 2058 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MASK 0x0000000000001000 2059 2060 2061 /* Description RESERVED_0A 2062 2063 <legal 0> 2064 */ 2065 2066 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_OFFSET 0x0000000000000038 2067 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_LSB 13 2068 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MSB 15 2069 #define RX_RESPONSE_REQUIRED_INFO_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MASK 0x000000000000e000 2070 2071 2072 /* Description HE_A_CONTROL_RESPONSE_TIME 2073 2074 When non-zero, indicates the value from an HE A-Control 2075 in the received frame requiring a specific response time 2076 (e.g. for sync MLO) 2077 2078 <legal all> 2079 */ 2080 2081 #define RX_RESPONSE_REQUIRED_INFO_HE_A_CONTROL_RESPONSE_TIME_OFFSET 0x0000000000000038 2082 #define RX_RESPONSE_REQUIRED_INFO_HE_A_CONTROL_RESPONSE_TIME_LSB 16 2083 #define RX_RESPONSE_REQUIRED_INFO_HE_A_CONTROL_RESPONSE_TIME_MSB 27 2084 #define RX_RESPONSE_REQUIRED_INFO_HE_A_CONTROL_RESPONSE_TIME_MASK 0x000000000fff0000 2085 2086 2087 /* Description RESERVED_AFTER_STRUCT16 2088 2089 <legal 0> 2090 */ 2091 2092 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_AFTER_STRUCT16_OFFSET 0x0000000000000038 2093 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_AFTER_STRUCT16_LSB 28 2094 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_AFTER_STRUCT16_MSB 31 2095 #define RX_RESPONSE_REQUIRED_INFO_RESERVED_AFTER_STRUCT16_MASK 0x00000000f0000000 2096 2097 2098 /* Description TLV64_PADDING 2099 2100 Automatic DWORD padding inserted while converting TLV32 2101 to TLV64 for 64 bit ARCH 2102 <legal 0> 2103 */ 2104 2105 #define RX_RESPONSE_REQUIRED_INFO_TLV64_PADDING_OFFSET 0x0000000000000038 2106 #define RX_RESPONSE_REQUIRED_INFO_TLV64_PADDING_LSB 32 2107 #define RX_RESPONSE_REQUIRED_INFO_TLV64_PADDING_MSB 63 2108 #define RX_RESPONSE_REQUIRED_INFO_TLV64_PADDING_MASK 0xffffffff00000000 2109 2110 2111 2112 #endif // RX_RESPONSE_REQUIRED_INFO 2113