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