1 2 /* Copyright (c) 2021, Qualcomm Innovation Center, Inc. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 18 19 20 21 22 23 24 25 26 #ifndef _RX_PPDU_END_USER_STATS_H_ 27 #define _RX_PPDU_END_USER_STATS_H_ 28 #if !defined(__ASSEMBLER__) 29 #endif 30 31 #include "rx_rxpcu_classification_overview.h" 32 #define NUM_OF_DWORDS_RX_PPDU_END_USER_STATS 24 33 34 #define NUM_OF_QWORDS_RX_PPDU_END_USER_STATS 12 35 36 37 struct rx_ppdu_end_user_stats { 38 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 39 struct rx_rxpcu_classification_overview rxpcu_classification_details; 40 uint32_t sta_full_aid : 13, 41 mcs : 4, 42 nss : 3, 43 expected_response_ack_or_ba : 1, 44 reserved_1a : 11; 45 uint32_t sw_peer_id : 16, 46 mpdu_cnt_fcs_err : 11, 47 sw2rxdma0_buf_source_used : 1, 48 fw2rxdma_pmac0_buf_source_used : 1, 49 sw2rxdma1_buf_source_used : 1, 50 sw2rxdma_exception_buf_source_used : 1, 51 fw2rxdma_pmac1_buf_source_used : 1; 52 uint32_t mpdu_cnt_fcs_ok : 11, 53 frame_control_info_valid : 1, 54 qos_control_info_valid : 1, 55 ht_control_info_valid : 1, 56 data_sequence_control_info_valid : 1, 57 ht_control_info_null_valid : 1, 58 rxdma2fw_pmac1_ring_used : 1, 59 rxdma2reo_ring_used : 1, 60 rxdma2fw_pmac0_ring_used : 1, 61 rxdma2sw_ring_used : 1, 62 rxdma_release_ring_used : 1, 63 ht_control_field_pkt_type : 4, 64 rxdma2reo_remote0_ring_used : 1, 65 rxdma2reo_remote1_ring_used : 1, 66 reserved_3b : 5; 67 uint32_t ast_index : 16, 68 frame_control_field : 16; 69 uint32_t first_data_seq_ctrl : 16, 70 qos_control_field : 16; 71 uint32_t ht_control_field : 32; 72 uint32_t fcs_ok_bitmap_31_0 : 32; 73 uint32_t fcs_ok_bitmap_63_32 : 32; 74 uint32_t udp_msdu_count : 16, 75 tcp_msdu_count : 16; 76 uint32_t other_msdu_count : 16, 77 tcp_ack_msdu_count : 16; 78 uint32_t sw_response_reference_ptr : 32; 79 uint32_t received_qos_data_tid_bitmap : 16, 80 received_qos_data_tid_eosp_bitmap : 16; 81 uint32_t qosctrl_15_8_tid0 : 8, 82 qosctrl_15_8_tid1 : 8, 83 qosctrl_15_8_tid2 : 8, 84 qosctrl_15_8_tid3 : 8; 85 uint32_t qosctrl_15_8_tid4 : 8, 86 qosctrl_15_8_tid5 : 8, 87 qosctrl_15_8_tid6 : 8, 88 qosctrl_15_8_tid7 : 8; 89 uint32_t qosctrl_15_8_tid8 : 8, 90 qosctrl_15_8_tid9 : 8, 91 qosctrl_15_8_tid10 : 8, 92 qosctrl_15_8_tid11 : 8; 93 uint32_t qosctrl_15_8_tid12 : 8, 94 qosctrl_15_8_tid13 : 8, 95 qosctrl_15_8_tid14 : 8, 96 qosctrl_15_8_tid15 : 8; 97 uint32_t mpdu_ok_byte_count : 25, 98 ampdu_delim_ok_count_6_0 : 7; 99 uint32_t ampdu_delim_err_count : 25, 100 ampdu_delim_ok_count_13_7 : 7; 101 uint32_t mpdu_err_byte_count : 25, 102 ampdu_delim_ok_count_20_14 : 7; 103 uint32_t non_consecutive_delimiter_err : 16, 104 retried_msdu_count : 16; 105 uint32_t ht_control_null_field : 32; 106 uint32_t sw_response_reference_ptr_ext : 32; 107 uint32_t corrupted_due_to_fifo_delay : 1, 108 frame_control_info_null_valid : 1, 109 frame_control_field_null : 16, 110 retried_mpdu_count : 11, 111 reserved_23a : 3; 112 #else 113 struct rx_rxpcu_classification_overview rxpcu_classification_details; 114 uint32_t reserved_1a : 11, 115 expected_response_ack_or_ba : 1, 116 nss : 3, 117 mcs : 4, 118 sta_full_aid : 13; 119 uint32_t fw2rxdma_pmac1_buf_source_used : 1, 120 sw2rxdma_exception_buf_source_used : 1, 121 sw2rxdma1_buf_source_used : 1, 122 fw2rxdma_pmac0_buf_source_used : 1, 123 sw2rxdma0_buf_source_used : 1, 124 mpdu_cnt_fcs_err : 11, 125 sw_peer_id : 16; 126 uint32_t reserved_3b : 5, 127 rxdma2reo_remote1_ring_used : 1, 128 rxdma2reo_remote0_ring_used : 1, 129 ht_control_field_pkt_type : 4, 130 rxdma_release_ring_used : 1, 131 rxdma2sw_ring_used : 1, 132 rxdma2fw_pmac0_ring_used : 1, 133 rxdma2reo_ring_used : 1, 134 rxdma2fw_pmac1_ring_used : 1, 135 ht_control_info_null_valid : 1, 136 data_sequence_control_info_valid : 1, 137 ht_control_info_valid : 1, 138 qos_control_info_valid : 1, 139 frame_control_info_valid : 1, 140 mpdu_cnt_fcs_ok : 11; 141 uint32_t frame_control_field : 16, 142 ast_index : 16; 143 uint32_t qos_control_field : 16, 144 first_data_seq_ctrl : 16; 145 uint32_t ht_control_field : 32; 146 uint32_t fcs_ok_bitmap_31_0 : 32; 147 uint32_t fcs_ok_bitmap_63_32 : 32; 148 uint32_t tcp_msdu_count : 16, 149 udp_msdu_count : 16; 150 uint32_t tcp_ack_msdu_count : 16, 151 other_msdu_count : 16; 152 uint32_t sw_response_reference_ptr : 32; 153 uint32_t received_qos_data_tid_eosp_bitmap : 16, 154 received_qos_data_tid_bitmap : 16; 155 uint32_t qosctrl_15_8_tid3 : 8, 156 qosctrl_15_8_tid2 : 8, 157 qosctrl_15_8_tid1 : 8, 158 qosctrl_15_8_tid0 : 8; 159 uint32_t qosctrl_15_8_tid7 : 8, 160 qosctrl_15_8_tid6 : 8, 161 qosctrl_15_8_tid5 : 8, 162 qosctrl_15_8_tid4 : 8; 163 uint32_t qosctrl_15_8_tid11 : 8, 164 qosctrl_15_8_tid10 : 8, 165 qosctrl_15_8_tid9 : 8, 166 qosctrl_15_8_tid8 : 8; 167 uint32_t qosctrl_15_8_tid15 : 8, 168 qosctrl_15_8_tid14 : 8, 169 qosctrl_15_8_tid13 : 8, 170 qosctrl_15_8_tid12 : 8; 171 uint32_t ampdu_delim_ok_count_6_0 : 7, 172 mpdu_ok_byte_count : 25; 173 uint32_t ampdu_delim_ok_count_13_7 : 7, 174 ampdu_delim_err_count : 25; 175 uint32_t ampdu_delim_ok_count_20_14 : 7, 176 mpdu_err_byte_count : 25; 177 uint32_t retried_msdu_count : 16, 178 non_consecutive_delimiter_err : 16; 179 uint32_t ht_control_null_field : 32; 180 uint32_t sw_response_reference_ptr_ext : 32; 181 uint32_t reserved_23a : 3, 182 retried_mpdu_count : 11, 183 frame_control_field_null : 16, 184 frame_control_info_null_valid : 1, 185 corrupted_due_to_fifo_delay : 1; 186 #endif 187 }; 188 189 190 191 192 193 194 195 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_OFFSET 0x0000000000000000 196 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_LSB 0 197 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_MSB 0 198 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_MASK 0x0000000000000001 199 200 201 202 203 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_OFFSET 0x0000000000000000 204 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_LSB 1 205 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_MSB 1 206 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_MASK 0x0000000000000002 207 208 209 210 211 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_OFFSET 0x0000000000000000 212 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_LSB 2 213 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_MSB 2 214 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_MASK 0x0000000000000004 215 216 217 218 219 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_OFFSET 0x0000000000000000 220 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_LSB 3 221 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_MSB 3 222 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_MASK 0x0000000000000008 223 224 225 226 227 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_OFFSET 0x0000000000000000 228 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_LSB 4 229 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_MSB 4 230 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_MASK 0x0000000000000010 231 232 233 234 235 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_OFFSET 0x0000000000000000 236 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_LSB 5 237 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_MSB 5 238 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_MASK 0x0000000000000020 239 240 241 242 243 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_OFFSET 0x0000000000000000 244 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_LSB 6 245 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_MSB 6 246 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_MASK 0x0000000000000040 247 248 249 250 251 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MONITOR_OVRD_MPDUS_OFFSET 0x0000000000000000 252 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MONITOR_OVRD_MPDUS_LSB 7 253 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MONITOR_OVRD_MPDUS_MSB 7 254 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MONITOR_OVRD_MPDUS_MASK 0x0000000000000080 255 256 257 258 259 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MONITOR_OVRD_MPDUS_FCS_OK_OFFSET 0x0000000000000000 260 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MONITOR_OVRD_MPDUS_FCS_OK_LSB 8 261 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MONITOR_OVRD_MPDUS_FCS_OK_MSB 8 262 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MONITOR_OVRD_MPDUS_FCS_OK_MASK 0x0000000000000100 263 264 265 266 267 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_OFFSET 0x0000000000000000 268 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_LSB 9 269 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_MSB 15 270 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_MASK 0x000000000000fe00 271 272 273 274 275 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_OFFSET 0x0000000000000000 276 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_LSB 16 277 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_MSB 31 278 #define RX_PPDU_END_USER_STATS_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_MASK 0x00000000ffff0000 279 280 281 282 283 #define RX_PPDU_END_USER_STATS_STA_FULL_AID_OFFSET 0x0000000000000000 284 #define RX_PPDU_END_USER_STATS_STA_FULL_AID_LSB 32 285 #define RX_PPDU_END_USER_STATS_STA_FULL_AID_MSB 44 286 #define RX_PPDU_END_USER_STATS_STA_FULL_AID_MASK 0x00001fff00000000 287 288 289 290 291 #define RX_PPDU_END_USER_STATS_MCS_OFFSET 0x0000000000000000 292 #define RX_PPDU_END_USER_STATS_MCS_LSB 45 293 #define RX_PPDU_END_USER_STATS_MCS_MSB 48 294 #define RX_PPDU_END_USER_STATS_MCS_MASK 0x0001e00000000000 295 296 297 298 299 #define RX_PPDU_END_USER_STATS_NSS_OFFSET 0x0000000000000000 300 #define RX_PPDU_END_USER_STATS_NSS_LSB 49 301 #define RX_PPDU_END_USER_STATS_NSS_MSB 51 302 #define RX_PPDU_END_USER_STATS_NSS_MASK 0x000e000000000000 303 304 305 306 307 #define RX_PPDU_END_USER_STATS_EXPECTED_RESPONSE_ACK_OR_BA_OFFSET 0x0000000000000000 308 #define RX_PPDU_END_USER_STATS_EXPECTED_RESPONSE_ACK_OR_BA_LSB 52 309 #define RX_PPDU_END_USER_STATS_EXPECTED_RESPONSE_ACK_OR_BA_MSB 52 310 #define RX_PPDU_END_USER_STATS_EXPECTED_RESPONSE_ACK_OR_BA_MASK 0x0010000000000000 311 312 313 314 315 #define RX_PPDU_END_USER_STATS_RESERVED_1A_OFFSET 0x0000000000000000 316 #define RX_PPDU_END_USER_STATS_RESERVED_1A_LSB 53 317 #define RX_PPDU_END_USER_STATS_RESERVED_1A_MSB 63 318 #define RX_PPDU_END_USER_STATS_RESERVED_1A_MASK 0xffe0000000000000 319 320 321 322 323 #define RX_PPDU_END_USER_STATS_SW_PEER_ID_OFFSET 0x0000000000000008 324 #define RX_PPDU_END_USER_STATS_SW_PEER_ID_LSB 0 325 #define RX_PPDU_END_USER_STATS_SW_PEER_ID_MSB 15 326 #define RX_PPDU_END_USER_STATS_SW_PEER_ID_MASK 0x000000000000ffff 327 328 329 330 331 #define RX_PPDU_END_USER_STATS_MPDU_CNT_FCS_ERR_OFFSET 0x0000000000000008 332 #define RX_PPDU_END_USER_STATS_MPDU_CNT_FCS_ERR_LSB 16 333 #define RX_PPDU_END_USER_STATS_MPDU_CNT_FCS_ERR_MSB 26 334 #define RX_PPDU_END_USER_STATS_MPDU_CNT_FCS_ERR_MASK 0x0000000007ff0000 335 336 337 338 339 #define RX_PPDU_END_USER_STATS_SW2RXDMA0_BUF_SOURCE_USED_OFFSET 0x0000000000000008 340 #define RX_PPDU_END_USER_STATS_SW2RXDMA0_BUF_SOURCE_USED_LSB 27 341 #define RX_PPDU_END_USER_STATS_SW2RXDMA0_BUF_SOURCE_USED_MSB 27 342 #define RX_PPDU_END_USER_STATS_SW2RXDMA0_BUF_SOURCE_USED_MASK 0x0000000008000000 343 344 345 346 347 #define RX_PPDU_END_USER_STATS_FW2RXDMA_PMAC0_BUF_SOURCE_USED_OFFSET 0x0000000000000008 348 #define RX_PPDU_END_USER_STATS_FW2RXDMA_PMAC0_BUF_SOURCE_USED_LSB 28 349 #define RX_PPDU_END_USER_STATS_FW2RXDMA_PMAC0_BUF_SOURCE_USED_MSB 28 350 #define RX_PPDU_END_USER_STATS_FW2RXDMA_PMAC0_BUF_SOURCE_USED_MASK 0x0000000010000000 351 352 353 354 355 #define RX_PPDU_END_USER_STATS_SW2RXDMA1_BUF_SOURCE_USED_OFFSET 0x0000000000000008 356 #define RX_PPDU_END_USER_STATS_SW2RXDMA1_BUF_SOURCE_USED_LSB 29 357 #define RX_PPDU_END_USER_STATS_SW2RXDMA1_BUF_SOURCE_USED_MSB 29 358 #define RX_PPDU_END_USER_STATS_SW2RXDMA1_BUF_SOURCE_USED_MASK 0x0000000020000000 359 360 361 362 363 #define RX_PPDU_END_USER_STATS_SW2RXDMA_EXCEPTION_BUF_SOURCE_USED_OFFSET 0x0000000000000008 364 #define RX_PPDU_END_USER_STATS_SW2RXDMA_EXCEPTION_BUF_SOURCE_USED_LSB 30 365 #define RX_PPDU_END_USER_STATS_SW2RXDMA_EXCEPTION_BUF_SOURCE_USED_MSB 30 366 #define RX_PPDU_END_USER_STATS_SW2RXDMA_EXCEPTION_BUF_SOURCE_USED_MASK 0x0000000040000000 367 368 369 370 371 #define RX_PPDU_END_USER_STATS_FW2RXDMA_PMAC1_BUF_SOURCE_USED_OFFSET 0x0000000000000008 372 #define RX_PPDU_END_USER_STATS_FW2RXDMA_PMAC1_BUF_SOURCE_USED_LSB 31 373 #define RX_PPDU_END_USER_STATS_FW2RXDMA_PMAC1_BUF_SOURCE_USED_MSB 31 374 #define RX_PPDU_END_USER_STATS_FW2RXDMA_PMAC1_BUF_SOURCE_USED_MASK 0x0000000080000000 375 376 377 378 379 #define RX_PPDU_END_USER_STATS_MPDU_CNT_FCS_OK_OFFSET 0x0000000000000008 380 #define RX_PPDU_END_USER_STATS_MPDU_CNT_FCS_OK_LSB 32 381 #define RX_PPDU_END_USER_STATS_MPDU_CNT_FCS_OK_MSB 42 382 #define RX_PPDU_END_USER_STATS_MPDU_CNT_FCS_OK_MASK 0x000007ff00000000 383 384 385 386 387 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_INFO_VALID_OFFSET 0x0000000000000008 388 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_INFO_VALID_LSB 43 389 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_INFO_VALID_MSB 43 390 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_INFO_VALID_MASK 0x0000080000000000 391 392 393 394 395 #define RX_PPDU_END_USER_STATS_QOS_CONTROL_INFO_VALID_OFFSET 0x0000000000000008 396 #define RX_PPDU_END_USER_STATS_QOS_CONTROL_INFO_VALID_LSB 44 397 #define RX_PPDU_END_USER_STATS_QOS_CONTROL_INFO_VALID_MSB 44 398 #define RX_PPDU_END_USER_STATS_QOS_CONTROL_INFO_VALID_MASK 0x0000100000000000 399 400 401 402 403 #define RX_PPDU_END_USER_STATS_HT_CONTROL_INFO_VALID_OFFSET 0x0000000000000008 404 #define RX_PPDU_END_USER_STATS_HT_CONTROL_INFO_VALID_LSB 45 405 #define RX_PPDU_END_USER_STATS_HT_CONTROL_INFO_VALID_MSB 45 406 #define RX_PPDU_END_USER_STATS_HT_CONTROL_INFO_VALID_MASK 0x0000200000000000 407 408 409 410 411 #define RX_PPDU_END_USER_STATS_DATA_SEQUENCE_CONTROL_INFO_VALID_OFFSET 0x0000000000000008 412 #define RX_PPDU_END_USER_STATS_DATA_SEQUENCE_CONTROL_INFO_VALID_LSB 46 413 #define RX_PPDU_END_USER_STATS_DATA_SEQUENCE_CONTROL_INFO_VALID_MSB 46 414 #define RX_PPDU_END_USER_STATS_DATA_SEQUENCE_CONTROL_INFO_VALID_MASK 0x0000400000000000 415 416 417 418 419 #define RX_PPDU_END_USER_STATS_HT_CONTROL_INFO_NULL_VALID_OFFSET 0x0000000000000008 420 #define RX_PPDU_END_USER_STATS_HT_CONTROL_INFO_NULL_VALID_LSB 47 421 #define RX_PPDU_END_USER_STATS_HT_CONTROL_INFO_NULL_VALID_MSB 47 422 #define RX_PPDU_END_USER_STATS_HT_CONTROL_INFO_NULL_VALID_MASK 0x0000800000000000 423 424 425 426 427 #define RX_PPDU_END_USER_STATS_RXDMA2FW_PMAC1_RING_USED_OFFSET 0x0000000000000008 428 #define RX_PPDU_END_USER_STATS_RXDMA2FW_PMAC1_RING_USED_LSB 48 429 #define RX_PPDU_END_USER_STATS_RXDMA2FW_PMAC1_RING_USED_MSB 48 430 #define RX_PPDU_END_USER_STATS_RXDMA2FW_PMAC1_RING_USED_MASK 0x0001000000000000 431 432 433 434 435 #define RX_PPDU_END_USER_STATS_RXDMA2REO_RING_USED_OFFSET 0x0000000000000008 436 #define RX_PPDU_END_USER_STATS_RXDMA2REO_RING_USED_LSB 49 437 #define RX_PPDU_END_USER_STATS_RXDMA2REO_RING_USED_MSB 49 438 #define RX_PPDU_END_USER_STATS_RXDMA2REO_RING_USED_MASK 0x0002000000000000 439 440 441 442 443 #define RX_PPDU_END_USER_STATS_RXDMA2FW_PMAC0_RING_USED_OFFSET 0x0000000000000008 444 #define RX_PPDU_END_USER_STATS_RXDMA2FW_PMAC0_RING_USED_LSB 50 445 #define RX_PPDU_END_USER_STATS_RXDMA2FW_PMAC0_RING_USED_MSB 50 446 #define RX_PPDU_END_USER_STATS_RXDMA2FW_PMAC0_RING_USED_MASK 0x0004000000000000 447 448 449 450 451 #define RX_PPDU_END_USER_STATS_RXDMA2SW_RING_USED_OFFSET 0x0000000000000008 452 #define RX_PPDU_END_USER_STATS_RXDMA2SW_RING_USED_LSB 51 453 #define RX_PPDU_END_USER_STATS_RXDMA2SW_RING_USED_MSB 51 454 #define RX_PPDU_END_USER_STATS_RXDMA2SW_RING_USED_MASK 0x0008000000000000 455 456 457 458 459 #define RX_PPDU_END_USER_STATS_RXDMA_RELEASE_RING_USED_OFFSET 0x0000000000000008 460 #define RX_PPDU_END_USER_STATS_RXDMA_RELEASE_RING_USED_LSB 52 461 #define RX_PPDU_END_USER_STATS_RXDMA_RELEASE_RING_USED_MSB 52 462 #define RX_PPDU_END_USER_STATS_RXDMA_RELEASE_RING_USED_MASK 0x0010000000000000 463 464 465 466 467 #define RX_PPDU_END_USER_STATS_HT_CONTROL_FIELD_PKT_TYPE_OFFSET 0x0000000000000008 468 #define RX_PPDU_END_USER_STATS_HT_CONTROL_FIELD_PKT_TYPE_LSB 53 469 #define RX_PPDU_END_USER_STATS_HT_CONTROL_FIELD_PKT_TYPE_MSB 56 470 #define RX_PPDU_END_USER_STATS_HT_CONTROL_FIELD_PKT_TYPE_MASK 0x01e0000000000000 471 472 473 474 475 #define RX_PPDU_END_USER_STATS_RXDMA2REO_REMOTE0_RING_USED_OFFSET 0x0000000000000008 476 #define RX_PPDU_END_USER_STATS_RXDMA2REO_REMOTE0_RING_USED_LSB 57 477 #define RX_PPDU_END_USER_STATS_RXDMA2REO_REMOTE0_RING_USED_MSB 57 478 #define RX_PPDU_END_USER_STATS_RXDMA2REO_REMOTE0_RING_USED_MASK 0x0200000000000000 479 480 481 482 483 #define RX_PPDU_END_USER_STATS_RXDMA2REO_REMOTE1_RING_USED_OFFSET 0x0000000000000008 484 #define RX_PPDU_END_USER_STATS_RXDMA2REO_REMOTE1_RING_USED_LSB 58 485 #define RX_PPDU_END_USER_STATS_RXDMA2REO_REMOTE1_RING_USED_MSB 58 486 #define RX_PPDU_END_USER_STATS_RXDMA2REO_REMOTE1_RING_USED_MASK 0x0400000000000000 487 488 489 490 491 #define RX_PPDU_END_USER_STATS_RESERVED_3B_OFFSET 0x0000000000000008 492 #define RX_PPDU_END_USER_STATS_RESERVED_3B_LSB 59 493 #define RX_PPDU_END_USER_STATS_RESERVED_3B_MSB 63 494 #define RX_PPDU_END_USER_STATS_RESERVED_3B_MASK 0xf800000000000000 495 496 497 498 499 #define RX_PPDU_END_USER_STATS_AST_INDEX_OFFSET 0x0000000000000010 500 #define RX_PPDU_END_USER_STATS_AST_INDEX_LSB 0 501 #define RX_PPDU_END_USER_STATS_AST_INDEX_MSB 15 502 #define RX_PPDU_END_USER_STATS_AST_INDEX_MASK 0x000000000000ffff 503 504 505 506 507 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_FIELD_OFFSET 0x0000000000000010 508 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_FIELD_LSB 16 509 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_FIELD_MSB 31 510 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_FIELD_MASK 0x00000000ffff0000 511 512 513 514 515 #define RX_PPDU_END_USER_STATS_FIRST_DATA_SEQ_CTRL_OFFSET 0x0000000000000010 516 #define RX_PPDU_END_USER_STATS_FIRST_DATA_SEQ_CTRL_LSB 32 517 #define RX_PPDU_END_USER_STATS_FIRST_DATA_SEQ_CTRL_MSB 47 518 #define RX_PPDU_END_USER_STATS_FIRST_DATA_SEQ_CTRL_MASK 0x0000ffff00000000 519 520 521 522 523 #define RX_PPDU_END_USER_STATS_QOS_CONTROL_FIELD_OFFSET 0x0000000000000010 524 #define RX_PPDU_END_USER_STATS_QOS_CONTROL_FIELD_LSB 48 525 #define RX_PPDU_END_USER_STATS_QOS_CONTROL_FIELD_MSB 63 526 #define RX_PPDU_END_USER_STATS_QOS_CONTROL_FIELD_MASK 0xffff000000000000 527 528 529 530 531 #define RX_PPDU_END_USER_STATS_HT_CONTROL_FIELD_OFFSET 0x0000000000000018 532 #define RX_PPDU_END_USER_STATS_HT_CONTROL_FIELD_LSB 0 533 #define RX_PPDU_END_USER_STATS_HT_CONTROL_FIELD_MSB 31 534 #define RX_PPDU_END_USER_STATS_HT_CONTROL_FIELD_MASK 0x00000000ffffffff 535 536 537 538 539 #define RX_PPDU_END_USER_STATS_FCS_OK_BITMAP_31_0_OFFSET 0x0000000000000018 540 #define RX_PPDU_END_USER_STATS_FCS_OK_BITMAP_31_0_LSB 32 541 #define RX_PPDU_END_USER_STATS_FCS_OK_BITMAP_31_0_MSB 63 542 #define RX_PPDU_END_USER_STATS_FCS_OK_BITMAP_31_0_MASK 0xffffffff00000000 543 544 545 546 547 #define RX_PPDU_END_USER_STATS_FCS_OK_BITMAP_63_32_OFFSET 0x0000000000000020 548 #define RX_PPDU_END_USER_STATS_FCS_OK_BITMAP_63_32_LSB 0 549 #define RX_PPDU_END_USER_STATS_FCS_OK_BITMAP_63_32_MSB 31 550 #define RX_PPDU_END_USER_STATS_FCS_OK_BITMAP_63_32_MASK 0x00000000ffffffff 551 552 553 554 555 #define RX_PPDU_END_USER_STATS_UDP_MSDU_COUNT_OFFSET 0x0000000000000020 556 #define RX_PPDU_END_USER_STATS_UDP_MSDU_COUNT_LSB 32 557 #define RX_PPDU_END_USER_STATS_UDP_MSDU_COUNT_MSB 47 558 #define RX_PPDU_END_USER_STATS_UDP_MSDU_COUNT_MASK 0x0000ffff00000000 559 560 561 562 563 #define RX_PPDU_END_USER_STATS_TCP_MSDU_COUNT_OFFSET 0x0000000000000020 564 #define RX_PPDU_END_USER_STATS_TCP_MSDU_COUNT_LSB 48 565 #define RX_PPDU_END_USER_STATS_TCP_MSDU_COUNT_MSB 63 566 #define RX_PPDU_END_USER_STATS_TCP_MSDU_COUNT_MASK 0xffff000000000000 567 568 569 570 571 #define RX_PPDU_END_USER_STATS_OTHER_MSDU_COUNT_OFFSET 0x0000000000000028 572 #define RX_PPDU_END_USER_STATS_OTHER_MSDU_COUNT_LSB 0 573 #define RX_PPDU_END_USER_STATS_OTHER_MSDU_COUNT_MSB 15 574 #define RX_PPDU_END_USER_STATS_OTHER_MSDU_COUNT_MASK 0x000000000000ffff 575 576 577 578 579 #define RX_PPDU_END_USER_STATS_TCP_ACK_MSDU_COUNT_OFFSET 0x0000000000000028 580 #define RX_PPDU_END_USER_STATS_TCP_ACK_MSDU_COUNT_LSB 16 581 #define RX_PPDU_END_USER_STATS_TCP_ACK_MSDU_COUNT_MSB 31 582 #define RX_PPDU_END_USER_STATS_TCP_ACK_MSDU_COUNT_MASK 0x00000000ffff0000 583 584 585 586 587 #define RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_OFFSET 0x0000000000000028 588 #define RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_LSB 32 589 #define RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_MSB 63 590 #define RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_MASK 0xffffffff00000000 591 592 593 594 595 #define RX_PPDU_END_USER_STATS_RECEIVED_QOS_DATA_TID_BITMAP_OFFSET 0x0000000000000030 596 #define RX_PPDU_END_USER_STATS_RECEIVED_QOS_DATA_TID_BITMAP_LSB 0 597 #define RX_PPDU_END_USER_STATS_RECEIVED_QOS_DATA_TID_BITMAP_MSB 15 598 #define RX_PPDU_END_USER_STATS_RECEIVED_QOS_DATA_TID_BITMAP_MASK 0x000000000000ffff 599 600 601 602 603 #define RX_PPDU_END_USER_STATS_RECEIVED_QOS_DATA_TID_EOSP_BITMAP_OFFSET 0x0000000000000030 604 #define RX_PPDU_END_USER_STATS_RECEIVED_QOS_DATA_TID_EOSP_BITMAP_LSB 16 605 #define RX_PPDU_END_USER_STATS_RECEIVED_QOS_DATA_TID_EOSP_BITMAP_MSB 31 606 #define RX_PPDU_END_USER_STATS_RECEIVED_QOS_DATA_TID_EOSP_BITMAP_MASK 0x00000000ffff0000 607 608 609 610 611 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID0_OFFSET 0x0000000000000030 612 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID0_LSB 32 613 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID0_MSB 39 614 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID0_MASK 0x000000ff00000000 615 616 617 618 619 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID1_OFFSET 0x0000000000000030 620 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID1_LSB 40 621 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID1_MSB 47 622 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID1_MASK 0x0000ff0000000000 623 624 625 626 627 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID2_OFFSET 0x0000000000000030 628 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID2_LSB 48 629 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID2_MSB 55 630 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID2_MASK 0x00ff000000000000 631 632 633 634 635 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID3_OFFSET 0x0000000000000030 636 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID3_LSB 56 637 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID3_MSB 63 638 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID3_MASK 0xff00000000000000 639 640 641 642 643 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID4_OFFSET 0x0000000000000038 644 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID4_LSB 0 645 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID4_MSB 7 646 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID4_MASK 0x00000000000000ff 647 648 649 650 651 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID5_OFFSET 0x0000000000000038 652 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID5_LSB 8 653 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID5_MSB 15 654 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID5_MASK 0x000000000000ff00 655 656 657 658 659 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID6_OFFSET 0x0000000000000038 660 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID6_LSB 16 661 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID6_MSB 23 662 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID6_MASK 0x0000000000ff0000 663 664 665 666 667 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID7_OFFSET 0x0000000000000038 668 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID7_LSB 24 669 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID7_MSB 31 670 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID7_MASK 0x00000000ff000000 671 672 673 674 675 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID8_OFFSET 0x0000000000000038 676 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID8_LSB 32 677 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID8_MSB 39 678 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID8_MASK 0x000000ff00000000 679 680 681 682 683 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID9_OFFSET 0x0000000000000038 684 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID9_LSB 40 685 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID9_MSB 47 686 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID9_MASK 0x0000ff0000000000 687 688 689 690 691 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID10_OFFSET 0x0000000000000038 692 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID10_LSB 48 693 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID10_MSB 55 694 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID10_MASK 0x00ff000000000000 695 696 697 698 699 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID11_OFFSET 0x0000000000000038 700 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID11_LSB 56 701 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID11_MSB 63 702 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID11_MASK 0xff00000000000000 703 704 705 706 707 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID12_OFFSET 0x0000000000000040 708 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID12_LSB 0 709 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID12_MSB 7 710 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID12_MASK 0x00000000000000ff 711 712 713 714 715 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID13_OFFSET 0x0000000000000040 716 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID13_LSB 8 717 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID13_MSB 15 718 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID13_MASK 0x000000000000ff00 719 720 721 722 723 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID14_OFFSET 0x0000000000000040 724 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID14_LSB 16 725 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID14_MSB 23 726 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID14_MASK 0x0000000000ff0000 727 728 729 730 731 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID15_OFFSET 0x0000000000000040 732 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID15_LSB 24 733 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID15_MSB 31 734 #define RX_PPDU_END_USER_STATS_QOSCTRL_15_8_TID15_MASK 0x00000000ff000000 735 736 737 738 739 #define RX_PPDU_END_USER_STATS_MPDU_OK_BYTE_COUNT_OFFSET 0x0000000000000040 740 #define RX_PPDU_END_USER_STATS_MPDU_OK_BYTE_COUNT_LSB 32 741 #define RX_PPDU_END_USER_STATS_MPDU_OK_BYTE_COUNT_MSB 56 742 #define RX_PPDU_END_USER_STATS_MPDU_OK_BYTE_COUNT_MASK 0x01ffffff00000000 743 744 745 746 747 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_6_0_OFFSET 0x0000000000000040 748 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_6_0_LSB 57 749 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_6_0_MSB 63 750 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_6_0_MASK 0xfe00000000000000 751 752 753 754 755 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_ERR_COUNT_OFFSET 0x0000000000000048 756 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_ERR_COUNT_LSB 0 757 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_ERR_COUNT_MSB 24 758 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_ERR_COUNT_MASK 0x0000000001ffffff 759 760 761 762 763 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_13_7_OFFSET 0x0000000000000048 764 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_13_7_LSB 25 765 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_13_7_MSB 31 766 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_13_7_MASK 0x00000000fe000000 767 768 769 770 771 #define RX_PPDU_END_USER_STATS_MPDU_ERR_BYTE_COUNT_OFFSET 0x0000000000000048 772 #define RX_PPDU_END_USER_STATS_MPDU_ERR_BYTE_COUNT_LSB 32 773 #define RX_PPDU_END_USER_STATS_MPDU_ERR_BYTE_COUNT_MSB 56 774 #define RX_PPDU_END_USER_STATS_MPDU_ERR_BYTE_COUNT_MASK 0x01ffffff00000000 775 776 777 778 779 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_20_14_OFFSET 0x0000000000000048 780 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_20_14_LSB 57 781 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_20_14_MSB 63 782 #define RX_PPDU_END_USER_STATS_AMPDU_DELIM_OK_COUNT_20_14_MASK 0xfe00000000000000 783 784 785 786 787 #define RX_PPDU_END_USER_STATS_NON_CONSECUTIVE_DELIMITER_ERR_OFFSET 0x0000000000000050 788 #define RX_PPDU_END_USER_STATS_NON_CONSECUTIVE_DELIMITER_ERR_LSB 0 789 #define RX_PPDU_END_USER_STATS_NON_CONSECUTIVE_DELIMITER_ERR_MSB 15 790 #define RX_PPDU_END_USER_STATS_NON_CONSECUTIVE_DELIMITER_ERR_MASK 0x000000000000ffff 791 792 793 794 795 #define RX_PPDU_END_USER_STATS_RETRIED_MSDU_COUNT_OFFSET 0x0000000000000050 796 #define RX_PPDU_END_USER_STATS_RETRIED_MSDU_COUNT_LSB 16 797 #define RX_PPDU_END_USER_STATS_RETRIED_MSDU_COUNT_MSB 31 798 #define RX_PPDU_END_USER_STATS_RETRIED_MSDU_COUNT_MASK 0x00000000ffff0000 799 800 801 802 803 #define RX_PPDU_END_USER_STATS_HT_CONTROL_NULL_FIELD_OFFSET 0x0000000000000050 804 #define RX_PPDU_END_USER_STATS_HT_CONTROL_NULL_FIELD_LSB 32 805 #define RX_PPDU_END_USER_STATS_HT_CONTROL_NULL_FIELD_MSB 63 806 #define RX_PPDU_END_USER_STATS_HT_CONTROL_NULL_FIELD_MASK 0xffffffff00000000 807 808 809 810 811 #define RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_EXT_OFFSET 0x0000000000000058 812 #define RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_EXT_LSB 0 813 #define RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_EXT_MSB 31 814 #define RX_PPDU_END_USER_STATS_SW_RESPONSE_REFERENCE_PTR_EXT_MASK 0x00000000ffffffff 815 816 817 818 819 #define RX_PPDU_END_USER_STATS_CORRUPTED_DUE_TO_FIFO_DELAY_OFFSET 0x0000000000000058 820 #define RX_PPDU_END_USER_STATS_CORRUPTED_DUE_TO_FIFO_DELAY_LSB 32 821 #define RX_PPDU_END_USER_STATS_CORRUPTED_DUE_TO_FIFO_DELAY_MSB 32 822 #define RX_PPDU_END_USER_STATS_CORRUPTED_DUE_TO_FIFO_DELAY_MASK 0x0000000100000000 823 824 825 826 827 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_INFO_NULL_VALID_OFFSET 0x0000000000000058 828 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_INFO_NULL_VALID_LSB 33 829 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_INFO_NULL_VALID_MSB 33 830 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_INFO_NULL_VALID_MASK 0x0000000200000000 831 832 833 834 835 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_FIELD_NULL_OFFSET 0x0000000000000058 836 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_FIELD_NULL_LSB 34 837 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_FIELD_NULL_MSB 49 838 #define RX_PPDU_END_USER_STATS_FRAME_CONTROL_FIELD_NULL_MASK 0x0003fffc00000000 839 840 841 842 843 #define RX_PPDU_END_USER_STATS_RETRIED_MPDU_COUNT_OFFSET 0x0000000000000058 844 #define RX_PPDU_END_USER_STATS_RETRIED_MPDU_COUNT_LSB 50 845 #define RX_PPDU_END_USER_STATS_RETRIED_MPDU_COUNT_MSB 60 846 #define RX_PPDU_END_USER_STATS_RETRIED_MPDU_COUNT_MASK 0x1ffc000000000000 847 848 849 850 851 #define RX_PPDU_END_USER_STATS_RESERVED_23A_OFFSET 0x0000000000000058 852 #define RX_PPDU_END_USER_STATS_RESERVED_23A_LSB 61 853 #define RX_PPDU_END_USER_STATS_RESERVED_23A_MSB 63 854 #define RX_PPDU_END_USER_STATS_RESERVED_23A_MASK 0xe000000000000000 855 856 857 858 #endif 859