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