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 _OFDMA_TRIGGER_DETAILS_H_ 18 #define _OFDMA_TRIGGER_DETAILS_H_ 19 #if !defined(__ASSEMBLER__) 20 #endif 21 22 #include "mlo_sta_id_details.h" 23 #define NUM_OF_DWORDS_OFDMA_TRIGGER_DETAILS 22 24 25 #define NUM_OF_QWORDS_OFDMA_TRIGGER_DETAILS 11 26 27 28 struct ofdma_trigger_details { 29 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 30 uint32_t ax_trigger_source : 1, // [0:0] 31 rx_trigger_frame_user_source : 2, // [2:1] 32 received_bandwidth : 3, // [5:3] 33 txop_duration_all_ones : 1, // [6:6] 34 eht_trigger_response : 1, // [7:7] 35 pre_rssi_comb : 8, // [15:8] 36 rssi_comb : 8, // [23:16] 37 rxpcu_pcie_l0_req_duration : 8; // [31:24] 38 uint32_t he_trigger_ul_ppdu_length : 5, // [4:0] 39 he_trigger_ru_allocation : 8, // [12:5] 40 he_trigger_dl_tx_power : 5, // [17:13] 41 he_trigger_ul_target_rssi : 5, // [22:18] 42 he_trigger_ul_mcs : 2, // [24:23] 43 he_trigger_reserved : 1, // [25:25] 44 bss_color : 6; // [31:26] 45 uint32_t trigger_type : 4, // [3:0] 46 lsig_response_length : 12, // [15:4] 47 cascade_indication : 1, // [16:16] 48 carrier_sense : 1, // [17:17] 49 bandwidth : 2, // [19:18] 50 cp_ltf_size : 2, // [21:20] 51 mu_mimo_ltf_mode : 1, // [22:22] 52 number_of_ltfs : 3, // [25:23] 53 stbc : 1, // [26:26] 54 ldpc_extra_symbol : 1, // [27:27] 55 ap_tx_power_lsb_part : 4; // [31:28] 56 uint32_t ap_tx_power_msb_part : 2, // [1:0] 57 packet_extension_a_factor : 2, // [3:2] 58 packet_extension_pe_disambiguity : 1, // [4:4] 59 spatial_reuse : 16, // [20:5] 60 doppler : 1, // [21:21] 61 he_siga_reserved : 9, // [30:22] 62 reserved_3b : 1; // [31:31] 63 uint32_t aid12 : 12, // [11:0] 64 ru_allocation : 9, // [20:12] 65 mcs : 4, // [24:21] 66 dcm : 1, // [25:25] 67 start_spatial_stream : 3, // [28:26] 68 number_of_spatial_stream : 3; // [31:29] 69 uint32_t target_rssi : 7, // [6:0] 70 coding_type : 1, // [7:7] 71 mpdu_mu_spacing_factor : 2, // [9:8] 72 tid_aggregation_limit : 3, // [12:10] 73 reserved_5b : 1, // [13:13] 74 prefered_ac : 2, // [15:14] 75 bar_control_ack_policy : 1, // [16:16] 76 bar_control_multi_tid : 1, // [17:17] 77 bar_control_compressed_bitmap : 1, // [18:18] 78 bar_control_reserved : 9, // [27:19] 79 bar_control_tid_info : 4; // [31:28] 80 uint32_t nr0_per_tid_info_reserved : 12, // [11:0] 81 nr0_per_tid_info_tid_value : 4, // [15:12] 82 nr0_start_seq_ctrl_frag_number : 4, // [19:16] 83 nr0_start_seq_ctrl_start_seq_number : 12; // [31:20] 84 uint32_t nr1_per_tid_info_reserved : 12, // [11:0] 85 nr1_per_tid_info_tid_value : 4, // [15:12] 86 nr1_start_seq_ctrl_frag_number : 4, // [19:16] 87 nr1_start_seq_ctrl_start_seq_number : 12; // [31:20] 88 uint32_t nr2_per_tid_info_reserved : 12, // [11:0] 89 nr2_per_tid_info_tid_value : 4, // [15:12] 90 nr2_start_seq_ctrl_frag_number : 4, // [19:16] 91 nr2_start_seq_ctrl_start_seq_number : 12; // [31:20] 92 uint32_t nr3_per_tid_info_reserved : 12, // [11:0] 93 nr3_per_tid_info_tid_value : 4, // [15:12] 94 nr3_start_seq_ctrl_frag_number : 4, // [19:16] 95 nr3_start_seq_ctrl_start_seq_number : 12; // [31:20] 96 uint32_t nr4_per_tid_info_reserved : 12, // [11:0] 97 nr4_per_tid_info_tid_value : 4, // [15:12] 98 nr4_start_seq_ctrl_frag_number : 4, // [19:16] 99 nr4_start_seq_ctrl_start_seq_number : 12; // [31:20] 100 uint32_t nr5_per_tid_info_reserved : 12, // [11:0] 101 nr5_per_tid_info_tid_value : 4, // [15:12] 102 nr5_start_seq_ctrl_frag_number : 4, // [19:16] 103 nr5_start_seq_ctrl_start_seq_number : 12; // [31:20] 104 uint32_t nr6_per_tid_info_reserved : 12, // [11:0] 105 nr6_per_tid_info_tid_value : 4, // [15:12] 106 nr6_start_seq_ctrl_frag_number : 4, // [19:16] 107 nr6_start_seq_ctrl_start_seq_number : 12; // [31:20] 108 uint32_t nr7_per_tid_info_reserved : 12, // [11:0] 109 nr7_per_tid_info_tid_value : 4, // [15:12] 110 nr7_start_seq_ctrl_frag_number : 4, // [19:16] 111 nr7_start_seq_ctrl_start_seq_number : 12; // [31:20] 112 uint32_t fb_segment_retransmission_bitmap : 8, // [7:0] 113 reserved_14a : 2, // [9:8] 114 u_sig_puncture_pattern_encoding : 6, // [15:10] 115 dot11be_puncture_bitmap : 16; // [31:16] 116 uint32_t rx_chain_mask : 8, // [7:0] 117 rx_duration_field : 16, // [23:8] 118 scrambler_seed : 7, // [30:24] 119 rx_chain_mask_type : 1; // [31:31] 120 struct mlo_sta_id_details mlo_sta_id_details_rx; 121 uint16_t normalized_pre_rssi_comb : 8, // [23:16] 122 normalized_rssi_comb : 8; // [31:24] 123 uint32_t sw_peer_id : 16, // [15:0] 124 response_tx_duration : 16; // [31:16] 125 uint32_t ranging_trigger_subtype : 4, // [3:0] 126 tbr_trigger_common_info_79_68 : 12, // [15:4] 127 tbr_trigger_sound_reserved_20_12 : 9, // [24:16] 128 i2r_rep : 3, // [27:25] 129 tbr_trigger_sound_reserved_25_24 : 2, // [29:28] 130 reserved_18a : 1, // [30:30] 131 qos_null_only_response_tx : 1; // [31:31] 132 uint32_t tbr_trigger_sound_sac : 16, // [15:0] 133 reserved_19a : 8, // [23:16] 134 u_sig_reserved2 : 5, // [28:24] 135 reserved_19b : 3; // [31:29] 136 uint32_t eht_special_aid12 : 12, // [11:0] 137 phy_version : 3, // [14:12] 138 bandwidth_ext : 2, // [16:15] 139 eht_spatial_reuse : 8, // [24:17] 140 u_sig_reserved1 : 7; // [31:25] 141 uint32_t eht_trigger_special_user_info_71_40 : 32; // [31:0] 142 #else 143 uint32_t rxpcu_pcie_l0_req_duration : 8, // [31:24] 144 rssi_comb : 8, // [23:16] 145 pre_rssi_comb : 8, // [15:8] 146 eht_trigger_response : 1, // [7:7] 147 txop_duration_all_ones : 1, // [6:6] 148 received_bandwidth : 3, // [5:3] 149 rx_trigger_frame_user_source : 2, // [2:1] 150 ax_trigger_source : 1; // [0:0] 151 uint32_t bss_color : 6, // [31:26] 152 he_trigger_reserved : 1, // [25:25] 153 he_trigger_ul_mcs : 2, // [24:23] 154 he_trigger_ul_target_rssi : 5, // [22:18] 155 he_trigger_dl_tx_power : 5, // [17:13] 156 he_trigger_ru_allocation : 8, // [12:5] 157 he_trigger_ul_ppdu_length : 5; // [4:0] 158 uint32_t ap_tx_power_lsb_part : 4, // [31:28] 159 ldpc_extra_symbol : 1, // [27:27] 160 stbc : 1, // [26:26] 161 number_of_ltfs : 3, // [25:23] 162 mu_mimo_ltf_mode : 1, // [22:22] 163 cp_ltf_size : 2, // [21:20] 164 bandwidth : 2, // [19:18] 165 carrier_sense : 1, // [17:17] 166 cascade_indication : 1, // [16:16] 167 lsig_response_length : 12, // [15:4] 168 trigger_type : 4; // [3:0] 169 uint32_t reserved_3b : 1, // [31:31] 170 he_siga_reserved : 9, // [30:22] 171 doppler : 1, // [21:21] 172 spatial_reuse : 16, // [20:5] 173 packet_extension_pe_disambiguity : 1, // [4:4] 174 packet_extension_a_factor : 2, // [3:2] 175 ap_tx_power_msb_part : 2; // [1:0] 176 uint32_t number_of_spatial_stream : 3, // [31:29] 177 start_spatial_stream : 3, // [28:26] 178 dcm : 1, // [25:25] 179 mcs : 4, // [24:21] 180 ru_allocation : 9, // [20:12] 181 aid12 : 12; // [11:0] 182 uint32_t bar_control_tid_info : 4, // [31:28] 183 bar_control_reserved : 9, // [27:19] 184 bar_control_compressed_bitmap : 1, // [18:18] 185 bar_control_multi_tid : 1, // [17:17] 186 bar_control_ack_policy : 1, // [16:16] 187 prefered_ac : 2, // [15:14] 188 reserved_5b : 1, // [13:13] 189 tid_aggregation_limit : 3, // [12:10] 190 mpdu_mu_spacing_factor : 2, // [9:8] 191 coding_type : 1, // [7:7] 192 target_rssi : 7; // [6:0] 193 uint32_t nr0_start_seq_ctrl_start_seq_number : 12, // [31:20] 194 nr0_start_seq_ctrl_frag_number : 4, // [19:16] 195 nr0_per_tid_info_tid_value : 4, // [15:12] 196 nr0_per_tid_info_reserved : 12; // [11:0] 197 uint32_t nr1_start_seq_ctrl_start_seq_number : 12, // [31:20] 198 nr1_start_seq_ctrl_frag_number : 4, // [19:16] 199 nr1_per_tid_info_tid_value : 4, // [15:12] 200 nr1_per_tid_info_reserved : 12; // [11:0] 201 uint32_t nr2_start_seq_ctrl_start_seq_number : 12, // [31:20] 202 nr2_start_seq_ctrl_frag_number : 4, // [19:16] 203 nr2_per_tid_info_tid_value : 4, // [15:12] 204 nr2_per_tid_info_reserved : 12; // [11:0] 205 uint32_t nr3_start_seq_ctrl_start_seq_number : 12, // [31:20] 206 nr3_start_seq_ctrl_frag_number : 4, // [19:16] 207 nr3_per_tid_info_tid_value : 4, // [15:12] 208 nr3_per_tid_info_reserved : 12; // [11:0] 209 uint32_t nr4_start_seq_ctrl_start_seq_number : 12, // [31:20] 210 nr4_start_seq_ctrl_frag_number : 4, // [19:16] 211 nr4_per_tid_info_tid_value : 4, // [15:12] 212 nr4_per_tid_info_reserved : 12; // [11:0] 213 uint32_t nr5_start_seq_ctrl_start_seq_number : 12, // [31:20] 214 nr5_start_seq_ctrl_frag_number : 4, // [19:16] 215 nr5_per_tid_info_tid_value : 4, // [15:12] 216 nr5_per_tid_info_reserved : 12; // [11:0] 217 uint32_t nr6_start_seq_ctrl_start_seq_number : 12, // [31:20] 218 nr6_start_seq_ctrl_frag_number : 4, // [19:16] 219 nr6_per_tid_info_tid_value : 4, // [15:12] 220 nr6_per_tid_info_reserved : 12; // [11:0] 221 uint32_t nr7_start_seq_ctrl_start_seq_number : 12, // [31:20] 222 nr7_start_seq_ctrl_frag_number : 4, // [19:16] 223 nr7_per_tid_info_tid_value : 4, // [15:12] 224 nr7_per_tid_info_reserved : 12; // [11:0] 225 uint32_t dot11be_puncture_bitmap : 16, // [31:16] 226 u_sig_puncture_pattern_encoding : 6, // [15:10] 227 reserved_14a : 2, // [9:8] 228 fb_segment_retransmission_bitmap : 8; // [7:0] 229 uint32_t rx_chain_mask_type : 1, // [31:31] 230 scrambler_seed : 7, // [30:24] 231 rx_duration_field : 16, // [23:8] 232 rx_chain_mask : 8; // [7:0] 233 uint32_t normalized_rssi_comb : 8, // [31:24] 234 normalized_pre_rssi_comb : 8; // [23:16] 235 struct mlo_sta_id_details mlo_sta_id_details_rx; 236 uint32_t response_tx_duration : 16, // [31:16] 237 sw_peer_id : 16; // [15:0] 238 uint32_t qos_null_only_response_tx : 1, // [31:31] 239 reserved_18a : 1, // [30:30] 240 tbr_trigger_sound_reserved_25_24 : 2, // [29:28] 241 i2r_rep : 3, // [27:25] 242 tbr_trigger_sound_reserved_20_12 : 9, // [24:16] 243 tbr_trigger_common_info_79_68 : 12, // [15:4] 244 ranging_trigger_subtype : 4; // [3:0] 245 uint32_t reserved_19b : 3, // [31:29] 246 u_sig_reserved2 : 5, // [28:24] 247 reserved_19a : 8, // [23:16] 248 tbr_trigger_sound_sac : 16; // [15:0] 249 uint32_t u_sig_reserved1 : 7, // [31:25] 250 eht_spatial_reuse : 8, // [24:17] 251 bandwidth_ext : 2, // [16:15] 252 phy_version : 3, // [14:12] 253 eht_special_aid12 : 12; // [11:0] 254 uint32_t eht_trigger_special_user_info_71_40 : 32; // [31:0] 255 #endif 256 }; 257 258 259 /* Description AX_TRIGGER_SOURCE 260 261 <enum 0 11ax_trigger_frame> 262 <enum 1 he_control_based_trigger> 263 264 <legal all> 265 */ 266 267 #define OFDMA_TRIGGER_DETAILS_AX_TRIGGER_SOURCE_OFFSET 0x0000000000000000 268 #define OFDMA_TRIGGER_DETAILS_AX_TRIGGER_SOURCE_LSB 0 269 #define OFDMA_TRIGGER_DETAILS_AX_TRIGGER_SOURCE_MSB 0 270 #define OFDMA_TRIGGER_DETAILS_AX_TRIGGER_SOURCE_MASK 0x0000000000000001 271 272 273 /* Description RX_TRIGGER_FRAME_USER_SOURCE 274 275 Field not really needed by PDG, but is there for debugging 276 purposes to be put in event. 277 278 <enum 0 dot11ax_direct_trigger_frame> 279 <enum 1 dot11ax_wildcard_trigger_frame> wildcard trigger 280 for associated STAs 281 <enum 2 dot11ax_usassoc_wildcard_trigger_frame> wildcard 282 trigger for unassociated STAs 283 284 <legal 0-2> 285 */ 286 287 #define OFDMA_TRIGGER_DETAILS_RX_TRIGGER_FRAME_USER_SOURCE_OFFSET 0x0000000000000000 288 #define OFDMA_TRIGGER_DETAILS_RX_TRIGGER_FRAME_USER_SOURCE_LSB 1 289 #define OFDMA_TRIGGER_DETAILS_RX_TRIGGER_FRAME_USER_SOURCE_MSB 2 290 #define OFDMA_TRIGGER_DETAILS_RX_TRIGGER_FRAME_USER_SOURCE_MASK 0x0000000000000006 291 292 293 /* Description RECEIVED_BANDWIDTH 294 295 Received Packet bandwidth of the trigger frame. 296 297 Note that this is not the BW indicated within the trigger 298 frame itself. 299 300 <enum 0 20_mhz>20 Mhz BW 301 <enum 1 40_mhz>40 Mhz BW 302 <enum 2 80_mhz>80 Mhz BW 303 <enum 3 160_mhz>160 Mhz BW 304 <enum 4 320_mhz>320 Mhz BW 305 <enum 5 240_mhz>240 Mhz BW 306 */ 307 308 #define OFDMA_TRIGGER_DETAILS_RECEIVED_BANDWIDTH_OFFSET 0x0000000000000000 309 #define OFDMA_TRIGGER_DETAILS_RECEIVED_BANDWIDTH_LSB 3 310 #define OFDMA_TRIGGER_DETAILS_RECEIVED_BANDWIDTH_MSB 5 311 #define OFDMA_TRIGGER_DETAILS_RECEIVED_BANDWIDTH_MASK 0x0000000000000038 312 313 314 /* Description TXOP_DURATION_ALL_ONES 315 316 When set, TXOP_DURATION of the received frame was set to 317 all 1s. 318 319 <legal all> 320 */ 321 322 #define OFDMA_TRIGGER_DETAILS_TXOP_DURATION_ALL_ONES_OFFSET 0x0000000000000000 323 #define OFDMA_TRIGGER_DETAILS_TXOP_DURATION_ALL_ONES_LSB 6 324 #define OFDMA_TRIGGER_DETAILS_TXOP_DURATION_ALL_ONES_MSB 6 325 #define OFDMA_TRIGGER_DETAILS_TXOP_DURATION_ALL_ONES_MASK 0x0000000000000040 326 327 328 /* Description EHT_TRIGGER_RESPONSE 329 330 0: Trigger expects an HE TB PPDU Tx response. 331 1: Trigger expects an EHT TB PPDU Tx response. 332 <legal 0> 333 */ 334 335 #define OFDMA_TRIGGER_DETAILS_EHT_TRIGGER_RESPONSE_OFFSET 0x0000000000000000 336 #define OFDMA_TRIGGER_DETAILS_EHT_TRIGGER_RESPONSE_LSB 7 337 #define OFDMA_TRIGGER_DETAILS_EHT_TRIGGER_RESPONSE_MSB 7 338 #define OFDMA_TRIGGER_DETAILS_EHT_TRIGGER_RESPONSE_MASK 0x0000000000000080 339 340 341 /* Description PRE_RSSI_COMB 342 343 Combined pre_rssi of all chains. Based on primary channel 344 RSSI. 345 346 RSSI is reported as 8b signed values. Nominally value is 347 in dB units above or below the noisefloor(minCCApwr). 348 349 The resolution can be: 350 1dB or 0.5dB. This is statically configured within the PHY 351 and MAC 352 353 In case of 1dB, the Range is: 354 -128dB to 127dB 355 356 In case of 0.5dB, the Range is: 357 -64dB to 63.5dB 358 359 <legal all> 360 */ 361 362 #define OFDMA_TRIGGER_DETAILS_PRE_RSSI_COMB_OFFSET 0x0000000000000000 363 #define OFDMA_TRIGGER_DETAILS_PRE_RSSI_COMB_LSB 8 364 #define OFDMA_TRIGGER_DETAILS_PRE_RSSI_COMB_MSB 15 365 #define OFDMA_TRIGGER_DETAILS_PRE_RSSI_COMB_MASK 0x000000000000ff00 366 367 368 /* Description RSSI_COMB 369 370 Combined rssi of all chains. Based on primary channel RSSI. 371 372 373 RSSI is reported as 8b signed values. Nominally value is 374 in dB units above or below the noisefloor(minCCApwr). 375 376 The resolution can be: 377 1dB or 0.5dB. This is statically configured within the PHY 378 and MAC 379 380 In case of 1dB, the Range is: 381 -128dB to 127dB 382 383 In case of 0.5dB, the Range is: 384 -64dB to 63.5dB 385 386 <legal all> 387 */ 388 389 #define OFDMA_TRIGGER_DETAILS_RSSI_COMB_OFFSET 0x0000000000000000 390 #define OFDMA_TRIGGER_DETAILS_RSSI_COMB_LSB 16 391 #define OFDMA_TRIGGER_DETAILS_RSSI_COMB_MSB 23 392 #define OFDMA_TRIGGER_DETAILS_RSSI_COMB_MASK 0x0000000000ff0000 393 394 395 /* Description RXPCU_PCIE_L0_REQ_DURATION 396 397 RXPCU fills the duration in µs for which it has asserted 398 the 'L0 request' signal to PCIe when it generates this 399 TLV. This may be capped by either the max. PCIe L1SS exit 400 latency (~75 µs) or the max. value possible for this field. 401 402 403 This is filled as zero if ILP is unsupported 404 405 PDG uses this to fill Qos_null_only_response_tx. 406 <legal all> 407 */ 408 409 #define OFDMA_TRIGGER_DETAILS_RXPCU_PCIE_L0_REQ_DURATION_OFFSET 0x0000000000000000 410 #define OFDMA_TRIGGER_DETAILS_RXPCU_PCIE_L0_REQ_DURATION_LSB 24 411 #define OFDMA_TRIGGER_DETAILS_RXPCU_PCIE_L0_REQ_DURATION_MSB 31 412 #define OFDMA_TRIGGER_DETAILS_RXPCU_PCIE_L0_REQ_DURATION_MASK 0x00000000ff000000 413 414 415 /* Description HE_TRIGGER_UL_PPDU_LENGTH 416 417 Field only valid when ax_trigger_source = he_control_based_trigger 418 419 420 Field extracted from the HE control field. 421 length of the HE trigger-based PPDU response. 422 423 <legal all> 424 */ 425 426 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_PPDU_LENGTH_OFFSET 0x0000000000000000 427 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_PPDU_LENGTH_LSB 32 428 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_PPDU_LENGTH_MSB 36 429 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_PPDU_LENGTH_MASK 0x0000001f00000000 430 431 432 /* Description HE_TRIGGER_RU_ALLOCATION 433 434 Field only valid when ax_trigger_source = he_control_based_trigger 435 436 437 Field extracted from the HE control field. 438 RU allocation for HE based trigger 439 440 <legal all> 441 */ 442 443 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_RU_ALLOCATION_OFFSET 0x0000000000000000 444 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_RU_ALLOCATION_LSB 37 445 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_RU_ALLOCATION_MSB 44 446 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_RU_ALLOCATION_MASK 0x00001fe000000000 447 448 449 /* Description HE_TRIGGER_DL_TX_POWER 450 451 Field only valid when ax_trigger_source = he_control_based_trigger 452 453 454 Field extracted from the HE control field. 455 Downlink TX power 456 457 <legal all> 458 */ 459 460 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_DL_TX_POWER_OFFSET 0x0000000000000000 461 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_DL_TX_POWER_LSB 45 462 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_DL_TX_POWER_MSB 49 463 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_DL_TX_POWER_MASK 0x0003e00000000000 464 465 466 /* Description HE_TRIGGER_UL_TARGET_RSSI 467 468 Field only valid when ax_trigger_source = he_control_based_trigger 469 470 471 Field extracted from the HE control field. 472 Ul target RSSI 473 474 <legal all> 475 */ 476 477 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_TARGET_RSSI_OFFSET 0x0000000000000000 478 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_TARGET_RSSI_LSB 50 479 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_TARGET_RSSI_MSB 54 480 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_TARGET_RSSI_MASK 0x007c000000000000 481 482 483 /* Description HE_TRIGGER_UL_MCS 484 485 Field only valid when ax_trigger_source = he_control_based_trigger 486 487 488 Field extracted from the HE control field. 489 UL MCS 490 491 <legal all> 492 */ 493 494 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_MCS_OFFSET 0x0000000000000000 495 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_MCS_LSB 55 496 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_MCS_MSB 56 497 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_UL_MCS_MASK 0x0180000000000000 498 499 500 /* Description HE_TRIGGER_RESERVED 501 502 Field only valid when ax_trigger_source = he_control_based_trigger 503 504 505 Field extracted from the HE control field. 506 Reserved field 507 508 <legal all> 509 */ 510 511 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_RESERVED_OFFSET 0x0000000000000000 512 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_RESERVED_LSB 57 513 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_RESERVED_MSB 57 514 #define OFDMA_TRIGGER_DETAILS_HE_TRIGGER_RESERVED_MASK 0x0200000000000000 515 516 517 /* Description BSS_COLOR 518 519 The BSS color of the AP 520 <legal all> 521 */ 522 523 #define OFDMA_TRIGGER_DETAILS_BSS_COLOR_OFFSET 0x0000000000000000 524 #define OFDMA_TRIGGER_DETAILS_BSS_COLOR_LSB 58 525 #define OFDMA_TRIGGER_DETAILS_BSS_COLOR_MSB 63 526 #define OFDMA_TRIGGER_DETAILS_BSS_COLOR_MASK 0xfc00000000000000 527 528 529 /* Description TRIGGER_TYPE 530 531 Field only valid when ax_trigger_source = 11ax_trigger_frame 532 533 534 Common trigger info 535 536 Indicates what kind of response is required to the received 537 OFDMA trigger... 538 539 Field not really needed by PDG, but is there for debugging 540 purposes to be put in event. 541 542 <enum 0 ax_trigger_basic> TXPCU sends back whatever SW has 543 programmed...for the basic response.. 544 <enum 1 ax_trigger_brpoll> TXPCU is only allowed to send 545 CBF frame(s) back 546 <enum 2 ax_trigger_mu_bar> TXPCU shall first send BA info, 547 and optionally followed with data. No info from SCH is expected 548 549 <enum 3 ax_trigger_mu_rts> TXPCU shall only send CTS back. 550 No info from SCH is expected 551 <enum 4 ax_trigger_buffer_size> Also known as the BSRP trigger. 552 TXPCU sends back whatever SW has programmed...for the basic 553 response.. 554 <enum 5 ax_trigger_gcr_mu_bar> 555 <enum 6 ax_trigger_BQRP> Bandwidth Query Report Poll 556 <enum 7 ax_trigger_NDP_fb_report_poll> NDP feedback report 557 Poll 558 <enum 8 ax_tb_ranging_trigger> ranging Trigger Frame of 559 subvariant indicated by Ranging_Trigger_Subtype 560 <enum 9 ax_trigger_reserved_9> 561 <enum 10 ax_trigger_reserved_10> 562 <enum 11 ax_trigger_reserved_11> 563 <enum 12 ax_trigger_reserved_12> 564 <enum 13 ax_trigger_reserved_13> 565 <enum 14 ax_trigger_reserved_14> 566 <enum 15 ax_trigger_reserved_15> 567 <legal all> 568 */ 569 570 #define OFDMA_TRIGGER_DETAILS_TRIGGER_TYPE_OFFSET 0x0000000000000008 571 #define OFDMA_TRIGGER_DETAILS_TRIGGER_TYPE_LSB 0 572 #define OFDMA_TRIGGER_DETAILS_TRIGGER_TYPE_MSB 3 573 #define OFDMA_TRIGGER_DETAILS_TRIGGER_TYPE_MASK 0x000000000000000f 574 575 576 /* Description LSIG_RESPONSE_LENGTH 577 578 Field only valid when ax_trigger_source = 11ax_trigger_frame 579 580 581 Common trigger info 582 583 Indicates the value of the L-SIG Length field of the HE 584 trigger-based PPDU that is the response to the Trigger frame 585 586 587 <legal all> 588 */ 589 590 #define OFDMA_TRIGGER_DETAILS_LSIG_RESPONSE_LENGTH_OFFSET 0x0000000000000008 591 #define OFDMA_TRIGGER_DETAILS_LSIG_RESPONSE_LENGTH_LSB 4 592 #define OFDMA_TRIGGER_DETAILS_LSIG_RESPONSE_LENGTH_MSB 15 593 #define OFDMA_TRIGGER_DETAILS_LSIG_RESPONSE_LENGTH_MASK 0x000000000000fff0 594 595 596 /* Description CASCADE_INDICATION 597 598 Field only valid when ax_trigger_source = 11ax_trigger_frame 599 600 601 Common trigger info 602 603 When set to 1, then a subsequent Trigger frame follows the 604 current Trigger frame. 605 <legal all> 606 */ 607 608 #define OFDMA_TRIGGER_DETAILS_CASCADE_INDICATION_OFFSET 0x0000000000000008 609 #define OFDMA_TRIGGER_DETAILS_CASCADE_INDICATION_LSB 16 610 #define OFDMA_TRIGGER_DETAILS_CASCADE_INDICATION_MSB 16 611 #define OFDMA_TRIGGER_DETAILS_CASCADE_INDICATION_MASK 0x0000000000010000 612 613 614 /* Description CARRIER_SENSE 615 616 Field only valid when ax_trigger_source = 11ax_trigger_frame 617 618 619 Common trigger info 620 621 Need to sense the energy before transmit when CS=1 if allocated 622 channel is not available do not transmit . If CS=0 no need 623 to check for idle channel. For region based restrict ignore 624 this bit and always check channel before transmit. 625 <legal all> 626 */ 627 628 #define OFDMA_TRIGGER_DETAILS_CARRIER_SENSE_OFFSET 0x0000000000000008 629 #define OFDMA_TRIGGER_DETAILS_CARRIER_SENSE_LSB 17 630 #define OFDMA_TRIGGER_DETAILS_CARRIER_SENSE_MSB 17 631 #define OFDMA_TRIGGER_DETAILS_CARRIER_SENSE_MASK 0x0000000000020000 632 633 634 /* Description BANDWIDTH 635 636 Field only valid when ax_trigger_source = 11ax_trigger_frame 637 638 639 Common trigger info 640 641 Indicates the bandwidth in the HE-SIG-A/U-SIG of the HE/EHT 642 Trigger based PPDU 643 644 Also see field Bandwidth_ext that determines 320 MHz bandwidth 645 for EHT. 646 647 <enum 0 HE_SIG_A_BW20> 20 Mhz 648 <enum 1 HE_SIG_A_BW40> 40 Mhz 649 <enum 2 HE_SIG_A_BW80> 80 Mhz 650 <enum 3 HE_SIG_A_BW160> 160 MHz or 80+80 MHz 651 652 <legal all> 653 */ 654 655 #define OFDMA_TRIGGER_DETAILS_BANDWIDTH_OFFSET 0x0000000000000008 656 #define OFDMA_TRIGGER_DETAILS_BANDWIDTH_LSB 18 657 #define OFDMA_TRIGGER_DETAILS_BANDWIDTH_MSB 19 658 #define OFDMA_TRIGGER_DETAILS_BANDWIDTH_MASK 0x00000000000c0000 659 660 661 /* Description CP_LTF_SIZE 662 663 Field only valid when ax_trigger_source = 11ax_trigger_frame 664 665 666 Common trigger info 667 668 Indicates the CP and HE-LTF type 669 670 <enum 0 Trig_OneX_LTF_1_6CP> 1xLTF + 1.6 us CP 671 <enum 1 Trig_TwoX_LTF_1_6CP> 2x LTF + 1.6 µs CP 672 <enum 2 Trig_FourX_LTF_3_2CP> 4x LTF + 3.2 µs CP 673 674 <legal 0-2> 675 */ 676 677 #define OFDMA_TRIGGER_DETAILS_CP_LTF_SIZE_OFFSET 0x0000000000000008 678 #define OFDMA_TRIGGER_DETAILS_CP_LTF_SIZE_LSB 20 679 #define OFDMA_TRIGGER_DETAILS_CP_LTF_SIZE_MSB 21 680 #define OFDMA_TRIGGER_DETAILS_CP_LTF_SIZE_MASK 0x0000000000300000 681 682 683 /* Description MU_MIMO_LTF_MODE 684 685 Field only valid when ax_trigger_source = 11ax_trigger_frame 686 687 688 Common trigger info 689 690 MU MIMO LTF mode field indicates the mode in which pilots 691 are allocated 692 693 Must be set to 0 for HE-Ranging NDPs (11az) or Short-NDP 694 695 696 0: Single-stream pilot 697 1: Mask LTF sequence of each spatial stream by a distinct 698 orthogonal code 699 <legal all> 700 */ 701 702 #define OFDMA_TRIGGER_DETAILS_MU_MIMO_LTF_MODE_OFFSET 0x0000000000000008 703 #define OFDMA_TRIGGER_DETAILS_MU_MIMO_LTF_MODE_LSB 22 704 #define OFDMA_TRIGGER_DETAILS_MU_MIMO_LTF_MODE_MSB 22 705 #define OFDMA_TRIGGER_DETAILS_MU_MIMO_LTF_MODE_MASK 0x0000000000400000 706 707 708 /* Description NUMBER_OF_LTFS 709 710 Field only valid when ax_trigger_source = 11ax_trigger_frame 711 712 713 Common trigger info 714 715 includes the total number of LTFs the STA must include in 716 the response TRIG PPDU 717 <legal all> 718 */ 719 720 #define OFDMA_TRIGGER_DETAILS_NUMBER_OF_LTFS_OFFSET 0x0000000000000008 721 #define OFDMA_TRIGGER_DETAILS_NUMBER_OF_LTFS_LSB 23 722 #define OFDMA_TRIGGER_DETAILS_NUMBER_OF_LTFS_MSB 25 723 #define OFDMA_TRIGGER_DETAILS_NUMBER_OF_LTFS_MASK 0x0000000003800000 724 725 726 /* Description STBC 727 728 Field only valid when ax_trigger_source = 11ax_trigger_frame 729 730 731 Common trigger info 732 733 indicates whether STBS is used (for all STAs) 734 It is set to 1 if STBC encoding is used and set to 0 otherwise. 735 736 <legal all> 737 */ 738 739 #define OFDMA_TRIGGER_DETAILS_STBC_OFFSET 0x0000000000000008 740 #define OFDMA_TRIGGER_DETAILS_STBC_LSB 26 741 #define OFDMA_TRIGGER_DETAILS_STBC_MSB 26 742 #define OFDMA_TRIGGER_DETAILS_STBC_MASK 0x0000000004000000 743 744 745 /* Description LDPC_EXTRA_SYMBOL 746 747 Field only valid when ax_trigger_source = 11ax_trigger_frame 748 749 750 Common trigger info 751 752 indicates the status of LDPC Extra Symbol. It is set to 753 1 when LDPC extra symbol is present and set to 0 otherwise 754 755 <legal all> 756 */ 757 758 #define OFDMA_TRIGGER_DETAILS_LDPC_EXTRA_SYMBOL_OFFSET 0x0000000000000008 759 #define OFDMA_TRIGGER_DETAILS_LDPC_EXTRA_SYMBOL_LSB 27 760 #define OFDMA_TRIGGER_DETAILS_LDPC_EXTRA_SYMBOL_MSB 27 761 #define OFDMA_TRIGGER_DETAILS_LDPC_EXTRA_SYMBOL_MASK 0x0000000008000000 762 763 764 /* Description AP_TX_POWER_LSB_PART 765 766 Field only valid when ax_trigger_source = 11ax_trigger_frame 767 768 769 Common trigger info 770 771 Bits [3:0] of the ap_tx_power 772 773 indicates the combined average power per 20 MHz bandwidth 774 of all transmit antennas used to transmit the trigger frame 775 at the HE AP. The resolution for the transmit power reported 776 in the Common Info field is 1dB 777 778 Values 0 to 61 maps to -20 dBm to 40 dBm 779 Other values are reserved. 780 <legal all> 781 */ 782 783 #define OFDMA_TRIGGER_DETAILS_AP_TX_POWER_LSB_PART_OFFSET 0x0000000000000008 784 #define OFDMA_TRIGGER_DETAILS_AP_TX_POWER_LSB_PART_LSB 28 785 #define OFDMA_TRIGGER_DETAILS_AP_TX_POWER_LSB_PART_MSB 31 786 #define OFDMA_TRIGGER_DETAILS_AP_TX_POWER_LSB_PART_MASK 0x00000000f0000000 787 788 789 /* Description AP_TX_POWER_MSB_PART 790 791 Field only valid when ax_trigger_source = 11ax_trigger_frame 792 793 794 Common trigger info 795 796 Bits [5:4] of the ap_tx_power 797 See description above 798 <legal all> 799 */ 800 801 #define OFDMA_TRIGGER_DETAILS_AP_TX_POWER_MSB_PART_OFFSET 0x0000000000000008 802 #define OFDMA_TRIGGER_DETAILS_AP_TX_POWER_MSB_PART_LSB 32 803 #define OFDMA_TRIGGER_DETAILS_AP_TX_POWER_MSB_PART_MSB 33 804 #define OFDMA_TRIGGER_DETAILS_AP_TX_POWER_MSB_PART_MASK 0x0000000300000000 805 806 807 /* Description PACKET_EXTENSION_A_FACTOR 808 809 Field only valid when ax_trigger_source = 11ax_trigger_frame 810 811 812 Common trigger info 813 814 the packet extension duration of the trigger-based PPDU 815 response with these two bits indicating the "a-factor" 816 817 <enum 0 a_factor_4> 818 <enum 1 a_factor_1> 819 <enum 2 a_factor_2> 820 <enum 3 a_factor_3> 821 822 <legal all> 823 */ 824 825 #define OFDMA_TRIGGER_DETAILS_PACKET_EXTENSION_A_FACTOR_OFFSET 0x0000000000000008 826 #define OFDMA_TRIGGER_DETAILS_PACKET_EXTENSION_A_FACTOR_LSB 34 827 #define OFDMA_TRIGGER_DETAILS_PACKET_EXTENSION_A_FACTOR_MSB 35 828 #define OFDMA_TRIGGER_DETAILS_PACKET_EXTENSION_A_FACTOR_MASK 0x0000000c00000000 829 830 831 /* Description PACKET_EXTENSION_PE_DISAMBIGUITY 832 833 Field only valid when ax_trigger_source = 11ax_trigger_frame 834 835 836 Common trigger info 837 838 the packet extension duration of the trigger-based PPDU 839 response with this bit indicating the PE-Disambiguity 840 <legal all> 841 */ 842 843 #define OFDMA_TRIGGER_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET 0x0000000000000008 844 #define OFDMA_TRIGGER_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB 36 845 #define OFDMA_TRIGGER_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_MSB 36 846 #define OFDMA_TRIGGER_DETAILS_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK 0x0000001000000000 847 848 849 /* Description SPATIAL_REUSE 850 851 Field only valid when ax_trigger_source = 11ax_trigger_frame 852 853 854 Common trigger info 855 856 indicates the value of the Spatial Reuse in the HE-SIGA 857 of the HE_TRIG PPDU transmitted as a response to the Trigger 858 frame 859 <legal all> 860 */ 861 862 #define OFDMA_TRIGGER_DETAILS_SPATIAL_REUSE_OFFSET 0x0000000000000008 863 #define OFDMA_TRIGGER_DETAILS_SPATIAL_REUSE_LSB 37 864 #define OFDMA_TRIGGER_DETAILS_SPATIAL_REUSE_MSB 52 865 #define OFDMA_TRIGGER_DETAILS_SPATIAL_REUSE_MASK 0x001fffe000000000 866 867 868 /* Description DOPPLER 869 870 Field only valid when ax_trigger_source = 11ax_trigger_frame 871 872 873 Common trigger info 874 875 TODO: add description 876 <legal all> 877 */ 878 879 #define OFDMA_TRIGGER_DETAILS_DOPPLER_OFFSET 0x0000000000000008 880 #define OFDMA_TRIGGER_DETAILS_DOPPLER_LSB 53 881 #define OFDMA_TRIGGER_DETAILS_DOPPLER_MSB 53 882 #define OFDMA_TRIGGER_DETAILS_DOPPLER_MASK 0x0020000000000000 883 884 885 /* Description HE_SIGA_RESERVED 886 887 Field only valid when ax_trigger_source = 11ax_trigger_frame 888 889 890 Common trigger info 891 892 indicates the values of the reserved bits in the HE-SIGA 893 of the HE_TRIG PPDU transmitted as a response to the Trigger 894 frame 895 896 In case of an EHT AP, bits [23:22] indicate the bits [55:54] 897 of the Trigger 'Common Info' called 'Special User Info Field 898 Present' and 'HE/EHT P160.' These are used along with Reserved_18a 899 to determine the presence of the EHT 'Special User Info' 900 field and EHT_trigger_response. 901 */ 902 903 #define OFDMA_TRIGGER_DETAILS_HE_SIGA_RESERVED_OFFSET 0x0000000000000008 904 #define OFDMA_TRIGGER_DETAILS_HE_SIGA_RESERVED_LSB 54 905 #define OFDMA_TRIGGER_DETAILS_HE_SIGA_RESERVED_MSB 62 906 #define OFDMA_TRIGGER_DETAILS_HE_SIGA_RESERVED_MASK 0x7fc0000000000000 907 908 909 /* Description RESERVED_3B 910 911 Field only valid when ax_trigger_source = 11ax_trigger_frame 912 913 914 Common trigger info 915 916 Reserved bit 63 in the Trigger 'Common Info' 917 <legal all> 918 */ 919 920 #define OFDMA_TRIGGER_DETAILS_RESERVED_3B_OFFSET 0x0000000000000008 921 #define OFDMA_TRIGGER_DETAILS_RESERVED_3B_LSB 63 922 #define OFDMA_TRIGGER_DETAILS_RESERVED_3B_MSB 63 923 #define OFDMA_TRIGGER_DETAILS_RESERVED_3B_MASK 0x8000000000000000 924 925 926 /* Description AID12 927 928 Field only valid when ax_trigger_source = 11ax_trigger_frame 929 930 931 User trigger info 932 933 The AID12 subfield of the Per User Info field indicates 934 the LSB 12 bits of the AID of the STA allocated the RU to 935 transmit the MPDU(s) in the HE trigger-based PPDU 936 937 Note strictly needed, but added here for debugging purposes. 938 939 <legal all> 940 */ 941 942 #define OFDMA_TRIGGER_DETAILS_AID12_OFFSET 0x0000000000000010 943 #define OFDMA_TRIGGER_DETAILS_AID12_LSB 0 944 #define OFDMA_TRIGGER_DETAILS_AID12_MSB 11 945 #define OFDMA_TRIGGER_DETAILS_AID12_MASK 0x0000000000000fff 946 947 948 /* Description RU_ALLOCATION 949 950 Field only valid when ax_trigger_source = 11ax_trigger_frame 951 952 953 User trigger info 954 955 trigger based RU definition 956 957 If EHT_trigger_response = 0, only lower 8 bits are valid. 958 959 If EHT_trigger_response = 1, all 9 bits re valid. 960 <legal all> 961 */ 962 963 #define OFDMA_TRIGGER_DETAILS_RU_ALLOCATION_OFFSET 0x0000000000000010 964 #define OFDMA_TRIGGER_DETAILS_RU_ALLOCATION_LSB 12 965 #define OFDMA_TRIGGER_DETAILS_RU_ALLOCATION_MSB 20 966 #define OFDMA_TRIGGER_DETAILS_RU_ALLOCATION_MASK 0x00000000001ff000 967 968 969 /* Description MCS 970 971 Field only valid when ax_trigger_source = 11ax_trigger_frame 972 973 974 User trigger info 975 976 indicates the MCS of the HE trigger-based PPDU response 977 of the STA identified by User Identifier field 978 <legal all> 979 */ 980 981 #define OFDMA_TRIGGER_DETAILS_MCS_OFFSET 0x0000000000000010 982 #define OFDMA_TRIGGER_DETAILS_MCS_LSB 21 983 #define OFDMA_TRIGGER_DETAILS_MCS_MSB 24 984 #define OFDMA_TRIGGER_DETAILS_MCS_MASK 0x0000000001e00000 985 986 987 /* Description DCM 988 989 Field only valid when ax_trigger_source = 11ax_trigger_frame 990 991 992 User trigger info 993 994 indicates dual carrier modulation of the HE trigger-based 995 PPDU response of the STA identified by User Identifier 996 subfield. A value of 1 indicates that the HE trigger-based 997 PPDU response shall use DCM. 998 Set to 0 to indicate that DCM shall not be used 999 <legal all> 1000 */ 1001 1002 #define OFDMA_TRIGGER_DETAILS_DCM_OFFSET 0x0000000000000010 1003 #define OFDMA_TRIGGER_DETAILS_DCM_LSB 25 1004 #define OFDMA_TRIGGER_DETAILS_DCM_MSB 25 1005 #define OFDMA_TRIGGER_DETAILS_DCM_MASK 0x0000000002000000 1006 1007 1008 /* Description START_SPATIAL_STREAM 1009 1010 Field only valid when ax_trigger_source = 11ax_trigger_frame 1011 1012 1013 User trigger info 1014 1015 Indicates the starting spatial stream, STARTING_SS_NUM, 1016 and is set to STARTING_SS_NUM - 1 of the HE trigger-based 1017 PPDU response of the STA identified by User Identifier 1018 field. 1019 <legal all> 1020 */ 1021 1022 #define OFDMA_TRIGGER_DETAILS_START_SPATIAL_STREAM_OFFSET 0x0000000000000010 1023 #define OFDMA_TRIGGER_DETAILS_START_SPATIAL_STREAM_LSB 26 1024 #define OFDMA_TRIGGER_DETAILS_START_SPATIAL_STREAM_MSB 28 1025 #define OFDMA_TRIGGER_DETAILS_START_SPATIAL_STREAM_MASK 0x000000001c000000 1026 1027 1028 /* Description NUMBER_OF_SPATIAL_STREAM 1029 1030 Field only valid when ax_trigger_source = 11ax_trigger_frame 1031 1032 1033 User trigger info 1034 1035 indicates the number of spatial streams, NUM_SS and is set 1036 to NUM_SS - 1, of the HE trigger-based PPDU response of 1037 the STA identified by User Identifier field. 1038 1039 In case of EHT_trigger_response=1, RXPCU fills the MSB of 1040 STARTING_SS_NUM in bit 31. If this is set, it will cause 1041 PDG to indicate to PHY > 4-stream transmission resulting 1042 in an abort in EHT R1 chips. 1043 1044 TODO: Cleanup for EHT R2 chips 1045 <legal all> 1046 */ 1047 1048 #define OFDMA_TRIGGER_DETAILS_NUMBER_OF_SPATIAL_STREAM_OFFSET 0x0000000000000010 1049 #define OFDMA_TRIGGER_DETAILS_NUMBER_OF_SPATIAL_STREAM_LSB 29 1050 #define OFDMA_TRIGGER_DETAILS_NUMBER_OF_SPATIAL_STREAM_MSB 31 1051 #define OFDMA_TRIGGER_DETAILS_NUMBER_OF_SPATIAL_STREAM_MASK 0x00000000e0000000 1052 1053 1054 /* Description TARGET_RSSI 1055 1056 Field only valid when ax_trigger_source = 11ax_trigger_frame 1057 1058 1059 User trigger info 1060 1061 Indicates the target received signal power of the the HE 1062 trigger-based PPDU response. The resolution for the Target 1063 RSSI in the Per User Info field is 1dB 1064 1065 Values 0 to 90 maps to -110 dBm to -20 dBm 1066 Other values are reserved. 1067 1068 Value 127 indicates to the STA to transmit an HE triggerbased 1069 PPDU response at its maximum transmit power for the assigned 1070 MCS. If Trigger_type = ax_tb_ranging_trigger and Ranging_Trigger_Subtype 1071 = TF_Sound or TF_Secure_Sound, value 127 indicates to the 1072 STA to transmit an HE TB-ranging NDP response at its maximum 1073 transmit power for MCS 0. 1074 1075 Used for power control algorithm 1076 <legal all> 1077 */ 1078 1079 #define OFDMA_TRIGGER_DETAILS_TARGET_RSSI_OFFSET 0x0000000000000010 1080 #define OFDMA_TRIGGER_DETAILS_TARGET_RSSI_LSB 32 1081 #define OFDMA_TRIGGER_DETAILS_TARGET_RSSI_MSB 38 1082 #define OFDMA_TRIGGER_DETAILS_TARGET_RSSI_MASK 0x0000007f00000000 1083 1084 1085 /* Description CODING_TYPE 1086 1087 Field only valid when ax_trigger_source = 11ax_trigger_frame 1088 1089 1090 User trigger info 1091 1092 indicates the code type of the HE trigger-based PPDU response 1093 of the STA identified by User Identifier subfield. 1094 0: BCC 1095 1: LDPC 1096 <legal all> 1097 */ 1098 1099 #define OFDMA_TRIGGER_DETAILS_CODING_TYPE_OFFSET 0x0000000000000010 1100 #define OFDMA_TRIGGER_DETAILS_CODING_TYPE_LSB 39 1101 #define OFDMA_TRIGGER_DETAILS_CODING_TYPE_MSB 39 1102 #define OFDMA_TRIGGER_DETAILS_CODING_TYPE_MASK 0x0000008000000000 1103 1104 1105 /* Description MPDU_MU_SPACING_FACTOR 1106 1107 Field only valid when ax_trigger_source = 11ax_trigger_frame 1108 1109 1110 Basic trigger variant user info 1111 1112 <enum 0 Spacing_multiplier_is_1> 1113 <enum 1 Spacing_multiplier_is_2> 1114 <enum 2 Spacing_multiplier_is_4> 1115 <enum 3 Spacing_multiplier_is_8> 1116 1117 <legal all> 1118 */ 1119 1120 #define OFDMA_TRIGGER_DETAILS_MPDU_MU_SPACING_FACTOR_OFFSET 0x0000000000000010 1121 #define OFDMA_TRIGGER_DETAILS_MPDU_MU_SPACING_FACTOR_LSB 40 1122 #define OFDMA_TRIGGER_DETAILS_MPDU_MU_SPACING_FACTOR_MSB 41 1123 #define OFDMA_TRIGGER_DETAILS_MPDU_MU_SPACING_FACTOR_MASK 0x0000030000000000 1124 1125 1126 /* Description TID_AGGREGATION_LIMIT 1127 1128 Field only valid when ax_trigger_source = 11ax_trigger_frame 1129 1130 1131 Basic trigger variant user info 1132 1133 indicates the of the number of TIDs that can be aggregated 1134 by a STA in a multi-TID A-MPDU carried in the responding 1135 Trigger-based PPDU 1136 1137 1138 TXPCU will also evaluate this field, when trigger type is 1139 Basic trigger. In that case, when this field is 0, TXPCU 1140 will not send any data from user 0, but will immediately 1141 go to user 1, which has the QoSNULL data frames... 1142 1143 <legal all> 1144 */ 1145 1146 #define OFDMA_TRIGGER_DETAILS_TID_AGGREGATION_LIMIT_OFFSET 0x0000000000000010 1147 #define OFDMA_TRIGGER_DETAILS_TID_AGGREGATION_LIMIT_LSB 42 1148 #define OFDMA_TRIGGER_DETAILS_TID_AGGREGATION_LIMIT_MSB 44 1149 #define OFDMA_TRIGGER_DETAILS_TID_AGGREGATION_LIMIT_MASK 0x00001c0000000000 1150 1151 1152 /* Description RESERVED_5B 1153 1154 <legal 0> 1155 */ 1156 1157 #define OFDMA_TRIGGER_DETAILS_RESERVED_5B_OFFSET 0x0000000000000010 1158 #define OFDMA_TRIGGER_DETAILS_RESERVED_5B_LSB 45 1159 #define OFDMA_TRIGGER_DETAILS_RESERVED_5B_MSB 45 1160 #define OFDMA_TRIGGER_DETAILS_RESERVED_5B_MASK 0x0000200000000000 1161 1162 1163 /* Description PREFERED_AC 1164 1165 Field only valid when ax_trigger_source = 11ax_trigger_frame 1166 1167 1168 Basic trigger variant user info 1169 1170 <enum 0 Prefered_ac_is_BK> 1171 <enum 1 Prefered_ac_is_BE> 1172 <enum 2 Prefered_ac_is_VI> 1173 <enum 3 Prefered_ac_is_VO> 1174 1175 <legal all> 1176 */ 1177 1178 #define OFDMA_TRIGGER_DETAILS_PREFERED_AC_OFFSET 0x0000000000000010 1179 #define OFDMA_TRIGGER_DETAILS_PREFERED_AC_LSB 46 1180 #define OFDMA_TRIGGER_DETAILS_PREFERED_AC_MSB 47 1181 #define OFDMA_TRIGGER_DETAILS_PREFERED_AC_MASK 0x0000c00000000000 1182 1183 1184 /* Description BAR_CONTROL_ACK_POLICY 1185 1186 Field only valid when ax_trigger_source = 11ax_trigger_frame 1187 1188 1189 MU-BAR trigger variant user info 1190 1191 Bar control field ack policy extracted from the trigger 1192 frame 1193 1194 <legal all> 1195 */ 1196 1197 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_ACK_POLICY_OFFSET 0x0000000000000010 1198 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_ACK_POLICY_LSB 48 1199 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_ACK_POLICY_MSB 48 1200 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_ACK_POLICY_MASK 0x0001000000000000 1201 1202 1203 /* Description BAR_CONTROL_MULTI_TID 1204 1205 Field only valid when ax_trigger_source = 11ax_trigger_frame 1206 1207 1208 MU-BAR trigger variant user info 1209 1210 Bar control field multi_tid extracted from the trigger frame 1211 1212 1213 <legal all> 1214 */ 1215 1216 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_MULTI_TID_OFFSET 0x0000000000000010 1217 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_MULTI_TID_LSB 49 1218 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_MULTI_TID_MSB 49 1219 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_MULTI_TID_MASK 0x0002000000000000 1220 1221 1222 /* Description BAR_CONTROL_COMPRESSED_BITMAP 1223 1224 Field only valid when ax_trigger_source = 11ax_trigger_frame 1225 1226 1227 MU-BAR trigger variant user info 1228 1229 Bar control field compressed bitmap extracted from the trigger 1230 frame 1231 1232 <legal all> 1233 */ 1234 1235 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_COMPRESSED_BITMAP_OFFSET 0x0000000000000010 1236 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_COMPRESSED_BITMAP_LSB 50 1237 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_COMPRESSED_BITMAP_MSB 50 1238 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_COMPRESSED_BITMAP_MASK 0x0004000000000000 1239 1240 1241 /* Description BAR_CONTROL_RESERVED 1242 1243 Field only valid when ax_trigger_source = 11ax_trigger_frame 1244 1245 1246 MU-BAR trigger variant user info 1247 1248 Bar control field reserved part extracted from the trigger 1249 frame 1250 1251 <legal all> 1252 */ 1253 1254 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_RESERVED_OFFSET 0x0000000000000010 1255 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_RESERVED_LSB 51 1256 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_RESERVED_MSB 59 1257 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_RESERVED_MASK 0x0ff8000000000000 1258 1259 1260 /* Description BAR_CONTROL_TID_INFO 1261 1262 Field only valid when ax_trigger_source = 11ax_trigger_frame 1263 1264 1265 MU-BAR trigger variant user info 1266 1267 Bar control field tid info extracted from the trigger frame 1268 1269 1270 <legal all> 1271 */ 1272 1273 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_TID_INFO_OFFSET 0x0000000000000010 1274 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_TID_INFO_LSB 60 1275 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_TID_INFO_MSB 63 1276 #define OFDMA_TRIGGER_DETAILS_BAR_CONTROL_TID_INFO_MASK 0xf000000000000000 1277 1278 1279 /* Description NR0_PER_TID_INFO_RESERVED 1280 1281 Field only valid when ax_trigger_source = 11ax_trigger_frame 1282 1283 1284 MU-BAR trigger variant user info 1285 1286 Field only valid if the BAR control type indicates Multi-TID 1287 and BAR_control_TID_info >=0 1288 1289 Per TID info, field "Reserved 1290 Field" 1291 1292 <legal all> 1293 */ 1294 1295 #define OFDMA_TRIGGER_DETAILS_NR0_PER_TID_INFO_RESERVED_OFFSET 0x0000000000000018 1296 #define OFDMA_TRIGGER_DETAILS_NR0_PER_TID_INFO_RESERVED_LSB 0 1297 #define OFDMA_TRIGGER_DETAILS_NR0_PER_TID_INFO_RESERVED_MSB 11 1298 #define OFDMA_TRIGGER_DETAILS_NR0_PER_TID_INFO_RESERVED_MASK 0x0000000000000fff 1299 1300 1301 /* Description NR0_PER_TID_INFO_TID_VALUE 1302 1303 Field only valid when ax_trigger_source = 11ax_trigger_frame 1304 1305 1306 MU-BAR trigger variant user info 1307 1308 Field only valid if the BAR control type indicates Multi-TID 1309 and BAR_control_TID_info >=0 1310 1311 Per TID info, field "TID value" 1312 1313 <legal all> 1314 */ 1315 1316 #define OFDMA_TRIGGER_DETAILS_NR0_PER_TID_INFO_TID_VALUE_OFFSET 0x0000000000000018 1317 #define OFDMA_TRIGGER_DETAILS_NR0_PER_TID_INFO_TID_VALUE_LSB 12 1318 #define OFDMA_TRIGGER_DETAILS_NR0_PER_TID_INFO_TID_VALUE_MSB 15 1319 #define OFDMA_TRIGGER_DETAILS_NR0_PER_TID_INFO_TID_VALUE_MASK 0x000000000000f000 1320 1321 1322 /* Description NR0_START_SEQ_CTRL_FRAG_NUMBER 1323 1324 Field only valid when ax_trigger_source = 11ax_trigger_frame 1325 1326 1327 MU-BAR trigger variant user info 1328 1329 Field only valid if the BAR control type indicates Multi-TID 1330 and BAR_control_TID_info >=0 1331 1332 OR 1333 1334 Field only valid if the BAR control type indicates Basic 1335 Block ACK request 1336 1337 1338 Start Sequence control, subfield fragment 1339 1340 <legal all> 1341 */ 1342 1343 #define OFDMA_TRIGGER_DETAILS_NR0_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0x0000000000000018 1344 #define OFDMA_TRIGGER_DETAILS_NR0_START_SEQ_CTRL_FRAG_NUMBER_LSB 16 1345 #define OFDMA_TRIGGER_DETAILS_NR0_START_SEQ_CTRL_FRAG_NUMBER_MSB 19 1346 #define OFDMA_TRIGGER_DETAILS_NR0_START_SEQ_CTRL_FRAG_NUMBER_MASK 0x00000000000f0000 1347 1348 1349 /* Description NR0_START_SEQ_CTRL_START_SEQ_NUMBER 1350 1351 Field only valid when ax_trigger_source = 11ax_trigger_frame 1352 1353 1354 MU-BAR trigger variant user info 1355 1356 Field valid if the BAR control type indicates Multi-TID 1357 and BAR_control_TID_info >=0 1358 1359 OR 1360 1361 Field valid if the BAR control type indicates Basic Block 1362 ACK request 1363 1364 Start Sequence control, subfield Start sequence number 1365 1366 <legal all> 1367 */ 1368 1369 #define OFDMA_TRIGGER_DETAILS_NR0_START_SEQ_CTRL_START_SEQ_NUMBER_OFFSET 0x0000000000000018 1370 #define OFDMA_TRIGGER_DETAILS_NR0_START_SEQ_CTRL_START_SEQ_NUMBER_LSB 20 1371 #define OFDMA_TRIGGER_DETAILS_NR0_START_SEQ_CTRL_START_SEQ_NUMBER_MSB 31 1372 #define OFDMA_TRIGGER_DETAILS_NR0_START_SEQ_CTRL_START_SEQ_NUMBER_MASK 0x00000000fff00000 1373 1374 1375 /* Description NR1_PER_TID_INFO_RESERVED 1376 1377 Field only valid when ax_trigger_source = 11ax_trigger_frame 1378 1379 1380 MU-BAR trigger variant user info 1381 1382 Field only valid if the BAR control type indicates Multi-TID 1383 and BAR_control_TID_info >=1 1384 1385 Per TID info, field "Reserved 1386 Field" 1387 1388 <legal all> 1389 */ 1390 1391 #define OFDMA_TRIGGER_DETAILS_NR1_PER_TID_INFO_RESERVED_OFFSET 0x0000000000000018 1392 #define OFDMA_TRIGGER_DETAILS_NR1_PER_TID_INFO_RESERVED_LSB 32 1393 #define OFDMA_TRIGGER_DETAILS_NR1_PER_TID_INFO_RESERVED_MSB 43 1394 #define OFDMA_TRIGGER_DETAILS_NR1_PER_TID_INFO_RESERVED_MASK 0x00000fff00000000 1395 1396 1397 /* Description NR1_PER_TID_INFO_TID_VALUE 1398 1399 Field only valid when ax_trigger_source = 11ax_trigger_frame 1400 1401 1402 MU-BAR trigger variant user info 1403 1404 1405 Field only valid if the BAR control type indicates Multi-TID 1406 and BAR_control_TID_info >=1 1407 1408 Per TID info, field "TID value" 1409 1410 <legal all> 1411 */ 1412 1413 #define OFDMA_TRIGGER_DETAILS_NR1_PER_TID_INFO_TID_VALUE_OFFSET 0x0000000000000018 1414 #define OFDMA_TRIGGER_DETAILS_NR1_PER_TID_INFO_TID_VALUE_LSB 44 1415 #define OFDMA_TRIGGER_DETAILS_NR1_PER_TID_INFO_TID_VALUE_MSB 47 1416 #define OFDMA_TRIGGER_DETAILS_NR1_PER_TID_INFO_TID_VALUE_MASK 0x0000f00000000000 1417 1418 1419 /* Description NR1_START_SEQ_CTRL_FRAG_NUMBER 1420 1421 Field only valid when ax_trigger_source = 11ax_trigger_frame 1422 1423 1424 MU-BAR trigger variant user info 1425 1426 Field only valid if the BAR control type indicates Multi-TID 1427 and BAR_control_TID_info >=1 1428 1429 Start Sequence control, subfield fragment 1430 1431 <legal all> 1432 */ 1433 1434 #define OFDMA_TRIGGER_DETAILS_NR1_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0x0000000000000018 1435 #define OFDMA_TRIGGER_DETAILS_NR1_START_SEQ_CTRL_FRAG_NUMBER_LSB 48 1436 #define OFDMA_TRIGGER_DETAILS_NR1_START_SEQ_CTRL_FRAG_NUMBER_MSB 51 1437 #define OFDMA_TRIGGER_DETAILS_NR1_START_SEQ_CTRL_FRAG_NUMBER_MASK 0x000f000000000000 1438 1439 1440 /* Description NR1_START_SEQ_CTRL_START_SEQ_NUMBER 1441 1442 Field only valid when ax_trigger_source = 11ax_trigger_frame 1443 1444 1445 MU-BAR trigger variant user info 1446 1447 Field valid if the BAR control type indicates Multi-TID 1448 and BAR_control_TID_info >=1 1449 1450 Start Sequence control, subfield Start sequence number 1451 1452 <legal all> 1453 */ 1454 1455 #define OFDMA_TRIGGER_DETAILS_NR1_START_SEQ_CTRL_START_SEQ_NUMBER_OFFSET 0x0000000000000018 1456 #define OFDMA_TRIGGER_DETAILS_NR1_START_SEQ_CTRL_START_SEQ_NUMBER_LSB 52 1457 #define OFDMA_TRIGGER_DETAILS_NR1_START_SEQ_CTRL_START_SEQ_NUMBER_MSB 63 1458 #define OFDMA_TRIGGER_DETAILS_NR1_START_SEQ_CTRL_START_SEQ_NUMBER_MASK 0xfff0000000000000 1459 1460 1461 /* Description NR2_PER_TID_INFO_RESERVED 1462 1463 Field only valid when ax_trigger_source = 11ax_trigger_frame 1464 1465 1466 MU-BAR trigger variant user info 1467 1468 Field only valid if the BAR control type indicates Multi-TID 1469 and BAR_control_TID_info >=2 1470 1471 Per TID info, field "Reserved 1472 Field" 1473 1474 <legal all> 1475 */ 1476 1477 #define OFDMA_TRIGGER_DETAILS_NR2_PER_TID_INFO_RESERVED_OFFSET 0x0000000000000020 1478 #define OFDMA_TRIGGER_DETAILS_NR2_PER_TID_INFO_RESERVED_LSB 0 1479 #define OFDMA_TRIGGER_DETAILS_NR2_PER_TID_INFO_RESERVED_MSB 11 1480 #define OFDMA_TRIGGER_DETAILS_NR2_PER_TID_INFO_RESERVED_MASK 0x0000000000000fff 1481 1482 1483 /* Description NR2_PER_TID_INFO_TID_VALUE 1484 1485 Field only valid when ax_trigger_source = 11ax_trigger_frame 1486 1487 1488 MU-BAR trigger variant user info 1489 1490 Field only valid if the BAR control type indicates Multi-TID 1491 and BAR_control_TID_info >=2 1492 1493 Per TID info, field "TID value" 1494 1495 <legal all> 1496 */ 1497 1498 #define OFDMA_TRIGGER_DETAILS_NR2_PER_TID_INFO_TID_VALUE_OFFSET 0x0000000000000020 1499 #define OFDMA_TRIGGER_DETAILS_NR2_PER_TID_INFO_TID_VALUE_LSB 12 1500 #define OFDMA_TRIGGER_DETAILS_NR2_PER_TID_INFO_TID_VALUE_MSB 15 1501 #define OFDMA_TRIGGER_DETAILS_NR2_PER_TID_INFO_TID_VALUE_MASK 0x000000000000f000 1502 1503 1504 /* Description NR2_START_SEQ_CTRL_FRAG_NUMBER 1505 1506 Field only valid when ax_trigger_source = 11ax_trigger_frame 1507 1508 1509 MU-BAR trigger variant user info 1510 1511 Field only valid if the BAR control type indicates Multi-TID 1512 and BAR_control_TID_info >=2 1513 1514 Start Sequence control, subfield fragment 1515 1516 <legal all> 1517 */ 1518 1519 #define OFDMA_TRIGGER_DETAILS_NR2_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0x0000000000000020 1520 #define OFDMA_TRIGGER_DETAILS_NR2_START_SEQ_CTRL_FRAG_NUMBER_LSB 16 1521 #define OFDMA_TRIGGER_DETAILS_NR2_START_SEQ_CTRL_FRAG_NUMBER_MSB 19 1522 #define OFDMA_TRIGGER_DETAILS_NR2_START_SEQ_CTRL_FRAG_NUMBER_MASK 0x00000000000f0000 1523 1524 1525 /* Description NR2_START_SEQ_CTRL_START_SEQ_NUMBER 1526 1527 Field only valid when ax_trigger_source = 11ax_trigger_frame 1528 1529 1530 MU-BAR trigger variant user info 1531 1532 Field valid if the BAR control type indicates Multi-TID 1533 and BAR_control_TID_info >=2 1534 1535 Start Sequence control, subfield Start sequence number 1536 1537 <legal all> 1538 */ 1539 1540 #define OFDMA_TRIGGER_DETAILS_NR2_START_SEQ_CTRL_START_SEQ_NUMBER_OFFSET 0x0000000000000020 1541 #define OFDMA_TRIGGER_DETAILS_NR2_START_SEQ_CTRL_START_SEQ_NUMBER_LSB 20 1542 #define OFDMA_TRIGGER_DETAILS_NR2_START_SEQ_CTRL_START_SEQ_NUMBER_MSB 31 1543 #define OFDMA_TRIGGER_DETAILS_NR2_START_SEQ_CTRL_START_SEQ_NUMBER_MASK 0x00000000fff00000 1544 1545 1546 /* Description NR3_PER_TID_INFO_RESERVED 1547 1548 Field only valid when ax_trigger_source = 11ax_trigger_frame 1549 1550 1551 MU-BAR trigger variant user info 1552 1553 Field only valid if the BAR control type indicates Multi-TID 1554 and BAR_control_TID_info >=3 1555 1556 Per TID info, field "Reserved 1557 Field" 1558 1559 <legal all> 1560 */ 1561 1562 #define OFDMA_TRIGGER_DETAILS_NR3_PER_TID_INFO_RESERVED_OFFSET 0x0000000000000020 1563 #define OFDMA_TRIGGER_DETAILS_NR3_PER_TID_INFO_RESERVED_LSB 32 1564 #define OFDMA_TRIGGER_DETAILS_NR3_PER_TID_INFO_RESERVED_MSB 43 1565 #define OFDMA_TRIGGER_DETAILS_NR3_PER_TID_INFO_RESERVED_MASK 0x00000fff00000000 1566 1567 1568 /* Description NR3_PER_TID_INFO_TID_VALUE 1569 1570 Field only valid when ax_trigger_source = 11ax_trigger_frame 1571 1572 1573 MU-BAR trigger variant user info 1574 1575 Field only valid if the BAR control type indicates Multi-TID 1576 and BAR_control_TID_info >=3 1577 1578 Per TID info, field "TID value" 1579 1580 <legal all> 1581 */ 1582 1583 #define OFDMA_TRIGGER_DETAILS_NR3_PER_TID_INFO_TID_VALUE_OFFSET 0x0000000000000020 1584 #define OFDMA_TRIGGER_DETAILS_NR3_PER_TID_INFO_TID_VALUE_LSB 44 1585 #define OFDMA_TRIGGER_DETAILS_NR3_PER_TID_INFO_TID_VALUE_MSB 47 1586 #define OFDMA_TRIGGER_DETAILS_NR3_PER_TID_INFO_TID_VALUE_MASK 0x0000f00000000000 1587 1588 1589 /* Description NR3_START_SEQ_CTRL_FRAG_NUMBER 1590 1591 Field only valid when ax_trigger_source = 11ax_trigger_frame 1592 1593 1594 MU-BAR trigger variant user info 1595 1596 Field only valid if the BAR control type indicates Multi-TID 1597 and BAR_control_TID_info >=3 1598 1599 Start Sequence control, subfield fragment 1600 1601 <legal all> 1602 */ 1603 1604 #define OFDMA_TRIGGER_DETAILS_NR3_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0x0000000000000020 1605 #define OFDMA_TRIGGER_DETAILS_NR3_START_SEQ_CTRL_FRAG_NUMBER_LSB 48 1606 #define OFDMA_TRIGGER_DETAILS_NR3_START_SEQ_CTRL_FRAG_NUMBER_MSB 51 1607 #define OFDMA_TRIGGER_DETAILS_NR3_START_SEQ_CTRL_FRAG_NUMBER_MASK 0x000f000000000000 1608 1609 1610 /* Description NR3_START_SEQ_CTRL_START_SEQ_NUMBER 1611 1612 Field only valid when ax_trigger_source = 11ax_trigger_frame 1613 1614 1615 MU-BAR trigger variant user info 1616 1617 1618 Field valid if the BAR control type indicates Multi-TID 1619 and BAR_control_TID_info >=3 1620 1621 Start Sequence control, subfield Start sequence number 1622 1623 <legal all> 1624 */ 1625 1626 #define OFDMA_TRIGGER_DETAILS_NR3_START_SEQ_CTRL_START_SEQ_NUMBER_OFFSET 0x0000000000000020 1627 #define OFDMA_TRIGGER_DETAILS_NR3_START_SEQ_CTRL_START_SEQ_NUMBER_LSB 52 1628 #define OFDMA_TRIGGER_DETAILS_NR3_START_SEQ_CTRL_START_SEQ_NUMBER_MSB 63 1629 #define OFDMA_TRIGGER_DETAILS_NR3_START_SEQ_CTRL_START_SEQ_NUMBER_MASK 0xfff0000000000000 1630 1631 1632 /* Description NR4_PER_TID_INFO_RESERVED 1633 1634 Field only valid when ax_trigger_source = 11ax_trigger_frame 1635 1636 1637 MU-BAR trigger variant user info 1638 1639 Field only valid if the BAR control type indicates Multi-TID 1640 and BAR_control_TID_info >=4 1641 1642 Per TID info, field "Reserved 1643 Field" 1644 1645 <legal all> 1646 */ 1647 1648 #define OFDMA_TRIGGER_DETAILS_NR4_PER_TID_INFO_RESERVED_OFFSET 0x0000000000000028 1649 #define OFDMA_TRIGGER_DETAILS_NR4_PER_TID_INFO_RESERVED_LSB 0 1650 #define OFDMA_TRIGGER_DETAILS_NR4_PER_TID_INFO_RESERVED_MSB 11 1651 #define OFDMA_TRIGGER_DETAILS_NR4_PER_TID_INFO_RESERVED_MASK 0x0000000000000fff 1652 1653 1654 /* Description NR4_PER_TID_INFO_TID_VALUE 1655 1656 Field only valid when ax_trigger_source = 11ax_trigger_frame 1657 1658 1659 MU-BAR trigger variant user info 1660 1661 Field only valid if the BAR control type indicates Multi-TID 1662 and BAR_control_TID_info >=4 1663 1664 Per TID info, field "TID value" 1665 1666 <legal all> 1667 */ 1668 1669 #define OFDMA_TRIGGER_DETAILS_NR4_PER_TID_INFO_TID_VALUE_OFFSET 0x0000000000000028 1670 #define OFDMA_TRIGGER_DETAILS_NR4_PER_TID_INFO_TID_VALUE_LSB 12 1671 #define OFDMA_TRIGGER_DETAILS_NR4_PER_TID_INFO_TID_VALUE_MSB 15 1672 #define OFDMA_TRIGGER_DETAILS_NR4_PER_TID_INFO_TID_VALUE_MASK 0x000000000000f000 1673 1674 1675 /* Description NR4_START_SEQ_CTRL_FRAG_NUMBER 1676 1677 Field only valid when ax_trigger_source = 11ax_trigger_frame 1678 1679 1680 MU-BAR trigger variant user info 1681 1682 Field only valid if the BAR control type indicates Multi-TID 1683 and BAR_control_TID_info >=4 1684 1685 Start Sequence control, subfield fragment 1686 1687 <legal all> 1688 */ 1689 1690 #define OFDMA_TRIGGER_DETAILS_NR4_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0x0000000000000028 1691 #define OFDMA_TRIGGER_DETAILS_NR4_START_SEQ_CTRL_FRAG_NUMBER_LSB 16 1692 #define OFDMA_TRIGGER_DETAILS_NR4_START_SEQ_CTRL_FRAG_NUMBER_MSB 19 1693 #define OFDMA_TRIGGER_DETAILS_NR4_START_SEQ_CTRL_FRAG_NUMBER_MASK 0x00000000000f0000 1694 1695 1696 /* Description NR4_START_SEQ_CTRL_START_SEQ_NUMBER 1697 1698 Field only valid when ax_trigger_source = 11ax_trigger_frame 1699 1700 1701 MU-BAR trigger variant user info 1702 1703 Field valid if the BAR control type indicates Multi-TID 1704 and BAR_control_TID_info >=4 1705 1706 Start Sequence control, subfield Start sequence number 1707 1708 <legal all> 1709 */ 1710 1711 #define OFDMA_TRIGGER_DETAILS_NR4_START_SEQ_CTRL_START_SEQ_NUMBER_OFFSET 0x0000000000000028 1712 #define OFDMA_TRIGGER_DETAILS_NR4_START_SEQ_CTRL_START_SEQ_NUMBER_LSB 20 1713 #define OFDMA_TRIGGER_DETAILS_NR4_START_SEQ_CTRL_START_SEQ_NUMBER_MSB 31 1714 #define OFDMA_TRIGGER_DETAILS_NR4_START_SEQ_CTRL_START_SEQ_NUMBER_MASK 0x00000000fff00000 1715 1716 1717 /* Description NR5_PER_TID_INFO_RESERVED 1718 1719 Field only valid when ax_trigger_source = 11ax_trigger_frame 1720 1721 1722 MU-BAR trigger variant user info 1723 1724 Field only valid if the BAR control type indicates Multi-TID 1725 and BAR_control_TID_info >=5 1726 1727 Per TID info, field "Reserved 1728 Field" 1729 1730 <legal all> 1731 */ 1732 1733 #define OFDMA_TRIGGER_DETAILS_NR5_PER_TID_INFO_RESERVED_OFFSET 0x0000000000000028 1734 #define OFDMA_TRIGGER_DETAILS_NR5_PER_TID_INFO_RESERVED_LSB 32 1735 #define OFDMA_TRIGGER_DETAILS_NR5_PER_TID_INFO_RESERVED_MSB 43 1736 #define OFDMA_TRIGGER_DETAILS_NR5_PER_TID_INFO_RESERVED_MASK 0x00000fff00000000 1737 1738 1739 /* Description NR5_PER_TID_INFO_TID_VALUE 1740 1741 Field only valid when ax_trigger_source = 11ax_trigger_frame 1742 1743 1744 MU-BAR trigger variant user info 1745 1746 Field only valid if the BAR control type indicates Multi-TID 1747 and BAR_control_TID_info >=5 1748 1749 Per TID info, field "TID value" 1750 1751 <legal all> 1752 */ 1753 1754 #define OFDMA_TRIGGER_DETAILS_NR5_PER_TID_INFO_TID_VALUE_OFFSET 0x0000000000000028 1755 #define OFDMA_TRIGGER_DETAILS_NR5_PER_TID_INFO_TID_VALUE_LSB 44 1756 #define OFDMA_TRIGGER_DETAILS_NR5_PER_TID_INFO_TID_VALUE_MSB 47 1757 #define OFDMA_TRIGGER_DETAILS_NR5_PER_TID_INFO_TID_VALUE_MASK 0x0000f00000000000 1758 1759 1760 /* Description NR5_START_SEQ_CTRL_FRAG_NUMBER 1761 1762 Field only valid when ax_trigger_source = 11ax_trigger_frame 1763 1764 1765 MU-BAR trigger variant user info 1766 1767 Field only valid if the BAR control type indicates Multi-TID 1768 and BAR_control_TID_info >=5 1769 1770 Start Sequence control, subfield fragment 1771 1772 <legal all> 1773 */ 1774 1775 #define OFDMA_TRIGGER_DETAILS_NR5_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0x0000000000000028 1776 #define OFDMA_TRIGGER_DETAILS_NR5_START_SEQ_CTRL_FRAG_NUMBER_LSB 48 1777 #define OFDMA_TRIGGER_DETAILS_NR5_START_SEQ_CTRL_FRAG_NUMBER_MSB 51 1778 #define OFDMA_TRIGGER_DETAILS_NR5_START_SEQ_CTRL_FRAG_NUMBER_MASK 0x000f000000000000 1779 1780 1781 /* Description NR5_START_SEQ_CTRL_START_SEQ_NUMBER 1782 1783 Field only valid when ax_trigger_source = 11ax_trigger_frame 1784 1785 1786 MU-BAR trigger variant user info 1787 1788 Field valid if the BAR control type indicates Multi-TID 1789 and BAR_control_TID_info >=5 1790 1791 Start Sequence control, subfield Start sequence number 1792 1793 <legal all> 1794 */ 1795 1796 #define OFDMA_TRIGGER_DETAILS_NR5_START_SEQ_CTRL_START_SEQ_NUMBER_OFFSET 0x0000000000000028 1797 #define OFDMA_TRIGGER_DETAILS_NR5_START_SEQ_CTRL_START_SEQ_NUMBER_LSB 52 1798 #define OFDMA_TRIGGER_DETAILS_NR5_START_SEQ_CTRL_START_SEQ_NUMBER_MSB 63 1799 #define OFDMA_TRIGGER_DETAILS_NR5_START_SEQ_CTRL_START_SEQ_NUMBER_MASK 0xfff0000000000000 1800 1801 1802 /* Description NR6_PER_TID_INFO_RESERVED 1803 1804 Field only valid when ax_trigger_source = 11ax_trigger_frame 1805 1806 1807 MU-BAR trigger variant user info 1808 1809 Field only valid if the BAR control type indicates Multi-TID 1810 and BAR_control_TID_info >=6 1811 1812 Per TID info, field "Reserved 1813 Field" 1814 1815 <legal all> 1816 */ 1817 1818 #define OFDMA_TRIGGER_DETAILS_NR6_PER_TID_INFO_RESERVED_OFFSET 0x0000000000000030 1819 #define OFDMA_TRIGGER_DETAILS_NR6_PER_TID_INFO_RESERVED_LSB 0 1820 #define OFDMA_TRIGGER_DETAILS_NR6_PER_TID_INFO_RESERVED_MSB 11 1821 #define OFDMA_TRIGGER_DETAILS_NR6_PER_TID_INFO_RESERVED_MASK 0x0000000000000fff 1822 1823 1824 /* Description NR6_PER_TID_INFO_TID_VALUE 1825 1826 Field only valid when ax_trigger_source = 11ax_trigger_frame 1827 1828 1829 MU-BAR trigger variant user info 1830 1831 Field only valid if the BAR control type indicates Multi-TID 1832 and BAR_control_TID_info >=6 1833 1834 Per TID info, field "TID value" 1835 1836 <legal all> 1837 */ 1838 1839 #define OFDMA_TRIGGER_DETAILS_NR6_PER_TID_INFO_TID_VALUE_OFFSET 0x0000000000000030 1840 #define OFDMA_TRIGGER_DETAILS_NR6_PER_TID_INFO_TID_VALUE_LSB 12 1841 #define OFDMA_TRIGGER_DETAILS_NR6_PER_TID_INFO_TID_VALUE_MSB 15 1842 #define OFDMA_TRIGGER_DETAILS_NR6_PER_TID_INFO_TID_VALUE_MASK 0x000000000000f000 1843 1844 1845 /* Description NR6_START_SEQ_CTRL_FRAG_NUMBER 1846 1847 Field only valid when ax_trigger_source = 11ax_trigger_frame 1848 1849 1850 MU-BAR trigger variant user info 1851 1852 1853 Field only valid if the BAR control type indicates Multi-TID 1854 and BAR_control_TID_info >=6 1855 1856 Start Sequence control, subfield fragment 1857 1858 <legal all> 1859 */ 1860 1861 #define OFDMA_TRIGGER_DETAILS_NR6_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0x0000000000000030 1862 #define OFDMA_TRIGGER_DETAILS_NR6_START_SEQ_CTRL_FRAG_NUMBER_LSB 16 1863 #define OFDMA_TRIGGER_DETAILS_NR6_START_SEQ_CTRL_FRAG_NUMBER_MSB 19 1864 #define OFDMA_TRIGGER_DETAILS_NR6_START_SEQ_CTRL_FRAG_NUMBER_MASK 0x00000000000f0000 1865 1866 1867 /* Description NR6_START_SEQ_CTRL_START_SEQ_NUMBER 1868 1869 Field only valid when ax_trigger_source = 11ax_trigger_frame 1870 1871 1872 MU-BAR trigger variant user info 1873 1874 Field valid if the BAR control type indicates Multi-TID 1875 and BAR_control_TID_info >=6 1876 1877 Start Sequence control, subfield Start sequence number 1878 1879 <legal all> 1880 */ 1881 1882 #define OFDMA_TRIGGER_DETAILS_NR6_START_SEQ_CTRL_START_SEQ_NUMBER_OFFSET 0x0000000000000030 1883 #define OFDMA_TRIGGER_DETAILS_NR6_START_SEQ_CTRL_START_SEQ_NUMBER_LSB 20 1884 #define OFDMA_TRIGGER_DETAILS_NR6_START_SEQ_CTRL_START_SEQ_NUMBER_MSB 31 1885 #define OFDMA_TRIGGER_DETAILS_NR6_START_SEQ_CTRL_START_SEQ_NUMBER_MASK 0x00000000fff00000 1886 1887 1888 /* Description NR7_PER_TID_INFO_RESERVED 1889 1890 Field only valid when ax_trigger_source = 11ax_trigger_frame 1891 1892 1893 MU-BAR trigger variant user info 1894 1895 Field only valid if the BAR control type indicates Multi-TID 1896 and BAR_control_TID_info >=7 1897 1898 Per TID info, field "Reserved 1899 Field" 1900 1901 <legal all> 1902 */ 1903 1904 #define OFDMA_TRIGGER_DETAILS_NR7_PER_TID_INFO_RESERVED_OFFSET 0x0000000000000030 1905 #define OFDMA_TRIGGER_DETAILS_NR7_PER_TID_INFO_RESERVED_LSB 32 1906 #define OFDMA_TRIGGER_DETAILS_NR7_PER_TID_INFO_RESERVED_MSB 43 1907 #define OFDMA_TRIGGER_DETAILS_NR7_PER_TID_INFO_RESERVED_MASK 0x00000fff00000000 1908 1909 1910 /* Description NR7_PER_TID_INFO_TID_VALUE 1911 1912 Field only valid when ax_trigger_source = 11ax_trigger_frame 1913 1914 1915 MU-BAR trigger variant user info 1916 1917 Field only valid if the BAR control type indicates Multi-TID 1918 and BAR_control_TID_info >=7 1919 1920 Per TID info, field "TID value" 1921 1922 <legal all> 1923 */ 1924 1925 #define OFDMA_TRIGGER_DETAILS_NR7_PER_TID_INFO_TID_VALUE_OFFSET 0x0000000000000030 1926 #define OFDMA_TRIGGER_DETAILS_NR7_PER_TID_INFO_TID_VALUE_LSB 44 1927 #define OFDMA_TRIGGER_DETAILS_NR7_PER_TID_INFO_TID_VALUE_MSB 47 1928 #define OFDMA_TRIGGER_DETAILS_NR7_PER_TID_INFO_TID_VALUE_MASK 0x0000f00000000000 1929 1930 1931 /* Description NR7_START_SEQ_CTRL_FRAG_NUMBER 1932 1933 Field only valid when ax_trigger_source = 11ax_trigger_frame 1934 1935 1936 MU-BAR trigger variant user info 1937 1938 Field only valid if the BAR control type indicates Multi-TID 1939 and BAR_control_TID_info >=7 1940 1941 Start Sequence control, subfield fragment 1942 1943 <legal all> 1944 */ 1945 1946 #define OFDMA_TRIGGER_DETAILS_NR7_START_SEQ_CTRL_FRAG_NUMBER_OFFSET 0x0000000000000030 1947 #define OFDMA_TRIGGER_DETAILS_NR7_START_SEQ_CTRL_FRAG_NUMBER_LSB 48 1948 #define OFDMA_TRIGGER_DETAILS_NR7_START_SEQ_CTRL_FRAG_NUMBER_MSB 51 1949 #define OFDMA_TRIGGER_DETAILS_NR7_START_SEQ_CTRL_FRAG_NUMBER_MASK 0x000f000000000000 1950 1951 1952 /* Description NR7_START_SEQ_CTRL_START_SEQ_NUMBER 1953 1954 Field only valid when ax_trigger_source = 11ax_trigger_frame 1955 1956 1957 MU-BAR trigger variant user info 1958 1959 Field valid if the BAR control type indicates Multi-TID 1960 and BAR_control_TID_info >=7 1961 1962 Start Sequence control, subfield Start sequence number 1963 1964 <legal all> 1965 */ 1966 1967 #define OFDMA_TRIGGER_DETAILS_NR7_START_SEQ_CTRL_START_SEQ_NUMBER_OFFSET 0x0000000000000030 1968 #define OFDMA_TRIGGER_DETAILS_NR7_START_SEQ_CTRL_START_SEQ_NUMBER_LSB 52 1969 #define OFDMA_TRIGGER_DETAILS_NR7_START_SEQ_CTRL_START_SEQ_NUMBER_MSB 63 1970 #define OFDMA_TRIGGER_DETAILS_NR7_START_SEQ_CTRL_START_SEQ_NUMBER_MASK 0xfff0000000000000 1971 1972 1973 /* Description FB_SEGMENT_RETRANSMISSION_BITMAP 1974 1975 Field only valid when ax_trigger_source = 11ax_trigger_frame 1976 1977 1978 Beamforming_report_poll trigger variant user info 1979 1980 Segment information field extracted from the trigger frame 1981 1982 1983 <legal all> 1984 */ 1985 1986 #define OFDMA_TRIGGER_DETAILS_FB_SEGMENT_RETRANSMISSION_BITMAP_OFFSET 0x0000000000000038 1987 #define OFDMA_TRIGGER_DETAILS_FB_SEGMENT_RETRANSMISSION_BITMAP_LSB 0 1988 #define OFDMA_TRIGGER_DETAILS_FB_SEGMENT_RETRANSMISSION_BITMAP_MSB 7 1989 #define OFDMA_TRIGGER_DETAILS_FB_SEGMENT_RETRANSMISSION_BITMAP_MASK 0x00000000000000ff 1990 1991 1992 /* Description RESERVED_14A 1993 1994 <legal 0> 1995 */ 1996 1997 #define OFDMA_TRIGGER_DETAILS_RESERVED_14A_OFFSET 0x0000000000000038 1998 #define OFDMA_TRIGGER_DETAILS_RESERVED_14A_LSB 8 1999 #define OFDMA_TRIGGER_DETAILS_RESERVED_14A_MSB 9 2000 #define OFDMA_TRIGGER_DETAILS_RESERVED_14A_MASK 0x0000000000000300 2001 2002 2003 /* Description U_SIG_PUNCTURE_PATTERN_ENCODING 2004 2005 This field is only valid if the trigger was received in 2006 an EHT PPDU. 2007 2008 The 6-bit value used in U-SIG and/or EHT-SIG Common field 2009 for the puncture pattern 2010 <legal 0-29> 2011 */ 2012 2013 #define OFDMA_TRIGGER_DETAILS_U_SIG_PUNCTURE_PATTERN_ENCODING_OFFSET 0x0000000000000038 2014 #define OFDMA_TRIGGER_DETAILS_U_SIG_PUNCTURE_PATTERN_ENCODING_LSB 10 2015 #define OFDMA_TRIGGER_DETAILS_U_SIG_PUNCTURE_PATTERN_ENCODING_MSB 15 2016 #define OFDMA_TRIGGER_DETAILS_U_SIG_PUNCTURE_PATTERN_ENCODING_MASK 0x000000000000fc00 2017 2018 2019 /* Description DOT11BE_PUNCTURE_BITMAP 2020 2021 This field is only valid if the trigger was received in 2022 an EHT PPDU. 2023 2024 The bitmap of 20 MHz sub-bands valid in the EHT PPDU reception 2025 2026 2027 RXPCU gets this from the received U-SIG and/or EHT-SIG via 2028 PHY microcode. 2029 2030 <legal all> 2031 */ 2032 2033 #define OFDMA_TRIGGER_DETAILS_DOT11BE_PUNCTURE_BITMAP_OFFSET 0x0000000000000038 2034 #define OFDMA_TRIGGER_DETAILS_DOT11BE_PUNCTURE_BITMAP_LSB 16 2035 #define OFDMA_TRIGGER_DETAILS_DOT11BE_PUNCTURE_BITMAP_MSB 31 2036 #define OFDMA_TRIGGER_DETAILS_DOT11BE_PUNCTURE_BITMAP_MASK 0x00000000ffff0000 2037 2038 2039 /* Description RX_CHAIN_MASK 2040 2041 Description dependent on the setting of field Rx_chain_mask_type. 2042 2043 2044 The chain mask at the start of the reception of this frame 2045 when Rx_chain_mask_type is set to 1'b0. In this mode used 2046 in 11ax TPC calculations for UL OFDMA/MIMO and has to be 2047 in sync with the rssi_comb value as this is also used by 2048 the MAC for the TPC calculations. 2049 2050 2051 The final rx chain mask used for the frame reception when 2052 Rx_chain_mask_type is set to 1'b1 2053 2054 each bit is one antenna 2055 0: the chain is NOT used 2056 1: the chain is used 2057 2058 Supports up to 8 chains 2059 <legal all> 2060 */ 2061 2062 #define OFDMA_TRIGGER_DETAILS_RX_CHAIN_MASK_OFFSET 0x0000000000000038 2063 #define OFDMA_TRIGGER_DETAILS_RX_CHAIN_MASK_LSB 32 2064 #define OFDMA_TRIGGER_DETAILS_RX_CHAIN_MASK_MSB 39 2065 #define OFDMA_TRIGGER_DETAILS_RX_CHAIN_MASK_MASK 0x000000ff00000000 2066 2067 2068 /* Description RX_DURATION_FIELD 2069 2070 The duration field embedded in the received trigger frame. 2071 2072 PDG uses this field to calculate what the duration field 2073 value should be in the response frame. 2074 This is returned to the TX PCU 2075 <legal all> 2076 */ 2077 2078 #define OFDMA_TRIGGER_DETAILS_RX_DURATION_FIELD_OFFSET 0x0000000000000038 2079 #define OFDMA_TRIGGER_DETAILS_RX_DURATION_FIELD_LSB 40 2080 #define OFDMA_TRIGGER_DETAILS_RX_DURATION_FIELD_MSB 55 2081 #define OFDMA_TRIGGER_DETAILS_RX_DURATION_FIELD_MASK 0x00ffff0000000000 2082 2083 2084 /* Description SCRAMBLER_SEED 2085 2086 This field provides the 7-bit seed for the data scrambler. 2087 2088 Used in response generation to MU-RTS trigger, where CTS 2089 needs to have the same scrambler seed as the RTS 2090 <legal all> 2091 */ 2092 2093 #define OFDMA_TRIGGER_DETAILS_SCRAMBLER_SEED_OFFSET 0x0000000000000038 2094 #define OFDMA_TRIGGER_DETAILS_SCRAMBLER_SEED_LSB 56 2095 #define OFDMA_TRIGGER_DETAILS_SCRAMBLER_SEED_MSB 62 2096 #define OFDMA_TRIGGER_DETAILS_SCRAMBLER_SEED_MASK 0x7f00000000000000 2097 2098 2099 /* Description RX_CHAIN_MASK_TYPE 2100 2101 Indicates if the field rx_chain_mask represents the mask 2102 at start of reception (on which the Rssi_comb value is 2103 based), or the setting used during the remainder of the 2104 reception 2105 2106 1'b0: rxtd.listen_pri80_mask 2107 1'b1: Final receive mask 2108 2109 <legal all> 2110 */ 2111 2112 #define OFDMA_TRIGGER_DETAILS_RX_CHAIN_MASK_TYPE_OFFSET 0x0000000000000038 2113 #define OFDMA_TRIGGER_DETAILS_RX_CHAIN_MASK_TYPE_LSB 63 2114 #define OFDMA_TRIGGER_DETAILS_RX_CHAIN_MASK_TYPE_MSB 63 2115 #define OFDMA_TRIGGER_DETAILS_RX_CHAIN_MASK_TYPE_MASK 0x8000000000000000 2116 2117 2118 /* Description MLO_STA_ID_DETAILS_RX 2119 2120 Bits 10 and 11 are not valid, bits [9:0] reflect 'NSTR_MLO_STA_ID' 2121 from address search. 2122 2123 */ 2124 2125 2126 /* Description NSTR_MLO_STA_ID 2127 2128 ID of peer participating in non-STR MLO 2129 */ 2130 2131 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_OFFSET 0x0000000000000040 2132 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_LSB 0 2133 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MSB 9 2134 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_MASK 0x00000000000003ff 2135 2136 2137 /* Description BLOCK_SELF_ML_SYNC 2138 2139 Only valid for TX 2140 2141 When set, this provides an indication to block the peer 2142 for self-link. 2143 */ 2144 2145 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_OFFSET 0x0000000000000040 2146 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_LSB 10 2147 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MSB 10 2148 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_BLOCK_SELF_ML_SYNC_MASK 0x0000000000000400 2149 2150 2151 /* Description BLOCK_PARTNER_ML_SYNC 2152 2153 Only valid for TX 2154 2155 When set, this provides an indication to block the peer 2156 for partner links. 2157 */ 2158 2159 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_OFFSET 0x0000000000000040 2160 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_LSB 11 2161 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MSB 11 2162 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_BLOCK_PARTNER_ML_SYNC_MASK 0x0000000000000800 2163 2164 2165 /* Description NSTR_MLO_STA_ID_VALID 2166 2167 All the fields in this TLV are valid only if this bit is 2168 set. 2169 */ 2170 2171 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_OFFSET 0x0000000000000040 2172 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_LSB 12 2173 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MSB 12 2174 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_NSTR_MLO_STA_ID_VALID_MASK 0x0000000000001000 2175 2176 2177 /* Description RESERVED_0A 2178 2179 <legal 0> 2180 */ 2181 2182 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_RESERVED_0A_OFFSET 0x0000000000000040 2183 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_RESERVED_0A_LSB 13 2184 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MSB 15 2185 #define OFDMA_TRIGGER_DETAILS_MLO_STA_ID_DETAILS_RX_RESERVED_0A_MASK 0x000000000000e000 2186 2187 2188 /* Description NORMALIZED_PRE_RSSI_COMB 2189 2190 Combined pre_rssi of all chains, but "normalized" back to 2191 a single chain. This avoids PDG from having to evaluate 2192 this in combination with receive chain mask and perform 2193 all kinds of pre-processing algorithms. 2194 2195 Based on primary channel RSSI. 2196 2197 RSSI is reported as 8b signed values. Nominally value is 2198 in dB units above or below the noisefloor(minCCApwr). 2199 2200 The resolution can be: 2201 1dB or 0.5dB. This is statically configured within the PHY 2202 and MAC 2203 2204 In case of 1dB, the Range is: 2205 -128dB to 127dB 2206 2207 In case of 0.5dB, the Range is: 2208 -64dB to 63.5dB 2209 2210 <legal all> 2211 */ 2212 2213 #define OFDMA_TRIGGER_DETAILS_NORMALIZED_PRE_RSSI_COMB_OFFSET 0x0000000000000040 2214 #define OFDMA_TRIGGER_DETAILS_NORMALIZED_PRE_RSSI_COMB_LSB 16 2215 #define OFDMA_TRIGGER_DETAILS_NORMALIZED_PRE_RSSI_COMB_MSB 23 2216 #define OFDMA_TRIGGER_DETAILS_NORMALIZED_PRE_RSSI_COMB_MASK 0x0000000000ff0000 2217 2218 2219 /* Description NORMALIZED_RSSI_COMB 2220 2221 Combined rssi of all chains, but "normalized" back to a 2222 single chain. This avoids PDG from having to evaluate this 2223 in combination with receive chain mask and perform all 2224 kinds of pre-processing algorithms. 2225 2226 Based on primary channel RSSI. 2227 2228 RSSI is reported as 8b signed values. Nominally value is 2229 in dB units above or below the noisefloor(minCCApwr). 2230 2231 The resolution can be: 2232 1dB or 0.5dB. This is statically configured within the PHY 2233 and MAC 2234 In case of 1dB, the Range is: 2235 -128dB to 127dB 2236 2237 In case of 0.5dB, the Range is: 2238 -64dB to 63.5dB 2239 2240 <legal all> 2241 */ 2242 2243 #define OFDMA_TRIGGER_DETAILS_NORMALIZED_RSSI_COMB_OFFSET 0x0000000000000040 2244 #define OFDMA_TRIGGER_DETAILS_NORMALIZED_RSSI_COMB_LSB 24 2245 #define OFDMA_TRIGGER_DETAILS_NORMALIZED_RSSI_COMB_MSB 31 2246 #define OFDMA_TRIGGER_DETAILS_NORMALIZED_RSSI_COMB_MASK 0x00000000ff000000 2247 2248 2249 /* Description SW_PEER_ID 2250 2251 Used by the PHY to correlated received trigger frames with 2252 an AP and calculate long term statistics for this AP 2253 <legal all> 2254 */ 2255 2256 #define OFDMA_TRIGGER_DETAILS_SW_PEER_ID_OFFSET 0x0000000000000040 2257 #define OFDMA_TRIGGER_DETAILS_SW_PEER_ID_LSB 32 2258 #define OFDMA_TRIGGER_DETAILS_SW_PEER_ID_MSB 47 2259 #define OFDMA_TRIGGER_DETAILS_SW_PEER_ID_MASK 0x0000ffff00000000 2260 2261 2262 /* Description RESPONSE_TX_DURATION 2263 2264 Field filled in by PDG based on the value that is given 2265 in field response_Length in the RECEIVED_TRIGGER_INFO TLV 2266 2267 2268 The amount of time the transmission of the HW response shall 2269 take (in us) 2270 2271 <legal all> 2272 */ 2273 2274 #define OFDMA_TRIGGER_DETAILS_RESPONSE_TX_DURATION_OFFSET 0x0000000000000040 2275 #define OFDMA_TRIGGER_DETAILS_RESPONSE_TX_DURATION_LSB 48 2276 #define OFDMA_TRIGGER_DETAILS_RESPONSE_TX_DURATION_MSB 63 2277 #define OFDMA_TRIGGER_DETAILS_RESPONSE_TX_DURATION_MASK 0xffff000000000000 2278 2279 2280 /* Description RANGING_TRIGGER_SUBTYPE 2281 2282 Indicates the Trigger subtype for the current ranging TF 2283 2284 2285 <enum 0 TF_Poll> 2286 <enum 1 TF_Sound> 2287 <enum 2 TF_Secure_Sound> 2288 <enum 3 TF_Report> 2289 2290 <legal 0-3> 2291 */ 2292 2293 #define OFDMA_TRIGGER_DETAILS_RANGING_TRIGGER_SUBTYPE_OFFSET 0x0000000000000048 2294 #define OFDMA_TRIGGER_DETAILS_RANGING_TRIGGER_SUBTYPE_LSB 0 2295 #define OFDMA_TRIGGER_DETAILS_RANGING_TRIGGER_SUBTYPE_MSB 3 2296 #define OFDMA_TRIGGER_DETAILS_RANGING_TRIGGER_SUBTYPE_MASK 0x000000000000000f 2297 2298 2299 /* Description TBR_TRIGGER_COMMON_INFO_79_68 2300 2301 Field only valid if Trigger_type = ax_tb_ranging_trigger 2302 2303 2304 Ranging trigger variant common info 2305 2306 Includes fields "Reserved," "Token," "Sounding Dialog Token 2307 Number" 2308 2309 If the Trigger Dependent Common Info sub-field is less than 2310 16 bits, the upper bits are set to 0. 2311 2312 <legal all> 2313 */ 2314 2315 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_COMMON_INFO_79_68_OFFSET 0x0000000000000048 2316 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_COMMON_INFO_79_68_LSB 4 2317 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_COMMON_INFO_79_68_MSB 15 2318 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_COMMON_INFO_79_68_MASK 0x000000000000fff0 2319 2320 2321 /* Description TBR_TRIGGER_SOUND_RESERVED_20_12 2322 2323 Field only valid if Trigger_type = ax_tb_ranging_trigger 2324 and Ranging_Trigger_Subtype = TF_Sound or TF_Secure_Sound 2325 2326 2327 Ranging trigger variant sounding/secure sounding sub-variant 2328 user info bits [20:12] 2329 2330 <legal all> 2331 */ 2332 2333 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_RESERVED_20_12_OFFSET 0x0000000000000048 2334 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_RESERVED_20_12_LSB 16 2335 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_RESERVED_20_12_MSB 24 2336 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_RESERVED_20_12_MASK 0x0000000001ff0000 2337 2338 2339 /* Description I2R_REP 2340 2341 Field only valid if Trigger_type = ax_tb_ranging_trigger 2342 and Ranging_Trigger_Subtype = TF_Sound or TF_Secure_Sound 2343 2344 2345 Ranging trigger variant sounding/secure sounding sub-variant 2346 user info field "I2R Rep" 2347 2348 PDG uses this to to populate Nrep in 'MACTX_11AZ_USER_DESC_PER_USER.' 2349 2350 2351 <legal all> 2352 */ 2353 2354 #define OFDMA_TRIGGER_DETAILS_I2R_REP_OFFSET 0x0000000000000048 2355 #define OFDMA_TRIGGER_DETAILS_I2R_REP_LSB 25 2356 #define OFDMA_TRIGGER_DETAILS_I2R_REP_MSB 27 2357 #define OFDMA_TRIGGER_DETAILS_I2R_REP_MASK 0x000000000e000000 2358 2359 2360 /* Description TBR_TRIGGER_SOUND_RESERVED_25_24 2361 2362 Field only valid if Trigger_type = ax_tb_ranging_trigger 2363 and Ranging_Trigger_Subtype = TF_Sound or TF_Secure_Sound 2364 2365 2366 Ranging trigger variant sounding/secure sounding sub-variant 2367 user info bits [25:24] 2368 2369 <legal all> 2370 */ 2371 2372 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_RESERVED_25_24_OFFSET 0x0000000000000048 2373 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_RESERVED_25_24_LSB 28 2374 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_RESERVED_25_24_MSB 29 2375 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_RESERVED_25_24_MASK 0x0000000030000000 2376 2377 2378 /* Description RESERVED_18A 2379 2380 Field only valid when ax_trigger_source = 11ax_trigger_frame 2381 2382 2383 User trigger info 2384 2385 Reserved bit 39 in the Trigger 'User Info' 2386 2387 In case of an EHT AP, the bit 39 of the Trigger 'User Info' 2388 called 'PS160' is used along with HE_SIGA_Reserved to determine 2389 EHT_trigger_response. In case of EHT, 'PS160' is also included 2390 in the MSB of field RU_allocation. 2391 2392 <legal all> 2393 */ 2394 2395 #define OFDMA_TRIGGER_DETAILS_RESERVED_18A_OFFSET 0x0000000000000048 2396 #define OFDMA_TRIGGER_DETAILS_RESERVED_18A_LSB 30 2397 #define OFDMA_TRIGGER_DETAILS_RESERVED_18A_MSB 30 2398 #define OFDMA_TRIGGER_DETAILS_RESERVED_18A_MASK 0x0000000040000000 2399 2400 2401 /* Description QOS_NULL_ONLY_RESPONSE_TX 2402 2403 Field filled in by PDG based on Rxpcu_PCIe_L0_req_duration 2404 2405 2406 If based on the duration for which RXPCU has asserted the 2407 'L0 request' signal to PCIe and the PCIe L1SS exit + MAC 2408 + PHY Tx latencies, PDG determines that null delimiters 2409 + a programmable minimum MPDU size cannot fit the trigger 2410 response, PDG sets this bit. 2411 2412 HWSCH uses this bit to determine whether to select only 2413 the 'SCHEDULER_CMD' with Trig_resp_qos_null_only set, i.e. 2414 which transmit only QoS Nulls. 2415 2416 This is filled as zero if ILP is unsupported or disabled 2417 <legal all> 2418 */ 2419 2420 #define OFDMA_TRIGGER_DETAILS_QOS_NULL_ONLY_RESPONSE_TX_OFFSET 0x0000000000000048 2421 #define OFDMA_TRIGGER_DETAILS_QOS_NULL_ONLY_RESPONSE_TX_LSB 31 2422 #define OFDMA_TRIGGER_DETAILS_QOS_NULL_ONLY_RESPONSE_TX_MSB 31 2423 #define OFDMA_TRIGGER_DETAILS_QOS_NULL_ONLY_RESPONSE_TX_MASK 0x0000000080000000 2424 2425 2426 /* Description TBR_TRIGGER_SOUND_SAC 2427 2428 Field only valid if Trigger_type = ax_tb_ranging_trigger 2429 and Ranging_Trigger_Subtype = TF_Secure_Sound 2430 2431 Ranging trigger variant secure sounding sub-variant user 2432 info field "SAC" 2433 2434 <legal all> 2435 */ 2436 2437 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_SAC_OFFSET 0x0000000000000048 2438 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_SAC_LSB 32 2439 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_SAC_MSB 47 2440 #define OFDMA_TRIGGER_DETAILS_TBR_TRIGGER_SOUND_SAC_MASK 0x0000ffff00000000 2441 2442 2443 /* Description RESERVED_19A 2444 2445 <legal 0> 2446 */ 2447 2448 #define OFDMA_TRIGGER_DETAILS_RESERVED_19A_OFFSET 0x0000000000000048 2449 #define OFDMA_TRIGGER_DETAILS_RESERVED_19A_LSB 48 2450 #define OFDMA_TRIGGER_DETAILS_RESERVED_19A_MSB 55 2451 #define OFDMA_TRIGGER_DETAILS_RESERVED_19A_MASK 0x00ff000000000000 2452 2453 2454 /* Description U_SIG_RESERVED2 2455 2456 Field only valid when ax_trigger_source = 11ax_trigger_frame 2457 2458 2459 EHT Special User Info 2460 2461 Indicates the values of the 5 'disregard' bits [41:37] in 2462 the U-SIG of the EHT_TRIG PPDU transmitted as a response 2463 to the Trigger frame 2464 <legal all> 2465 */ 2466 2467 #define OFDMA_TRIGGER_DETAILS_U_SIG_RESERVED2_OFFSET 0x0000000000000048 2468 #define OFDMA_TRIGGER_DETAILS_U_SIG_RESERVED2_LSB 56 2469 #define OFDMA_TRIGGER_DETAILS_U_SIG_RESERVED2_MSB 60 2470 #define OFDMA_TRIGGER_DETAILS_U_SIG_RESERVED2_MASK 0x1f00000000000000 2471 2472 2473 /* Description RESERVED_19B 2474 2475 Field only valid when ax_trigger_source = 11ax_trigger_frame 2476 2477 2478 EHT Special User Info 2479 2480 Reserved bits in the Trigger 2481 <legal all> 2482 */ 2483 2484 #define OFDMA_TRIGGER_DETAILS_RESERVED_19B_OFFSET 0x0000000000000048 2485 #define OFDMA_TRIGGER_DETAILS_RESERVED_19B_LSB 61 2486 #define OFDMA_TRIGGER_DETAILS_RESERVED_19B_MSB 63 2487 #define OFDMA_TRIGGER_DETAILS_RESERVED_19B_MASK 0xe000000000000000 2488 2489 2490 /* Description EHT_SPECIAL_AID12 2491 2492 Field only valid when ax_trigger_source = 11ax_trigger_frame 2493 2494 2495 EHT Special User Info 2496 2497 The AID12 subfield of the Special User Info field should 2498 be '2007' for EHT R1 triggers. 2499 2500 Note strictly needed, but added here for debugging purposes. 2501 2502 <legal all> 2503 */ 2504 2505 #define OFDMA_TRIGGER_DETAILS_EHT_SPECIAL_AID12_OFFSET 0x0000000000000050 2506 #define OFDMA_TRIGGER_DETAILS_EHT_SPECIAL_AID12_LSB 0 2507 #define OFDMA_TRIGGER_DETAILS_EHT_SPECIAL_AID12_MSB 11 2508 #define OFDMA_TRIGGER_DETAILS_EHT_SPECIAL_AID12_MASK 0x0000000000000fff 2509 2510 2511 /* Description PHY_VERSION 2512 2513 Field only valid when ax_trigger_source = 11ax_trigger_frame 2514 2515 2516 EHT Special User Info 2517 2518 The PHY version should be '0' for EHT R1 triggers. 2519 2520 Note strictly needed, but added here for debugging purposes. 2521 2522 <legal all> 2523 */ 2524 2525 #define OFDMA_TRIGGER_DETAILS_PHY_VERSION_OFFSET 0x0000000000000050 2526 #define OFDMA_TRIGGER_DETAILS_PHY_VERSION_LSB 12 2527 #define OFDMA_TRIGGER_DETAILS_PHY_VERSION_MSB 14 2528 #define OFDMA_TRIGGER_DETAILS_PHY_VERSION_MASK 0x0000000000007000 2529 2530 2531 /* Description BANDWIDTH_EXT 2532 2533 Field only valid when ax_trigger_source = 11ax_trigger_frame 2534 2535 2536 EHT Special User Info 2537 2538 2539 2540 This along with the field Bandwidth determines the HE-SIG-A/U-SIG 2541 BW value for the HE/EHT Trigger-based PPDU. 2542 2543 Bandwidth/Bandwidth_ext: 2544 0/0: 20 MHz 2545 1/0: 40 MHz 2546 2/0: 80 MHz 2547 3/1: 160 MHz 2548 3/2: 320 MHz channelization 1 2549 3/3: 320 MHz channelization 2 2550 All other cominations are reserved. 2551 2552 <legal all> 2553 */ 2554 2555 #define OFDMA_TRIGGER_DETAILS_BANDWIDTH_EXT_OFFSET 0x0000000000000050 2556 #define OFDMA_TRIGGER_DETAILS_BANDWIDTH_EXT_LSB 15 2557 #define OFDMA_TRIGGER_DETAILS_BANDWIDTH_EXT_MSB 16 2558 #define OFDMA_TRIGGER_DETAILS_BANDWIDTH_EXT_MASK 0x0000000000018000 2559 2560 2561 /* Description EHT_SPATIAL_REUSE 2562 2563 Field only valid when ax_trigger_source = 11ax_trigger_frame 2564 2565 2566 EHT Special User Info 2567 2568 Indicates the value of the Spatial Reuse in the U-SIG of 2569 the EHT_TRIG PPDU transmitted as a response to the Trigger 2570 frame 2571 <legal all> 2572 */ 2573 2574 #define OFDMA_TRIGGER_DETAILS_EHT_SPATIAL_REUSE_OFFSET 0x0000000000000050 2575 #define OFDMA_TRIGGER_DETAILS_EHT_SPATIAL_REUSE_LSB 17 2576 #define OFDMA_TRIGGER_DETAILS_EHT_SPATIAL_REUSE_MSB 24 2577 #define OFDMA_TRIGGER_DETAILS_EHT_SPATIAL_REUSE_MASK 0x0000000001fe0000 2578 2579 2580 /* Description U_SIG_RESERVED1 2581 2582 Field only valid when ax_trigger_source = 11ax_trigger_frame 2583 2584 2585 EHT Special User Info 2586 2587 Indicates the values of the 6 'disregard' bits [25:20] and 2588 1 'validate' bit [28] in the U-SIG of the EHT_TRIG PPDU 2589 transmitted as a response to the Trigger frame 2590 <legal all> 2591 */ 2592 2593 #define OFDMA_TRIGGER_DETAILS_U_SIG_RESERVED1_OFFSET 0x0000000000000050 2594 #define OFDMA_TRIGGER_DETAILS_U_SIG_RESERVED1_LSB 25 2595 #define OFDMA_TRIGGER_DETAILS_U_SIG_RESERVED1_MSB 31 2596 #define OFDMA_TRIGGER_DETAILS_U_SIG_RESERVED1_MASK 0x00000000fe000000 2597 2598 2599 /* Description EHT_TRIGGER_SPECIAL_USER_INFO_71_40 2600 2601 Field only valid when ax_trigger_source = 11ax_trigger_frame 2602 2603 2604 EHT Trigger Dependent field in Special User Info 2605 2606 If the Trigger Dependent User Info sub-field is less than 2607 32 bits, the upper bits are set to 0. 2608 2609 <legal all> 2610 */ 2611 2612 #define OFDMA_TRIGGER_DETAILS_EHT_TRIGGER_SPECIAL_USER_INFO_71_40_OFFSET 0x0000000000000050 2613 #define OFDMA_TRIGGER_DETAILS_EHT_TRIGGER_SPECIAL_USER_INFO_71_40_LSB 32 2614 #define OFDMA_TRIGGER_DETAILS_EHT_TRIGGER_SPECIAL_USER_INFO_71_40_MSB 63 2615 #define OFDMA_TRIGGER_DETAILS_EHT_TRIGGER_SPECIAL_USER_INFO_71_40_MASK 0xffffffff00000000 2616 2617 2618 2619 #endif // OFDMA_TRIGGER_DETAILS 2620