xref: /wlan-driver/fw-api/hw/qca6290/11ax/v2/reo_update_rx_reo_queue.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
5*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
6*5113495bSYour Name  * above copyright notice and this permission notice appear in all
7*5113495bSYour Name  * copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
17*5113495bSYour Name  */
18*5113495bSYour Name 
19*5113495bSYour Name #ifndef _REO_UPDATE_RX_REO_QUEUE_H_
20*5113495bSYour Name #define _REO_UPDATE_RX_REO_QUEUE_H_
21*5113495bSYour Name #if !defined(__ASSEMBLER__)
22*5113495bSYour Name #endif
23*5113495bSYour Name 
24*5113495bSYour Name #include "uniform_reo_cmd_header.h"
25*5113495bSYour Name 
26*5113495bSYour Name // ################ START SUMMARY #################
27*5113495bSYour Name //
28*5113495bSYour Name //	Dword	Fields
29*5113495bSYour Name //	0	struct uniform_reo_cmd_header cmd_header;
30*5113495bSYour Name //	1	rx_reo_queue_desc_addr_31_0[31:0]
31*5113495bSYour Name //	2	rx_reo_queue_desc_addr_39_32[7:0], update_receive_queue_number[8], update_vld[9], update_associated_link_descriptor_counter[10], update_disable_duplicate_detection[11], update_soft_reorder_enable[12], update_ac[13], update_bar[14], update_rty[15], update_chk_2k_mode[16], update_oor_mode[17], update_ba_window_size[18], update_pn_check_needed[19], update_pn_shall_be_even[20], update_pn_shall_be_uneven[21], update_pn_handling_enable[22], update_pn_size[23], update_ignore_ampdu_flag[24], update_svld[25], update_ssn[26], update_seq_2k_error_detected_flag[27], update_pn_error_detected_flag[28], update_pn_valid[29], update_pn[30], clear_stat_counters[31]
32*5113495bSYour Name //	3	receive_queue_number[15:0], vld[16], associated_link_descriptor_counter[18:17], disable_duplicate_detection[19], soft_reorder_enable[20], ac[22:21], bar[23], rty[24], chk_2k_mode[25], oor_mode[26], pn_check_needed[27], pn_shall_be_even[28], pn_shall_be_uneven[29], pn_handling_enable[30], ignore_ampdu_flag[31]
33*5113495bSYour Name //	4	ba_window_size[7:0], pn_size[9:8], svld[10], ssn[22:11], seq_2k_error_detected_flag[23], pn_error_detected_flag[24], pn_valid[25], flush_from_cache[26], reserved_4a[31:27]
34*5113495bSYour Name //	5	pn_31_0[31:0]
35*5113495bSYour Name //	6	pn_63_32[31:0]
36*5113495bSYour Name //	7	pn_95_64[31:0]
37*5113495bSYour Name //	8	pn_127_96[31:0]
38*5113495bSYour Name //
39*5113495bSYour Name // ################ END SUMMARY #################
40*5113495bSYour Name 
41*5113495bSYour Name #define NUM_OF_DWORDS_REO_UPDATE_RX_REO_QUEUE 9
42*5113495bSYour Name 
43*5113495bSYour Name struct reo_update_rx_reo_queue {
44*5113495bSYour Name     struct            uniform_reo_cmd_header                       cmd_header;
45*5113495bSYour Name              uint32_t rx_reo_queue_desc_addr_31_0     : 32; //[31:0]
46*5113495bSYour Name              uint32_t rx_reo_queue_desc_addr_39_32    :  8, //[7:0]
47*5113495bSYour Name                       update_receive_queue_number     :  1, //[8]
48*5113495bSYour Name                       update_vld                      :  1, //[9]
49*5113495bSYour Name                       update_associated_link_descriptor_counter:  1, //[10]
50*5113495bSYour Name                       update_disable_duplicate_detection:  1, //[11]
51*5113495bSYour Name                       update_soft_reorder_enable      :  1, //[12]
52*5113495bSYour Name                       update_ac                       :  1, //[13]
53*5113495bSYour Name                       update_bar                      :  1, //[14]
54*5113495bSYour Name                       update_rty                      :  1, //[15]
55*5113495bSYour Name                       update_chk_2k_mode              :  1, //[16]
56*5113495bSYour Name                       update_oor_mode                 :  1, //[17]
57*5113495bSYour Name                       update_ba_window_size           :  1, //[18]
58*5113495bSYour Name                       update_pn_check_needed          :  1, //[19]
59*5113495bSYour Name                       update_pn_shall_be_even         :  1, //[20]
60*5113495bSYour Name                       update_pn_shall_be_uneven       :  1, //[21]
61*5113495bSYour Name                       update_pn_handling_enable       :  1, //[22]
62*5113495bSYour Name                       update_pn_size                  :  1, //[23]
63*5113495bSYour Name                       update_ignore_ampdu_flag        :  1, //[24]
64*5113495bSYour Name                       update_svld                     :  1, //[25]
65*5113495bSYour Name                       update_ssn                      :  1, //[26]
66*5113495bSYour Name                       update_seq_2k_error_detected_flag:  1, //[27]
67*5113495bSYour Name                       update_pn_error_detected_flag   :  1, //[28]
68*5113495bSYour Name                       update_pn_valid                 :  1, //[29]
69*5113495bSYour Name                       update_pn                       :  1, //[30]
70*5113495bSYour Name                       clear_stat_counters             :  1; //[31]
71*5113495bSYour Name              uint32_t receive_queue_number            : 16, //[15:0]
72*5113495bSYour Name                       vld                             :  1, //[16]
73*5113495bSYour Name                       associated_link_descriptor_counter:  2, //[18:17]
74*5113495bSYour Name                       disable_duplicate_detection     :  1, //[19]
75*5113495bSYour Name                       soft_reorder_enable             :  1, //[20]
76*5113495bSYour Name                       ac                              :  2, //[22:21]
77*5113495bSYour Name                       bar                             :  1, //[23]
78*5113495bSYour Name                       rty                             :  1, //[24]
79*5113495bSYour Name                       chk_2k_mode                     :  1, //[25]
80*5113495bSYour Name                       oor_mode                        :  1, //[26]
81*5113495bSYour Name                       pn_check_needed                 :  1, //[27]
82*5113495bSYour Name                       pn_shall_be_even                :  1, //[28]
83*5113495bSYour Name                       pn_shall_be_uneven              :  1, //[29]
84*5113495bSYour Name                       pn_handling_enable              :  1, //[30]
85*5113495bSYour Name                       ignore_ampdu_flag               :  1; //[31]
86*5113495bSYour Name              uint32_t ba_window_size                  :  8, //[7:0]
87*5113495bSYour Name                       pn_size                         :  2, //[9:8]
88*5113495bSYour Name                       svld                            :  1, //[10]
89*5113495bSYour Name                       ssn                             : 12, //[22:11]
90*5113495bSYour Name                       seq_2k_error_detected_flag      :  1, //[23]
91*5113495bSYour Name                       pn_error_detected_flag          :  1, //[24]
92*5113495bSYour Name                       pn_valid                        :  1, //[25]
93*5113495bSYour Name                       flush_from_cache                :  1, //[26]
94*5113495bSYour Name                       reserved_4a                     :  5; //[31:27]
95*5113495bSYour Name              uint32_t pn_31_0                         : 32; //[31:0]
96*5113495bSYour Name              uint32_t pn_63_32                        : 32; //[31:0]
97*5113495bSYour Name              uint32_t pn_95_64                        : 32; //[31:0]
98*5113495bSYour Name              uint32_t pn_127_96                       : 32; //[31:0]
99*5113495bSYour Name };
100*5113495bSYour Name 
101*5113495bSYour Name /*
102*5113495bSYour Name 
103*5113495bSYour Name struct uniform_reo_cmd_header cmd_header
104*5113495bSYour Name 
105*5113495bSYour Name 			Consumer: REO
106*5113495bSYour Name 
107*5113495bSYour Name 			Producer: SW
108*5113495bSYour Name 
109*5113495bSYour Name 
110*5113495bSYour Name 
111*5113495bSYour Name 			Details for command execution tracking purposes.
112*5113495bSYour Name 
113*5113495bSYour Name rx_reo_queue_desc_addr_31_0
114*5113495bSYour Name 
115*5113495bSYour Name 			Consumer: REO
116*5113495bSYour Name 
117*5113495bSYour Name 			Producer: SW
118*5113495bSYour Name 
119*5113495bSYour Name 
120*5113495bSYour Name 
121*5113495bSYour Name 			Address (lower 32 bits) of the REO queue descriptor
122*5113495bSYour Name 
123*5113495bSYour Name 			<legal all>
124*5113495bSYour Name 
125*5113495bSYour Name rx_reo_queue_desc_addr_39_32
126*5113495bSYour Name 
127*5113495bSYour Name 			Consumer: REO
128*5113495bSYour Name 
129*5113495bSYour Name 			Producer: SW
130*5113495bSYour Name 
131*5113495bSYour Name 
132*5113495bSYour Name 
133*5113495bSYour Name 			Address (upper 8 bits) of the REO queue descriptor
134*5113495bSYour Name 
135*5113495bSYour Name 			<legal all>
136*5113495bSYour Name 
137*5113495bSYour Name update_receive_queue_number
138*5113495bSYour Name 
139*5113495bSYour Name 			Consumer: REO
140*5113495bSYour Name 
141*5113495bSYour Name 			Producer: SW
142*5113495bSYour Name 
143*5113495bSYour Name 			When set, receive_queue_number from this command will be
144*5113495bSYour Name 			updated in the descriptor.
145*5113495bSYour Name 
146*5113495bSYour Name 			<legal all>
147*5113495bSYour Name 
148*5113495bSYour Name update_vld
149*5113495bSYour Name 
150*5113495bSYour Name 			Consumer: REO
151*5113495bSYour Name 
152*5113495bSYour Name 			Producer: SW
153*5113495bSYour Name 
154*5113495bSYour Name 
155*5113495bSYour Name 
156*5113495bSYour Name 			When clear, REO will NOT update the VLD bit setting. For
157*5113495bSYour Name 			this setting, SW MUST set the Flush_from_cache bit in this
158*5113495bSYour Name 			command.
159*5113495bSYour Name 
160*5113495bSYour Name 
161*5113495bSYour Name 
162*5113495bSYour Name 			When set, VLD from this command will be updated in the
163*5113495bSYour Name 			descriptor.
164*5113495bSYour Name 
165*5113495bSYour Name 			<legal all>
166*5113495bSYour Name 
167*5113495bSYour Name update_associated_link_descriptor_counter
168*5113495bSYour Name 
169*5113495bSYour Name 			Consumer: REO
170*5113495bSYour Name 
171*5113495bSYour Name 			Producer: SW
172*5113495bSYour Name 
173*5113495bSYour Name 			When set, Associated_link_descriptor_counter from this
174*5113495bSYour Name 			command will be updated in the descriptor.
175*5113495bSYour Name 
176*5113495bSYour Name 			<legal all>
177*5113495bSYour Name 
178*5113495bSYour Name update_disable_duplicate_detection
179*5113495bSYour Name 
180*5113495bSYour Name 			Consumer: REO
181*5113495bSYour Name 
182*5113495bSYour Name 			Producer: SW
183*5113495bSYour Name 
184*5113495bSYour Name 			When set, Disable_duplicate_detection from this command
185*5113495bSYour Name 			will be updated in the descriptor.
186*5113495bSYour Name 
187*5113495bSYour Name 			<legal all>
188*5113495bSYour Name 
189*5113495bSYour Name update_soft_reorder_enable
190*5113495bSYour Name 
191*5113495bSYour Name 			Consumer: REO
192*5113495bSYour Name 
193*5113495bSYour Name 			Producer: SW
194*5113495bSYour Name 
195*5113495bSYour Name 			When set, Soft_reorder_enable from this command will be
196*5113495bSYour Name 			updated in the descriptor.
197*5113495bSYour Name 
198*5113495bSYour Name 			<legal all>
199*5113495bSYour Name 
200*5113495bSYour Name update_ac
201*5113495bSYour Name 
202*5113495bSYour Name 			Consumer: REO
203*5113495bSYour Name 
204*5113495bSYour Name 			Producer: SW
205*5113495bSYour Name 
206*5113495bSYour Name 			When set, AC from this command will be updated in the
207*5113495bSYour Name 			descriptor.
208*5113495bSYour Name 
209*5113495bSYour Name 			<legal all>
210*5113495bSYour Name 
211*5113495bSYour Name update_bar
212*5113495bSYour Name 
213*5113495bSYour Name 			Consumer: REO
214*5113495bSYour Name 
215*5113495bSYour Name 			Producer: SW
216*5113495bSYour Name 
217*5113495bSYour Name 			When set, BAR from this command will be updated in the
218*5113495bSYour Name 			descriptor.
219*5113495bSYour Name 
220*5113495bSYour Name 			<legal all>
221*5113495bSYour Name 
222*5113495bSYour Name update_rty
223*5113495bSYour Name 
224*5113495bSYour Name 			Consumer: REO
225*5113495bSYour Name 
226*5113495bSYour Name 			Producer: SW
227*5113495bSYour Name 
228*5113495bSYour Name 			When set, RTY from this command will be updated in the
229*5113495bSYour Name 			descriptor.
230*5113495bSYour Name 
231*5113495bSYour Name 			<legal all>
232*5113495bSYour Name 
233*5113495bSYour Name update_chk_2k_mode
234*5113495bSYour Name 
235*5113495bSYour Name 			Consumer: REO
236*5113495bSYour Name 
237*5113495bSYour Name 			Producer: SW
238*5113495bSYour Name 
239*5113495bSYour Name 			When set, Chk_2k_mode from this command will be updated
240*5113495bSYour Name 			in the descriptor.
241*5113495bSYour Name 
242*5113495bSYour Name 			<legal all>
243*5113495bSYour Name 
244*5113495bSYour Name update_oor_mode
245*5113495bSYour Name 
246*5113495bSYour Name 			Consumer: REO
247*5113495bSYour Name 
248*5113495bSYour Name 			Producer: SW
249*5113495bSYour Name 
250*5113495bSYour Name 			When set, OOR_Mode from this command will be updated in
251*5113495bSYour Name 			the descriptor.
252*5113495bSYour Name 
253*5113495bSYour Name 			<legal all>
254*5113495bSYour Name 
255*5113495bSYour Name update_ba_window_size
256*5113495bSYour Name 
257*5113495bSYour Name 			Consumer: REO
258*5113495bSYour Name 
259*5113495bSYour Name 			Producer: SW
260*5113495bSYour Name 
261*5113495bSYour Name 			When set, BA_window_size from this command will be
262*5113495bSYour Name 			updated in the descriptor.
263*5113495bSYour Name 
264*5113495bSYour Name 			<legal all>
265*5113495bSYour Name 
266*5113495bSYour Name update_pn_check_needed
267*5113495bSYour Name 
268*5113495bSYour Name 			Consumer: REO
269*5113495bSYour Name 
270*5113495bSYour Name 			Producer: SW
271*5113495bSYour Name 
272*5113495bSYour Name 			When set, Pn_check_needed from this command will be
273*5113495bSYour Name 			updated in the descriptor.
274*5113495bSYour Name 
275*5113495bSYour Name 			<legal all>
276*5113495bSYour Name 
277*5113495bSYour Name update_pn_shall_be_even
278*5113495bSYour Name 
279*5113495bSYour Name 			Consumer: REO
280*5113495bSYour Name 
281*5113495bSYour Name 			Producer: SW
282*5113495bSYour Name 
283*5113495bSYour Name 			When set, Pn_shall_be_even from this command will be
284*5113495bSYour Name 			updated in the descriptor.
285*5113495bSYour Name 
286*5113495bSYour Name 			<legal all>
287*5113495bSYour Name 
288*5113495bSYour Name update_pn_shall_be_uneven
289*5113495bSYour Name 
290*5113495bSYour Name 			Consumer: REO
291*5113495bSYour Name 
292*5113495bSYour Name 			Producer: SW
293*5113495bSYour Name 
294*5113495bSYour Name 			When set, Pn_shall_be_uneven from this command will be
295*5113495bSYour Name 			updated in the descriptor.
296*5113495bSYour Name 
297*5113495bSYour Name 			<legal all>
298*5113495bSYour Name 
299*5113495bSYour Name update_pn_handling_enable
300*5113495bSYour Name 
301*5113495bSYour Name 			Consumer: REO
302*5113495bSYour Name 
303*5113495bSYour Name 			Producer: SW
304*5113495bSYour Name 
305*5113495bSYour Name 			When set, Pn_handling_enable from this command will be
306*5113495bSYour Name 			updated in the descriptor.
307*5113495bSYour Name 
308*5113495bSYour Name 			<legal all>
309*5113495bSYour Name 
310*5113495bSYour Name update_pn_size
311*5113495bSYour Name 
312*5113495bSYour Name 			Consumer: REO
313*5113495bSYour Name 
314*5113495bSYour Name 			Producer: SW
315*5113495bSYour Name 
316*5113495bSYour Name 			When set, Pn_size from this command will be updated in
317*5113495bSYour Name 			the descriptor.
318*5113495bSYour Name 
319*5113495bSYour Name 			<legal all>
320*5113495bSYour Name 
321*5113495bSYour Name update_ignore_ampdu_flag
322*5113495bSYour Name 
323*5113495bSYour Name 			Consumer: REO
324*5113495bSYour Name 
325*5113495bSYour Name 			Producer: SW
326*5113495bSYour Name 
327*5113495bSYour Name 			When set, Ignore_ampdu_flag from this command will be
328*5113495bSYour Name 			updated in the descriptor.
329*5113495bSYour Name 
330*5113495bSYour Name 			<legal all>
331*5113495bSYour Name 
332*5113495bSYour Name update_svld
333*5113495bSYour Name 
334*5113495bSYour Name 			Consumer: REO
335*5113495bSYour Name 
336*5113495bSYour Name 			Producer: SW
337*5113495bSYour Name 
338*5113495bSYour Name 			When set, Svld from this command will be updated in the
339*5113495bSYour Name 			descriptor.
340*5113495bSYour Name 
341*5113495bSYour Name 			<legal all>
342*5113495bSYour Name 
343*5113495bSYour Name update_ssn
344*5113495bSYour Name 
345*5113495bSYour Name 			Consumer: REO
346*5113495bSYour Name 
347*5113495bSYour Name 			Producer: SW
348*5113495bSYour Name 
349*5113495bSYour Name 			When set, SSN from this command will be updated in the
350*5113495bSYour Name 			descriptor.
351*5113495bSYour Name 
352*5113495bSYour Name 			<legal all>
353*5113495bSYour Name 
354*5113495bSYour Name update_seq_2k_error_detected_flag
355*5113495bSYour Name 
356*5113495bSYour Name 			Consumer: REO
357*5113495bSYour Name 
358*5113495bSYour Name 			Producer: SW
359*5113495bSYour Name 
360*5113495bSYour Name 			When set, Seq_2k_error_detected_flag from this command
361*5113495bSYour Name 			will be updated in the descriptor.
362*5113495bSYour Name 
363*5113495bSYour Name 			<legal all>
364*5113495bSYour Name 
365*5113495bSYour Name update_pn_error_detected_flag
366*5113495bSYour Name 
367*5113495bSYour Name 			Consumer: REO
368*5113495bSYour Name 
369*5113495bSYour Name 			Producer: SW
370*5113495bSYour Name 
371*5113495bSYour Name 			When set, pn_error_detected_flag from this command will
372*5113495bSYour Name 			be updated in the descriptor.
373*5113495bSYour Name 
374*5113495bSYour Name 			<legal all>
375*5113495bSYour Name 
376*5113495bSYour Name update_pn_valid
377*5113495bSYour Name 
378*5113495bSYour Name 			Consumer: REO
379*5113495bSYour Name 
380*5113495bSYour Name 			Producer: SW
381*5113495bSYour Name 
382*5113495bSYour Name 			When set, pn_valid from this command will be updated in
383*5113495bSYour Name 			the descriptor.
384*5113495bSYour Name 
385*5113495bSYour Name 			<legal all>
386*5113495bSYour Name 
387*5113495bSYour Name update_pn
388*5113495bSYour Name 
389*5113495bSYour Name 			Consumer: REO
390*5113495bSYour Name 
391*5113495bSYour Name 			Producer: SW
392*5113495bSYour Name 
393*5113495bSYour Name 			When set, all pn_... fields from this command will be
394*5113495bSYour Name 			updated in the descriptor.
395*5113495bSYour Name 
396*5113495bSYour Name 			<legal all>
397*5113495bSYour Name 
398*5113495bSYour Name clear_stat_counters
399*5113495bSYour Name 
400*5113495bSYour Name 			Consumer: REO
401*5113495bSYour Name 
402*5113495bSYour Name 			Producer: SW
403*5113495bSYour Name 
404*5113495bSYour Name 			When set, REO will clear (=> set to 0) the following
405*5113495bSYour Name 			stat counters in the REO_QUEUE_STRUCT
406*5113495bSYour Name 
407*5113495bSYour Name 
408*5113495bSYour Name 
409*5113495bSYour Name 			Last_rx_enqueue_TimeStamp
410*5113495bSYour Name 
411*5113495bSYour Name 			Last_rx_dequeue_Timestamp
412*5113495bSYour Name 
413*5113495bSYour Name 			Rx_bitmap (not a counter, but bitmap is cleared)
414*5113495bSYour Name 
415*5113495bSYour Name 			Timeout_count
416*5113495bSYour Name 
417*5113495bSYour Name 			Forward_due_to_bar_count
418*5113495bSYour Name 
419*5113495bSYour Name 			Duplicate_count
420*5113495bSYour Name 
421*5113495bSYour Name 			Frames_in_order_count
422*5113495bSYour Name 
423*5113495bSYour Name 			BAR_received_count
424*5113495bSYour Name 
425*5113495bSYour Name 			MPDU_Frames_processed_count
426*5113495bSYour Name 
427*5113495bSYour Name 			MSDU_Frames_processed_count
428*5113495bSYour Name 
429*5113495bSYour Name 			Total_processed_byte_count
430*5113495bSYour Name 
431*5113495bSYour Name 			Late_receive_MPDU_count
432*5113495bSYour Name 
433*5113495bSYour Name 			window_jump_2k
434*5113495bSYour Name 
435*5113495bSYour Name 			Hole_count
436*5113495bSYour Name 
437*5113495bSYour Name 
438*5113495bSYour Name 
439*5113495bSYour Name 			<legal all>
440*5113495bSYour Name 
441*5113495bSYour Name receive_queue_number
442*5113495bSYour Name 
443*5113495bSYour Name 
444*5113495bSYour Name 
445*5113495bSYour Name 
446*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
447*5113495bSYour Name 			descriptor.
448*5113495bSYour Name 
449*5113495bSYour Name 			<legal all>
450*5113495bSYour Name 
451*5113495bSYour Name vld
452*5113495bSYour Name 
453*5113495bSYour Name 			Field only valid when Update_VLD is set
454*5113495bSYour Name 
455*5113495bSYour Name 
456*5113495bSYour Name 
457*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
458*5113495bSYour Name 			descriptor.
459*5113495bSYour Name 
460*5113495bSYour Name 			<legal all>
461*5113495bSYour Name 
462*5113495bSYour Name associated_link_descriptor_counter
463*5113495bSYour Name 
464*5113495bSYour Name 			Field only valid when
465*5113495bSYour Name 			Update_Associated_link_descriptor_counter is set
466*5113495bSYour Name 
467*5113495bSYour Name 
468*5113495bSYour Name 
469*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
470*5113495bSYour Name 			descriptor.
471*5113495bSYour Name 
472*5113495bSYour Name 			<legal all>
473*5113495bSYour Name 
474*5113495bSYour Name disable_duplicate_detection
475*5113495bSYour Name 
476*5113495bSYour Name 			Field only valid when Update_Disable_duplicate_detection
477*5113495bSYour Name 			is set
478*5113495bSYour Name 
479*5113495bSYour Name 
480*5113495bSYour Name 
481*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
482*5113495bSYour Name 			descriptor.
483*5113495bSYour Name 
484*5113495bSYour Name 			<legal all>
485*5113495bSYour Name 
486*5113495bSYour Name soft_reorder_enable
487*5113495bSYour Name 
488*5113495bSYour Name 			Field only valid when Update_Soft_reorder_enable is set
489*5113495bSYour Name 
490*5113495bSYour Name 
491*5113495bSYour Name 
492*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
493*5113495bSYour Name 			descriptor.
494*5113495bSYour Name 
495*5113495bSYour Name 			<legal all>
496*5113495bSYour Name 
497*5113495bSYour Name ac
498*5113495bSYour Name 
499*5113495bSYour Name 			Field only valid when Update_AC is set
500*5113495bSYour Name 
501*5113495bSYour Name 
502*5113495bSYour Name 
503*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
504*5113495bSYour Name 			descriptor.
505*5113495bSYour Name 
506*5113495bSYour Name 			<legal all>
507*5113495bSYour Name 
508*5113495bSYour Name bar
509*5113495bSYour Name 
510*5113495bSYour Name 			Field only valid when Update_BAR is set
511*5113495bSYour Name 
512*5113495bSYour Name 
513*5113495bSYour Name 
514*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
515*5113495bSYour Name 			descriptor.
516*5113495bSYour Name 
517*5113495bSYour Name 			<legal all>
518*5113495bSYour Name 
519*5113495bSYour Name rty
520*5113495bSYour Name 
521*5113495bSYour Name 			Field only valid when Update_RTY is set
522*5113495bSYour Name 
523*5113495bSYour Name 
524*5113495bSYour Name 
525*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
526*5113495bSYour Name 			descriptor.
527*5113495bSYour Name 
528*5113495bSYour Name 			<legal all>
529*5113495bSYour Name 
530*5113495bSYour Name chk_2k_mode
531*5113495bSYour Name 
532*5113495bSYour Name 			Field only valid when Update_Chk_2k_Mode is set
533*5113495bSYour Name 
534*5113495bSYour Name 
535*5113495bSYour Name 
536*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
537*5113495bSYour Name 			descriptor.
538*5113495bSYour Name 
539*5113495bSYour Name 			<legal all>
540*5113495bSYour Name 
541*5113495bSYour Name oor_mode
542*5113495bSYour Name 
543*5113495bSYour Name 			Field only valid when Update_OOR_Mode is set
544*5113495bSYour Name 
545*5113495bSYour Name 
546*5113495bSYour Name 
547*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
548*5113495bSYour Name 			descriptor.
549*5113495bSYour Name 
550*5113495bSYour Name 			<legal all>
551*5113495bSYour Name 
552*5113495bSYour Name pn_check_needed
553*5113495bSYour Name 
554*5113495bSYour Name 			Field only valid when Update_Pn_check_needed is set
555*5113495bSYour Name 
556*5113495bSYour Name 
557*5113495bSYour Name 
558*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
559*5113495bSYour Name 			descriptor.
560*5113495bSYour Name 
561*5113495bSYour Name 			<legal all>
562*5113495bSYour Name 
563*5113495bSYour Name pn_shall_be_even
564*5113495bSYour Name 
565*5113495bSYour Name 			Field only valid when Update_Pn_shall_be_even is set
566*5113495bSYour Name 
567*5113495bSYour Name 
568*5113495bSYour Name 
569*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
570*5113495bSYour Name 			descriptor.
571*5113495bSYour Name 
572*5113495bSYour Name 			<legal all>
573*5113495bSYour Name 
574*5113495bSYour Name pn_shall_be_uneven
575*5113495bSYour Name 
576*5113495bSYour Name 			Field only valid when Update_Pn_shall_be_uneven is set
577*5113495bSYour Name 
578*5113495bSYour Name 
579*5113495bSYour Name 
580*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
581*5113495bSYour Name 			descriptor.
582*5113495bSYour Name 
583*5113495bSYour Name 			<legal all>
584*5113495bSYour Name 
585*5113495bSYour Name pn_handling_enable
586*5113495bSYour Name 
587*5113495bSYour Name 			Field only valid when Update_Pn_handling_enable is set
588*5113495bSYour Name 
589*5113495bSYour Name 
590*5113495bSYour Name 
591*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
592*5113495bSYour Name 			descriptor.
593*5113495bSYour Name 
594*5113495bSYour Name 			<legal all>
595*5113495bSYour Name 
596*5113495bSYour Name ignore_ampdu_flag
597*5113495bSYour Name 
598*5113495bSYour Name 			Field only valid when Update_Ignore_ampdu_flag is set
599*5113495bSYour Name 
600*5113495bSYour Name 
601*5113495bSYour Name 
602*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
603*5113495bSYour Name 			descriptor.
604*5113495bSYour Name 
605*5113495bSYour Name 			<legal all>
606*5113495bSYour Name 
607*5113495bSYour Name ba_window_size
608*5113495bSYour Name 
609*5113495bSYour Name 			Field only valid when Update_BA_window_size is set
610*5113495bSYour Name 
611*5113495bSYour Name 
612*5113495bSYour Name 
613*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
614*5113495bSYour Name 			descriptor.
615*5113495bSYour Name 
616*5113495bSYour Name 			<legal all>
617*5113495bSYour Name 
618*5113495bSYour Name pn_size
619*5113495bSYour Name 
620*5113495bSYour Name 			Field only valid when Update_Pn_size is set
621*5113495bSYour Name 
622*5113495bSYour Name 
623*5113495bSYour Name 
624*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
625*5113495bSYour Name 			descriptor.
626*5113495bSYour Name 
627*5113495bSYour Name 
628*5113495bSYour Name 
629*5113495bSYour Name 			<enum 0     pn_size_24>
630*5113495bSYour Name 
631*5113495bSYour Name 			<enum 1     pn_size_48>
632*5113495bSYour Name 
633*5113495bSYour Name 			<enum 2     pn_size_128>
634*5113495bSYour Name 
635*5113495bSYour Name 
636*5113495bSYour Name 
637*5113495bSYour Name 			<legal 0-2>
638*5113495bSYour Name 
639*5113495bSYour Name svld
640*5113495bSYour Name 
641*5113495bSYour Name 			Field only valid when Update_Svld is set
642*5113495bSYour Name 
643*5113495bSYour Name 
644*5113495bSYour Name 
645*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
646*5113495bSYour Name 			descriptor.
647*5113495bSYour Name 
648*5113495bSYour Name 			<legal all>
649*5113495bSYour Name 
650*5113495bSYour Name ssn
651*5113495bSYour Name 
652*5113495bSYour Name 			Field only valid when Update_SSN is set
653*5113495bSYour Name 
654*5113495bSYour Name 
655*5113495bSYour Name 
656*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
657*5113495bSYour Name 			descriptor.
658*5113495bSYour Name 
659*5113495bSYour Name 			<legal all>
660*5113495bSYour Name 
661*5113495bSYour Name seq_2k_error_detected_flag
662*5113495bSYour Name 
663*5113495bSYour Name 			Field only valid when Update_Seq_2k_error_detected_flag
664*5113495bSYour Name 			is set
665*5113495bSYour Name 
666*5113495bSYour Name 
667*5113495bSYour Name 
668*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
669*5113495bSYour Name 			descriptor.
670*5113495bSYour Name 
671*5113495bSYour Name 			<legal all>
672*5113495bSYour Name 
673*5113495bSYour Name pn_error_detected_flag
674*5113495bSYour Name 
675*5113495bSYour Name 			Field only valid when Update_pn_error_detected_flag is
676*5113495bSYour Name 			set
677*5113495bSYour Name 
678*5113495bSYour Name 
679*5113495bSYour Name 
680*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
681*5113495bSYour Name 			descriptor.
682*5113495bSYour Name 
683*5113495bSYour Name 			<legal all>
684*5113495bSYour Name 
685*5113495bSYour Name pn_valid
686*5113495bSYour Name 
687*5113495bSYour Name 			Field only valid when Update_pn_valid is set
688*5113495bSYour Name 
689*5113495bSYour Name 
690*5113495bSYour Name 
691*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
692*5113495bSYour Name 			descriptor.
693*5113495bSYour Name 
694*5113495bSYour Name 			<legal all>
695*5113495bSYour Name 
696*5113495bSYour Name flush_from_cache
697*5113495bSYour Name 
698*5113495bSYour Name 			When set, REO shall, after finishing the execution of
699*5113495bSYour Name 			this command, flush the related descriptor from the cache.
700*5113495bSYour Name 
701*5113495bSYour Name 			<legal all>
702*5113495bSYour Name 
703*5113495bSYour Name reserved_4a
704*5113495bSYour Name 
705*5113495bSYour Name 			<legal 0>
706*5113495bSYour Name 
707*5113495bSYour Name pn_31_0
708*5113495bSYour Name 
709*5113495bSYour Name 			Field only valid when Update_Pn is set
710*5113495bSYour Name 
711*5113495bSYour Name 
712*5113495bSYour Name 
713*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
714*5113495bSYour Name 			descriptor.
715*5113495bSYour Name 
716*5113495bSYour Name 			<legal all>
717*5113495bSYour Name 
718*5113495bSYour Name pn_63_32
719*5113495bSYour Name 
720*5113495bSYour Name 			Field only valid when Update_pn is set
721*5113495bSYour Name 
722*5113495bSYour Name 
723*5113495bSYour Name 
724*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
725*5113495bSYour Name 			descriptor.
726*5113495bSYour Name 
727*5113495bSYour Name 			<legal all>
728*5113495bSYour Name 
729*5113495bSYour Name pn_95_64
730*5113495bSYour Name 
731*5113495bSYour Name 			Field only valid when Update_pn is set
732*5113495bSYour Name 
733*5113495bSYour Name 
734*5113495bSYour Name 
735*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
736*5113495bSYour Name 			descriptor.
737*5113495bSYour Name 
738*5113495bSYour Name 			<legal all>
739*5113495bSYour Name 
740*5113495bSYour Name pn_127_96
741*5113495bSYour Name 
742*5113495bSYour Name 			Field only valid when Update_pn is set
743*5113495bSYour Name 
744*5113495bSYour Name 
745*5113495bSYour Name 
746*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
747*5113495bSYour Name 			descriptor.
748*5113495bSYour Name 
749*5113495bSYour Name 			<legal all>
750*5113495bSYour Name */
751*5113495bSYour Name 
752*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_0_UNIFORM_REO_CMD_HEADER_CMD_HEADER_OFFSET 0x00000000
753*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_0_UNIFORM_REO_CMD_HEADER_CMD_HEADER_LSB 0
754*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_0_UNIFORM_REO_CMD_HEADER_CMD_HEADER_MASK 0xffffffff
755*5113495bSYour Name 
756*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0
757*5113495bSYour Name 
758*5113495bSYour Name 			Consumer: REO
759*5113495bSYour Name 
760*5113495bSYour Name 			Producer: SW
761*5113495bSYour Name 
762*5113495bSYour Name 
763*5113495bSYour Name 
764*5113495bSYour Name 			Address (lower 32 bits) of the REO queue descriptor
765*5113495bSYour Name 
766*5113495bSYour Name 			<legal all>
767*5113495bSYour Name */
768*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_OFFSET 0x00000004
769*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_LSB    0
770*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_1_RX_REO_QUEUE_DESC_ADDR_31_0_MASK   0xffffffff
771*5113495bSYour Name 
772*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32
773*5113495bSYour Name 
774*5113495bSYour Name 			Consumer: REO
775*5113495bSYour Name 
776*5113495bSYour Name 			Producer: SW
777*5113495bSYour Name 
778*5113495bSYour Name 
779*5113495bSYour Name 
780*5113495bSYour Name 			Address (upper 8 bits) of the REO queue descriptor
781*5113495bSYour Name 
782*5113495bSYour Name 			<legal all>
783*5113495bSYour Name */
784*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_OFFSET 0x00000008
785*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_LSB   0
786*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_RX_REO_QUEUE_DESC_ADDR_39_32_MASK  0x000000ff
787*5113495bSYour Name 
788*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER
789*5113495bSYour Name 
790*5113495bSYour Name 			Consumer: REO
791*5113495bSYour Name 
792*5113495bSYour Name 			Producer: SW
793*5113495bSYour Name 
794*5113495bSYour Name 			When set, receive_queue_number from this command will be
795*5113495bSYour Name 			updated in the descriptor.
796*5113495bSYour Name 
797*5113495bSYour Name 			<legal all>
798*5113495bSYour Name */
799*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_OFFSET 0x00000008
800*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_LSB    8
801*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RECEIVE_QUEUE_NUMBER_MASK   0x00000100
802*5113495bSYour Name 
803*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD
804*5113495bSYour Name 
805*5113495bSYour Name 			Consumer: REO
806*5113495bSYour Name 
807*5113495bSYour Name 			Producer: SW
808*5113495bSYour Name 
809*5113495bSYour Name 
810*5113495bSYour Name 
811*5113495bSYour Name 			When clear, REO will NOT update the VLD bit setting. For
812*5113495bSYour Name 			this setting, SW MUST set the Flush_from_cache bit in this
813*5113495bSYour Name 			command.
814*5113495bSYour Name 
815*5113495bSYour Name 
816*5113495bSYour Name 
817*5113495bSYour Name 			When set, VLD from this command will be updated in the
818*5113495bSYour Name 			descriptor.
819*5113495bSYour Name 
820*5113495bSYour Name 			<legal all>
821*5113495bSYour Name */
822*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_OFFSET                  0x00000008
823*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_LSB                     9
824*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_VLD_MASK                    0x00000200
825*5113495bSYour Name 
826*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER
827*5113495bSYour Name 
828*5113495bSYour Name 			Consumer: REO
829*5113495bSYour Name 
830*5113495bSYour Name 			Producer: SW
831*5113495bSYour Name 
832*5113495bSYour Name 			When set, Associated_link_descriptor_counter from this
833*5113495bSYour Name 			command will be updated in the descriptor.
834*5113495bSYour Name 
835*5113495bSYour Name 			<legal all>
836*5113495bSYour Name */
837*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_OFFSET 0x00000008
838*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_LSB 10
839*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MASK 0x00000400
840*5113495bSYour Name 
841*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION
842*5113495bSYour Name 
843*5113495bSYour Name 			Consumer: REO
844*5113495bSYour Name 
845*5113495bSYour Name 			Producer: SW
846*5113495bSYour Name 
847*5113495bSYour Name 			When set, Disable_duplicate_detection from this command
848*5113495bSYour Name 			will be updated in the descriptor.
849*5113495bSYour Name 
850*5113495bSYour Name 			<legal all>
851*5113495bSYour Name */
852*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_OFFSET 0x00000008
853*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_LSB 11
854*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_DISABLE_DUPLICATE_DETECTION_MASK 0x00000800
855*5113495bSYour Name 
856*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE
857*5113495bSYour Name 
858*5113495bSYour Name 			Consumer: REO
859*5113495bSYour Name 
860*5113495bSYour Name 			Producer: SW
861*5113495bSYour Name 
862*5113495bSYour Name 			When set, Soft_reorder_enable from this command will be
863*5113495bSYour Name 			updated in the descriptor.
864*5113495bSYour Name 
865*5113495bSYour Name 			<legal all>
866*5113495bSYour Name */
867*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_OFFSET  0x00000008
868*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_LSB     12
869*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SOFT_REORDER_ENABLE_MASK    0x00001000
870*5113495bSYour Name 
871*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC
872*5113495bSYour Name 
873*5113495bSYour Name 			Consumer: REO
874*5113495bSYour Name 
875*5113495bSYour Name 			Producer: SW
876*5113495bSYour Name 
877*5113495bSYour Name 			When set, AC from this command will be updated in the
878*5113495bSYour Name 			descriptor.
879*5113495bSYour Name 
880*5113495bSYour Name 			<legal all>
881*5113495bSYour Name */
882*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_OFFSET                   0x00000008
883*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_LSB                      13
884*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_AC_MASK                     0x00002000
885*5113495bSYour Name 
886*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR
887*5113495bSYour Name 
888*5113495bSYour Name 			Consumer: REO
889*5113495bSYour Name 
890*5113495bSYour Name 			Producer: SW
891*5113495bSYour Name 
892*5113495bSYour Name 			When set, BAR from this command will be updated in the
893*5113495bSYour Name 			descriptor.
894*5113495bSYour Name 
895*5113495bSYour Name 			<legal all>
896*5113495bSYour Name */
897*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_OFFSET                  0x00000008
898*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_LSB                     14
899*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BAR_MASK                    0x00004000
900*5113495bSYour Name 
901*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY
902*5113495bSYour Name 
903*5113495bSYour Name 			Consumer: REO
904*5113495bSYour Name 
905*5113495bSYour Name 			Producer: SW
906*5113495bSYour Name 
907*5113495bSYour Name 			When set, RTY from this command will be updated in the
908*5113495bSYour Name 			descriptor.
909*5113495bSYour Name 
910*5113495bSYour Name 			<legal all>
911*5113495bSYour Name */
912*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_OFFSET                  0x00000008
913*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_LSB                     15
914*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_RTY_MASK                    0x00008000
915*5113495bSYour Name 
916*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE
917*5113495bSYour Name 
918*5113495bSYour Name 			Consumer: REO
919*5113495bSYour Name 
920*5113495bSYour Name 			Producer: SW
921*5113495bSYour Name 
922*5113495bSYour Name 			When set, Chk_2k_mode from this command will be updated
923*5113495bSYour Name 			in the descriptor.
924*5113495bSYour Name 
925*5113495bSYour Name 			<legal all>
926*5113495bSYour Name */
927*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_OFFSET          0x00000008
928*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_LSB             16
929*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_CHK_2K_MODE_MASK            0x00010000
930*5113495bSYour Name 
931*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE
932*5113495bSYour Name 
933*5113495bSYour Name 			Consumer: REO
934*5113495bSYour Name 
935*5113495bSYour Name 			Producer: SW
936*5113495bSYour Name 
937*5113495bSYour Name 			When set, OOR_Mode from this command will be updated in
938*5113495bSYour Name 			the descriptor.
939*5113495bSYour Name 
940*5113495bSYour Name 			<legal all>
941*5113495bSYour Name */
942*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_OFFSET             0x00000008
943*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_LSB                17
944*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_OOR_MODE_MASK               0x00020000
945*5113495bSYour Name 
946*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE
947*5113495bSYour Name 
948*5113495bSYour Name 			Consumer: REO
949*5113495bSYour Name 
950*5113495bSYour Name 			Producer: SW
951*5113495bSYour Name 
952*5113495bSYour Name 			When set, BA_window_size from this command will be
953*5113495bSYour Name 			updated in the descriptor.
954*5113495bSYour Name 
955*5113495bSYour Name 			<legal all>
956*5113495bSYour Name */
957*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_OFFSET       0x00000008
958*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_LSB          18
959*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_BA_WINDOW_SIZE_MASK         0x00040000
960*5113495bSYour Name 
961*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED
962*5113495bSYour Name 
963*5113495bSYour Name 			Consumer: REO
964*5113495bSYour Name 
965*5113495bSYour Name 			Producer: SW
966*5113495bSYour Name 
967*5113495bSYour Name 			When set, Pn_check_needed from this command will be
968*5113495bSYour Name 			updated in the descriptor.
969*5113495bSYour Name 
970*5113495bSYour Name 			<legal all>
971*5113495bSYour Name */
972*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_OFFSET      0x00000008
973*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_LSB         19
974*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_CHECK_NEEDED_MASK        0x00080000
975*5113495bSYour Name 
976*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN
977*5113495bSYour Name 
978*5113495bSYour Name 			Consumer: REO
979*5113495bSYour Name 
980*5113495bSYour Name 			Producer: SW
981*5113495bSYour Name 
982*5113495bSYour Name 			When set, Pn_shall_be_even from this command will be
983*5113495bSYour Name 			updated in the descriptor.
984*5113495bSYour Name 
985*5113495bSYour Name 			<legal all>
986*5113495bSYour Name */
987*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_OFFSET     0x00000008
988*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_LSB        20
989*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_EVEN_MASK       0x00100000
990*5113495bSYour Name 
991*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN
992*5113495bSYour Name 
993*5113495bSYour Name 			Consumer: REO
994*5113495bSYour Name 
995*5113495bSYour Name 			Producer: SW
996*5113495bSYour Name 
997*5113495bSYour Name 			When set, Pn_shall_be_uneven from this command will be
998*5113495bSYour Name 			updated in the descriptor.
999*5113495bSYour Name 
1000*5113495bSYour Name 			<legal all>
1001*5113495bSYour Name */
1002*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_OFFSET   0x00000008
1003*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_LSB      21
1004*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SHALL_BE_UNEVEN_MASK     0x00200000
1005*5113495bSYour Name 
1006*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE
1007*5113495bSYour Name 
1008*5113495bSYour Name 			Consumer: REO
1009*5113495bSYour Name 
1010*5113495bSYour Name 			Producer: SW
1011*5113495bSYour Name 
1012*5113495bSYour Name 			When set, Pn_handling_enable from this command will be
1013*5113495bSYour Name 			updated in the descriptor.
1014*5113495bSYour Name 
1015*5113495bSYour Name 			<legal all>
1016*5113495bSYour Name */
1017*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_OFFSET   0x00000008
1018*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_LSB      22
1019*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_HANDLING_ENABLE_MASK     0x00400000
1020*5113495bSYour Name 
1021*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE
1022*5113495bSYour Name 
1023*5113495bSYour Name 			Consumer: REO
1024*5113495bSYour Name 
1025*5113495bSYour Name 			Producer: SW
1026*5113495bSYour Name 
1027*5113495bSYour Name 			When set, Pn_size from this command will be updated in
1028*5113495bSYour Name 			the descriptor.
1029*5113495bSYour Name 
1030*5113495bSYour Name 			<legal all>
1031*5113495bSYour Name */
1032*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_OFFSET              0x00000008
1033*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_LSB                 23
1034*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_SIZE_MASK                0x00800000
1035*5113495bSYour Name 
1036*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG
1037*5113495bSYour Name 
1038*5113495bSYour Name 			Consumer: REO
1039*5113495bSYour Name 
1040*5113495bSYour Name 			Producer: SW
1041*5113495bSYour Name 
1042*5113495bSYour Name 			When set, Ignore_ampdu_flag from this command will be
1043*5113495bSYour Name 			updated in the descriptor.
1044*5113495bSYour Name 
1045*5113495bSYour Name 			<legal all>
1046*5113495bSYour Name */
1047*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_OFFSET    0x00000008
1048*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_LSB       24
1049*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_IGNORE_AMPDU_FLAG_MASK      0x01000000
1050*5113495bSYour Name 
1051*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD
1052*5113495bSYour Name 
1053*5113495bSYour Name 			Consumer: REO
1054*5113495bSYour Name 
1055*5113495bSYour Name 			Producer: SW
1056*5113495bSYour Name 
1057*5113495bSYour Name 			When set, Svld from this command will be updated in the
1058*5113495bSYour Name 			descriptor.
1059*5113495bSYour Name 
1060*5113495bSYour Name 			<legal all>
1061*5113495bSYour Name */
1062*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_OFFSET                 0x00000008
1063*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_LSB                    25
1064*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SVLD_MASK                   0x02000000
1065*5113495bSYour Name 
1066*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN
1067*5113495bSYour Name 
1068*5113495bSYour Name 			Consumer: REO
1069*5113495bSYour Name 
1070*5113495bSYour Name 			Producer: SW
1071*5113495bSYour Name 
1072*5113495bSYour Name 			When set, SSN from this command will be updated in the
1073*5113495bSYour Name 			descriptor.
1074*5113495bSYour Name 
1075*5113495bSYour Name 			<legal all>
1076*5113495bSYour Name */
1077*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_OFFSET                  0x00000008
1078*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_LSB                     26
1079*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SSN_MASK                    0x04000000
1080*5113495bSYour Name 
1081*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG
1082*5113495bSYour Name 
1083*5113495bSYour Name 			Consumer: REO
1084*5113495bSYour Name 
1085*5113495bSYour Name 			Producer: SW
1086*5113495bSYour Name 
1087*5113495bSYour Name 			When set, Seq_2k_error_detected_flag from this command
1088*5113495bSYour Name 			will be updated in the descriptor.
1089*5113495bSYour Name 
1090*5113495bSYour Name 			<legal all>
1091*5113495bSYour Name */
1092*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_OFFSET 0x00000008
1093*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_LSB 27
1094*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_SEQ_2K_ERROR_DETECTED_FLAG_MASK 0x08000000
1095*5113495bSYour Name 
1096*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG
1097*5113495bSYour Name 
1098*5113495bSYour Name 			Consumer: REO
1099*5113495bSYour Name 
1100*5113495bSYour Name 			Producer: SW
1101*5113495bSYour Name 
1102*5113495bSYour Name 			When set, pn_error_detected_flag from this command will
1103*5113495bSYour Name 			be updated in the descriptor.
1104*5113495bSYour Name 
1105*5113495bSYour Name 			<legal all>
1106*5113495bSYour Name */
1107*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_OFFSET 0x00000008
1108*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_LSB  28
1109*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_ERROR_DETECTED_FLAG_MASK 0x10000000
1110*5113495bSYour Name 
1111*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID
1112*5113495bSYour Name 
1113*5113495bSYour Name 			Consumer: REO
1114*5113495bSYour Name 
1115*5113495bSYour Name 			Producer: SW
1116*5113495bSYour Name 
1117*5113495bSYour Name 			When set, pn_valid from this command will be updated in
1118*5113495bSYour Name 			the descriptor.
1119*5113495bSYour Name 
1120*5113495bSYour Name 			<legal all>
1121*5113495bSYour Name */
1122*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_OFFSET             0x00000008
1123*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_LSB                29
1124*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_VALID_MASK               0x20000000
1125*5113495bSYour Name 
1126*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN
1127*5113495bSYour Name 
1128*5113495bSYour Name 			Consumer: REO
1129*5113495bSYour Name 
1130*5113495bSYour Name 			Producer: SW
1131*5113495bSYour Name 
1132*5113495bSYour Name 			When set, all pn_... fields from this command will be
1133*5113495bSYour Name 			updated in the descriptor.
1134*5113495bSYour Name 
1135*5113495bSYour Name 			<legal all>
1136*5113495bSYour Name */
1137*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_OFFSET                   0x00000008
1138*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_LSB                      30
1139*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_UPDATE_PN_MASK                     0x40000000
1140*5113495bSYour Name 
1141*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS
1142*5113495bSYour Name 
1143*5113495bSYour Name 			Consumer: REO
1144*5113495bSYour Name 
1145*5113495bSYour Name 			Producer: SW
1146*5113495bSYour Name 
1147*5113495bSYour Name 			When set, REO will clear (=> set to 0) the following
1148*5113495bSYour Name 			stat counters in the REO_QUEUE_STRUCT
1149*5113495bSYour Name 
1150*5113495bSYour Name 
1151*5113495bSYour Name 
1152*5113495bSYour Name 			Last_rx_enqueue_TimeStamp
1153*5113495bSYour Name 
1154*5113495bSYour Name 			Last_rx_dequeue_Timestamp
1155*5113495bSYour Name 
1156*5113495bSYour Name 			Rx_bitmap (not a counter, but bitmap is cleared)
1157*5113495bSYour Name 
1158*5113495bSYour Name 			Timeout_count
1159*5113495bSYour Name 
1160*5113495bSYour Name 			Forward_due_to_bar_count
1161*5113495bSYour Name 
1162*5113495bSYour Name 			Duplicate_count
1163*5113495bSYour Name 
1164*5113495bSYour Name 			Frames_in_order_count
1165*5113495bSYour Name 
1166*5113495bSYour Name 			BAR_received_count
1167*5113495bSYour Name 
1168*5113495bSYour Name 			MPDU_Frames_processed_count
1169*5113495bSYour Name 
1170*5113495bSYour Name 			MSDU_Frames_processed_count
1171*5113495bSYour Name 
1172*5113495bSYour Name 			Total_processed_byte_count
1173*5113495bSYour Name 
1174*5113495bSYour Name 			Late_receive_MPDU_count
1175*5113495bSYour Name 
1176*5113495bSYour Name 			window_jump_2k
1177*5113495bSYour Name 
1178*5113495bSYour Name 			Hole_count
1179*5113495bSYour Name 
1180*5113495bSYour Name 
1181*5113495bSYour Name 
1182*5113495bSYour Name 			<legal all>
1183*5113495bSYour Name */
1184*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_OFFSET         0x00000008
1185*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_LSB            31
1186*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_2_CLEAR_STAT_COUNTERS_MASK           0x80000000
1187*5113495bSYour Name 
1188*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER
1189*5113495bSYour Name 
1190*5113495bSYour Name 
1191*5113495bSYour Name 
1192*5113495bSYour Name 
1193*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1194*5113495bSYour Name 			descriptor.
1195*5113495bSYour Name 
1196*5113495bSYour Name 			<legal all>
1197*5113495bSYour Name */
1198*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_OFFSET        0x0000000c
1199*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_LSB           0
1200*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_RECEIVE_QUEUE_NUMBER_MASK          0x0000ffff
1201*5113495bSYour Name 
1202*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_VLD
1203*5113495bSYour Name 
1204*5113495bSYour Name 			Field only valid when Update_VLD is set
1205*5113495bSYour Name 
1206*5113495bSYour Name 
1207*5113495bSYour Name 
1208*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1209*5113495bSYour Name 			descriptor.
1210*5113495bSYour Name 
1211*5113495bSYour Name 			<legal all>
1212*5113495bSYour Name */
1213*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_VLD_OFFSET                         0x0000000c
1214*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_VLD_LSB                            16
1215*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_VLD_MASK                           0x00010000
1216*5113495bSYour Name 
1217*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_ASSOCIATED_LINK_DESCRIPTOR_COUNTER
1218*5113495bSYour Name 
1219*5113495bSYour Name 			Field only valid when
1220*5113495bSYour Name 			Update_Associated_link_descriptor_counter is set
1221*5113495bSYour Name 
1222*5113495bSYour Name 
1223*5113495bSYour Name 
1224*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1225*5113495bSYour Name 			descriptor.
1226*5113495bSYour Name 
1227*5113495bSYour Name 			<legal all>
1228*5113495bSYour Name */
1229*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_OFFSET 0x0000000c
1230*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_LSB 17
1231*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_ASSOCIATED_LINK_DESCRIPTOR_COUNTER_MASK 0x00060000
1232*5113495bSYour Name 
1233*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_DISABLE_DUPLICATE_DETECTION
1234*5113495bSYour Name 
1235*5113495bSYour Name 			Field only valid when Update_Disable_duplicate_detection
1236*5113495bSYour Name 			is set
1237*5113495bSYour Name 
1238*5113495bSYour Name 
1239*5113495bSYour Name 
1240*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1241*5113495bSYour Name 			descriptor.
1242*5113495bSYour Name 
1243*5113495bSYour Name 			<legal all>
1244*5113495bSYour Name */
1245*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_DISABLE_DUPLICATE_DETECTION_OFFSET 0x0000000c
1246*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_DISABLE_DUPLICATE_DETECTION_LSB    19
1247*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_DISABLE_DUPLICATE_DETECTION_MASK   0x00080000
1248*5113495bSYour Name 
1249*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_SOFT_REORDER_ENABLE
1250*5113495bSYour Name 
1251*5113495bSYour Name 			Field only valid when Update_Soft_reorder_enable is set
1252*5113495bSYour Name 
1253*5113495bSYour Name 
1254*5113495bSYour Name 
1255*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1256*5113495bSYour Name 			descriptor.
1257*5113495bSYour Name 
1258*5113495bSYour Name 			<legal all>
1259*5113495bSYour Name */
1260*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_SOFT_REORDER_ENABLE_OFFSET         0x0000000c
1261*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_SOFT_REORDER_ENABLE_LSB            20
1262*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_SOFT_REORDER_ENABLE_MASK           0x00100000
1263*5113495bSYour Name 
1264*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_AC
1265*5113495bSYour Name 
1266*5113495bSYour Name 			Field only valid when Update_AC is set
1267*5113495bSYour Name 
1268*5113495bSYour Name 
1269*5113495bSYour Name 
1270*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1271*5113495bSYour Name 			descriptor.
1272*5113495bSYour Name 
1273*5113495bSYour Name 			<legal all>
1274*5113495bSYour Name */
1275*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_AC_OFFSET                          0x0000000c
1276*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_AC_LSB                             21
1277*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_AC_MASK                            0x00600000
1278*5113495bSYour Name 
1279*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_BAR
1280*5113495bSYour Name 
1281*5113495bSYour Name 			Field only valid when Update_BAR is set
1282*5113495bSYour Name 
1283*5113495bSYour Name 
1284*5113495bSYour Name 
1285*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1286*5113495bSYour Name 			descriptor.
1287*5113495bSYour Name 
1288*5113495bSYour Name 			<legal all>
1289*5113495bSYour Name */
1290*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_BAR_OFFSET                         0x0000000c
1291*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_BAR_LSB                            23
1292*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_BAR_MASK                           0x00800000
1293*5113495bSYour Name 
1294*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_RTY
1295*5113495bSYour Name 
1296*5113495bSYour Name 			Field only valid when Update_RTY is set
1297*5113495bSYour Name 
1298*5113495bSYour Name 
1299*5113495bSYour Name 
1300*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1301*5113495bSYour Name 			descriptor.
1302*5113495bSYour Name 
1303*5113495bSYour Name 			<legal all>
1304*5113495bSYour Name */
1305*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_RTY_OFFSET                         0x0000000c
1306*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_RTY_LSB                            24
1307*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_RTY_MASK                           0x01000000
1308*5113495bSYour Name 
1309*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_CHK_2K_MODE
1310*5113495bSYour Name 
1311*5113495bSYour Name 			Field only valid when Update_Chk_2k_Mode is set
1312*5113495bSYour Name 
1313*5113495bSYour Name 
1314*5113495bSYour Name 
1315*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1316*5113495bSYour Name 			descriptor.
1317*5113495bSYour Name 
1318*5113495bSYour Name 			<legal all>
1319*5113495bSYour Name */
1320*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_CHK_2K_MODE_OFFSET                 0x0000000c
1321*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_CHK_2K_MODE_LSB                    25
1322*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_CHK_2K_MODE_MASK                   0x02000000
1323*5113495bSYour Name 
1324*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_OOR_MODE
1325*5113495bSYour Name 
1326*5113495bSYour Name 			Field only valid when Update_OOR_Mode is set
1327*5113495bSYour Name 
1328*5113495bSYour Name 
1329*5113495bSYour Name 
1330*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1331*5113495bSYour Name 			descriptor.
1332*5113495bSYour Name 
1333*5113495bSYour Name 			<legal all>
1334*5113495bSYour Name */
1335*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_OOR_MODE_OFFSET                    0x0000000c
1336*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_OOR_MODE_LSB                       26
1337*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_OOR_MODE_MASK                      0x04000000
1338*5113495bSYour Name 
1339*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_PN_CHECK_NEEDED
1340*5113495bSYour Name 
1341*5113495bSYour Name 			Field only valid when Update_Pn_check_needed is set
1342*5113495bSYour Name 
1343*5113495bSYour Name 
1344*5113495bSYour Name 
1345*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1346*5113495bSYour Name 			descriptor.
1347*5113495bSYour Name 
1348*5113495bSYour Name 			<legal all>
1349*5113495bSYour Name */
1350*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_CHECK_NEEDED_OFFSET             0x0000000c
1351*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_CHECK_NEEDED_LSB                27
1352*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_CHECK_NEEDED_MASK               0x08000000
1353*5113495bSYour Name 
1354*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_EVEN
1355*5113495bSYour Name 
1356*5113495bSYour Name 			Field only valid when Update_Pn_shall_be_even is set
1357*5113495bSYour Name 
1358*5113495bSYour Name 
1359*5113495bSYour Name 
1360*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1361*5113495bSYour Name 			descriptor.
1362*5113495bSYour Name 
1363*5113495bSYour Name 			<legal all>
1364*5113495bSYour Name */
1365*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_EVEN_OFFSET            0x0000000c
1366*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_EVEN_LSB               28
1367*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_EVEN_MASK              0x10000000
1368*5113495bSYour Name 
1369*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_UNEVEN
1370*5113495bSYour Name 
1371*5113495bSYour Name 			Field only valid when Update_Pn_shall_be_uneven is set
1372*5113495bSYour Name 
1373*5113495bSYour Name 
1374*5113495bSYour Name 
1375*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1376*5113495bSYour Name 			descriptor.
1377*5113495bSYour Name 
1378*5113495bSYour Name 			<legal all>
1379*5113495bSYour Name */
1380*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_UNEVEN_OFFSET          0x0000000c
1381*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_UNEVEN_LSB             29
1382*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_SHALL_BE_UNEVEN_MASK            0x20000000
1383*5113495bSYour Name 
1384*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_PN_HANDLING_ENABLE
1385*5113495bSYour Name 
1386*5113495bSYour Name 			Field only valid when Update_Pn_handling_enable is set
1387*5113495bSYour Name 
1388*5113495bSYour Name 
1389*5113495bSYour Name 
1390*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1391*5113495bSYour Name 			descriptor.
1392*5113495bSYour Name 
1393*5113495bSYour Name 			<legal all>
1394*5113495bSYour Name */
1395*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_HANDLING_ENABLE_OFFSET          0x0000000c
1396*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_HANDLING_ENABLE_LSB             30
1397*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_PN_HANDLING_ENABLE_MASK            0x40000000
1398*5113495bSYour Name 
1399*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_3_IGNORE_AMPDU_FLAG
1400*5113495bSYour Name 
1401*5113495bSYour Name 			Field only valid when Update_Ignore_ampdu_flag is set
1402*5113495bSYour Name 
1403*5113495bSYour Name 
1404*5113495bSYour Name 
1405*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1406*5113495bSYour Name 			descriptor.
1407*5113495bSYour Name 
1408*5113495bSYour Name 			<legal all>
1409*5113495bSYour Name */
1410*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_IGNORE_AMPDU_FLAG_OFFSET           0x0000000c
1411*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_IGNORE_AMPDU_FLAG_LSB              31
1412*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_3_IGNORE_AMPDU_FLAG_MASK             0x80000000
1413*5113495bSYour Name 
1414*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_BA_WINDOW_SIZE
1415*5113495bSYour Name 
1416*5113495bSYour Name 			Field only valid when Update_BA_window_size is set
1417*5113495bSYour Name 
1418*5113495bSYour Name 
1419*5113495bSYour Name 
1420*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1421*5113495bSYour Name 			descriptor.
1422*5113495bSYour Name 
1423*5113495bSYour Name 			<legal all>
1424*5113495bSYour Name */
1425*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_BA_WINDOW_SIZE_OFFSET              0x00000010
1426*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_BA_WINDOW_SIZE_LSB                 0
1427*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_BA_WINDOW_SIZE_MASK                0x000000ff
1428*5113495bSYour Name 
1429*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_PN_SIZE
1430*5113495bSYour Name 
1431*5113495bSYour Name 			Field only valid when Update_Pn_size is set
1432*5113495bSYour Name 
1433*5113495bSYour Name 
1434*5113495bSYour Name 
1435*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1436*5113495bSYour Name 			descriptor.
1437*5113495bSYour Name 
1438*5113495bSYour Name 
1439*5113495bSYour Name 
1440*5113495bSYour Name 			<enum 0     pn_size_24>
1441*5113495bSYour Name 
1442*5113495bSYour Name 			<enum 1     pn_size_48>
1443*5113495bSYour Name 
1444*5113495bSYour Name 			<enum 2     pn_size_128>
1445*5113495bSYour Name 
1446*5113495bSYour Name 
1447*5113495bSYour Name 
1448*5113495bSYour Name 			<legal 0-2>
1449*5113495bSYour Name */
1450*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_SIZE_OFFSET                     0x00000010
1451*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_SIZE_LSB                        8
1452*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_SIZE_MASK                       0x00000300
1453*5113495bSYour Name 
1454*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_SVLD
1455*5113495bSYour Name 
1456*5113495bSYour Name 			Field only valid when Update_Svld is set
1457*5113495bSYour Name 
1458*5113495bSYour Name 
1459*5113495bSYour Name 
1460*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1461*5113495bSYour Name 			descriptor.
1462*5113495bSYour Name 
1463*5113495bSYour Name 			<legal all>
1464*5113495bSYour Name */
1465*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SVLD_OFFSET                        0x00000010
1466*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SVLD_LSB                           10
1467*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SVLD_MASK                          0x00000400
1468*5113495bSYour Name 
1469*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_SSN
1470*5113495bSYour Name 
1471*5113495bSYour Name 			Field only valid when Update_SSN is set
1472*5113495bSYour Name 
1473*5113495bSYour Name 
1474*5113495bSYour Name 
1475*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1476*5113495bSYour Name 			descriptor.
1477*5113495bSYour Name 
1478*5113495bSYour Name 			<legal all>
1479*5113495bSYour Name */
1480*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SSN_OFFSET                         0x00000010
1481*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SSN_LSB                            11
1482*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SSN_MASK                           0x007ff800
1483*5113495bSYour Name 
1484*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_SEQ_2K_ERROR_DETECTED_FLAG
1485*5113495bSYour Name 
1486*5113495bSYour Name 			Field only valid when Update_Seq_2k_error_detected_flag
1487*5113495bSYour Name 			is set
1488*5113495bSYour Name 
1489*5113495bSYour Name 
1490*5113495bSYour Name 
1491*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1492*5113495bSYour Name 			descriptor.
1493*5113495bSYour Name 
1494*5113495bSYour Name 			<legal all>
1495*5113495bSYour Name */
1496*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SEQ_2K_ERROR_DETECTED_FLAG_OFFSET  0x00000010
1497*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SEQ_2K_ERROR_DETECTED_FLAG_LSB     23
1498*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_SEQ_2K_ERROR_DETECTED_FLAG_MASK    0x00800000
1499*5113495bSYour Name 
1500*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_PN_ERROR_DETECTED_FLAG
1501*5113495bSYour Name 
1502*5113495bSYour Name 			Field only valid when Update_pn_error_detected_flag is
1503*5113495bSYour Name 			set
1504*5113495bSYour Name 
1505*5113495bSYour Name 
1506*5113495bSYour Name 
1507*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1508*5113495bSYour Name 			descriptor.
1509*5113495bSYour Name 
1510*5113495bSYour Name 			<legal all>
1511*5113495bSYour Name */
1512*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_ERROR_DETECTED_FLAG_OFFSET      0x00000010
1513*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_ERROR_DETECTED_FLAG_LSB         24
1514*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_ERROR_DETECTED_FLAG_MASK        0x01000000
1515*5113495bSYour Name 
1516*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_PN_VALID
1517*5113495bSYour Name 
1518*5113495bSYour Name 			Field only valid when Update_pn_valid is set
1519*5113495bSYour Name 
1520*5113495bSYour Name 
1521*5113495bSYour Name 
1522*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1523*5113495bSYour Name 			descriptor.
1524*5113495bSYour Name 
1525*5113495bSYour Name 			<legal all>
1526*5113495bSYour Name */
1527*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_VALID_OFFSET                    0x00000010
1528*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_VALID_LSB                       25
1529*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_PN_VALID_MASK                      0x02000000
1530*5113495bSYour Name 
1531*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_FLUSH_FROM_CACHE
1532*5113495bSYour Name 
1533*5113495bSYour Name 			When set, REO shall, after finishing the execution of
1534*5113495bSYour Name 			this command, flush the related descriptor from the cache.
1535*5113495bSYour Name 
1536*5113495bSYour Name 			<legal all>
1537*5113495bSYour Name */
1538*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_FLUSH_FROM_CACHE_OFFSET            0x00000010
1539*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_FLUSH_FROM_CACHE_LSB               26
1540*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_FLUSH_FROM_CACHE_MASK              0x04000000
1541*5113495bSYour Name 
1542*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_4_RESERVED_4A
1543*5113495bSYour Name 
1544*5113495bSYour Name 			<legal 0>
1545*5113495bSYour Name */
1546*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_RESERVED_4A_OFFSET                 0x00000010
1547*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_RESERVED_4A_LSB                    27
1548*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_4_RESERVED_4A_MASK                   0xf8000000
1549*5113495bSYour Name 
1550*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_5_PN_31_0
1551*5113495bSYour Name 
1552*5113495bSYour Name 			Field only valid when Update_Pn is set
1553*5113495bSYour Name 
1554*5113495bSYour Name 
1555*5113495bSYour Name 
1556*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1557*5113495bSYour Name 			descriptor.
1558*5113495bSYour Name 
1559*5113495bSYour Name 			<legal all>
1560*5113495bSYour Name */
1561*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_5_PN_31_0_OFFSET                     0x00000014
1562*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_5_PN_31_0_LSB                        0
1563*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_5_PN_31_0_MASK                       0xffffffff
1564*5113495bSYour Name 
1565*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_6_PN_63_32
1566*5113495bSYour Name 
1567*5113495bSYour Name 			Field only valid when Update_pn is set
1568*5113495bSYour Name 
1569*5113495bSYour Name 
1570*5113495bSYour Name 
1571*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1572*5113495bSYour Name 			descriptor.
1573*5113495bSYour Name 
1574*5113495bSYour Name 			<legal all>
1575*5113495bSYour Name */
1576*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_6_PN_63_32_OFFSET                    0x00000018
1577*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_6_PN_63_32_LSB                       0
1578*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_6_PN_63_32_MASK                      0xffffffff
1579*5113495bSYour Name 
1580*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_7_PN_95_64
1581*5113495bSYour Name 
1582*5113495bSYour Name 			Field only valid when Update_pn is set
1583*5113495bSYour Name 
1584*5113495bSYour Name 
1585*5113495bSYour Name 
1586*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1587*5113495bSYour Name 			descriptor.
1588*5113495bSYour Name 
1589*5113495bSYour Name 			<legal all>
1590*5113495bSYour Name */
1591*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_7_PN_95_64_OFFSET                    0x0000001c
1592*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_7_PN_95_64_LSB                       0
1593*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_7_PN_95_64_MASK                      0xffffffff
1594*5113495bSYour Name 
1595*5113495bSYour Name /* Description		REO_UPDATE_RX_REO_QUEUE_8_PN_127_96
1596*5113495bSYour Name 
1597*5113495bSYour Name 			Field only valid when Update_pn is set
1598*5113495bSYour Name 
1599*5113495bSYour Name 
1600*5113495bSYour Name 
1601*5113495bSYour Name 			Field value to be copied over into the RX_REO_QUEUE
1602*5113495bSYour Name 			descriptor.
1603*5113495bSYour Name 
1604*5113495bSYour Name 			<legal all>
1605*5113495bSYour Name */
1606*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_8_PN_127_96_OFFSET                   0x00000020
1607*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_8_PN_127_96_LSB                      0
1608*5113495bSYour Name #define REO_UPDATE_RX_REO_QUEUE_8_PN_127_96_MASK                     0xffffffff
1609*5113495bSYour Name 
1610*5113495bSYour Name 
1611*5113495bSYour Name #endif // _REO_UPDATE_RX_REO_QUEUE_H_
1612