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