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