xref: /wlan-driver/fw-api/hw/peach/v2/rx_reo_queue.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2023-2024 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 #ifndef _RX_REO_QUEUE_H_
19*5113495bSYour Name #define _RX_REO_QUEUE_H_
20*5113495bSYour Name 
21*5113495bSYour Name #include "uniform_descriptor_header.h"
22*5113495bSYour Name #define NUM_OF_DWORDS_RX_REO_QUEUE 32
23*5113495bSYour Name 
24*5113495bSYour Name struct rx_reo_queue {
25*5113495bSYour Name #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
26*5113495bSYour Name              struct   uniform_descriptor_header                                 descriptor_header;
27*5113495bSYour Name              uint32_t receive_queue_number                                    : 16,
28*5113495bSYour Name                       reserved_1b                                             : 16;
29*5113495bSYour Name              uint32_t vld                                                     :  1,
30*5113495bSYour Name                       associated_link_descriptor_counter                      :  2,
31*5113495bSYour Name                       disable_duplicate_detection                             :  1,
32*5113495bSYour Name                       soft_reorder_enable                                     :  1,
33*5113495bSYour Name                       ac                                                      :  2,
34*5113495bSYour Name                       bar                                                     :  1,
35*5113495bSYour Name                       rty                                                     :  1,
36*5113495bSYour Name                       chk_2k_mode                                             :  1,
37*5113495bSYour Name                       oor_mode                                                :  1,
38*5113495bSYour Name                       ba_window_size                                          : 10,
39*5113495bSYour Name                       pn_check_needed                                         :  1,
40*5113495bSYour Name                       pn_shall_be_even                                        :  1,
41*5113495bSYour Name                       pn_shall_be_uneven                                      :  1,
42*5113495bSYour Name                       pn_handling_enable                                      :  1,
43*5113495bSYour Name                       pn_size                                                 :  2,
44*5113495bSYour Name                       ignore_ampdu_flag                                       :  1,
45*5113495bSYour Name                       reserved_2b                                             :  4;
46*5113495bSYour Name              uint32_t svld                                                    :  1,
47*5113495bSYour Name                       ssn                                                     : 12,
48*5113495bSYour Name                       current_index                                           : 10,
49*5113495bSYour Name                       seq_2k_error_detected_flag                              :  1,
50*5113495bSYour Name                       pn_error_detected_flag                                  :  1,
51*5113495bSYour Name                       reserved_3a                                             :  6,
52*5113495bSYour Name                       pn_valid                                                :  1;
53*5113495bSYour Name              uint32_t pn_31_0                                                 : 32;
54*5113495bSYour Name              uint32_t pn_63_32                                                : 32;
55*5113495bSYour Name              uint32_t pn_95_64                                                : 32;
56*5113495bSYour Name              uint32_t pn_127_96                                               : 32;
57*5113495bSYour Name              uint32_t last_rx_enqueue_timestamp                               : 32;
58*5113495bSYour Name              uint32_t last_rx_dequeue_timestamp                               : 32;
59*5113495bSYour Name              uint32_t ptr_to_next_aging_queue_31_0                            : 32;
60*5113495bSYour Name              uint32_t ptr_to_next_aging_queue_39_32                           :  8,
61*5113495bSYour Name                       reserved_11a                                            : 24;
62*5113495bSYour Name              uint32_t ptr_to_previous_aging_queue_31_0                        : 32;
63*5113495bSYour Name              uint32_t ptr_to_previous_aging_queue_39_32                       :  8,
64*5113495bSYour Name                       statistics_counter_index                                :  6,
65*5113495bSYour Name                       reserved_13a                                            : 18;
66*5113495bSYour Name              uint32_t rx_bitmap_31_0                                          : 32;
67*5113495bSYour Name              uint32_t rx_bitmap_63_32                                         : 32;
68*5113495bSYour Name              uint32_t rx_bitmap_95_64                                         : 32;
69*5113495bSYour Name              uint32_t rx_bitmap_127_96                                        : 32;
70*5113495bSYour Name              uint32_t rx_bitmap_159_128                                       : 32;
71*5113495bSYour Name              uint32_t rx_bitmap_191_160                                       : 32;
72*5113495bSYour Name              uint32_t rx_bitmap_223_192                                       : 32;
73*5113495bSYour Name              uint32_t rx_bitmap_255_224                                       : 32;
74*5113495bSYour Name              uint32_t rx_bitmap_287_256                                       : 32;
75*5113495bSYour Name              uint32_t current_mpdu_count                                      :  7,
76*5113495bSYour Name                       current_msdu_count                                      : 25;
77*5113495bSYour Name              uint32_t last_sn_reg_index                                       :  4,
78*5113495bSYour Name                       timeout_count                                           :  6,
79*5113495bSYour Name                       forward_due_to_bar_count                                :  6,
80*5113495bSYour Name                       duplicate_count                                         : 16;
81*5113495bSYour Name              uint32_t frames_in_order_count                                   : 24,
82*5113495bSYour Name                       bar_received_count                                      :  8;
83*5113495bSYour Name              uint32_t mpdu_frames_processed_count                             : 32;
84*5113495bSYour Name              uint32_t msdu_frames_processed_count                             : 32;
85*5113495bSYour Name              uint32_t total_processed_byte_count                              : 32;
86*5113495bSYour Name              uint32_t late_receive_mpdu_count                                 : 12,
87*5113495bSYour Name                       window_jump_2k                                          :  4,
88*5113495bSYour Name                       hole_count                                              : 16;
89*5113495bSYour Name              uint32_t aging_drop_mpdu_count                                   : 16,
90*5113495bSYour Name                       aging_drop_interval                                     :  8,
91*5113495bSYour Name                       reserved_30                                             :  8;
92*5113495bSYour Name              uint32_t reserved_31                                             : 32;
93*5113495bSYour Name #else
94*5113495bSYour Name              struct   uniform_descriptor_header                                 descriptor_header;
95*5113495bSYour Name              uint32_t reserved_1b                                             : 16,
96*5113495bSYour Name                       receive_queue_number                                    : 16;
97*5113495bSYour Name              uint32_t reserved_2b                                             :  4,
98*5113495bSYour Name                       ignore_ampdu_flag                                       :  1,
99*5113495bSYour Name                       pn_size                                                 :  2,
100*5113495bSYour Name                       pn_handling_enable                                      :  1,
101*5113495bSYour Name                       pn_shall_be_uneven                                      :  1,
102*5113495bSYour Name                       pn_shall_be_even                                        :  1,
103*5113495bSYour Name                       pn_check_needed                                         :  1,
104*5113495bSYour Name                       ba_window_size                                          : 10,
105*5113495bSYour Name                       oor_mode                                                :  1,
106*5113495bSYour Name                       chk_2k_mode                                             :  1,
107*5113495bSYour Name                       rty                                                     :  1,
108*5113495bSYour Name                       bar                                                     :  1,
109*5113495bSYour Name                       ac                                                      :  2,
110*5113495bSYour Name                       soft_reorder_enable                                     :  1,
111*5113495bSYour Name                       disable_duplicate_detection                             :  1,
112*5113495bSYour Name                       associated_link_descriptor_counter                      :  2,
113*5113495bSYour Name                       vld                                                     :  1;
114*5113495bSYour Name              uint32_t pn_valid                                                :  1,
115*5113495bSYour Name                       reserved_3a                                             :  6,
116*5113495bSYour Name                       pn_error_detected_flag                                  :  1,
117*5113495bSYour Name                       seq_2k_error_detected_flag                              :  1,
118*5113495bSYour Name                       current_index                                           : 10,
119*5113495bSYour Name                       ssn                                                     : 12,
120*5113495bSYour Name                       svld                                                    :  1;
121*5113495bSYour Name              uint32_t pn_31_0                                                 : 32;
122*5113495bSYour Name              uint32_t pn_63_32                                                : 32;
123*5113495bSYour Name              uint32_t pn_95_64                                                : 32;
124*5113495bSYour Name              uint32_t pn_127_96                                               : 32;
125*5113495bSYour Name              uint32_t last_rx_enqueue_timestamp                               : 32;
126*5113495bSYour Name              uint32_t last_rx_dequeue_timestamp                               : 32;
127*5113495bSYour Name              uint32_t ptr_to_next_aging_queue_31_0                            : 32;
128*5113495bSYour Name              uint32_t reserved_11a                                            : 24,
129*5113495bSYour Name                       ptr_to_next_aging_queue_39_32                           :  8;
130*5113495bSYour Name              uint32_t ptr_to_previous_aging_queue_31_0                        : 32;
131*5113495bSYour Name              uint32_t reserved_13a                                            : 18,
132*5113495bSYour Name                       statistics_counter_index                                :  6,
133*5113495bSYour Name                       ptr_to_previous_aging_queue_39_32                       :  8;
134*5113495bSYour Name              uint32_t rx_bitmap_31_0                                          : 32;
135*5113495bSYour Name              uint32_t rx_bitmap_63_32                                         : 32;
136*5113495bSYour Name              uint32_t rx_bitmap_95_64                                         : 32;
137*5113495bSYour Name              uint32_t rx_bitmap_127_96                                        : 32;
138*5113495bSYour Name              uint32_t rx_bitmap_159_128                                       : 32;
139*5113495bSYour Name              uint32_t rx_bitmap_191_160                                       : 32;
140*5113495bSYour Name              uint32_t rx_bitmap_223_192                                       : 32;
141*5113495bSYour Name              uint32_t rx_bitmap_255_224                                       : 32;
142*5113495bSYour Name              uint32_t rx_bitmap_287_256                                       : 32;
143*5113495bSYour Name              uint32_t current_msdu_count                                      : 25,
144*5113495bSYour Name                       current_mpdu_count                                      :  7;
145*5113495bSYour Name              uint32_t duplicate_count                                         : 16,
146*5113495bSYour Name                       forward_due_to_bar_count                                :  6,
147*5113495bSYour Name                       timeout_count                                           :  6,
148*5113495bSYour Name                       last_sn_reg_index                                       :  4;
149*5113495bSYour Name              uint32_t bar_received_count                                      :  8,
150*5113495bSYour Name                       frames_in_order_count                                   : 24;
151*5113495bSYour Name              uint32_t mpdu_frames_processed_count                             : 32;
152*5113495bSYour Name              uint32_t msdu_frames_processed_count                             : 32;
153*5113495bSYour Name              uint32_t total_processed_byte_count                              : 32;
154*5113495bSYour Name              uint32_t hole_count                                              : 16,
155*5113495bSYour Name                       window_jump_2k                                          :  4,
156*5113495bSYour Name                       late_receive_mpdu_count                                 : 12;
157*5113495bSYour Name              uint32_t reserved_30                                             :  8,
158*5113495bSYour Name                       aging_drop_interval                                     :  8,
159*5113495bSYour Name                       aging_drop_mpdu_count                                   : 16;
160*5113495bSYour Name              uint32_t reserved_31                                             : 32;
161*5113495bSYour Name #endif
162*5113495bSYour Name };
163*5113495bSYour Name 
164*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_OWNER_OFFSET                                 0x00000000
165*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_OWNER_LSB                                    0
166*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_OWNER_MSB                                    3
167*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_OWNER_MASK                                   0x0000000f
168*5113495bSYour Name 
169*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_BUFFER_TYPE_OFFSET                           0x00000000
170*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_BUFFER_TYPE_LSB                              4
171*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_BUFFER_TYPE_MSB                              7
172*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_BUFFER_TYPE_MASK                             0x000000f0
173*5113495bSYour Name 
174*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_TX_MPDU_QUEUE_NUMBER_OFFSET                  0x00000000
175*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_TX_MPDU_QUEUE_NUMBER_LSB                     8
176*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_TX_MPDU_QUEUE_NUMBER_MSB                     27
177*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_TX_MPDU_QUEUE_NUMBER_MASK                    0x0fffff00
178*5113495bSYour Name 
179*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_RESERVED_0A_OFFSET                           0x00000000
180*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_RESERVED_0A_LSB                              28
181*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_RESERVED_0A_MSB                              31
182*5113495bSYour Name #define RX_REO_QUEUE_DESCRIPTOR_HEADER_RESERVED_0A_MASK                             0xf0000000
183*5113495bSYour Name 
184*5113495bSYour Name #define RX_REO_QUEUE_RECEIVE_QUEUE_NUMBER_OFFSET                                    0x00000004
185*5113495bSYour Name #define RX_REO_QUEUE_RECEIVE_QUEUE_NUMBER_LSB                                       0
186*5113495bSYour Name #define RX_REO_QUEUE_RECEIVE_QUEUE_NUMBER_MSB                                       15
187*5113495bSYour Name #define RX_REO_QUEUE_RECEIVE_QUEUE_NUMBER_MASK                                      0x0000ffff
188*5113495bSYour Name 
189*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_1B_OFFSET                                             0x00000004
190*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_1B_LSB                                                16
191*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_1B_MSB                                                31
192*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_1B_MASK                                               0xffff0000
193*5113495bSYour Name 
194*5113495bSYour Name #define RX_REO_QUEUE_VLD_OFFSET                                                     0x00000008
195*5113495bSYour Name #define RX_REO_QUEUE_VLD_LSB                                                        0
196*5113495bSYour Name #define RX_REO_QUEUE_VLD_MSB                                                        0
197*5113495bSYour Name #define RX_REO_QUEUE_VLD_MASK                                                       0x00000001
198*5113495bSYour Name 
199*5113495bSYour Name #define RX_REO_QUEUE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_OFFSET                      0x00000008
200*5113495bSYour Name #define RX_REO_QUEUE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_LSB                         1
201*5113495bSYour Name #define RX_REO_QUEUE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MSB                         2
202*5113495bSYour Name #define RX_REO_QUEUE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MASK                        0x00000006
203*5113495bSYour Name 
204*5113495bSYour Name #define RX_REO_QUEUE_DISABLE_DUPLICATE_DETECTION_OFFSET                             0x00000008
205*5113495bSYour Name #define RX_REO_QUEUE_DISABLE_DUPLICATE_DETECTION_LSB                                3
206*5113495bSYour Name #define RX_REO_QUEUE_DISABLE_DUPLICATE_DETECTION_MSB                                3
207*5113495bSYour Name #define RX_REO_QUEUE_DISABLE_DUPLICATE_DETECTION_MASK                               0x00000008
208*5113495bSYour Name 
209*5113495bSYour Name #define RX_REO_QUEUE_SOFT_REORDER_ENABLE_OFFSET                                     0x00000008
210*5113495bSYour Name #define RX_REO_QUEUE_SOFT_REORDER_ENABLE_LSB                                        4
211*5113495bSYour Name #define RX_REO_QUEUE_SOFT_REORDER_ENABLE_MSB                                        4
212*5113495bSYour Name #define RX_REO_QUEUE_SOFT_REORDER_ENABLE_MASK                                       0x00000010
213*5113495bSYour Name 
214*5113495bSYour Name #define RX_REO_QUEUE_AC_OFFSET                                                      0x00000008
215*5113495bSYour Name #define RX_REO_QUEUE_AC_LSB                                                         5
216*5113495bSYour Name #define RX_REO_QUEUE_AC_MSB                                                         6
217*5113495bSYour Name #define RX_REO_QUEUE_AC_MASK                                                        0x00000060
218*5113495bSYour Name 
219*5113495bSYour Name #define RX_REO_QUEUE_BAR_OFFSET                                                     0x00000008
220*5113495bSYour Name #define RX_REO_QUEUE_BAR_LSB                                                        7
221*5113495bSYour Name #define RX_REO_QUEUE_BAR_MSB                                                        7
222*5113495bSYour Name #define RX_REO_QUEUE_BAR_MASK                                                       0x00000080
223*5113495bSYour Name 
224*5113495bSYour Name #define RX_REO_QUEUE_RTY_OFFSET                                                     0x00000008
225*5113495bSYour Name #define RX_REO_QUEUE_RTY_LSB                                                        8
226*5113495bSYour Name #define RX_REO_QUEUE_RTY_MSB                                                        8
227*5113495bSYour Name #define RX_REO_QUEUE_RTY_MASK                                                       0x00000100
228*5113495bSYour Name 
229*5113495bSYour Name #define RX_REO_QUEUE_CHK_2K_MODE_OFFSET                                             0x00000008
230*5113495bSYour Name #define RX_REO_QUEUE_CHK_2K_MODE_LSB                                                9
231*5113495bSYour Name #define RX_REO_QUEUE_CHK_2K_MODE_MSB                                                9
232*5113495bSYour Name #define RX_REO_QUEUE_CHK_2K_MODE_MASK                                               0x00000200
233*5113495bSYour Name 
234*5113495bSYour Name #define RX_REO_QUEUE_OOR_MODE_OFFSET                                                0x00000008
235*5113495bSYour Name #define RX_REO_QUEUE_OOR_MODE_LSB                                                   10
236*5113495bSYour Name #define RX_REO_QUEUE_OOR_MODE_MSB                                                   10
237*5113495bSYour Name #define RX_REO_QUEUE_OOR_MODE_MASK                                                  0x00000400
238*5113495bSYour Name 
239*5113495bSYour Name #define RX_REO_QUEUE_BA_WINDOW_SIZE_OFFSET                                          0x00000008
240*5113495bSYour Name #define RX_REO_QUEUE_BA_WINDOW_SIZE_LSB                                             11
241*5113495bSYour Name #define RX_REO_QUEUE_BA_WINDOW_SIZE_MSB                                             20
242*5113495bSYour Name #define RX_REO_QUEUE_BA_WINDOW_SIZE_MASK                                            0x001ff800
243*5113495bSYour Name 
244*5113495bSYour Name #define RX_REO_QUEUE_PN_CHECK_NEEDED_OFFSET                                         0x00000008
245*5113495bSYour Name #define RX_REO_QUEUE_PN_CHECK_NEEDED_LSB                                            21
246*5113495bSYour Name #define RX_REO_QUEUE_PN_CHECK_NEEDED_MSB                                            21
247*5113495bSYour Name #define RX_REO_QUEUE_PN_CHECK_NEEDED_MASK                                           0x00200000
248*5113495bSYour Name 
249*5113495bSYour Name #define RX_REO_QUEUE_PN_SHALL_BE_EVEN_OFFSET                                        0x00000008
250*5113495bSYour Name #define RX_REO_QUEUE_PN_SHALL_BE_EVEN_LSB                                           22
251*5113495bSYour Name #define RX_REO_QUEUE_PN_SHALL_BE_EVEN_MSB                                           22
252*5113495bSYour Name #define RX_REO_QUEUE_PN_SHALL_BE_EVEN_MASK                                          0x00400000
253*5113495bSYour Name 
254*5113495bSYour Name #define RX_REO_QUEUE_PN_SHALL_BE_UNEVEN_OFFSET                                      0x00000008
255*5113495bSYour Name #define RX_REO_QUEUE_PN_SHALL_BE_UNEVEN_LSB                                         23
256*5113495bSYour Name #define RX_REO_QUEUE_PN_SHALL_BE_UNEVEN_MSB                                         23
257*5113495bSYour Name #define RX_REO_QUEUE_PN_SHALL_BE_UNEVEN_MASK                                        0x00800000
258*5113495bSYour Name 
259*5113495bSYour Name #define RX_REO_QUEUE_PN_HANDLING_ENABLE_OFFSET                                      0x00000008
260*5113495bSYour Name #define RX_REO_QUEUE_PN_HANDLING_ENABLE_LSB                                         24
261*5113495bSYour Name #define RX_REO_QUEUE_PN_HANDLING_ENABLE_MSB                                         24
262*5113495bSYour Name #define RX_REO_QUEUE_PN_HANDLING_ENABLE_MASK                                        0x01000000
263*5113495bSYour Name 
264*5113495bSYour Name #define RX_REO_QUEUE_PN_SIZE_OFFSET                                                 0x00000008
265*5113495bSYour Name #define RX_REO_QUEUE_PN_SIZE_LSB                                                    25
266*5113495bSYour Name #define RX_REO_QUEUE_PN_SIZE_MSB                                                    26
267*5113495bSYour Name #define RX_REO_QUEUE_PN_SIZE_MASK                                                   0x06000000
268*5113495bSYour Name 
269*5113495bSYour Name #define RX_REO_QUEUE_IGNORE_AMPDU_FLAG_OFFSET                                       0x00000008
270*5113495bSYour Name #define RX_REO_QUEUE_IGNORE_AMPDU_FLAG_LSB                                          27
271*5113495bSYour Name #define RX_REO_QUEUE_IGNORE_AMPDU_FLAG_MSB                                          27
272*5113495bSYour Name #define RX_REO_QUEUE_IGNORE_AMPDU_FLAG_MASK                                         0x08000000
273*5113495bSYour Name 
274*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_2B_OFFSET                                             0x00000008
275*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_2B_LSB                                                28
276*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_2B_MSB                                                31
277*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_2B_MASK                                               0xf0000000
278*5113495bSYour Name 
279*5113495bSYour Name #define RX_REO_QUEUE_SVLD_OFFSET                                                    0x0000000c
280*5113495bSYour Name #define RX_REO_QUEUE_SVLD_LSB                                                       0
281*5113495bSYour Name #define RX_REO_QUEUE_SVLD_MSB                                                       0
282*5113495bSYour Name #define RX_REO_QUEUE_SVLD_MASK                                                      0x00000001
283*5113495bSYour Name 
284*5113495bSYour Name #define RX_REO_QUEUE_SSN_OFFSET                                                     0x0000000c
285*5113495bSYour Name #define RX_REO_QUEUE_SSN_LSB                                                        1
286*5113495bSYour Name #define RX_REO_QUEUE_SSN_MSB                                                        12
287*5113495bSYour Name #define RX_REO_QUEUE_SSN_MASK                                                       0x00001ffe
288*5113495bSYour Name 
289*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_INDEX_OFFSET                                           0x0000000c
290*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_INDEX_LSB                                              13
291*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_INDEX_MSB                                              22
292*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_INDEX_MASK                                             0x007fe000
293*5113495bSYour Name 
294*5113495bSYour Name #define RX_REO_QUEUE_SEQ_2K_ERROR_DETECTED_FLAG_OFFSET                              0x0000000c
295*5113495bSYour Name #define RX_REO_QUEUE_SEQ_2K_ERROR_DETECTED_FLAG_LSB                                 23
296*5113495bSYour Name #define RX_REO_QUEUE_SEQ_2K_ERROR_DETECTED_FLAG_MSB                                 23
297*5113495bSYour Name #define RX_REO_QUEUE_SEQ_2K_ERROR_DETECTED_FLAG_MASK                                0x00800000
298*5113495bSYour Name 
299*5113495bSYour Name #define RX_REO_QUEUE_PN_ERROR_DETECTED_FLAG_OFFSET                                  0x0000000c
300*5113495bSYour Name #define RX_REO_QUEUE_PN_ERROR_DETECTED_FLAG_LSB                                     24
301*5113495bSYour Name #define RX_REO_QUEUE_PN_ERROR_DETECTED_FLAG_MSB                                     24
302*5113495bSYour Name #define RX_REO_QUEUE_PN_ERROR_DETECTED_FLAG_MASK                                    0x01000000
303*5113495bSYour Name 
304*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_3A_OFFSET                                             0x0000000c
305*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_3A_LSB                                                25
306*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_3A_MSB                                                30
307*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_3A_MASK                                               0x7e000000
308*5113495bSYour Name 
309*5113495bSYour Name #define RX_REO_QUEUE_PN_VALID_OFFSET                                                0x0000000c
310*5113495bSYour Name #define RX_REO_QUEUE_PN_VALID_LSB                                                   31
311*5113495bSYour Name #define RX_REO_QUEUE_PN_VALID_MSB                                                   31
312*5113495bSYour Name #define RX_REO_QUEUE_PN_VALID_MASK                                                  0x80000000
313*5113495bSYour Name 
314*5113495bSYour Name #define RX_REO_QUEUE_PN_31_0_OFFSET                                                 0x00000010
315*5113495bSYour Name #define RX_REO_QUEUE_PN_31_0_LSB                                                    0
316*5113495bSYour Name #define RX_REO_QUEUE_PN_31_0_MSB                                                    31
317*5113495bSYour Name #define RX_REO_QUEUE_PN_31_0_MASK                                                   0xffffffff
318*5113495bSYour Name 
319*5113495bSYour Name #define RX_REO_QUEUE_PN_63_32_OFFSET                                                0x00000014
320*5113495bSYour Name #define RX_REO_QUEUE_PN_63_32_LSB                                                   0
321*5113495bSYour Name #define RX_REO_QUEUE_PN_63_32_MSB                                                   31
322*5113495bSYour Name #define RX_REO_QUEUE_PN_63_32_MASK                                                  0xffffffff
323*5113495bSYour Name 
324*5113495bSYour Name #define RX_REO_QUEUE_PN_95_64_OFFSET                                                0x00000018
325*5113495bSYour Name #define RX_REO_QUEUE_PN_95_64_LSB                                                   0
326*5113495bSYour Name #define RX_REO_QUEUE_PN_95_64_MSB                                                   31
327*5113495bSYour Name #define RX_REO_QUEUE_PN_95_64_MASK                                                  0xffffffff
328*5113495bSYour Name 
329*5113495bSYour Name #define RX_REO_QUEUE_PN_127_96_OFFSET                                               0x0000001c
330*5113495bSYour Name #define RX_REO_QUEUE_PN_127_96_LSB                                                  0
331*5113495bSYour Name #define RX_REO_QUEUE_PN_127_96_MSB                                                  31
332*5113495bSYour Name #define RX_REO_QUEUE_PN_127_96_MASK                                                 0xffffffff
333*5113495bSYour Name 
334*5113495bSYour Name #define RX_REO_QUEUE_LAST_RX_ENQUEUE_TIMESTAMP_OFFSET                               0x00000020
335*5113495bSYour Name #define RX_REO_QUEUE_LAST_RX_ENQUEUE_TIMESTAMP_LSB                                  0
336*5113495bSYour Name #define RX_REO_QUEUE_LAST_RX_ENQUEUE_TIMESTAMP_MSB                                  31
337*5113495bSYour Name #define RX_REO_QUEUE_LAST_RX_ENQUEUE_TIMESTAMP_MASK                                 0xffffffff
338*5113495bSYour Name 
339*5113495bSYour Name #define RX_REO_QUEUE_LAST_RX_DEQUEUE_TIMESTAMP_OFFSET                               0x00000024
340*5113495bSYour Name #define RX_REO_QUEUE_LAST_RX_DEQUEUE_TIMESTAMP_LSB                                  0
341*5113495bSYour Name #define RX_REO_QUEUE_LAST_RX_DEQUEUE_TIMESTAMP_MSB                                  31
342*5113495bSYour Name #define RX_REO_QUEUE_LAST_RX_DEQUEUE_TIMESTAMP_MASK                                 0xffffffff
343*5113495bSYour Name 
344*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_NEXT_AGING_QUEUE_31_0_OFFSET                            0x00000028
345*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_NEXT_AGING_QUEUE_31_0_LSB                               0
346*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_NEXT_AGING_QUEUE_31_0_MSB                               31
347*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_NEXT_AGING_QUEUE_31_0_MASK                              0xffffffff
348*5113495bSYour Name 
349*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_NEXT_AGING_QUEUE_39_32_OFFSET                           0x0000002c
350*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_NEXT_AGING_QUEUE_39_32_LSB                              0
351*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_NEXT_AGING_QUEUE_39_32_MSB                              7
352*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_NEXT_AGING_QUEUE_39_32_MASK                             0x000000ff
353*5113495bSYour Name 
354*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_11A_OFFSET                                            0x0000002c
355*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_11A_LSB                                               8
356*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_11A_MSB                                               31
357*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_11A_MASK                                              0xffffff00
358*5113495bSYour Name 
359*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_PREVIOUS_AGING_QUEUE_31_0_OFFSET                        0x00000030
360*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_PREVIOUS_AGING_QUEUE_31_0_LSB                           0
361*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_PREVIOUS_AGING_QUEUE_31_0_MSB                           31
362*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_PREVIOUS_AGING_QUEUE_31_0_MASK                          0xffffffff
363*5113495bSYour Name 
364*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_PREVIOUS_AGING_QUEUE_39_32_OFFSET                       0x00000034
365*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_PREVIOUS_AGING_QUEUE_39_32_LSB                          0
366*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_PREVIOUS_AGING_QUEUE_39_32_MSB                          7
367*5113495bSYour Name #define RX_REO_QUEUE_PTR_TO_PREVIOUS_AGING_QUEUE_39_32_MASK                         0x000000ff
368*5113495bSYour Name 
369*5113495bSYour Name #define RX_REO_QUEUE_STATISTICS_COUNTER_INDEX_OFFSET                                0x00000034
370*5113495bSYour Name #define RX_REO_QUEUE_STATISTICS_COUNTER_INDEX_LSB                                   8
371*5113495bSYour Name #define RX_REO_QUEUE_STATISTICS_COUNTER_INDEX_MSB                                   13
372*5113495bSYour Name #define RX_REO_QUEUE_STATISTICS_COUNTER_INDEX_MASK                                  0x00003f00
373*5113495bSYour Name 
374*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_13A_OFFSET                                            0x00000034
375*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_13A_LSB                                               14
376*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_13A_MSB                                               31
377*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_13A_MASK                                              0xffffc000
378*5113495bSYour Name 
379*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_31_0_OFFSET                                          0x00000038
380*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_31_0_LSB                                             0
381*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_31_0_MSB                                             31
382*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_31_0_MASK                                            0xffffffff
383*5113495bSYour Name 
384*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_63_32_OFFSET                                         0x0000003c
385*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_63_32_LSB                                            0
386*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_63_32_MSB                                            31
387*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_63_32_MASK                                           0xffffffff
388*5113495bSYour Name 
389*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_95_64_OFFSET                                         0x00000040
390*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_95_64_LSB                                            0
391*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_95_64_MSB                                            31
392*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_95_64_MASK                                           0xffffffff
393*5113495bSYour Name 
394*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_127_96_OFFSET                                        0x00000044
395*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_127_96_LSB                                           0
396*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_127_96_MSB                                           31
397*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_127_96_MASK                                          0xffffffff
398*5113495bSYour Name 
399*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_159_128_OFFSET                                       0x00000048
400*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_159_128_LSB                                          0
401*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_159_128_MSB                                          31
402*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_159_128_MASK                                         0xffffffff
403*5113495bSYour Name 
404*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_191_160_OFFSET                                       0x0000004c
405*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_191_160_LSB                                          0
406*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_191_160_MSB                                          31
407*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_191_160_MASK                                         0xffffffff
408*5113495bSYour Name 
409*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_223_192_OFFSET                                       0x00000050
410*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_223_192_LSB                                          0
411*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_223_192_MSB                                          31
412*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_223_192_MASK                                         0xffffffff
413*5113495bSYour Name 
414*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_255_224_OFFSET                                       0x00000054
415*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_255_224_LSB                                          0
416*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_255_224_MSB                                          31
417*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_255_224_MASK                                         0xffffffff
418*5113495bSYour Name 
419*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_287_256_OFFSET                                       0x00000058
420*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_287_256_LSB                                          0
421*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_287_256_MSB                                          31
422*5113495bSYour Name #define RX_REO_QUEUE_RX_BITMAP_287_256_MASK                                         0xffffffff
423*5113495bSYour Name 
424*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_MPDU_COUNT_OFFSET                                      0x0000005c
425*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_MPDU_COUNT_LSB                                         0
426*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_MPDU_COUNT_MSB                                         6
427*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_MPDU_COUNT_MASK                                        0x0000007f
428*5113495bSYour Name 
429*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_MSDU_COUNT_OFFSET                                      0x0000005c
430*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_MSDU_COUNT_LSB                                         7
431*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_MSDU_COUNT_MSB                                         31
432*5113495bSYour Name #define RX_REO_QUEUE_CURRENT_MSDU_COUNT_MASK                                        0xffffff80
433*5113495bSYour Name 
434*5113495bSYour Name #define RX_REO_QUEUE_LAST_SN_REG_INDEX_OFFSET                                       0x00000060
435*5113495bSYour Name #define RX_REO_QUEUE_LAST_SN_REG_INDEX_LSB                                          0
436*5113495bSYour Name #define RX_REO_QUEUE_LAST_SN_REG_INDEX_MSB                                          3
437*5113495bSYour Name #define RX_REO_QUEUE_LAST_SN_REG_INDEX_MASK                                         0x0000000f
438*5113495bSYour Name 
439*5113495bSYour Name #define RX_REO_QUEUE_TIMEOUT_COUNT_OFFSET                                           0x00000060
440*5113495bSYour Name #define RX_REO_QUEUE_TIMEOUT_COUNT_LSB                                              4
441*5113495bSYour Name #define RX_REO_QUEUE_TIMEOUT_COUNT_MSB                                              9
442*5113495bSYour Name #define RX_REO_QUEUE_TIMEOUT_COUNT_MASK                                             0x000003f0
443*5113495bSYour Name 
444*5113495bSYour Name #define RX_REO_QUEUE_FORWARD_DUE_TO_BAR_COUNT_OFFSET                                0x00000060
445*5113495bSYour Name #define RX_REO_QUEUE_FORWARD_DUE_TO_BAR_COUNT_LSB                                   10
446*5113495bSYour Name #define RX_REO_QUEUE_FORWARD_DUE_TO_BAR_COUNT_MSB                                   15
447*5113495bSYour Name #define RX_REO_QUEUE_FORWARD_DUE_TO_BAR_COUNT_MASK                                  0x0000fc00
448*5113495bSYour Name 
449*5113495bSYour Name #define RX_REO_QUEUE_DUPLICATE_COUNT_OFFSET                                         0x00000060
450*5113495bSYour Name #define RX_REO_QUEUE_DUPLICATE_COUNT_LSB                                            16
451*5113495bSYour Name #define RX_REO_QUEUE_DUPLICATE_COUNT_MSB                                            31
452*5113495bSYour Name #define RX_REO_QUEUE_DUPLICATE_COUNT_MASK                                           0xffff0000
453*5113495bSYour Name 
454*5113495bSYour Name #define RX_REO_QUEUE_FRAMES_IN_ORDER_COUNT_OFFSET                                   0x00000064
455*5113495bSYour Name #define RX_REO_QUEUE_FRAMES_IN_ORDER_COUNT_LSB                                      0
456*5113495bSYour Name #define RX_REO_QUEUE_FRAMES_IN_ORDER_COUNT_MSB                                      23
457*5113495bSYour Name #define RX_REO_QUEUE_FRAMES_IN_ORDER_COUNT_MASK                                     0x00ffffff
458*5113495bSYour Name 
459*5113495bSYour Name #define RX_REO_QUEUE_BAR_RECEIVED_COUNT_OFFSET                                      0x00000064
460*5113495bSYour Name #define RX_REO_QUEUE_BAR_RECEIVED_COUNT_LSB                                         24
461*5113495bSYour Name #define RX_REO_QUEUE_BAR_RECEIVED_COUNT_MSB                                         31
462*5113495bSYour Name #define RX_REO_QUEUE_BAR_RECEIVED_COUNT_MASK                                        0xff000000
463*5113495bSYour Name 
464*5113495bSYour Name #define RX_REO_QUEUE_MPDU_FRAMES_PROCESSED_COUNT_OFFSET                             0x00000068
465*5113495bSYour Name #define RX_REO_QUEUE_MPDU_FRAMES_PROCESSED_COUNT_LSB                                0
466*5113495bSYour Name #define RX_REO_QUEUE_MPDU_FRAMES_PROCESSED_COUNT_MSB                                31
467*5113495bSYour Name #define RX_REO_QUEUE_MPDU_FRAMES_PROCESSED_COUNT_MASK                               0xffffffff
468*5113495bSYour Name 
469*5113495bSYour Name #define RX_REO_QUEUE_MSDU_FRAMES_PROCESSED_COUNT_OFFSET                             0x0000006c
470*5113495bSYour Name #define RX_REO_QUEUE_MSDU_FRAMES_PROCESSED_COUNT_LSB                                0
471*5113495bSYour Name #define RX_REO_QUEUE_MSDU_FRAMES_PROCESSED_COUNT_MSB                                31
472*5113495bSYour Name #define RX_REO_QUEUE_MSDU_FRAMES_PROCESSED_COUNT_MASK                               0xffffffff
473*5113495bSYour Name 
474*5113495bSYour Name #define RX_REO_QUEUE_TOTAL_PROCESSED_BYTE_COUNT_OFFSET                              0x00000070
475*5113495bSYour Name #define RX_REO_QUEUE_TOTAL_PROCESSED_BYTE_COUNT_LSB                                 0
476*5113495bSYour Name #define RX_REO_QUEUE_TOTAL_PROCESSED_BYTE_COUNT_MSB                                 31
477*5113495bSYour Name #define RX_REO_QUEUE_TOTAL_PROCESSED_BYTE_COUNT_MASK                                0xffffffff
478*5113495bSYour Name 
479*5113495bSYour Name #define RX_REO_QUEUE_LATE_RECEIVE_MPDU_COUNT_OFFSET                                 0x00000074
480*5113495bSYour Name #define RX_REO_QUEUE_LATE_RECEIVE_MPDU_COUNT_LSB                                    0
481*5113495bSYour Name #define RX_REO_QUEUE_LATE_RECEIVE_MPDU_COUNT_MSB                                    11
482*5113495bSYour Name #define RX_REO_QUEUE_LATE_RECEIVE_MPDU_COUNT_MASK                                   0x00000fff
483*5113495bSYour Name 
484*5113495bSYour Name #define RX_REO_QUEUE_WINDOW_JUMP_2K_OFFSET                                          0x00000074
485*5113495bSYour Name #define RX_REO_QUEUE_WINDOW_JUMP_2K_LSB                                             12
486*5113495bSYour Name #define RX_REO_QUEUE_WINDOW_JUMP_2K_MSB                                             15
487*5113495bSYour Name #define RX_REO_QUEUE_WINDOW_JUMP_2K_MASK                                            0x0000f000
488*5113495bSYour Name 
489*5113495bSYour Name #define RX_REO_QUEUE_HOLE_COUNT_OFFSET                                              0x00000074
490*5113495bSYour Name #define RX_REO_QUEUE_HOLE_COUNT_LSB                                                 16
491*5113495bSYour Name #define RX_REO_QUEUE_HOLE_COUNT_MSB                                                 31
492*5113495bSYour Name #define RX_REO_QUEUE_HOLE_COUNT_MASK                                                0xffff0000
493*5113495bSYour Name 
494*5113495bSYour Name #define RX_REO_QUEUE_AGING_DROP_MPDU_COUNT_OFFSET                                   0x00000078
495*5113495bSYour Name #define RX_REO_QUEUE_AGING_DROP_MPDU_COUNT_LSB                                      0
496*5113495bSYour Name #define RX_REO_QUEUE_AGING_DROP_MPDU_COUNT_MSB                                      15
497*5113495bSYour Name #define RX_REO_QUEUE_AGING_DROP_MPDU_COUNT_MASK                                     0x0000ffff
498*5113495bSYour Name 
499*5113495bSYour Name #define RX_REO_QUEUE_AGING_DROP_INTERVAL_OFFSET                                     0x00000078
500*5113495bSYour Name #define RX_REO_QUEUE_AGING_DROP_INTERVAL_LSB                                        16
501*5113495bSYour Name #define RX_REO_QUEUE_AGING_DROP_INTERVAL_MSB                                        23
502*5113495bSYour Name #define RX_REO_QUEUE_AGING_DROP_INTERVAL_MASK                                       0x00ff0000
503*5113495bSYour Name 
504*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_30_OFFSET                                             0x00000078
505*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_30_LSB                                                24
506*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_30_MSB                                                31
507*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_30_MASK                                               0xff000000
508*5113495bSYour Name 
509*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_31_OFFSET                                             0x0000007c
510*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_31_LSB                                                0
511*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_31_MSB                                                31
512*5113495bSYour Name #define RX_REO_QUEUE_RESERVED_31_MASK                                               0xffffffff
513*5113495bSYour Name 
514*5113495bSYour Name #endif
515