1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. 3*5113495bSYour Name * 4*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for any 5*5113495bSYour Name * purpose with or without fee is hereby granted, provided that the above 6*5113495bSYour Name * copyright notice and this permission notice appear in all copies. 7*5113495bSYour Name * 8*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9*5113495bSYour Name * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10*5113495bSYour Name * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11*5113495bSYour Name * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12*5113495bSYour Name * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13*5113495bSYour Name * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14*5113495bSYour Name * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15*5113495bSYour Name */ 16*5113495bSYour Name 17*5113495bSYour Name #ifndef _TX_FES_STATUS_END_H_ 18*5113495bSYour Name #define _TX_FES_STATUS_END_H_ 19*5113495bSYour Name #if !defined(__ASSEMBLER__) 20*5113495bSYour Name #endif 21*5113495bSYour Name 22*5113495bSYour Name #include "phytx_abort_request_info.h" 23*5113495bSYour Name #define NUM_OF_DWORDS_TX_FES_STATUS_END 22 24*5113495bSYour Name 25*5113495bSYour Name #define NUM_OF_QWORDS_TX_FES_STATUS_END 11 26*5113495bSYour Name 27*5113495bSYour Name 28*5113495bSYour Name struct tx_fes_status_end { 29*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 30*5113495bSYour Name uint32_t prot_coex_bt_tx_while_wlan_tx : 1, // [0:0] 31*5113495bSYour Name prot_coex_bt_tx_while_wlan_rx : 1, // [1:1] 32*5113495bSYour Name prot_coex_wan_tx_while_wlan_tx : 1, // [2:2] 33*5113495bSYour Name prot_coex_wan_tx_while_wlan_rx : 1, // [3:3] 34*5113495bSYour Name prot_coex_wlan_tx_while_wlan_tx : 1, // [4:4] 35*5113495bSYour Name prot_coex_wlan_tx_while_wlan_rx : 1, // [5:5] 36*5113495bSYour Name coex_bt_tx_while_wlan_tx : 1, // [6:6] 37*5113495bSYour Name coex_bt_tx_while_wlan_rx : 1, // [7:7] 38*5113495bSYour Name coex_wan_tx_while_wlan_tx : 1, // [8:8] 39*5113495bSYour Name coex_wan_tx_while_wlan_rx : 1, // [9:9] 40*5113495bSYour Name coex_wlan_tx_while_wlan_tx : 1, // [10:10] 41*5113495bSYour Name coex_wlan_tx_while_wlan_rx : 1, // [11:11] 42*5113495bSYour Name global_data_underflow_warning : 1, // [12:12] 43*5113495bSYour Name global_fes_transmit_result : 4, // [16:13] 44*5113495bSYour Name cbf_bw_received_valid : 1, // [17:17] 45*5113495bSYour Name cbf_bw_received : 3, // [20:18] 46*5113495bSYour Name actual_received_ack_type : 4, // [24:21] 47*5113495bSYour Name sta_response_count : 6, // [30:25] 48*5113495bSYour Name dpdtrain_done : 1; // [31:31] 49*5113495bSYour Name struct phytx_abort_request_info phytx_abort_request_info_details; 50*5113495bSYour Name uint16_t reserved_after_struct16 : 4, // [19:16] 51*5113495bSYour Name brp_info_valid : 1, // [20:20] 52*5113495bSYour Name reserved_1a : 6, // [26:21] 53*5113495bSYour Name phytx_pkt_end_info_valid : 1, // [27:27] 54*5113495bSYour Name phytx_abort_request_info_valid : 1, // [28:28] 55*5113495bSYour Name fes_in_11ax_trigger_response_config : 1, // [29:29] 56*5113495bSYour Name null_delim_inserted_before_mpdus : 1, // [30:30] 57*5113495bSYour Name only_null_delim_sent : 1; // [31:31] 58*5113495bSYour Name uint32_t start_of_frame_timestamp_15_0 : 16, // [15:0] 59*5113495bSYour Name start_of_frame_timestamp_31_16 : 16; // [31:16] 60*5113495bSYour Name uint32_t end_of_frame_timestamp_15_0 : 16, // [15:0] 61*5113495bSYour Name end_of_frame_timestamp_31_16 : 16; // [31:16] 62*5113495bSYour Name uint32_t terminate_ranging_sequence : 1, // [0:0] 63*5113495bSYour Name reserved_4a : 7, // [7:1] 64*5113495bSYour Name timing_status : 2, // [9:8] 65*5113495bSYour Name response_type : 5, // [14:10] 66*5113495bSYour Name r2r_end_status_to_follow : 1, // [15:15] 67*5113495bSYour Name transmit_delay : 16; // [31:16] 68*5113495bSYour Name uint32_t tx_group_delay : 12, // [11:0] 69*5113495bSYour Name reserved_5a : 4, // [15:12] 70*5113495bSYour Name tpc_dbg_info_cmn_15_0 : 16; // [31:16] 71*5113495bSYour Name uint32_t tpc_dbg_info_cmn_31_16 : 16, // [15:0] 72*5113495bSYour Name tpc_dbg_info_47_32 : 16; // [31:16] 73*5113495bSYour Name uint32_t tpc_dbg_info_chn1_15_0 : 16, // [15:0] 74*5113495bSYour Name tpc_dbg_info_chn1_31_16 : 16; // [31:16] 75*5113495bSYour Name uint32_t tpc_dbg_info_chn1_47_32 : 16, // [15:0] 76*5113495bSYour Name tpc_dbg_info_chn1_63_48 : 16; // [31:16] 77*5113495bSYour Name uint32_t tpc_dbg_info_chn1_79_64 : 16, // [15:0] 78*5113495bSYour Name tpc_dbg_info_chn2_15_0 : 16; // [31:16] 79*5113495bSYour Name uint32_t tpc_dbg_info_chn2_31_16 : 16, // [15:0] 80*5113495bSYour Name tpc_dbg_info_chn2_47_32 : 16; // [31:16] 81*5113495bSYour Name uint32_t tpc_dbg_info_chn2_63_48 : 16, // [15:0] 82*5113495bSYour Name tpc_dbg_info_chn2_79_64 : 16; // [31:16] 83*5113495bSYour Name uint32_t phytx_tx_end_sw_info_15_0 : 16, // [15:0] 84*5113495bSYour Name phytx_tx_end_sw_info_31_16 : 16; // [31:16] 85*5113495bSYour Name uint32_t phytx_tx_end_sw_info_47_32 : 16, // [15:0] 86*5113495bSYour Name phytx_tx_end_sw_info_63_48 : 16; // [31:16] 87*5113495bSYour Name uint32_t beamform_masked_user_bitmap_15_0 : 16, // [15:0] 88*5113495bSYour Name beamform_masked_user_bitmap_31_16 : 16; // [31:16] 89*5113495bSYour Name uint32_t cbf_segment_request_mask : 8, // [7:0] 90*5113495bSYour Name cbf_segment_sent_mask : 8, // [15:8] 91*5113495bSYour Name highest_achieved_data_null_ratio : 5, // [20:16] 92*5113495bSYour Name use_alt_power_sr : 1, // [21:21] 93*5113495bSYour Name static_2_pwr_mode_status : 1, // [22:22] 94*5113495bSYour Name obss_srg_opport_transmit_status : 1, // [23:23] 95*5113495bSYour Name srp_based_transmit_status : 1, // [24:24] 96*5113495bSYour Name obss_pd_based_transmit_status : 1, // [25:25] 97*5113495bSYour Name beamform_masked_user_bitmap_36_32 : 5, // [30:26] 98*5113495bSYour Name pdg_mpdu_ready : 1; // [31:31] 99*5113495bSYour Name uint32_t pdg_mpdu_count : 16, // [15:0] 100*5113495bSYour Name pdg_est_mpdu_tx_count : 16; // [31:16] 101*5113495bSYour Name uint32_t pdg_overview_length : 24, // [23:0] 102*5113495bSYour Name txop_duration : 7, // [30:24] 103*5113495bSYour Name pdg_dropped_mpdu_warning : 1; // [31:31] 104*5113495bSYour Name uint32_t packet_extension_a_factor : 2, // [1:0] 105*5113495bSYour Name packet_extension_pe_disambiguity : 1, // [2:2] 106*5113495bSYour Name packet_extension : 3, // [5:3] 107*5113495bSYour Name fec_type : 1, // [6:6] 108*5113495bSYour Name stbc : 1, // [7:7] 109*5113495bSYour Name num_data_symbols : 16, // [23:8] 110*5113495bSYour Name ru_size : 4, // [27:24] 111*5113495bSYour Name reserved_17a : 4; // [31:28] 112*5113495bSYour Name uint32_t num_ltf_symbols : 3, // [2:0] 113*5113495bSYour Name ltf_size : 2, // [4:3] 114*5113495bSYour Name cp_setting : 2, // [6:5] 115*5113495bSYour Name reserved_18a : 5, // [11:7] 116*5113495bSYour Name dcm : 1, // [12:12] 117*5113495bSYour Name ldpc_extra_symbol : 1, // [13:13] 118*5113495bSYour Name force_extra_symbol : 1, // [14:14] 119*5113495bSYour Name reserved_18b : 1, // [15:15] 120*5113495bSYour Name tx_pwr_shared : 8, // [23:16] 121*5113495bSYour Name tx_pwr_unshared : 8; // [31:24] 122*5113495bSYour Name uint32_t ranging_active_user_map : 16, // [15:0] 123*5113495bSYour Name ranging_sent_dummy_tx : 1, // [16:16] 124*5113495bSYour Name ranging_ftm_frame_sent : 1, // [17:17] 125*5113495bSYour Name reserved_20a : 6, // [23:18] 126*5113495bSYour Name cv_corr_status : 8; // [31:24] 127*5113495bSYour Name uint32_t current_tx_duration : 16, // [15:0] 128*5113495bSYour Name reserved_21a : 16; // [31:16] 129*5113495bSYour Name #else 130*5113495bSYour Name uint32_t dpdtrain_done : 1, // [31:31] 131*5113495bSYour Name sta_response_count : 6, // [30:25] 132*5113495bSYour Name actual_received_ack_type : 4, // [24:21] 133*5113495bSYour Name cbf_bw_received : 3, // [20:18] 134*5113495bSYour Name cbf_bw_received_valid : 1, // [17:17] 135*5113495bSYour Name global_fes_transmit_result : 4, // [16:13] 136*5113495bSYour Name global_data_underflow_warning : 1, // [12:12] 137*5113495bSYour Name coex_wlan_tx_while_wlan_rx : 1, // [11:11] 138*5113495bSYour Name coex_wlan_tx_while_wlan_tx : 1, // [10:10] 139*5113495bSYour Name coex_wan_tx_while_wlan_rx : 1, // [9:9] 140*5113495bSYour Name coex_wan_tx_while_wlan_tx : 1, // [8:8] 141*5113495bSYour Name coex_bt_tx_while_wlan_rx : 1, // [7:7] 142*5113495bSYour Name coex_bt_tx_while_wlan_tx : 1, // [6:6] 143*5113495bSYour Name prot_coex_wlan_tx_while_wlan_rx : 1, // [5:5] 144*5113495bSYour Name prot_coex_wlan_tx_while_wlan_tx : 1, // [4:4] 145*5113495bSYour Name prot_coex_wan_tx_while_wlan_rx : 1, // [3:3] 146*5113495bSYour Name prot_coex_wan_tx_while_wlan_tx : 1, // [2:2] 147*5113495bSYour Name prot_coex_bt_tx_while_wlan_rx : 1, // [1:1] 148*5113495bSYour Name prot_coex_bt_tx_while_wlan_tx : 1; // [0:0] 149*5113495bSYour Name uint32_t only_null_delim_sent : 1, // [31:31] 150*5113495bSYour Name null_delim_inserted_before_mpdus : 1, // [30:30] 151*5113495bSYour Name fes_in_11ax_trigger_response_config : 1, // [29:29] 152*5113495bSYour Name phytx_abort_request_info_valid : 1, // [28:28] 153*5113495bSYour Name phytx_pkt_end_info_valid : 1, // [27:27] 154*5113495bSYour Name reserved_1a : 6, // [26:21] 155*5113495bSYour Name brp_info_valid : 1, // [20:20] 156*5113495bSYour Name reserved_after_struct16 : 4; // [19:16] 157*5113495bSYour Name struct phytx_abort_request_info phytx_abort_request_info_details; 158*5113495bSYour Name uint32_t start_of_frame_timestamp_31_16 : 16, // [31:16] 159*5113495bSYour Name start_of_frame_timestamp_15_0 : 16; // [15:0] 160*5113495bSYour Name uint32_t end_of_frame_timestamp_31_16 : 16, // [31:16] 161*5113495bSYour Name end_of_frame_timestamp_15_0 : 16; // [15:0] 162*5113495bSYour Name uint32_t transmit_delay : 16, // [31:16] 163*5113495bSYour Name r2r_end_status_to_follow : 1, // [15:15] 164*5113495bSYour Name response_type : 5, // [14:10] 165*5113495bSYour Name timing_status : 2, // [9:8] 166*5113495bSYour Name reserved_4a : 7, // [7:1] 167*5113495bSYour Name terminate_ranging_sequence : 1; // [0:0] 168*5113495bSYour Name uint32_t tpc_dbg_info_cmn_15_0 : 16, // [31:16] 169*5113495bSYour Name reserved_5a : 4, // [15:12] 170*5113495bSYour Name tx_group_delay : 12; // [11:0] 171*5113495bSYour Name uint32_t tpc_dbg_info_47_32 : 16, // [31:16] 172*5113495bSYour Name tpc_dbg_info_cmn_31_16 : 16; // [15:0] 173*5113495bSYour Name uint32_t tpc_dbg_info_chn1_31_16 : 16, // [31:16] 174*5113495bSYour Name tpc_dbg_info_chn1_15_0 : 16; // [15:0] 175*5113495bSYour Name uint32_t tpc_dbg_info_chn1_63_48 : 16, // [31:16] 176*5113495bSYour Name tpc_dbg_info_chn1_47_32 : 16; // [15:0] 177*5113495bSYour Name uint32_t tpc_dbg_info_chn2_15_0 : 16, // [31:16] 178*5113495bSYour Name tpc_dbg_info_chn1_79_64 : 16; // [15:0] 179*5113495bSYour Name uint32_t tpc_dbg_info_chn2_47_32 : 16, // [31:16] 180*5113495bSYour Name tpc_dbg_info_chn2_31_16 : 16; // [15:0] 181*5113495bSYour Name uint32_t tpc_dbg_info_chn2_79_64 : 16, // [31:16] 182*5113495bSYour Name tpc_dbg_info_chn2_63_48 : 16; // [15:0] 183*5113495bSYour Name uint32_t phytx_tx_end_sw_info_31_16 : 16, // [31:16] 184*5113495bSYour Name phytx_tx_end_sw_info_15_0 : 16; // [15:0] 185*5113495bSYour Name uint32_t phytx_tx_end_sw_info_63_48 : 16, // [31:16] 186*5113495bSYour Name phytx_tx_end_sw_info_47_32 : 16; // [15:0] 187*5113495bSYour Name uint32_t beamform_masked_user_bitmap_31_16 : 16, // [31:16] 188*5113495bSYour Name beamform_masked_user_bitmap_15_0 : 16; // [15:0] 189*5113495bSYour Name uint32_t pdg_mpdu_ready : 1, // [31:31] 190*5113495bSYour Name beamform_masked_user_bitmap_36_32 : 5, // [30:26] 191*5113495bSYour Name obss_pd_based_transmit_status : 1, // [25:25] 192*5113495bSYour Name srp_based_transmit_status : 1, // [24:24] 193*5113495bSYour Name obss_srg_opport_transmit_status : 1, // [23:23] 194*5113495bSYour Name static_2_pwr_mode_status : 1, // [22:22] 195*5113495bSYour Name use_alt_power_sr : 1, // [21:21] 196*5113495bSYour Name highest_achieved_data_null_ratio : 5, // [20:16] 197*5113495bSYour Name cbf_segment_sent_mask : 8, // [15:8] 198*5113495bSYour Name cbf_segment_request_mask : 8; // [7:0] 199*5113495bSYour Name uint32_t pdg_est_mpdu_tx_count : 16, // [31:16] 200*5113495bSYour Name pdg_mpdu_count : 16; // [15:0] 201*5113495bSYour Name uint32_t pdg_dropped_mpdu_warning : 1, // [31:31] 202*5113495bSYour Name txop_duration : 7, // [30:24] 203*5113495bSYour Name pdg_overview_length : 24; // [23:0] 204*5113495bSYour Name uint32_t reserved_17a : 4, // [31:28] 205*5113495bSYour Name ru_size : 4, // [27:24] 206*5113495bSYour Name num_data_symbols : 16, // [23:8] 207*5113495bSYour Name stbc : 1, // [7:7] 208*5113495bSYour Name fec_type : 1, // [6:6] 209*5113495bSYour Name packet_extension : 3, // [5:3] 210*5113495bSYour Name packet_extension_pe_disambiguity : 1, // [2:2] 211*5113495bSYour Name packet_extension_a_factor : 2; // [1:0] 212*5113495bSYour Name uint32_t tx_pwr_unshared : 8, // [31:24] 213*5113495bSYour Name tx_pwr_shared : 8, // [23:16] 214*5113495bSYour Name reserved_18b : 1, // [15:15] 215*5113495bSYour Name force_extra_symbol : 1, // [14:14] 216*5113495bSYour Name ldpc_extra_symbol : 1, // [13:13] 217*5113495bSYour Name dcm : 1, // [12:12] 218*5113495bSYour Name reserved_18a : 5, // [11:7] 219*5113495bSYour Name cp_setting : 2, // [6:5] 220*5113495bSYour Name ltf_size : 2, // [4:3] 221*5113495bSYour Name num_ltf_symbols : 3; // [2:0] 222*5113495bSYour Name uint32_t cv_corr_status : 8, // [31:24] 223*5113495bSYour Name reserved_20a : 6, // [23:18] 224*5113495bSYour Name ranging_ftm_frame_sent : 1, // [17:17] 225*5113495bSYour Name ranging_sent_dummy_tx : 1, // [16:16] 226*5113495bSYour Name ranging_active_user_map : 16; // [15:0] 227*5113495bSYour Name uint32_t reserved_21a : 16, // [31:16] 228*5113495bSYour Name current_tx_duration : 16; // [15:0] 229*5113495bSYour Name #endif 230*5113495bSYour Name }; 231*5113495bSYour Name 232*5113495bSYour Name 233*5113495bSYour Name /* Description PROT_COEX_BT_TX_WHILE_WLAN_TX 234*5113495bSYour Name 235*5113495bSYour Name When set, a BT tx coex event started while wlan was in the 236*5113495bSYour Name middle of TX a transmission. 237*5113495bSYour Name 238*5113495bSYour Name Field set when coex_status_broadcast TLV received with bt 239*5113495bSYour Name tx activity set and during WLAN tx 240*5113495bSYour Name <legal all> 241*5113495bSYour Name */ 242*5113495bSYour Name 243*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000 244*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_LSB 0 245*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_MSB 0 246*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_TX_MASK 0x0000000000000001 247*5113495bSYour Name 248*5113495bSYour Name 249*5113495bSYour Name /* Description PROT_COEX_BT_TX_WHILE_WLAN_RX 250*5113495bSYour Name 251*5113495bSYour Name When set, a BT tx coex event started while wlan was in the 252*5113495bSYour Name middle of TX a transmission. 253*5113495bSYour Name 254*5113495bSYour Name Field set when coex broadcast TLV received with bt tx activity 255*5113495bSYour Name set and during WLAN rx 256*5113495bSYour Name <legal all> 257*5113495bSYour Name */ 258*5113495bSYour Name 259*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000 260*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_LSB 1 261*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_MSB 1 262*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_BT_TX_WHILE_WLAN_RX_MASK 0x0000000000000002 263*5113495bSYour Name 264*5113495bSYour Name 265*5113495bSYour Name /* Description PROT_COEX_WAN_TX_WHILE_WLAN_TX 266*5113495bSYour Name 267*5113495bSYour Name When set, a WAN tx coex event started while wlan was in 268*5113495bSYour Name the middle of TX a transmission. 269*5113495bSYour Name 270*5113495bSYour Name Field set when coex_status_broadcast TLV received with WAN 271*5113495bSYour Name tx activity set and during WLAN tx 272*5113495bSYour Name <legal all> 273*5113495bSYour Name */ 274*5113495bSYour Name 275*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000 276*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_LSB 2 277*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_MSB 2 278*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000004 279*5113495bSYour Name 280*5113495bSYour Name 281*5113495bSYour Name /* Description PROT_COEX_WAN_TX_WHILE_WLAN_RX 282*5113495bSYour Name 283*5113495bSYour Name When set, a WAN tx coex event started while wlan was in 284*5113495bSYour Name the middle of TX a transmission. 285*5113495bSYour Name 286*5113495bSYour Name Field set when coex broadcast TLV received with WAN tx activity 287*5113495bSYour Name set and during WLAN rx 288*5113495bSYour Name <legal all> 289*5113495bSYour Name */ 290*5113495bSYour Name 291*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000 292*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_LSB 3 293*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_MSB 3 294*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WAN_TX_WHILE_WLAN_RX_MASK 0x0000000000000008 295*5113495bSYour Name 296*5113495bSYour Name 297*5113495bSYour Name /* Description PROT_COEX_WLAN_TX_WHILE_WLAN_TX 298*5113495bSYour Name 299*5113495bSYour Name When set, a WLAN tx coex event started while wlan was in 300*5113495bSYour Name the middle of TX a transmission. 301*5113495bSYour Name 302*5113495bSYour Name Field set when coex_status_broadcast TLV received with WLAN 303*5113495bSYour Name tx activity set and during WLAN tx 304*5113495bSYour Name <legal all> 305*5113495bSYour Name */ 306*5113495bSYour Name 307*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000 308*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_LSB 4 309*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_MSB 4 310*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000010 311*5113495bSYour Name 312*5113495bSYour Name 313*5113495bSYour Name /* Description PROT_COEX_WLAN_TX_WHILE_WLAN_RX 314*5113495bSYour Name 315*5113495bSYour Name When set, a WLAN tx coex event started while wlan was in 316*5113495bSYour Name the middle of TX a transmission. 317*5113495bSYour Name 318*5113495bSYour Name Field set when coex broadcast TLV received with WLAN tx 319*5113495bSYour Name activity set and during WLAN rx 320*5113495bSYour Name <legal all> 321*5113495bSYour Name */ 322*5113495bSYour Name 323*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000 324*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_LSB 5 325*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_MSB 5 326*5113495bSYour Name #define TX_FES_STATUS_END_PROT_COEX_WLAN_TX_WHILE_WLAN_RX_MASK 0x0000000000000020 327*5113495bSYour Name 328*5113495bSYour Name 329*5113495bSYour Name /* Description COEX_BT_TX_WHILE_WLAN_TX 330*5113495bSYour Name 331*5113495bSYour Name When set, a BT tx coex event started while wlan was in the 332*5113495bSYour Name middle of TX a transmission. 333*5113495bSYour Name 334*5113495bSYour Name Field set when coex_status_broadcast TLV received with bt 335*5113495bSYour Name tx activity set and during WLAN tx 336*5113495bSYour Name <legal all> 337*5113495bSYour Name */ 338*5113495bSYour Name 339*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000 340*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_LSB 6 341*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_MSB 6 342*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_TX_MASK 0x0000000000000040 343*5113495bSYour Name 344*5113495bSYour Name 345*5113495bSYour Name /* Description COEX_BT_TX_WHILE_WLAN_RX 346*5113495bSYour Name 347*5113495bSYour Name When set, a BT tx coex event started while wlan was in the 348*5113495bSYour Name middle of TX a transmission. 349*5113495bSYour Name 350*5113495bSYour Name Field set when coex broadcast TLV received with bt tx activity 351*5113495bSYour Name set and during WLAN rx 352*5113495bSYour Name <legal all> 353*5113495bSYour Name */ 354*5113495bSYour Name 355*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000 356*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_LSB 7 357*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_MSB 7 358*5113495bSYour Name #define TX_FES_STATUS_END_COEX_BT_TX_WHILE_WLAN_RX_MASK 0x0000000000000080 359*5113495bSYour Name 360*5113495bSYour Name 361*5113495bSYour Name /* Description COEX_WAN_TX_WHILE_WLAN_TX 362*5113495bSYour Name 363*5113495bSYour Name When set, a WAN tx coex event started while wlan was in 364*5113495bSYour Name the middle of TX a transmission. 365*5113495bSYour Name 366*5113495bSYour Name Field set when coex_status_broadcast TLV received with WAN 367*5113495bSYour Name tx activity set and during WLAN tx 368*5113495bSYour Name <legal all> 369*5113495bSYour Name */ 370*5113495bSYour Name 371*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000 372*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_LSB 8 373*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_MSB 8 374*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000100 375*5113495bSYour Name 376*5113495bSYour Name 377*5113495bSYour Name /* Description COEX_WAN_TX_WHILE_WLAN_RX 378*5113495bSYour Name 379*5113495bSYour Name When set, a WAN tx coex event started while wlan was in 380*5113495bSYour Name the middle of TX a transmission. 381*5113495bSYour Name 382*5113495bSYour Name Field set when coex broadcast TLV received with WAN tx activity 383*5113495bSYour Name set and during WLAN rx 384*5113495bSYour Name <legal all> 385*5113495bSYour Name */ 386*5113495bSYour Name 387*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000 388*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_LSB 9 389*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_MSB 9 390*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WAN_TX_WHILE_WLAN_RX_MASK 0x0000000000000200 391*5113495bSYour Name 392*5113495bSYour Name 393*5113495bSYour Name /* Description COEX_WLAN_TX_WHILE_WLAN_TX 394*5113495bSYour Name 395*5113495bSYour Name When set, a WLAN tx coex event started while wlan was in 396*5113495bSYour Name the middle of TX a transmission. 397*5113495bSYour Name 398*5113495bSYour Name Field set when coex_status_broadcast TLV received with WLAN 399*5113495bSYour Name tx activity set and during WLAN tx 400*5113495bSYour Name <legal all> 401*5113495bSYour Name */ 402*5113495bSYour Name 403*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_OFFSET 0x0000000000000000 404*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_LSB 10 405*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_MSB 10 406*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_TX_MASK 0x0000000000000400 407*5113495bSYour Name 408*5113495bSYour Name 409*5113495bSYour Name /* Description COEX_WLAN_TX_WHILE_WLAN_RX 410*5113495bSYour Name 411*5113495bSYour Name When set, a WLAN tx coex event started while wlan was in 412*5113495bSYour Name the middle of TX a transmission. 413*5113495bSYour Name 414*5113495bSYour Name Field set when coex broadcast TLV received with WLAN tx 415*5113495bSYour Name activity set and during WLAN rx 416*5113495bSYour Name <legal all> 417*5113495bSYour Name */ 418*5113495bSYour Name 419*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_OFFSET 0x0000000000000000 420*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_LSB 11 421*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_MSB 11 422*5113495bSYour Name #define TX_FES_STATUS_END_COEX_WLAN_TX_WHILE_WLAN_RX_MASK 0x0000000000000800 423*5113495bSYour Name 424*5113495bSYour Name 425*5113495bSYour Name /* Description GLOBAL_DATA_UNDERFLOW_WARNING 426*5113495bSYour Name 427*5113495bSYour Name Consumer: SCH/SW 428*5113495bSYour Name Producer: TXPCU 429*5113495bSYour Name 430*5113495bSYour Name When set, during transmission a data underflow occurred 431*5113495bSYour Name for one or more users.<legal all> 432*5113495bSYour Name */ 433*5113495bSYour Name 434*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_OFFSET 0x0000000000000000 435*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_LSB 12 436*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_MSB 12 437*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_DATA_UNDERFLOW_WARNING_MASK 0x0000000000001000 438*5113495bSYour Name 439*5113495bSYour Name 440*5113495bSYour Name /* Description GLOBAL_FES_TRANSMIT_RESULT 441*5113495bSYour Name 442*5113495bSYour Name Consumer: SCH/SW 443*5113495bSYour Name Producer: TXPCU 444*5113495bSYour Name 445*5113495bSYour Name Global Transmit result, not per USER transmit result 446*5113495bSYour Name 447*5113495bSYour Name Note: field "Response_type" indicates if the expected response 448*5113495bSYour Name was MU related or not. 449*5113495bSYour Name 450*5113495bSYour Name <enum 0 tx_ok> Successful transmission of entire Frame exchange 451*5113495bSYour Name sequence 452*5113495bSYour Name <enum 1 prot_resp_rx_timeout> 453*5113495bSYour Name No Protection response frame received so timeout is triggered. 454*5113495bSYour Name 455*5113495bSYour Name <enum 2 ppdu_resp_rx_timeout> No PPDU response frame received 456*5113495bSYour Name so timeout is triggered. 457*5113495bSYour Name <enum 3 resp_frame_crc_err> Response frame was received 458*5113495bSYour Name with an invalid FCS. 459*5113495bSYour Name <enum 4 SU_Response_type_mismatch> Response frame is received 460*5113495bSYour Name without CRC error but it's not matched with expected SU_Response_type. 461*5113495bSYour Name 462*5113495bSYour Name <enum 5 cbf_mimo_ctrl_mismatch> Set if CBF is received without 463*5113495bSYour Name any error but the Nr, Nc, BW, type or token in VHT MIMO 464*5113495bSYour Name control field is not matched with expected values which 465*5113495bSYour Name are specified by TX_FES_SETUP.cbf_* fields. 466*5113495bSYour Name <enum 7 MU_Response_type_mismatch> Response frame is received 467*5113495bSYour Name without CRC error but it's not matched with expected SU_Response_type. 468*5113495bSYour Name 469*5113495bSYour Name <enum 8 MU_Response_mpdu_not_valid> For this user, no MPDU 470*5113495bSYour Name was received at all, or all received MPDUs had an FCS error. 471*5113495bSYour Name 472*5113495bSYour Name <enum 9 MU_UL_not_enough_user_response> An MU UL response 473*5113495bSYour Name reception was expected. That response came but the threshold 474*5113495bSYour Name for number of successful user receptions was not met. 475*5113495bSYour Name NOTE: This e-num will only be used in the TX_FES_STATUS_END 476*5113495bSYour Name TLV... 477*5113495bSYour Name <enum 10 Transmit_data_null_ratio_not_met> transmission 478*5113495bSYour Name was successful and proper responses have been received. 479*5113495bSYour Name But the required ratio between useful MPDU data and null 480*5113495bSYour Name delimiters was not met as specified by field : Fes_continuation_ratio_threshold. 481*5113495bSYour Name The FES (and potentially the SIFS burst) shall be terminated 482*5113495bSYour Name by the SCHeduler 483*5113495bSYour Name NOTE 1: This e-num will only be used in the TX_FES_STATUS_END 484*5113495bSYour Name TLV... 485*5113495bSYour Name 486*5113495bSYour Name <enum 6 TB_ranging_resp_timeout> A TB ranging response was 487*5113495bSYour Name expected for a sounding TF, but the response did not arrive 488*5113495bSYour Name and timeout is triggered. 489*5113495bSYour Name NOTE: This e-num will only be used in the TX_FES_STATUS_END 490*5113495bSYour Name TLV... 491*5113495bSYour Name <enum 11 tb_ranging_resp_mismatch> A TB ranging response 492*5113495bSYour Name was expected for a sounding TF, but the reception did not 493*5113495bSYour Name match the expected response. 494*5113495bSYour Name NOTE: This e-num will only be used in the TX_FES_STATUS_END 495*5113495bSYour Name TLV... 496*5113495bSYour Name 497*5113495bSYour Name <legal 0-11> 498*5113495bSYour Name */ 499*5113495bSYour Name 500*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_OFFSET 0x0000000000000000 501*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_LSB 13 502*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_MSB 16 503*5113495bSYour Name #define TX_FES_STATUS_END_GLOBAL_FES_TRANSMIT_RESULT_MASK 0x000000000001e000 504*5113495bSYour Name 505*5113495bSYour Name 506*5113495bSYour Name /* Description CBF_BW_RECEIVED_VALID 507*5113495bSYour Name 508*5113495bSYour Name Field only valid in case of SU reception. 509*5113495bSYour Name In MU set to 0 510*5113495bSYour Name 511*5113495bSYour Name When set, the cbf_bw_received field contains valid info 512*5113495bSYour Name */ 513*5113495bSYour Name 514*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_OFFSET 0x0000000000000000 515*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_LSB 17 516*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_MSB 17 517*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_VALID_MASK 0x0000000000020000 518*5113495bSYour Name 519*5113495bSYour Name 520*5113495bSYour Name /* Description CBF_BW_RECEIVED 521*5113495bSYour Name 522*5113495bSYour Name Field only valid when cbf_bw_received_valid is set. 523*5113495bSYour Name 524*5113495bSYour Name In MU set to 0 525*5113495bSYour Name 526*5113495bSYour Name <enum 0 20_mhz>20 Mhz BW 527*5113495bSYour Name <enum 1 40_mhz>40 Mhz BW 528*5113495bSYour Name <enum 2 80_mhz>80 Mhz BW 529*5113495bSYour Name <enum 3 160_mhz>160 Mhz BW 530*5113495bSYour Name <enum 4 320_mhz>320 Mhz BW 531*5113495bSYour Name <enum 5 240_mhz>240 Mhz BW 532*5113495bSYour Name */ 533*5113495bSYour Name 534*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_OFFSET 0x0000000000000000 535*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_LSB 18 536*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_MSB 20 537*5113495bSYour Name #define TX_FES_STATUS_END_CBF_BW_RECEIVED_MASK 0x00000000001c0000 538*5113495bSYour Name 539*5113495bSYour Name 540*5113495bSYour Name /* Description ACTUAL_RECEIVED_ACK_TYPE 541*5113495bSYour Name 542*5113495bSYour Name Field only valid in case of SU reception. 543*5113495bSYour Name In MU set to 0 544*5113495bSYour Name 545*5113495bSYour Name 546*5113495bSYour Name Field indicates what type of ACK was received. Can help 547*5113495bSYour Name determine if unexpected ACK Types (like 256 BA instead of 548*5113495bSYour Name 64 BA) is received. 549*5113495bSYour Name 550*5113495bSYour Name <enum 0 Ack_not_applicable> No ACK type response was received 551*5113495bSYour Name or expected 552*5113495bSYour Name <enum 1 ACK_basic_received > a basic ACk frame is received 553*5113495bSYour Name 554*5113495bSYour Name <enum 2 ACK_BA_0 > An ACK embedded in BA frame is received 555*5113495bSYour Name 556*5113495bSYour Name <enum 3 ACK_BA_32_received > a 32 bit BA has been received 557*5113495bSYour Name 558*5113495bSYour Name <enum 4 ACK_BA_64_received > a 64 bit BA has been received 559*5113495bSYour Name 560*5113495bSYour Name <enum 5 ACK_BA_128_received > a 128 bit BA has been received 561*5113495bSYour Name 562*5113495bSYour Name 563*5113495bSYour Name <enum 6 ACK_BA_256_received > a 256 bit BA has been received 564*5113495bSYour Name 565*5113495bSYour Name <enum 8 ACK_BA_512_received> a 512-bit BA has been received 566*5113495bSYour Name 567*5113495bSYour Name <enum 9 ACK_BA_1024_received> a 1024-bit BA has been received 568*5113495bSYour Name 569*5113495bSYour Name <enum 7 ACK_BA_multiple_received > multiple BA responses 570*5113495bSYour Name have been received. This field to be used in scenarios 571*5113495bSYour Name where multi TID data was send or data with management frames 572*5113495bSYour Name was send 573*5113495bSYour Name 574*5113495bSYour Name <legal 0-9> 575*5113495bSYour Name */ 576*5113495bSYour Name 577*5113495bSYour Name #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_OFFSET 0x0000000000000000 578*5113495bSYour Name #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_LSB 21 579*5113495bSYour Name #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_MSB 24 580*5113495bSYour Name #define TX_FES_STATUS_END_ACTUAL_RECEIVED_ACK_TYPE_MASK 0x0000000001e00000 581*5113495bSYour Name 582*5113495bSYour Name 583*5113495bSYour Name /* Description STA_RESPONSE_COUNT 584*5113495bSYour Name 585*5113495bSYour Name In of case of a transmission where a response from multiple 586*5113495bSYour Name STAs in SIFS time is expected, this field indicates how 587*5113495bSYour Name many STAs actually send a response. 588*5113495bSYour Name 589*5113495bSYour Name <legal 0-63> 590*5113495bSYour Name */ 591*5113495bSYour Name 592*5113495bSYour Name #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_OFFSET 0x0000000000000000 593*5113495bSYour Name #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_LSB 25 594*5113495bSYour Name #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_MSB 30 595*5113495bSYour Name #define TX_FES_STATUS_END_STA_RESPONSE_COUNT_MASK 0x000000007e000000 596*5113495bSYour Name 597*5113495bSYour Name 598*5113495bSYour Name /* Description DPDTRAIN_DONE 599*5113495bSYour Name 600*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 601*5113495bSYour Name 602*5113495bSYour Name For DPD Training packets, this bit is set to indicate that 603*5113495bSYour Name DPD Training was successfully run to completion. Also 604*5113495bSYour Name reused by Implicit BF Calibration Packets. This bit is intended 605*5113495bSYour Name for debug purposes. 606*5113495bSYour Name <legal all> 607*5113495bSYour Name */ 608*5113495bSYour Name 609*5113495bSYour Name #define TX_FES_STATUS_END_DPDTRAIN_DONE_OFFSET 0x0000000000000000 610*5113495bSYour Name #define TX_FES_STATUS_END_DPDTRAIN_DONE_LSB 31 611*5113495bSYour Name #define TX_FES_STATUS_END_DPDTRAIN_DONE_MSB 31 612*5113495bSYour Name #define TX_FES_STATUS_END_DPDTRAIN_DONE_MASK 0x0000000080000000 613*5113495bSYour Name 614*5113495bSYour Name 615*5113495bSYour Name /* Description PHYTX_ABORT_REQUEST_INFO_DETAILS 616*5113495bSYour Name 617*5113495bSYour Name Field only valid when PHYTX_ABORT_REQUEST_info_valid is 618*5113495bSYour Name set 619*5113495bSYour Name 620*5113495bSYour Name The reason why PHYTX is requested an abort 621*5113495bSYour Name */ 622*5113495bSYour Name 623*5113495bSYour Name 624*5113495bSYour Name /* Description PHYTX_ABORT_REASON 625*5113495bSYour Name 626*5113495bSYour Name Reason for early termination of TX packet by the PHY 627*5113495bSYour Name 628*5113495bSYour Name <enum_type PHYTX_ABORT_ENUM> 629*5113495bSYour Name */ 630*5113495bSYour Name 631*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_OFFSET 0x0000000000000000 632*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_LSB 32 633*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MSB 39 634*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_PHYTX_ABORT_REASON_MASK 0x000000ff00000000 635*5113495bSYour Name 636*5113495bSYour Name 637*5113495bSYour Name /* Description USER_NUMBER 638*5113495bSYour Name 639*5113495bSYour Name For some errors, the user for which this error was detected 640*5113495bSYour Name can be indicated in this field. 641*5113495bSYour Name <legal 0-36> 642*5113495bSYour Name */ 643*5113495bSYour Name 644*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_OFFSET 0x0000000000000000 645*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_LSB 40 646*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MSB 45 647*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_USER_NUMBER_MASK 0x00003f0000000000 648*5113495bSYour Name 649*5113495bSYour Name 650*5113495bSYour Name /* Description RESERVED 651*5113495bSYour Name 652*5113495bSYour Name <legal 0> 653*5113495bSYour Name */ 654*5113495bSYour Name 655*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_OFFSET 0x0000000000000000 656*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_LSB 46 657*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MSB 47 658*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_DETAILS_RESERVED_MASK 0x0000c00000000000 659*5113495bSYour Name 660*5113495bSYour Name 661*5113495bSYour Name /* Description RESERVED_AFTER_STRUCT16 662*5113495bSYour Name 663*5113495bSYour Name <legal 0> 664*5113495bSYour Name */ 665*5113495bSYour Name 666*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_OFFSET 0x0000000000000000 667*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_LSB 48 668*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_MSB 51 669*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_AFTER_STRUCT16_MASK 0x000f000000000000 670*5113495bSYour Name 671*5113495bSYour Name 672*5113495bSYour Name /* Description BRP_INFO_VALID 673*5113495bSYour Name 674*5113495bSYour Name When set, TXPCU sent CBF segments. 675*5113495bSYour Name 676*5113495bSYour Name Fields cbf_segment_request_mask and cbf_segment_sent_mask 677*5113495bSYour Name contain valid info. 678*5113495bSYour Name 679*5113495bSYour Name <legal all> 680*5113495bSYour Name */ 681*5113495bSYour Name 682*5113495bSYour Name #define TX_FES_STATUS_END_BRP_INFO_VALID_OFFSET 0x0000000000000000 683*5113495bSYour Name #define TX_FES_STATUS_END_BRP_INFO_VALID_LSB 52 684*5113495bSYour Name #define TX_FES_STATUS_END_BRP_INFO_VALID_MSB 52 685*5113495bSYour Name #define TX_FES_STATUS_END_BRP_INFO_VALID_MASK 0x0010000000000000 686*5113495bSYour Name 687*5113495bSYour Name 688*5113495bSYour Name /* Description RESERVED_1A 689*5113495bSYour Name 690*5113495bSYour Name <legal 0> 691*5113495bSYour Name */ 692*5113495bSYour Name 693*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_1A_OFFSET 0x0000000000000000 694*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_1A_LSB 53 695*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_1A_MSB 58 696*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_1A_MASK 0x07e0000000000000 697*5113495bSYour Name 698*5113495bSYour Name 699*5113495bSYour Name /* Description PHYTX_PKT_END_INFO_VALID 700*5113495bSYour Name 701*5113495bSYour Name All the fields originating from PHYTX_PKT_END TLV contain 702*5113495bSYour Name valid info 703*5113495bSYour Name */ 704*5113495bSYour Name 705*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_OFFSET 0x0000000000000000 706*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_LSB 59 707*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_MSB 59 708*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_PKT_END_INFO_VALID_MASK 0x0800000000000000 709*5113495bSYour Name 710*5113495bSYour Name 711*5113495bSYour Name /* Description PHYTX_ABORT_REQUEST_INFO_VALID 712*5113495bSYour Name 713*5113495bSYour Name Field Phytx_abort_request_info_details contains valid info 714*5113495bSYour Name 715*5113495bSYour Name */ 716*5113495bSYour Name 717*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_OFFSET 0x0000000000000000 718*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_LSB 60 719*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_MSB 60 720*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_ABORT_REQUEST_INFO_VALID_MASK 0x1000000000000000 721*5113495bSYour Name 722*5113495bSYour Name 723*5113495bSYour Name /* Description FES_IN_11AX_TRIGGER_RESPONSE_CONFIG 724*5113495bSYour Name 725*5113495bSYour Name When set, this transmission was the result of responding 726*5113495bSYour Name to the reception of an 11ax trigger. This is a copy of 727*5113495bSYour Name field Fes_in_11ax_Trigger_response_config in the TX_FES_SETUP 728*5113495bSYour Name TLV. 729*5113495bSYour Name <legal all> 730*5113495bSYour Name */ 731*5113495bSYour Name 732*5113495bSYour Name #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_OFFSET 0x0000000000000000 733*5113495bSYour Name #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_LSB 61 734*5113495bSYour Name #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_MSB 61 735*5113495bSYour Name #define TX_FES_STATUS_END_FES_IN_11AX_TRIGGER_RESPONSE_CONFIG_MASK 0x2000000000000000 736*5113495bSYour Name 737*5113495bSYour Name 738*5113495bSYour Name /* Description NULL_DELIM_INSERTED_BEFORE_MPDUS 739*5113495bSYour Name 740*5113495bSYour Name Field only valid when "Fes_in_11ax_Trigger_response_config" 741*5113495bSYour Name is set. 742*5113495bSYour Name 743*5113495bSYour Name This bit will get set if any NULL delimiter is sent out 744*5113495bSYour Name to PHY, during the whole transmit duration(self_gen + FES). 745*5113495bSYour Name 746*5113495bSYour Name This bit will NOT be set, if no MPDU data is sent out to 747*5113495bSYour Name PHY and whole transmit duration is filled with NULL delimiters. 748*5113495bSYour Name 749*5113495bSYour Name 750*5113495bSYour Name Note that SCH does not evaluate this field. It is only for 751*5113495bSYour Name SW to look at. 752*5113495bSYour Name 753*5113495bSYour Name <legal all> 754*5113495bSYour Name */ 755*5113495bSYour Name 756*5113495bSYour Name #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_OFFSET 0x0000000000000000 757*5113495bSYour Name #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_LSB 62 758*5113495bSYour Name #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_MSB 62 759*5113495bSYour Name #define TX_FES_STATUS_END_NULL_DELIM_INSERTED_BEFORE_MPDUS_MASK 0x4000000000000000 760*5113495bSYour Name 761*5113495bSYour Name 762*5113495bSYour Name /* Description ONLY_NULL_DELIM_SENT 763*5113495bSYour Name 764*5113495bSYour Name Field only valid when "Fes_in_11ax_Trigger_response_config" 765*5113495bSYour Name is set. 766*5113495bSYour Name 767*5113495bSYour Name This bit will be set if only NULL delimiters are sent to 768*5113495bSYour Name the PHY and no SCH sourced MPDU data is sent out. 769*5113495bSYour Name NOTE here that self-gen MPDU data will not be considered 770*5113495bSYour Name while evaluating this bit. 771*5113495bSYour Name 772*5113495bSYour Name Note that SCH does not evaluate this field. It is only for 773*5113495bSYour Name SW to look at. 774*5113495bSYour Name 775*5113495bSYour Name <legal all> 776*5113495bSYour Name */ 777*5113495bSYour Name 778*5113495bSYour Name #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_OFFSET 0x0000000000000000 779*5113495bSYour Name #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_LSB 63 780*5113495bSYour Name #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_MSB 63 781*5113495bSYour Name #define TX_FES_STATUS_END_ONLY_NULL_DELIM_SENT_MASK 0x8000000000000000 782*5113495bSYour Name 783*5113495bSYour Name 784*5113495bSYour Name /* Description START_OF_FRAME_TIMESTAMP_15_0 785*5113495bSYour Name 786*5113495bSYour Name PHYTX_PKT_END info 787*5113495bSYour Name 788*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 789*5113495bSYour Name 790*5113495bSYour Name bits 15:0 of a 64 bit time stamp 791*5113495bSYour Name Start of frame in the medium @960 MHz 792*5113495bSYour Name <legal all> 793*5113495bSYour Name */ 794*5113495bSYour Name 795*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_OFFSET 0x0000000000000008 796*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_LSB 0 797*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_MSB 15 798*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_15_0_MASK 0x000000000000ffff 799*5113495bSYour Name 800*5113495bSYour Name 801*5113495bSYour Name /* Description START_OF_FRAME_TIMESTAMP_31_16 802*5113495bSYour Name 803*5113495bSYour Name PHYTX_PKT_END info 804*5113495bSYour Name 805*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 806*5113495bSYour Name 807*5113495bSYour Name bits 31:16 of a 64 bit time stamp 808*5113495bSYour Name Start of frame in the medium @960 MHz 809*5113495bSYour Name <legal all> 810*5113495bSYour Name */ 811*5113495bSYour Name 812*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_OFFSET 0x0000000000000008 813*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_LSB 16 814*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_MSB 31 815*5113495bSYour Name #define TX_FES_STATUS_END_START_OF_FRAME_TIMESTAMP_31_16_MASK 0x00000000ffff0000 816*5113495bSYour Name 817*5113495bSYour Name 818*5113495bSYour Name /* Description END_OF_FRAME_TIMESTAMP_15_0 819*5113495bSYour Name 820*5113495bSYour Name PHYTX_PKT_END info 821*5113495bSYour Name 822*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 823*5113495bSYour Name 824*5113495bSYour Name bits 15:0 of a 64 bit time stamp 825*5113495bSYour Name End of frame in the medium @960 MHz 826*5113495bSYour Name <legal all> 827*5113495bSYour Name */ 828*5113495bSYour Name 829*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_OFFSET 0x0000000000000008 830*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_LSB 32 831*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_MSB 47 832*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_15_0_MASK 0x0000ffff00000000 833*5113495bSYour Name 834*5113495bSYour Name 835*5113495bSYour Name /* Description END_OF_FRAME_TIMESTAMP_31_16 836*5113495bSYour Name 837*5113495bSYour Name PHYTX_PKT_END info 838*5113495bSYour Name 839*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 840*5113495bSYour Name 841*5113495bSYour Name bits 31:16 of a 64 bit time stamp 842*5113495bSYour Name End of frame in the medium @960 MHz 843*5113495bSYour Name <legal all> 844*5113495bSYour Name */ 845*5113495bSYour Name 846*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_OFFSET 0x0000000000000008 847*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_LSB 48 848*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_MSB 63 849*5113495bSYour Name #define TX_FES_STATUS_END_END_OF_FRAME_TIMESTAMP_31_16_MASK 0xffff000000000000 850*5113495bSYour Name 851*5113495bSYour Name 852*5113495bSYour Name /* Description TERMINATE_RANGING_SEQUENCE 853*5113495bSYour Name 854*5113495bSYour Name Consumer: SW/SCH 855*5113495bSYour Name Producer: TXPCU 856*5113495bSYour Name 857*5113495bSYour Name If set to 1, HWSCH will flush the TX pipeline and terminate 858*5113495bSYour Name the ongoing SIFS sequence for TB Ranging. 859*5113495bSYour Name 860*5113495bSYour Name TXPCU to set it only in the context of TB Ranging, when 861*5113495bSYour Name the condition to terminate the TB Ranging sequence is met 862*5113495bSYour Name 863*5113495bSYour Name 864*5113495bSYour Name <legal all> 865*5113495bSYour Name */ 866*5113495bSYour Name 867*5113495bSYour Name #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_OFFSET 0x0000000000000010 868*5113495bSYour Name #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_LSB 0 869*5113495bSYour Name #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_MSB 0 870*5113495bSYour Name #define TX_FES_STATUS_END_TERMINATE_RANGING_SEQUENCE_MASK 0x0000000000000001 871*5113495bSYour Name 872*5113495bSYour Name 873*5113495bSYour Name /* Description RESERVED_4A 874*5113495bSYour Name 875*5113495bSYour Name <legal 0> 876*5113495bSYour Name */ 877*5113495bSYour Name 878*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_4A_OFFSET 0x0000000000000010 879*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_4A_LSB 1 880*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_4A_MSB 7 881*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_4A_MASK 0x00000000000000fe 882*5113495bSYour Name 883*5113495bSYour Name 884*5113495bSYour Name /* Description TIMING_STATUS 885*5113495bSYour Name 886*5113495bSYour Name PHYTX_PKT_END info 887*5113495bSYour Name 888*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 889*5113495bSYour Name 890*5113495bSYour Name <enum 0 No_tx_timing_request> The MAC did not request for 891*5113495bSYour Name the transmission to start at a particular time 892*5113495bSYour Name <enum 1 successful_tx_timing > MAC did request for transmission 893*5113495bSYour Name to start at a particular time and PHY was able to do so. 894*5113495bSYour Name 895*5113495bSYour Name <enum 2 tx_timing_not_honoured> PHY was not able to honour 896*5113495bSYour Name the requested transmit time by the MAC. The transmission 897*5113495bSYour Name started later, and field transmit_delay indicates how much 898*5113495bSYour Name later. 899*5113495bSYour Name <legal 0-2> 900*5113495bSYour Name */ 901*5113495bSYour Name 902*5113495bSYour Name #define TX_FES_STATUS_END_TIMING_STATUS_OFFSET 0x0000000000000010 903*5113495bSYour Name #define TX_FES_STATUS_END_TIMING_STATUS_LSB 8 904*5113495bSYour Name #define TX_FES_STATUS_END_TIMING_STATUS_MSB 9 905*5113495bSYour Name #define TX_FES_STATUS_END_TIMING_STATUS_MASK 0x0000000000000300 906*5113495bSYour Name 907*5113495bSYour Name 908*5113495bSYour Name /* Description RESPONSE_TYPE 909*5113495bSYour Name 910*5113495bSYour Name The response type that TXPCU was checking for 911*5113495bSYour Name 912*5113495bSYour Name <enum 0 no_response_expected>After transmission of this 913*5113495bSYour Name frame, no response in SIFS time is expected 914*5113495bSYour Name 915*5113495bSYour Name When TXPCU sees this setting, it shall not generated the 916*5113495bSYour Name EXPECTED_RESPONSE TLV. 917*5113495bSYour Name 918*5113495bSYour Name RXPCU should never see this setting 919*5113495bSYour Name <enum 1 ack_expected>An ACK frame is expected as response 920*5113495bSYour Name 921*5113495bSYour Name 922*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 923*5113495bSYour Name that the right response was received. 924*5113495bSYour Name <enum 2 ba_64_bitmap_expected>BA with 64 bitmap is expected. 925*5113495bSYour Name 926*5113495bSYour Name 927*5113495bSYour Name PDG DOES NOT use the size info to calculated response duration. 928*5113495bSYour Name The length of the response will have to be programmed by 929*5113495bSYour Name SW in the per-BW 'Expected_ppdu_resp_length' field. 930*5113495bSYour Name 931*5113495bSYour Name For TXPCU only the fact that it is a BA is important. Actual 932*5113495bSYour Name received BA size is not important 933*5113495bSYour Name 934*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 935*5113495bSYour Name that the right response was received. 936*5113495bSYour Name <enum 3 ba_256_expected>BA with 256 bitmap is expected. 937*5113495bSYour Name 938*5113495bSYour Name PDG DOES NOT use the size info to calculated response duration. 939*5113495bSYour Name The length of the response will have to be programmed by 940*5113495bSYour Name SW in the per-BW 'Expected_ppdu_resp_length' field. 941*5113495bSYour Name 942*5113495bSYour Name For TXPCU only the fact that it is a BA is important. Actual 943*5113495bSYour Name received BA size is not important 944*5113495bSYour Name 945*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 946*5113495bSYour Name that the right response was received. 947*5113495bSYour Name <enum 4 actionnoack_expected>SW sets this after sending 948*5113495bSYour Name NDP or BR-Poll. 949*5113495bSYour Name 950*5113495bSYour Name As PDG has no idea on how long the reception is going to 951*5113495bSYour Name be, the reception time of the response will have to be 952*5113495bSYour Name programmed by SW in the 'Extend_duration_value_bw...' field 953*5113495bSYour Name 954*5113495bSYour Name 955*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 956*5113495bSYour Name that the right response was received. 957*5113495bSYour Name <enum 5 ack_ba_expected>PDG uses the size info and assumes 958*5113495bSYour Name single BA format with ACK and 64 bitmap embedded. 959*5113495bSYour Name If SW expects more bitmaps in case of multi-TID, is shall 960*5113495bSYour Name program the 'Extend_duration_value_bw...' field for additional 961*5113495bSYour Name duration time. 962*5113495bSYour Name For TXPCU only the fact that an ACK and/or BA is received 963*5113495bSYour Name is important. Reception of only ACK or BA is also considered 964*5113495bSYour Name a success. 965*5113495bSYour Name SW also typically sets this when sending VHT single MPDU. 966*5113495bSYour Name Some chip vendors might send BA rather than ACK in response 967*5113495bSYour Name to VHT single MPDU but still we want to accept BA as well. 968*5113495bSYour Name 969*5113495bSYour Name 970*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 971*5113495bSYour Name that the right response was received. 972*5113495bSYour Name <enum 6 cts_expected>SW sets this after queuing RTS frame 973*5113495bSYour Name as standalone packet and sending it. 974*5113495bSYour Name 975*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 976*5113495bSYour Name that the right response was received. 977*5113495bSYour Name <enum 7 ack_data_expected>SW sets this after sending PS-Poll. 978*5113495bSYour Name 979*5113495bSYour Name 980*5113495bSYour Name For TXPCU either ACK and/or data reception is considered 981*5113495bSYour Name success. 982*5113495bSYour Name PDG basis it's response duration calculation on an ACK. 983*5113495bSYour Name For the data portion, SW shall program the 'Extend_duration_value_bw...' 984*5113495bSYour Name field 985*5113495bSYour Name <enum 8 ndp_ack_expected>Reserved for 11ah usage. 986*5113495bSYour Name <enum 9 ndp_modified_ack>Reserved for 11ah usage 987*5113495bSYour Name <enum 10 ndp_ba_expected>Reserved for 11ah usage. 988*5113495bSYour Name <enum 11 ndp_cts_expected>Reserved for 11ah usage 989*5113495bSYour Name <enum 12 ndp_ack_or_ndp_modified_ack_expected>Reserved for 990*5113495bSYour Name 11ah usage 991*5113495bSYour Name 992*5113495bSYour Name TXPCU expects UL MU OFDMA or UL MU MIMO reception. 993*5113495bSYour Name As PDG does not know how RUs are assigned for the uplink 994*5113495bSYour Name portion, PDG can not calculate the uplink duration. Therefor 995*5113495bSYour Name SW shall program the 'Extend_duration_value_bw...' field 996*5113495bSYour Name 997*5113495bSYour Name 998*5113495bSYour Name RXPCU will report any frame received, irrespective of it 999*5113495bSYour Name having been UL MU or SU It is TXPCUs responsibility to 1000*5113495bSYour Name distinguish between the UL MU or SU 1001*5113495bSYour Name 1002*5113495bSYour Name TXPCU can check in TLV RECEIVED_RESPONSE_INFO MU_Response_BA_bitmap 1003*5113495bSYour Name if indeed BA was received 1004*5113495bSYour Name 1005*5113495bSYour Name TXPCU expects UL MU OFDMA or UL MU MIMO reception. 1006*5113495bSYour Name As PDG does not know how RUs are assigned for the uplink 1007*5113495bSYour Name portion, PDG can not calculate the uplink duration. Therefor 1008*5113495bSYour Name SW shall program the 'Extend_duration_value_bw...' field 1009*5113495bSYour Name 1010*5113495bSYour Name 1011*5113495bSYour Name RXPCU will report any frame received, irrespective of it 1012*5113495bSYour Name having been UL MU or SU It is TXPCUs responsibility to 1013*5113495bSYour Name distinguish between the UL MU or SU 1014*5113495bSYour Name 1015*5113495bSYour Name TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_data_bitmap 1016*5113495bSYour Name and MU_Response_BA_bitmap if indeed BA and data was received 1017*5113495bSYour Name 1018*5113495bSYour Name When selected, CBF frames are expected to be received in 1019*5113495bSYour Name MU reception (uplink OFDMA or uplink MIMO) 1020*5113495bSYour Name 1021*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 1022*5113495bSYour Name that the right response was received 1023*5113495bSYour Name TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_cbf_bitmap 1024*5113495bSYour Name if indeed CBF frames were received. 1025*5113495bSYour Name <enum 16 ul_mu_frames_expected>When selected, MPDU frames 1026*5113495bSYour Name are expected in the MU reception (uplink OFDMA or uplink 1027*5113495bSYour Name MIMO) 1028*5113495bSYour Name 1029*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 1030*5113495bSYour Name that the right response was received 1031*5113495bSYour Name 1032*5113495bSYour Name TXPCU can check in TLV RECEIVED_RESPONSE_INFO, field MU_Response_bitmap 1033*5113495bSYour Name if indeed frames were received. 1034*5113495bSYour Name <enum 17 any_response_to_this_device>Any response expected 1035*5113495bSYour Name to be send to this device in SIFS time is acceptable. 1036*5113495bSYour Name 1037*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 1038*5113495bSYour Name that the right response was received 1039*5113495bSYour Name 1040*5113495bSYour Name For TXPCU, UL MU or SU is both acceptable. 1041*5113495bSYour Name 1042*5113495bSYour Name Can be used for complex OFDMA scenarios. PDG can not calculate 1043*5113495bSYour Name the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...' 1044*5113495bSYour Name field 1045*5113495bSYour Name <enum 18 any_response_accepted>Any frame in the medium to 1046*5113495bSYour Name this or any other device, is acceptable as response. 1047*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 1048*5113495bSYour Name that the right response was received 1049*5113495bSYour Name 1050*5113495bSYour Name For TXPCU, UL MU or SU is both acceptable. 1051*5113495bSYour Name 1052*5113495bSYour Name Can be used for complex OFDMA scenarios. PDG can not calculate 1053*5113495bSYour Name the uplink duration. Therefor SW shall program the 'Extend_duration_value_bw...' 1054*5113495bSYour Name field 1055*5113495bSYour Name <enum 19 frameless_phyrx_response_accepted>Any MU frameless 1056*5113495bSYour Name reception generated by the PHY is acceptable. 1057*5113495bSYour Name 1058*5113495bSYour Name PHY indicates this type of reception explicitly in TLV PHYRX_RSSI_LEGACY, 1059*5113495bSYour Name field Reception_type == reception_is_frameless 1060*5113495bSYour Name 1061*5113495bSYour Name RXPCU will report any frame received, irrespective of it 1062*5113495bSYour Name having been UL MU or SU. 1063*5113495bSYour Name 1064*5113495bSYour Name This can be used for complex MU-MIMO or OFDMA scenarios, 1065*5113495bSYour Name like receiving MU-CTS. 1066*5113495bSYour Name 1067*5113495bSYour Name PDG can not calculate the uplink duration. Therefor SW shall 1068*5113495bSYour Name program the 'Extend_duration_value_bw...' field 1069*5113495bSYour Name <enum 20 ranging_ndp_and_lmr_expected>SW sets this after 1070*5113495bSYour Name sending ranging NDPA followed by NDP as an ISTA and NDP 1071*5113495bSYour Name and LMR (Action No Ack) are expected as back-to-back reception 1072*5113495bSYour Name in SIFS. 1073*5113495bSYour Name 1074*5113495bSYour Name As PDG has no idea on how long the reception is going to 1075*5113495bSYour Name be, the reception time of the response will have to be 1076*5113495bSYour Name programmed by SW in the 'Extend_duration_value_bw...' field 1077*5113495bSYour Name 1078*5113495bSYour Name 1079*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 1080*5113495bSYour Name that the right response was received. 1081*5113495bSYour Name <enum 21 ba_512_expected>BA with 512 bitmap is expected. 1082*5113495bSYour Name 1083*5113495bSYour Name 1084*5113495bSYour Name PDG DOES NOT use the size info to calculated response duration. 1085*5113495bSYour Name The length of the response will have to be programmed by 1086*5113495bSYour Name SW in the per-BW 'Expected_ppdu_resp_length' field. 1087*5113495bSYour Name 1088*5113495bSYour Name For TXPCU only the fact that it is a BA is important. Actual 1089*5113495bSYour Name received BA size is not important 1090*5113495bSYour Name 1091*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 1092*5113495bSYour Name that the right response was received. 1093*5113495bSYour Name <enum 22 ba_1024_expected>BA with 1024 bitmap is expected. 1094*5113495bSYour Name 1095*5113495bSYour Name 1096*5113495bSYour Name PDG DOES NOT use the size info to calculated response duration. 1097*5113495bSYour Name The length of the response will have to be programmed by 1098*5113495bSYour Name SW in the per-BW 'Expected_ppdu_resp_length' field. 1099*5113495bSYour Name 1100*5113495bSYour Name For TXPCU only the fact that it is a BA is important. Actual 1101*5113495bSYour Name received BA size is not important 1102*5113495bSYour Name 1103*5113495bSYour Name RXPCU is just expecting any response. It is TXPCU who checks 1104*5113495bSYour Name that the right response was received. 1105*5113495bSYour Name <enum 23 ul_mu_ranging_cts2s_expected>When selected, CTS2S 1106*5113495bSYour Name frames are expected to be received in MU reception (uplink 1107*5113495bSYour Name OFDMA) 1108*5113495bSYour Name 1109*5113495bSYour Name RXPCU shall check each response for CTS2S and report to 1110*5113495bSYour Name TXPCU. 1111*5113495bSYour Name 1112*5113495bSYour Name TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields 1113*5113495bSYour Name 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed CTS2S 1114*5113495bSYour Name frames were received. 1115*5113495bSYour Name <enum 24 ul_mu_ranging_ndp_expected>When selected, UL NDP 1116*5113495bSYour Name frames are expected to be received in MU reception (uplink 1117*5113495bSYour Name spatial multiplexing) 1118*5113495bSYour Name 1119*5113495bSYour Name RXPCU shall check each response for NDP and report to TXPCU. 1120*5113495bSYour Name 1121*5113495bSYour Name 1122*5113495bSYour Name TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields 1123*5113495bSYour Name 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed NDP 1124*5113495bSYour Name frames were received. 1125*5113495bSYour Name <enum 25 ul_mu_ranging_lmr_expected>When selected, LMR frames 1126*5113495bSYour Name are expected to be received in MU reception (uplink OFDMA 1127*5113495bSYour Name or uplink MIMO) 1128*5113495bSYour Name 1129*5113495bSYour Name RXPCU shall check each response for LMR and report to TXPCU. 1130*5113495bSYour Name 1131*5113495bSYour Name 1132*5113495bSYour Name TXPCU can check in the TLV 'RECEIVED_RESPONSE_INFO,' fields 1133*5113495bSYour Name 'MU_Response_bitmap' and 'TB_Ranging_Resp' if indeed LMR 1134*5113495bSYour Name frames were received. 1135*5113495bSYour Name */ 1136*5113495bSYour Name 1137*5113495bSYour Name #define TX_FES_STATUS_END_RESPONSE_TYPE_OFFSET 0x0000000000000010 1138*5113495bSYour Name #define TX_FES_STATUS_END_RESPONSE_TYPE_LSB 10 1139*5113495bSYour Name #define TX_FES_STATUS_END_RESPONSE_TYPE_MSB 14 1140*5113495bSYour Name #define TX_FES_STATUS_END_RESPONSE_TYPE_MASK 0x0000000000007c00 1141*5113495bSYour Name 1142*5113495bSYour Name 1143*5113495bSYour Name /* Description R2R_END_STATUS_TO_FOLLOW 1144*5113495bSYour Name 1145*5113495bSYour Name When set, TXPCU will still generate an R2R frame (typically 1146*5113495bSYour Name M-BA), and the 'R2R_STATUS_END' TLV. 1147*5113495bSYour Name <legal all> 1148*5113495bSYour Name */ 1149*5113495bSYour Name 1150*5113495bSYour Name #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_OFFSET 0x0000000000000010 1151*5113495bSYour Name #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_LSB 15 1152*5113495bSYour Name #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_MSB 15 1153*5113495bSYour Name #define TX_FES_STATUS_END_R2R_END_STATUS_TO_FOLLOW_MASK 0x0000000000008000 1154*5113495bSYour Name 1155*5113495bSYour Name 1156*5113495bSYour Name /* Description TRANSMIT_DELAY 1157*5113495bSYour Name 1158*5113495bSYour Name PHYTX_PKT_END info 1159*5113495bSYour Name 1160*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1161*5113495bSYour Name 1162*5113495bSYour Name The number of 480 MHz clock cycles that the transmission 1163*5113495bSYour Name started after the actual requested transmit start time. 1164*5113495bSYour Name 1165*5113495bSYour Name Value saturates at 0xFFFF 1166*5113495bSYour Name <legal all> 1167*5113495bSYour Name */ 1168*5113495bSYour Name 1169*5113495bSYour Name #define TX_FES_STATUS_END_TRANSMIT_DELAY_OFFSET 0x0000000000000010 1170*5113495bSYour Name #define TX_FES_STATUS_END_TRANSMIT_DELAY_LSB 16 1171*5113495bSYour Name #define TX_FES_STATUS_END_TRANSMIT_DELAY_MSB 31 1172*5113495bSYour Name #define TX_FES_STATUS_END_TRANSMIT_DELAY_MASK 0x00000000ffff0000 1173*5113495bSYour Name 1174*5113495bSYour Name 1175*5113495bSYour Name /* Description TX_GROUP_DELAY 1176*5113495bSYour Name 1177*5113495bSYour Name PHYTX_PKT_END info 1178*5113495bSYour Name 1179*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1180*5113495bSYour Name 1181*5113495bSYour Name Group delay on TxTD+PHYRF path for this PPDU (packet BW 1182*5113495bSYour Name dependent), useful for RTT 1183*5113495bSYour Name 1184*5113495bSYour Name Unit is 960MHz cycles. 1185*5113495bSYour Name <legal all> 1186*5113495bSYour Name */ 1187*5113495bSYour Name 1188*5113495bSYour Name #define TX_FES_STATUS_END_TX_GROUP_DELAY_OFFSET 0x0000000000000010 1189*5113495bSYour Name #define TX_FES_STATUS_END_TX_GROUP_DELAY_LSB 32 1190*5113495bSYour Name #define TX_FES_STATUS_END_TX_GROUP_DELAY_MSB 43 1191*5113495bSYour Name #define TX_FES_STATUS_END_TX_GROUP_DELAY_MASK 0x00000fff00000000 1192*5113495bSYour Name 1193*5113495bSYour Name 1194*5113495bSYour Name /* Description RESERVED_5A 1195*5113495bSYour Name 1196*5113495bSYour Name Bits [14:12]: service_cbw: 1197*5113495bSYour Name 1198*5113495bSYour Name Field only valid when a response was received 1199*5113495bSYour Name 1200*5113495bSYour Name Source of the info here is the 'RECEIVED_RESPONSE_INFO' 1201*5113495bSYour Name TLV 1202*5113495bSYour Name 1203*5113495bSYour Name This field reflects the BW extracted from the Serivce Field 1204*5113495bSYour Name for 11ac mode of operation . 1205*5113495bSYour Name 1206*5113495bSYour Name This field is used in the context of Dynamic BW evaluation 1207*5113495bSYour Name purposes in SCH in case of SW-queued protection frame. 1208*5113495bSYour Name 1209*5113495bSYour Name Please refer 'BW_ENUM' e-num for the values used. 1210*5113495bSYour Name <legal 0-5> 1211*5113495bSYour Name */ 1212*5113495bSYour Name 1213*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_5A_OFFSET 0x0000000000000010 1214*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_5A_LSB 44 1215*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_5A_MSB 47 1216*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_5A_MASK 0x0000f00000000000 1217*5113495bSYour Name 1218*5113495bSYour Name 1219*5113495bSYour Name /* Description TPC_DBG_INFO_CMN_15_0 1220*5113495bSYour Name 1221*5113495bSYour Name PHYTX_PKT_END info 1222*5113495bSYour Name 1223*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1224*5113495bSYour Name 1225*5113495bSYour Name Some TPC debug info that PHY can pass back to MAC FW 1226*5113495bSYour Name <legal all> 1227*5113495bSYour Name */ 1228*5113495bSYour Name 1229*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_OFFSET 0x0000000000000010 1230*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_LSB 48 1231*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_MSB 63 1232*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_15_0_MASK 0xffff000000000000 1233*5113495bSYour Name 1234*5113495bSYour Name 1235*5113495bSYour Name /* Description TPC_DBG_INFO_CMN_31_16 1236*5113495bSYour Name 1237*5113495bSYour Name PHYTX_PKT_END info 1238*5113495bSYour Name 1239*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1240*5113495bSYour Name 1241*5113495bSYour Name Some TPC debug info that PHY can pass back to MAC FW 1242*5113495bSYour Name <legal all> 1243*5113495bSYour Name */ 1244*5113495bSYour Name 1245*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_OFFSET 0x0000000000000018 1246*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_LSB 0 1247*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_MSB 15 1248*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CMN_31_16_MASK 0x000000000000ffff 1249*5113495bSYour Name 1250*5113495bSYour Name 1251*5113495bSYour Name /* Description TPC_DBG_INFO_47_32 1252*5113495bSYour Name 1253*5113495bSYour Name PHYTX_PKT_END info 1254*5113495bSYour Name 1255*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1256*5113495bSYour Name 1257*5113495bSYour Name Some TPC debu info that PHY can pass back to MAC FW 1258*5113495bSYour Name <legal all> 1259*5113495bSYour Name */ 1260*5113495bSYour Name 1261*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_OFFSET 0x0000000000000018 1262*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_LSB 16 1263*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_MSB 31 1264*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_47_32_MASK 0x00000000ffff0000 1265*5113495bSYour Name 1266*5113495bSYour Name 1267*5113495bSYour Name /* Description TPC_DBG_INFO_CHN1_15_0 1268*5113495bSYour Name 1269*5113495bSYour Name PHYTX_PKT_END info 1270*5113495bSYour Name 1271*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1272*5113495bSYour Name 1273*5113495bSYour Name Some per-chain TPC debug info for the first selected chain 1274*5113495bSYour Name that PHY can pass back to MAC FW 1275*5113495bSYour Name <legal all> 1276*5113495bSYour Name */ 1277*5113495bSYour Name 1278*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_OFFSET 0x0000000000000018 1279*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_LSB 32 1280*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_MSB 47 1281*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_15_0_MASK 0x0000ffff00000000 1282*5113495bSYour Name 1283*5113495bSYour Name 1284*5113495bSYour Name /* Description TPC_DBG_INFO_CHN1_31_16 1285*5113495bSYour Name 1286*5113495bSYour Name PHYTX_PKT_END info 1287*5113495bSYour Name 1288*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1289*5113495bSYour Name 1290*5113495bSYour Name Some per-chain TPC debug info for the first selected chain 1291*5113495bSYour Name that PHY can pass back to MAC FW 1292*5113495bSYour Name <legal all> 1293*5113495bSYour Name */ 1294*5113495bSYour Name 1295*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_OFFSET 0x0000000000000018 1296*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_LSB 48 1297*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_MSB 63 1298*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_31_16_MASK 0xffff000000000000 1299*5113495bSYour Name 1300*5113495bSYour Name 1301*5113495bSYour Name /* Description TPC_DBG_INFO_CHN1_47_32 1302*5113495bSYour Name 1303*5113495bSYour Name PHYTX_PKT_END info 1304*5113495bSYour Name 1305*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1306*5113495bSYour Name 1307*5113495bSYour Name Some per-chain TPC debug info for the first selected chain 1308*5113495bSYour Name that PHY can pass back to MAC FW 1309*5113495bSYour Name <legal all> 1310*5113495bSYour Name */ 1311*5113495bSYour Name 1312*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_OFFSET 0x0000000000000020 1313*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_LSB 0 1314*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_MSB 15 1315*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_47_32_MASK 0x000000000000ffff 1316*5113495bSYour Name 1317*5113495bSYour Name 1318*5113495bSYour Name /* Description TPC_DBG_INFO_CHN1_63_48 1319*5113495bSYour Name 1320*5113495bSYour Name PHYTX_PKT_END info 1321*5113495bSYour Name 1322*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1323*5113495bSYour Name 1324*5113495bSYour Name Some per-chain TPC debug info for the first selected chain 1325*5113495bSYour Name that PHY can pass back to MAC FW 1326*5113495bSYour Name <legal all> 1327*5113495bSYour Name */ 1328*5113495bSYour Name 1329*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_OFFSET 0x0000000000000020 1330*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_LSB 16 1331*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_MSB 31 1332*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_63_48_MASK 0x00000000ffff0000 1333*5113495bSYour Name 1334*5113495bSYour Name 1335*5113495bSYour Name /* Description TPC_DBG_INFO_CHN1_79_64 1336*5113495bSYour Name 1337*5113495bSYour Name PHYTX_PKT_END info 1338*5113495bSYour Name 1339*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1340*5113495bSYour Name 1341*5113495bSYour Name Some per-chain TPC debug info for the first selected chain 1342*5113495bSYour Name that PHY can pass back to MAC FW 1343*5113495bSYour Name <legal all> 1344*5113495bSYour Name */ 1345*5113495bSYour Name 1346*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_OFFSET 0x0000000000000020 1347*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_LSB 32 1348*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_MSB 47 1349*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN1_79_64_MASK 0x0000ffff00000000 1350*5113495bSYour Name 1351*5113495bSYour Name 1352*5113495bSYour Name /* Description TPC_DBG_INFO_CHN2_15_0 1353*5113495bSYour Name 1354*5113495bSYour Name PHYTX_PKT_END info 1355*5113495bSYour Name 1356*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1357*5113495bSYour Name 1358*5113495bSYour Name Some per-chain TPC debug info for the second selected chain 1359*5113495bSYour Name that PHY can pass back to MAC FW 1360*5113495bSYour Name <legal all> 1361*5113495bSYour Name */ 1362*5113495bSYour Name 1363*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_OFFSET 0x0000000000000020 1364*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_LSB 48 1365*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_MSB 63 1366*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_15_0_MASK 0xffff000000000000 1367*5113495bSYour Name 1368*5113495bSYour Name 1369*5113495bSYour Name /* Description TPC_DBG_INFO_CHN2_31_16 1370*5113495bSYour Name 1371*5113495bSYour Name PHYTX_PKT_END info 1372*5113495bSYour Name 1373*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1374*5113495bSYour Name 1375*5113495bSYour Name Some per-chain TPC debug info for the second selected chain 1376*5113495bSYour Name that PHY can pass back to MAC FW 1377*5113495bSYour Name <legal all> 1378*5113495bSYour Name */ 1379*5113495bSYour Name 1380*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_OFFSET 0x0000000000000028 1381*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_LSB 0 1382*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_MSB 15 1383*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_31_16_MASK 0x000000000000ffff 1384*5113495bSYour Name 1385*5113495bSYour Name 1386*5113495bSYour Name /* Description TPC_DBG_INFO_CHN2_47_32 1387*5113495bSYour Name 1388*5113495bSYour Name PHYTX_PKT_END info 1389*5113495bSYour Name 1390*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1391*5113495bSYour Name 1392*5113495bSYour Name Some per-chain TPC debug info for the second selected chain 1393*5113495bSYour Name that PHY can pass back to MAC FW 1394*5113495bSYour Name <legal all> 1395*5113495bSYour Name */ 1396*5113495bSYour Name 1397*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_OFFSET 0x0000000000000028 1398*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_LSB 16 1399*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_MSB 31 1400*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_47_32_MASK 0x00000000ffff0000 1401*5113495bSYour Name 1402*5113495bSYour Name 1403*5113495bSYour Name /* Description TPC_DBG_INFO_CHN2_63_48 1404*5113495bSYour Name 1405*5113495bSYour Name PHYTX_PKT_END info 1406*5113495bSYour Name 1407*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1408*5113495bSYour Name 1409*5113495bSYour Name Some per-chain TPC debug info for the second selected chain 1410*5113495bSYour Name that PHY can pass back to MAC FW 1411*5113495bSYour Name <legal all> 1412*5113495bSYour Name */ 1413*5113495bSYour Name 1414*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_OFFSET 0x0000000000000028 1415*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_LSB 32 1416*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_MSB 47 1417*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_63_48_MASK 0x0000ffff00000000 1418*5113495bSYour Name 1419*5113495bSYour Name 1420*5113495bSYour Name /* Description TPC_DBG_INFO_CHN2_79_64 1421*5113495bSYour Name 1422*5113495bSYour Name PHYTX_PKT_END info 1423*5113495bSYour Name 1424*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1425*5113495bSYour Name 1426*5113495bSYour Name Some per-chain TPC debug info for the second selected chain 1427*5113495bSYour Name that PHY can pass back to MAC FW 1428*5113495bSYour Name <legal all> 1429*5113495bSYour Name */ 1430*5113495bSYour Name 1431*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_OFFSET 0x0000000000000028 1432*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_LSB 48 1433*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_MSB 63 1434*5113495bSYour Name #define TX_FES_STATUS_END_TPC_DBG_INFO_CHN2_79_64_MASK 0xffff000000000000 1435*5113495bSYour Name 1436*5113495bSYour Name 1437*5113495bSYour Name /* Description PHYTX_TX_END_SW_INFO_15_0 1438*5113495bSYour Name 1439*5113495bSYour Name PHYTX_PKT_END info 1440*5113495bSYour Name 1441*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1442*5113495bSYour Name 1443*5113495bSYour Name Some PHY status data that PHY microcode can pass back to 1444*5113495bSYour Name MAC FW, for any future requests, e.g. any DMA download 1445*5113495bSYour Name time 1446*5113495bSYour Name <legal all> 1447*5113495bSYour Name */ 1448*5113495bSYour Name 1449*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_OFFSET 0x0000000000000030 1450*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_LSB 0 1451*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_MSB 15 1452*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_15_0_MASK 0x000000000000ffff 1453*5113495bSYour Name 1454*5113495bSYour Name 1455*5113495bSYour Name /* Description PHYTX_TX_END_SW_INFO_31_16 1456*5113495bSYour Name 1457*5113495bSYour Name PHYTX_PKT_END info 1458*5113495bSYour Name 1459*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1460*5113495bSYour Name 1461*5113495bSYour Name Some PHY status data that PHY microcode can pass back to 1462*5113495bSYour Name MAC FW, for any future requests, e.g. any DMA download 1463*5113495bSYour Name time 1464*5113495bSYour Name <legal all> 1465*5113495bSYour Name */ 1466*5113495bSYour Name 1467*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_OFFSET 0x0000000000000030 1468*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_LSB 16 1469*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_MSB 31 1470*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_31_16_MASK 0x00000000ffff0000 1471*5113495bSYour Name 1472*5113495bSYour Name 1473*5113495bSYour Name /* Description PHYTX_TX_END_SW_INFO_47_32 1474*5113495bSYour Name 1475*5113495bSYour Name PHYTX_PKT_END info 1476*5113495bSYour Name 1477*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1478*5113495bSYour Name 1479*5113495bSYour Name Some PHY status data that PHY microcode can pass back to 1480*5113495bSYour Name MAC FW, for any future requests, e.g. any DMA download 1481*5113495bSYour Name time 1482*5113495bSYour Name <legal all> 1483*5113495bSYour Name */ 1484*5113495bSYour Name 1485*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_OFFSET 0x0000000000000030 1486*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_LSB 32 1487*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_MSB 47 1488*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_47_32_MASK 0x0000ffff00000000 1489*5113495bSYour Name 1490*5113495bSYour Name 1491*5113495bSYour Name /* Description PHYTX_TX_END_SW_INFO_63_48 1492*5113495bSYour Name 1493*5113495bSYour Name PHYTX_PKT_END info 1494*5113495bSYour Name 1495*5113495bSYour Name Field only valid when PHYTX_PKT_END_info_valid is set 1496*5113495bSYour Name 1497*5113495bSYour Name Some PHY status data that PHY microcode can pass back to 1498*5113495bSYour Name MAC FW, for any future requests, e.g. any DMA download 1499*5113495bSYour Name time 1500*5113495bSYour Name <legal all> 1501*5113495bSYour Name */ 1502*5113495bSYour Name 1503*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_OFFSET 0x0000000000000030 1504*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_LSB 48 1505*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_MSB 63 1506*5113495bSYour Name #define TX_FES_STATUS_END_PHYTX_TX_END_SW_INFO_63_48_MASK 0xffff000000000000 1507*5113495bSYour Name 1508*5113495bSYour Name 1509*5113495bSYour Name /* Description BEAMFORM_MASKED_USER_BITMAP_15_0 1510*5113495bSYour Name 1511*5113495bSYour Name Lower 16 bits of 'Beamform_masked_user_bitmap' 1512*5113495bSYour Name 1513*5113495bSYour Name PHY indicates in this field for which users it actually 1514*5113495bSYour Name did not beamform it's transmission even though this was 1515*5113495bSYour Name requested 1516*5113495bSYour Name 1517*5113495bSYour Name Bit 0: user 0, bit 1: user 1, etc. 1518*5113495bSYour Name 1519*5113495bSYour Name When 0: No beamform issue for this user 1520*5113495bSYour Name When 1: PHY could not beamform for this user, but did not 1521*5113495bSYour Name terminate the transmission 1522*5113495bSYour Name 1523*5113495bSYour Name <legal all> 1524*5113495bSYour Name */ 1525*5113495bSYour Name 1526*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_OFFSET 0x0000000000000038 1527*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_LSB 0 1528*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_MSB 15 1529*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_15_0_MASK 0x000000000000ffff 1530*5113495bSYour Name 1531*5113495bSYour Name 1532*5113495bSYour Name /* Description BEAMFORM_MASKED_USER_BITMAP_31_16 1533*5113495bSYour Name 1534*5113495bSYour Name Middle 16 bits of 'Beamform_masked_user_bitmap' 1535*5113495bSYour Name See description above. 1536*5113495bSYour Name <legal all> 1537*5113495bSYour Name */ 1538*5113495bSYour Name 1539*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_OFFSET 0x0000000000000038 1540*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_LSB 16 1541*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_MSB 31 1542*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_31_16_MASK 0x00000000ffff0000 1543*5113495bSYour Name 1544*5113495bSYour Name 1545*5113495bSYour Name /* Description CBF_SEGMENT_REQUEST_MASK 1546*5113495bSYour Name 1547*5113495bSYour Name Field only valid when brp_info_valid is set. 1548*5113495bSYour Name 1549*5113495bSYour Name Field equal to the 'Feedback Segment Retransmission Bitmap' 1550*5113495bSYour Name from the Beamform Report Poll frame OR Beamform Report Poll 1551*5113495bSYour Name Trigger frame 1552*5113495bSYour Name 1553*5113495bSYour Name Bit 0 represents segment 0 1554*5113495bSYour Name Bit 1 represents segment 1 1555*5113495bSYour Name Etc. 1556*5113495bSYour Name 1557*5113495bSYour Name 1'b1: Segment is requested 1558*5113495bSYour Name 1'b0: Segment is NOT requested 1559*5113495bSYour Name 1560*5113495bSYour Name <legal all> 1561*5113495bSYour Name */ 1562*5113495bSYour Name 1563*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_OFFSET 0x0000000000000038 1564*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_LSB 32 1565*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_MSB 39 1566*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_REQUEST_MASK_MASK 0x000000ff00000000 1567*5113495bSYour Name 1568*5113495bSYour Name 1569*5113495bSYour Name /* Description CBF_SEGMENT_SENT_MASK 1570*5113495bSYour Name 1571*5113495bSYour Name Field only valid when brp_info_valid is set. 1572*5113495bSYour Name 1573*5113495bSYour Name Bit 0 represents segment 0 1574*5113495bSYour Name Bit 1 represents segment 1 1575*5113495bSYour Name Etc. 1576*5113495bSYour Name 1577*5113495bSYour Name 1'b1: Segment is sent 1578*5113495bSYour Name 1'b0: Segment is not sent 1579*5113495bSYour Name 1580*5113495bSYour Name <legal all> 1581*5113495bSYour Name */ 1582*5113495bSYour Name 1583*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_OFFSET 0x0000000000000038 1584*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_LSB 40 1585*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_MSB 47 1586*5113495bSYour Name #define TX_FES_STATUS_END_CBF_SEGMENT_SENT_MASK_MASK 0x0000ff0000000000 1587*5113495bSYour Name 1588*5113495bSYour Name 1589*5113495bSYour Name /* Description HIGHEST_ACHIEVED_DATA_NULL_RATIO 1590*5113495bSYour Name 1591*5113495bSYour Name Highest DATA:NULL ratio achieved for the current FES 1592*5113495bSYour Name 1593*5113495bSYour Name <enum 0 No_Data_Null_ratio_requirement> There was no Data:NULL 1594*5113495bSYour Name ratio established. 1595*5113495bSYour Name <enum 1 Data_Null_ratio_16_1> Best Data:NULL ratio was 16:1. 1596*5113495bSYour Name 1597*5113495bSYour Name <enum 2 Data_Null_ratio_8_1> Best Data:NULL ratio was 8:1. 1598*5113495bSYour Name 1599*5113495bSYour Name <enum 3 Data_Null_ratio_4_1> Best Data:NULL ratio was 4:1. 1600*5113495bSYour Name 1601*5113495bSYour Name <enum 4 Data_Null_ratio_2_1> Best Data:NULL ratio was 2:1. 1602*5113495bSYour Name 1603*5113495bSYour Name <enum 5 Data_Null_ratio_1_1> Best Data:NULL ratio was 1:1. 1604*5113495bSYour Name 1605*5113495bSYour Name terminate FES. 1606*5113495bSYour Name <enum 6 Data_Null_ratio_1_2> Best Data:NULL ratio was 1:2. 1607*5113495bSYour Name 1608*5113495bSYour Name <enum 7 Data_Null_ratio_1_4> Best Data:NULL ratio was 1:4. 1609*5113495bSYour Name 1610*5113495bSYour Name <enum 8 Data_Null_ratio_1_8> Best Data:NULL ratio was 1:8. 1611*5113495bSYour Name 1612*5113495bSYour Name <enum 9 Data_Null_ratio_1_16> Best Data:NULL ratio was 1:16. 1613*5113495bSYour Name 1614*5113495bSYour Name 1615*5113495bSYour Name <legal 0-9> 1616*5113495bSYour Name */ 1617*5113495bSYour Name 1618*5113495bSYour Name #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_OFFSET 0x0000000000000038 1619*5113495bSYour Name #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_LSB 48 1620*5113495bSYour Name #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_MSB 52 1621*5113495bSYour Name #define TX_FES_STATUS_END_HIGHEST_ACHIEVED_DATA_NULL_RATIO_MASK 0x001f000000000000 1622*5113495bSYour Name 1623*5113495bSYour Name 1624*5113495bSYour Name /* Description USE_ALT_POWER_SR 1625*5113495bSYour Name 1626*5113495bSYour Name 0: Primary/default power1: Alternate power 1627*5113495bSYour Name <legal all> 1628*5113495bSYour Name */ 1629*5113495bSYour Name 1630*5113495bSYour Name #define TX_FES_STATUS_END_USE_ALT_POWER_SR_OFFSET 0x0000000000000038 1631*5113495bSYour Name #define TX_FES_STATUS_END_USE_ALT_POWER_SR_LSB 53 1632*5113495bSYour Name #define TX_FES_STATUS_END_USE_ALT_POWER_SR_MSB 53 1633*5113495bSYour Name #define TX_FES_STATUS_END_USE_ALT_POWER_SR_MASK 0x0020000000000000 1634*5113495bSYour Name 1635*5113495bSYour Name 1636*5113495bSYour Name /* Description STATIC_2_PWR_MODE_STATUS 1637*5113495bSYour Name 1638*5113495bSYour Name 0: Static 2 power mode disabled1: Static 2 power mode enabled 1639*5113495bSYour Name 1640*5113495bSYour Name <legal all> 1641*5113495bSYour Name */ 1642*5113495bSYour Name 1643*5113495bSYour Name #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_OFFSET 0x0000000000000038 1644*5113495bSYour Name #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_LSB 54 1645*5113495bSYour Name #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_MSB 54 1646*5113495bSYour Name #define TX_FES_STATUS_END_STATIC_2_PWR_MODE_STATUS_MASK 0x0040000000000000 1647*5113495bSYour Name 1648*5113495bSYour Name 1649*5113495bSYour Name /* Description OBSS_SRG_OPPORT_TRANSMIT_STATUS 1650*5113495bSYour Name 1651*5113495bSYour Name 0: Transmit based on SRG OBSS_PD opportunity initiated1: 1652*5113495bSYour Name Transmit based on non-SRG OBSS_PD opportunity initiated 1653*5113495bSYour Name <legal all> 1654*5113495bSYour Name */ 1655*5113495bSYour Name 1656*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_OFFSET 0x0000000000000038 1657*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_LSB 55 1658*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_MSB 55 1659*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_SRG_OPPORT_TRANSMIT_STATUS_MASK 0x0080000000000000 1660*5113495bSYour Name 1661*5113495bSYour Name 1662*5113495bSYour Name /* Description SRP_BASED_TRANSMIT_STATUS 1663*5113495bSYour Name 1664*5113495bSYour Name 0: non-SRP based transmit initiated1: SRP based transmit 1665*5113495bSYour Name initiated 1666*5113495bSYour Name <legal all> 1667*5113495bSYour Name */ 1668*5113495bSYour Name 1669*5113495bSYour Name #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_OFFSET 0x0000000000000038 1670*5113495bSYour Name #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_LSB 56 1671*5113495bSYour Name #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_MSB 56 1672*5113495bSYour Name #define TX_FES_STATUS_END_SRP_BASED_TRANSMIT_STATUS_MASK 0x0100000000000000 1673*5113495bSYour Name 1674*5113495bSYour Name 1675*5113495bSYour Name /* Description OBSS_PD_BASED_TRANSMIT_STATUS 1676*5113495bSYour Name 1677*5113495bSYour Name 0: non-OBSS_PD based transmit initiated1: obss_pd based 1678*5113495bSYour Name transmit initiated 1679*5113495bSYour Name <legal all> 1680*5113495bSYour Name */ 1681*5113495bSYour Name 1682*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_OFFSET 0x0000000000000038 1683*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_LSB 57 1684*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_MSB 57 1685*5113495bSYour Name #define TX_FES_STATUS_END_OBSS_PD_BASED_TRANSMIT_STATUS_MASK 0x0200000000000000 1686*5113495bSYour Name 1687*5113495bSYour Name 1688*5113495bSYour Name /* Description BEAMFORM_MASKED_USER_BITMAP_36_32 1689*5113495bSYour Name 1690*5113495bSYour Name Upper 5 bits of 'Beamform_masked_user_bitmap' 1691*5113495bSYour Name See description above. 1692*5113495bSYour Name <legal all> 1693*5113495bSYour Name */ 1694*5113495bSYour Name 1695*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_OFFSET 0x0000000000000038 1696*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_LSB 58 1697*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_MSB 62 1698*5113495bSYour Name #define TX_FES_STATUS_END_BEAMFORM_MASKED_USER_BITMAP_36_32_MASK 0x7c00000000000000 1699*5113495bSYour Name 1700*5113495bSYour Name 1701*5113495bSYour Name /* Description PDG_MPDU_READY 1702*5113495bSYour Name 1703*5113495bSYour Name Field only valid in case of SU transmissions, copied over 1704*5113495bSYour Name by TXPCU from 'PCU_PPDU_SETUP_END' 1705*5113495bSYour Name 1706*5113495bSYour Name Indicates the 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW' ready 1707*5113495bSYour Name status in PDG. 1708*5113495bSYour Name <legal all> 1709*5113495bSYour Name */ 1710*5113495bSYour Name 1711*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_READY_OFFSET 0x0000000000000038 1712*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_READY_LSB 63 1713*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_READY_MSB 63 1714*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_READY_MASK 0x8000000000000000 1715*5113495bSYour Name 1716*5113495bSYour Name 1717*5113495bSYour Name /* Description PDG_MPDU_COUNT 1718*5113495bSYour Name 1719*5113495bSYour Name Field only valid in case of SU transmissions when pdg_MPDU_ready 1720*5113495bSYour Name is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END' 1721*5113495bSYour Name 1722*5113495bSYour Name Total MPDU count from 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW' 1723*5113495bSYour Name 1724*5113495bSYour Name <legal 0-2130> 1725*5113495bSYour Name */ 1726*5113495bSYour Name 1727*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_COUNT_OFFSET 0x0000000000000040 1728*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_COUNT_LSB 0 1729*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_COUNT_MSB 15 1730*5113495bSYour Name #define TX_FES_STATUS_END_PDG_MPDU_COUNT_MASK 0x000000000000ffff 1731*5113495bSYour Name 1732*5113495bSYour Name 1733*5113495bSYour Name /* Description PDG_EST_MPDU_TX_COUNT 1734*5113495bSYour Name 1735*5113495bSYour Name Field only valid in case of SU transmissions when pdg_MPDU_ready 1736*5113495bSYour Name is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END' 1737*5113495bSYour Name 1738*5113495bSYour Name PDG estimated MPDU Tx count from 'MPDU_INFO' or 'MPDU_QUEUE_OVERVIEW' 1739*5113495bSYour Name limited by timing boundaries (HWSCH, COEX, SR, etc.) 1740*5113495bSYour Name <legal 0-1024> 1741*5113495bSYour Name */ 1742*5113495bSYour Name 1743*5113495bSYour Name #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_OFFSET 0x0000000000000040 1744*5113495bSYour Name #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_LSB 16 1745*5113495bSYour Name #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_MSB 31 1746*5113495bSYour Name #define TX_FES_STATUS_END_PDG_EST_MPDU_TX_COUNT_MASK 0x00000000ffff0000 1747*5113495bSYour Name 1748*5113495bSYour Name 1749*5113495bSYour Name /* Description PDG_OVERVIEW_LENGTH 1750*5113495bSYour Name 1751*5113495bSYour Name Field only valid in case of SU transmissions when pdg_MPDU_ready 1752*5113495bSYour Name is set, copied over by TXPCU from 'PCU_PPDU_SETUP_END' 1753*5113495bSYour Name 1754*5113495bSYour Name PDG estimated A-MPDU length from 'MPDU_QUEUE_OVERVIEW' limited 1755*5113495bSYour Name by timing boundaries (HWSCH, COEX, SR, etc.) 1756*5113495bSYour Name <legal all> 1757*5113495bSYour Name */ 1758*5113495bSYour Name 1759*5113495bSYour Name #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_OFFSET 0x0000000000000040 1760*5113495bSYour Name #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_LSB 32 1761*5113495bSYour Name #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_MSB 55 1762*5113495bSYour Name #define TX_FES_STATUS_END_PDG_OVERVIEW_LENGTH_MASK 0x00ffffff00000000 1763*5113495bSYour Name 1764*5113495bSYour Name 1765*5113495bSYour Name /* Description TXOP_DURATION 1766*5113495bSYour Name 1767*5113495bSYour Name TXOP_DURATION of HE-SIG-A calculated by PDG, to be copied 1768*5113495bSYour Name from 'PCU_PPDU_SETUP_END' by TXPCU 1769*5113495bSYour Name */ 1770*5113495bSYour Name 1771*5113495bSYour Name #define TX_FES_STATUS_END_TXOP_DURATION_OFFSET 0x0000000000000040 1772*5113495bSYour Name #define TX_FES_STATUS_END_TXOP_DURATION_LSB 56 1773*5113495bSYour Name #define TX_FES_STATUS_END_TXOP_DURATION_MSB 62 1774*5113495bSYour Name #define TX_FES_STATUS_END_TXOP_DURATION_MASK 0x7f00000000000000 1775*5113495bSYour Name 1776*5113495bSYour Name 1777*5113495bSYour Name /* Description PDG_DROPPED_MPDU_WARNING 1778*5113495bSYour Name 1779*5113495bSYour Name Warning that PDG has dropped MPDUs due to SFM FIFO full 1780*5113495bSYour Name condition, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU 1781*5113495bSYour Name 1782*5113495bSYour Name */ 1783*5113495bSYour Name 1784*5113495bSYour Name #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_OFFSET 0x0000000000000040 1785*5113495bSYour Name #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_LSB 63 1786*5113495bSYour Name #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_MSB 63 1787*5113495bSYour Name #define TX_FES_STATUS_END_PDG_DROPPED_MPDU_WARNING_MASK 0x8000000000000000 1788*5113495bSYour Name 1789*5113495bSYour Name 1790*5113495bSYour Name /* Description PACKET_EXTENSION_A_FACTOR 1791*5113495bSYour Name 1792*5113495bSYour Name The "a-factor" of the trigger-based PPDU response, to be 1793*5113495bSYour Name copied from 'PCU_PPDU_SETUP_END' by TXPCU 1794*5113495bSYour Name 1795*5113495bSYour Name This affects the packet extension duration. 1796*5113495bSYour Name 1797*5113495bSYour Name <enum 0 a_factor_4> 1798*5113495bSYour Name <enum 1 a_factor_1> 1799*5113495bSYour Name <enum 2 a_factor_2> 1800*5113495bSYour Name <enum 3 a_factor_3> 1801*5113495bSYour Name 1802*5113495bSYour Name <legal all> 1803*5113495bSYour Name */ 1804*5113495bSYour Name 1805*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_OFFSET 0x0000000000000048 1806*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_LSB 0 1807*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_MSB 1 1808*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_A_FACTOR_MASK 0x0000000000000003 1809*5113495bSYour Name 1810*5113495bSYour Name 1811*5113495bSYour Name /* Description PACKET_EXTENSION_PE_DISAMBIGUITY 1812*5113495bSYour Name 1813*5113495bSYour Name The "PE-Disambiguity" of the trigger-based PPDU response, 1814*5113495bSYour Name to be copied from 'PCU_PPDU_SETUP_END' by TXPCU 1815*5113495bSYour Name 1816*5113495bSYour Name This affects the packet extension duration. 1817*5113495bSYour Name 1818*5113495bSYour Name <legal all> 1819*5113495bSYour Name */ 1820*5113495bSYour Name 1821*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_OFFSET 0x0000000000000048 1822*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_LSB 2 1823*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_MSB 2 1824*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_PE_DISAMBIGUITY_MASK 0x0000000000000004 1825*5113495bSYour Name 1826*5113495bSYour Name 1827*5113495bSYour Name /* Description PACKET_EXTENSION 1828*5113495bSYour Name 1829*5113495bSYour Name Packet extension size, to be copied from 'PCU_PPDU_SETUP_END' 1830*5113495bSYour Name by TXPCU 1831*5113495bSYour Name 1832*5113495bSYour Name This is valid for all PPDUs including HE-Ranging NDPs (11az) 1833*5113495bSYour Name and Short-NDPs. 1834*5113495bSYour Name 1835*5113495bSYour Name <enum 0 packet_ext_0> 1836*5113495bSYour Name <enum 1 packet_ext_4> 1837*5113495bSYour Name <enum 2 packet_ext_8> 1838*5113495bSYour Name <enum 3 packet_ext_12> 1839*5113495bSYour Name <enum 4 packet_ext_16> 1840*5113495bSYour Name <enum 5 packet_ext_20> 1841*5113495bSYour Name <legal 0 - 5> 1842*5113495bSYour Name */ 1843*5113495bSYour Name 1844*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_OFFSET 0x0000000000000048 1845*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_LSB 3 1846*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_MSB 5 1847*5113495bSYour Name #define TX_FES_STATUS_END_PACKET_EXTENSION_MASK 0x0000000000000038 1848*5113495bSYour Name 1849*5113495bSYour Name 1850*5113495bSYour Name /* Description FEC_TYPE 1851*5113495bSYour Name 1852*5113495bSYour Name For trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END' 1853*5113495bSYour Name by TXPCU 1854*5113495bSYour Name 0: BCC 1855*5113495bSYour Name 1: LDPC 1856*5113495bSYour Name <legal all> 1857*5113495bSYour Name */ 1858*5113495bSYour Name 1859*5113495bSYour Name #define TX_FES_STATUS_END_FEC_TYPE_OFFSET 0x0000000000000048 1860*5113495bSYour Name #define TX_FES_STATUS_END_FEC_TYPE_LSB 6 1861*5113495bSYour Name #define TX_FES_STATUS_END_FEC_TYPE_MSB 6 1862*5113495bSYour Name #define TX_FES_STATUS_END_FEC_TYPE_MASK 0x0000000000000040 1863*5113495bSYour Name 1864*5113495bSYour Name 1865*5113495bSYour Name /* Description STBC 1866*5113495bSYour Name 1867*5113495bSYour Name For trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END' 1868*5113495bSYour Name by TXPCU 1869*5113495bSYour Name 1870*5113495bSYour Name When set, this transmission is based on STBC rates. 1871*5113495bSYour Name */ 1872*5113495bSYour Name 1873*5113495bSYour Name #define TX_FES_STATUS_END_STBC_OFFSET 0x0000000000000048 1874*5113495bSYour Name #define TX_FES_STATUS_END_STBC_LSB 7 1875*5113495bSYour Name #define TX_FES_STATUS_END_STBC_MSB 7 1876*5113495bSYour Name #define TX_FES_STATUS_END_STBC_MASK 0x0000000000000080 1877*5113495bSYour Name 1878*5113495bSYour Name 1879*5113495bSYour Name /* Description NUM_DATA_SYMBOLS 1880*5113495bSYour Name 1881*5113495bSYour Name The number of data symbols in the transmission, to be copied 1882*5113495bSYour Name from 'PCU_PPDU_SETUP_END' by TXPCU 1883*5113495bSYour Name 1884*5113495bSYour Name This does not include PE_LTF. Also for STBC packets this 1885*5113495bSYour Name has to be an even number. This is valid for all PPDUs. 1886*5113495bSYour Name */ 1887*5113495bSYour Name 1888*5113495bSYour Name #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_OFFSET 0x0000000000000048 1889*5113495bSYour Name #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_LSB 8 1890*5113495bSYour Name #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_MSB 23 1891*5113495bSYour Name #define TX_FES_STATUS_END_NUM_DATA_SYMBOLS_MASK 0x0000000000ffff00 1892*5113495bSYour Name 1893*5113495bSYour Name 1894*5113495bSYour Name /* Description RU_SIZE 1895*5113495bSYour Name 1896*5113495bSYour Name The size of the RU for this user, for trigger-based PPDU 1897*5113495bSYour Name response, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU 1898*5113495bSYour Name 1899*5113495bSYour Name 1900*5113495bSYour Name <enum 0 RU_26> 1901*5113495bSYour Name <enum 1 RU_52> 1902*5113495bSYour Name <enum 2 RU_106> 1903*5113495bSYour Name <enum 3 RU_242> 1904*5113495bSYour Name <enum 4 RU_484> 1905*5113495bSYour Name <enum 5 RU_996> 1906*5113495bSYour Name <enum 6 RU_1992> 1907*5113495bSYour Name <enum 7 RU_FULLBW> Set when the RU occupies the full packet 1908*5113495bSYour Name bandwidth 1909*5113495bSYour Name <enum 8 RU_FULLBW_240> Set when the RU occupies the full 1910*5113495bSYour Name packet bandwidth 1911*5113495bSYour Name <enum 9 RU_FULLBW_320> Set when the RU occupies the full 1912*5113495bSYour Name packet bandwidth 1913*5113495bSYour Name <enum 10 RU_MULTI_LARGE> HW will use per-user sub-band-mask 1914*5113495bSYour Name to infer the actual RU-size for Multi-large-RU/SU-Puncturing 1915*5113495bSYour Name 1916*5113495bSYour Name <enum 11 RU_78> multi small RU 1917*5113495bSYour Name <enum 12 RU_132> multi small RU 1918*5113495bSYour Name <legal 0-12> 1919*5113495bSYour Name */ 1920*5113495bSYour Name 1921*5113495bSYour Name #define TX_FES_STATUS_END_RU_SIZE_OFFSET 0x0000000000000048 1922*5113495bSYour Name #define TX_FES_STATUS_END_RU_SIZE_LSB 24 1923*5113495bSYour Name #define TX_FES_STATUS_END_RU_SIZE_MSB 27 1924*5113495bSYour Name #define TX_FES_STATUS_END_RU_SIZE_MASK 0x000000000f000000 1925*5113495bSYour Name 1926*5113495bSYour Name 1927*5113495bSYour Name 1928*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_17A_OFFSET 0x0000000000000048 1929*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_17A_LSB 28 1930*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_17A_MSB 31 1931*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_17A_MASK 0x00000000f0000000 1932*5113495bSYour Name 1933*5113495bSYour Name 1934*5113495bSYour Name /* Description NUM_LTF_SYMBOLS 1935*5113495bSYour Name 1936*5113495bSYour Name Indicates the number of HE-LTF symbols, for trigger-based 1937*5113495bSYour Name PPDU response, to be copied from 'PCU_PPDU_SETUP_END' by 1938*5113495bSYour Name TXPCU 1939*5113495bSYour Name 1940*5113495bSYour Name 0: 1 symbol 1941*5113495bSYour Name 1: 2 symbols 1942*5113495bSYour Name 2: 3 symbols 1943*5113495bSYour Name 3: 4 symbols 1944*5113495bSYour Name 4: 5 symbols 1945*5113495bSYour Name 5: 6 symbols 1946*5113495bSYour Name 6: 7 symbols 1947*5113495bSYour Name 7: 8 symbols 1948*5113495bSYour Name 1949*5113495bSYour Name NOTE that this encoding is different from what is in "Num_LTF_symbols" 1950*5113495bSYour Name in the HE_SIG_A_MU_DL. 1951*5113495bSYour Name <legal all> 1952*5113495bSYour Name */ 1953*5113495bSYour Name 1954*5113495bSYour Name #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_OFFSET 0x0000000000000048 1955*5113495bSYour Name #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_LSB 32 1956*5113495bSYour Name #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_MSB 34 1957*5113495bSYour Name #define TX_FES_STATUS_END_NUM_LTF_SYMBOLS_MASK 0x0000000700000000 1958*5113495bSYour Name 1959*5113495bSYour Name 1960*5113495bSYour Name /* Description LTF_SIZE 1961*5113495bSYour Name 1962*5113495bSYour Name Ltf size, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU 1963*5113495bSYour Name 1964*5113495bSYour Name 1965*5113495bSYour Name This is valid for all PPDUs including HE-Ranging NDPs (11az) 1966*5113495bSYour Name and Short-NDPs. 1967*5113495bSYour Name 1968*5113495bSYour Name <enum 0 ltf_1x > 1969*5113495bSYour Name <enum 1 ltf_2x > 1970*5113495bSYour Name <enum 2 ltf_4x > 1971*5113495bSYour Name <legal 0 - 2> 1972*5113495bSYour Name */ 1973*5113495bSYour Name 1974*5113495bSYour Name #define TX_FES_STATUS_END_LTF_SIZE_OFFSET 0x0000000000000048 1975*5113495bSYour Name #define TX_FES_STATUS_END_LTF_SIZE_LSB 35 1976*5113495bSYour Name #define TX_FES_STATUS_END_LTF_SIZE_MSB 36 1977*5113495bSYour Name #define TX_FES_STATUS_END_LTF_SIZE_MASK 0x0000001800000000 1978*5113495bSYour Name 1979*5113495bSYour Name 1980*5113495bSYour Name /* Description CP_SETTING 1981*5113495bSYour Name 1982*5113495bSYour Name Field only valid when pkt type is HT, VHT or HE 1983*5113495bSYour Name 1984*5113495bSYour Name GI setting, to be copied from 'PCU_PPDU_SETUP_END' by TXPCU 1985*5113495bSYour Name 1986*5113495bSYour Name 1987*5113495bSYour Name This is valid for all PPDUs including HE-Ranging NDPs (11az) 1988*5113495bSYour Name and Short-NDPs. 1989*5113495bSYour Name 1990*5113495bSYour Name <enum 0 gi_0_8_us > Legacy normal GI 1991*5113495bSYour Name <enum 1 gi_0_4_us > Legacy short GI 1992*5113495bSYour Name <enum 2 gi_1_6_us > HE related GI 1993*5113495bSYour Name <enum 3 gi_3_2_us > HE related GI 1994*5113495bSYour Name <legal 0 - 3> 1995*5113495bSYour Name */ 1996*5113495bSYour Name 1997*5113495bSYour Name #define TX_FES_STATUS_END_CP_SETTING_OFFSET 0x0000000000000048 1998*5113495bSYour Name #define TX_FES_STATUS_END_CP_SETTING_LSB 37 1999*5113495bSYour Name #define TX_FES_STATUS_END_CP_SETTING_MSB 38 2000*5113495bSYour Name #define TX_FES_STATUS_END_CP_SETTING_MASK 0x0000006000000000 2001*5113495bSYour Name 2002*5113495bSYour Name 2003*5113495bSYour Name 2004*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18A_OFFSET 0x0000000000000048 2005*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18A_LSB 39 2006*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18A_MSB 43 2007*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18A_MASK 0x00000f8000000000 2008*5113495bSYour Name 2009*5113495bSYour Name 2010*5113495bSYour Name /* Description DCM 2011*5113495bSYour Name 2012*5113495bSYour Name Field only valid in case of 11ax transmission 2013*5113495bSYour Name 2014*5113495bSYour Name Indicates whether dual sub-carrier modulation is applied, 2015*5113495bSYour Name for trigger-based PPDU response, to be copied from 'PCU_PPDU_SETUP_END' 2016*5113495bSYour Name by TXPCU 2017*5113495bSYour Name 0: No DCM 2018*5113495bSYour Name 1:DCM 2019*5113495bSYour Name <legal all> 2020*5113495bSYour Name */ 2021*5113495bSYour Name 2022*5113495bSYour Name #define TX_FES_STATUS_END_DCM_OFFSET 0x0000000000000048 2023*5113495bSYour Name #define TX_FES_STATUS_END_DCM_LSB 44 2024*5113495bSYour Name #define TX_FES_STATUS_END_DCM_MSB 44 2025*5113495bSYour Name #define TX_FES_STATUS_END_DCM_MASK 0x0000100000000000 2026*5113495bSYour Name 2027*5113495bSYour Name 2028*5113495bSYour Name /* Description LDPC_EXTRA_SYMBOL 2029*5113495bSYour Name 2030*5113495bSYour Name Set to 1 if the LDPC PPDU encoding process (if an SU PPDU), 2031*5113495bSYour Name or at least one LDPC user's PPDU encoding process (if an 2032*5113495bSYour Name MU PPDU), results in an extra OFDM symbol (or symbols) 2033*5113495bSYour Name as described in 22.3.10.5.4 (LDPC coding) and 22.3.10.5.5 2034*5113495bSYour Name (Encoding process for MU PPDUs). Set to 0 otherwise. 2035*5113495bSYour Name 2036*5113495bSYour Name To be copied from 'PCU_PPDU_SETUP_END' by TXPCU 2037*5113495bSYour Name <legal all> 2038*5113495bSYour Name */ 2039*5113495bSYour Name 2040*5113495bSYour Name #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_OFFSET 0x0000000000000048 2041*5113495bSYour Name #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_LSB 45 2042*5113495bSYour Name #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_MSB 45 2043*5113495bSYour Name #define TX_FES_STATUS_END_LDPC_EXTRA_SYMBOL_MASK 0x0000200000000000 2044*5113495bSYour Name 2045*5113495bSYour Name 2046*5113495bSYour Name /* Description FORCE_EXTRA_SYMBOL 2047*5113495bSYour Name 2048*5113495bSYour Name Set to 1 to force an extra OFDM symbol (or symbols) even 2049*5113495bSYour Name if none of the users' PPDU encoding process resuls in an 2050*5113495bSYour Name extra OFDM symbol (or symbols). 2051*5113495bSYour Name 2052*5113495bSYour Name To be copied from 'PCU_PPDU_SETUP_END' by TXPCU 2053*5113495bSYour Name <legal all> 2054*5113495bSYour Name */ 2055*5113495bSYour Name 2056*5113495bSYour Name #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_OFFSET 0x0000000000000048 2057*5113495bSYour Name #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_LSB 46 2058*5113495bSYour Name #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_MSB 46 2059*5113495bSYour Name #define TX_FES_STATUS_END_FORCE_EXTRA_SYMBOL_MASK 0x0000400000000000 2060*5113495bSYour Name 2061*5113495bSYour Name 2062*5113495bSYour Name /* Description RESERVED_18B 2063*5113495bSYour Name 2064*5113495bSYour Name <legal 0> 2065*5113495bSYour Name */ 2066*5113495bSYour Name 2067*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18B_OFFSET 0x0000000000000048 2068*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18B_LSB 47 2069*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18B_MSB 47 2070*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_18B_MASK 0x0000800000000000 2071*5113495bSYour Name 2072*5113495bSYour Name 2073*5113495bSYour Name /* Description TX_PWR_SHARED 2074*5113495bSYour Name 2075*5113495bSYour Name Transmit Power (signed value) in units of 0.25 dBm, to be 2076*5113495bSYour Name copied from 'PCU_PPDU_SETUP_END' by TXPCU 2077*5113495bSYour Name <legal all> 2078*5113495bSYour Name */ 2079*5113495bSYour Name 2080*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_SHARED_OFFSET 0x0000000000000048 2081*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_SHARED_LSB 48 2082*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_SHARED_MSB 55 2083*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_SHARED_MASK 0x00ff000000000000 2084*5113495bSYour Name 2085*5113495bSYour Name 2086*5113495bSYour Name /* Description TX_PWR_UNSHARED 2087*5113495bSYour Name 2088*5113495bSYour Name Transmit Power (signed value) in units of 0.25 dBm, to be 2089*5113495bSYour Name copied from 'PCU_PPDU_SETUP_END' by TXPCU 2090*5113495bSYour Name <legal all> 2091*5113495bSYour Name */ 2092*5113495bSYour Name 2093*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_UNSHARED_OFFSET 0x0000000000000048 2094*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_UNSHARED_LSB 56 2095*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_UNSHARED_MSB 63 2096*5113495bSYour Name #define TX_FES_STATUS_END_TX_PWR_UNSHARED_MASK 0xff00000000000000 2097*5113495bSYour Name 2098*5113495bSYour Name 2099*5113495bSYour Name /* Description RANGING_ACTIVE_USER_MAP 2100*5113495bSYour Name 2101*5113495bSYour Name Field only valid for TB Ranging transmissions 2102*5113495bSYour Name 2103*5113495bSYour Name TXPCU sets this to the current active user bitmap, with 2104*5113495bSYour Name each bit set to: 2105*5113495bSYour Name 1: for an active user, and 2106*5113495bSYour Name 0: for any user not part of the ranging. 2107*5113495bSYour Name 2108*5113495bSYour Name */ 2109*5113495bSYour Name 2110*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_OFFSET 0x0000000000000050 2111*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_LSB 0 2112*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_MSB 15 2113*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_ACTIVE_USER_MAP_MASK 0x000000000000ffff 2114*5113495bSYour Name 2115*5113495bSYour Name 2116*5113495bSYour Name /* Description RANGING_SENT_DUMMY_TX 2117*5113495bSYour Name 2118*5113495bSYour Name Field only valid for TB Ranging transmissions 2119*5113495bSYour Name 2120*5113495bSYour Name TXPCU sets this bit if some user's 'STA Info' or 'User Info' 2121*5113495bSYour Name was sent out as dummy, or the whole transmission was sent 2122*5113495bSYour Name out as dummy. 2123*5113495bSYour Name */ 2124*5113495bSYour Name 2125*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_OFFSET 0x0000000000000050 2126*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_LSB 16 2127*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_MSB 16 2128*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_SENT_DUMMY_TX_MASK 0x0000000000010000 2129*5113495bSYour Name 2130*5113495bSYour Name 2131*5113495bSYour Name /* Description RANGING_FTM_FRAME_SENT 2132*5113495bSYour Name 2133*5113495bSYour Name Field only valid for Ranging transmissions 2134*5113495bSYour Name 2135*5113495bSYour Name TXPCU sets this bit if an FTM frame aggregated with an LMR 2136*5113495bSYour Name was sent. 2137*5113495bSYour Name */ 2138*5113495bSYour Name 2139*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_OFFSET 0x0000000000000050 2140*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_LSB 17 2141*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_MSB 17 2142*5113495bSYour Name #define TX_FES_STATUS_END_RANGING_FTM_FRAME_SENT_MASK 0x0000000000020000 2143*5113495bSYour Name 2144*5113495bSYour Name 2145*5113495bSYour Name /* Description RESERVED_20A 2146*5113495bSYour Name 2147*5113495bSYour Name <legal 0> 2148*5113495bSYour Name */ 2149*5113495bSYour Name 2150*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_20A_OFFSET 0x0000000000000050 2151*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_20A_LSB 18 2152*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_20A_MSB 23 2153*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_20A_MASK 0x0000000000fc0000 2154*5113495bSYour Name 2155*5113495bSYour Name 2156*5113495bSYour Name /* Description CV_CORR_STATUS 2157*5113495bSYour Name 2158*5113495bSYour Name CV correlation status from 'PHYTX_CV_CORR_STATUS,' to be 2159*5113495bSYour Name copied from 'PCU_PPDU_SETUP_END' by TXPCU 2160*5113495bSYour Name <legal all> 2161*5113495bSYour Name */ 2162*5113495bSYour Name 2163*5113495bSYour Name #define TX_FES_STATUS_END_CV_CORR_STATUS_OFFSET 0x0000000000000050 2164*5113495bSYour Name #define TX_FES_STATUS_END_CV_CORR_STATUS_LSB 24 2165*5113495bSYour Name #define TX_FES_STATUS_END_CV_CORR_STATUS_MSB 31 2166*5113495bSYour Name #define TX_FES_STATUS_END_CV_CORR_STATUS_MASK 0x00000000ff000000 2167*5113495bSYour Name 2168*5113495bSYour Name 2169*5113495bSYour Name /* Description CURRENT_TX_DURATION 2170*5113495bSYour Name 2171*5113495bSYour Name The duration of the transmission in us, copied over from 2172*5113495bSYour Name PCU_PPDU_SETUP_{END, START} as the case may be 2173*5113495bSYour Name <legal all> 2174*5113495bSYour Name */ 2175*5113495bSYour Name 2176*5113495bSYour Name #define TX_FES_STATUS_END_CURRENT_TX_DURATION_OFFSET 0x0000000000000050 2177*5113495bSYour Name #define TX_FES_STATUS_END_CURRENT_TX_DURATION_LSB 32 2178*5113495bSYour Name #define TX_FES_STATUS_END_CURRENT_TX_DURATION_MSB 47 2179*5113495bSYour Name #define TX_FES_STATUS_END_CURRENT_TX_DURATION_MASK 0x0000ffff00000000 2180*5113495bSYour Name 2181*5113495bSYour Name 2182*5113495bSYour Name /* Description RESERVED_21A 2183*5113495bSYour Name 2184*5113495bSYour Name Bits [19:16]: num_cts2self_transmitted: 2185*5113495bSYour Name 2186*5113495bSYour Name Number of CTS2SELF frames transmitted in this FES 2187*5113495bSYour Name 2188*5113495bSYour Name <legal 0-15> 2189*5113495bSYour Name */ 2190*5113495bSYour Name 2191*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_21A_OFFSET 0x0000000000000050 2192*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_21A_LSB 48 2193*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_21A_MSB 63 2194*5113495bSYour Name #define TX_FES_STATUS_END_RESERVED_21A_MASK 0xffff000000000000 2195*5113495bSYour Name 2196*5113495bSYour Name 2197*5113495bSYour Name 2198*5113495bSYour Name #endif // TX_FES_STATUS_END 2199