xref: /wlan-driver/fw-api/hw/qca6290/v2/rx_reo_queue_ext.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 //
20 // DO NOT EDIT!  This file is automatically generated
21 //               These definitions are tied to a particular hardware layout
22 
23 
24 #ifndef _RX_REO_QUEUE_EXT_H_
25 #define _RX_REO_QUEUE_EXT_H_
26 #if !defined(__ASSEMBLER__)
27 #endif
28 
29 #include "uniform_descriptor_header.h"
30 #include "rx_mpdu_link_ptr.h"
31 
32 // ################ START SUMMARY #################
33 //
34 //	Dword	Fields
35 //	0	struct uniform_descriptor_header descriptor_header;
36 //	1	reserved_1a[31:0]
37 //	2-3	struct rx_mpdu_link_ptr mpdu_link_pointer_0;
38 //	4-5	struct rx_mpdu_link_ptr mpdu_link_pointer_1;
39 //	6-7	struct rx_mpdu_link_ptr mpdu_link_pointer_2;
40 //	8-9	struct rx_mpdu_link_ptr mpdu_link_pointer_3;
41 //	10-11	struct rx_mpdu_link_ptr mpdu_link_pointer_4;
42 //	12-13	struct rx_mpdu_link_ptr mpdu_link_pointer_5;
43 //	14-15	struct rx_mpdu_link_ptr mpdu_link_pointer_6;
44 //	16-17	struct rx_mpdu_link_ptr mpdu_link_pointer_7;
45 //	18-19	struct rx_mpdu_link_ptr mpdu_link_pointer_8;
46 //	20-21	struct rx_mpdu_link_ptr mpdu_link_pointer_9;
47 //	22-23	struct rx_mpdu_link_ptr mpdu_link_pointer_10;
48 //	24-25	struct rx_mpdu_link_ptr mpdu_link_pointer_11;
49 //	26-27	struct rx_mpdu_link_ptr mpdu_link_pointer_12;
50 //	28-29	struct rx_mpdu_link_ptr mpdu_link_pointer_13;
51 //	30-31	struct rx_mpdu_link_ptr mpdu_link_pointer_14;
52 //
53 // ################ END SUMMARY #################
54 
55 #define NUM_OF_DWORDS_RX_REO_QUEUE_EXT 32
56 
57 struct rx_reo_queue_ext {
58     struct            uniform_descriptor_header                       descriptor_header;
59              uint32_t reserved_1a                     : 32; //[31:0]
60     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_0;
61     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_1;
62     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_2;
63     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_3;
64     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_4;
65     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_5;
66     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_6;
67     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_7;
68     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_8;
69     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_9;
70     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_10;
71     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_11;
72     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_12;
73     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_13;
74     struct            rx_mpdu_link_ptr                       mpdu_link_pointer_14;
75 };
76 
77 /*
78 
79 struct uniform_descriptor_header descriptor_header
80 
81 			Details about which module owns this struct.
82 
83 			Note that sub field Buffer_type shall be set to
84 			Receive_REO_queue_ext_descriptor
85 
86 reserved_1a
87 
88 			<legal 0>
89 
90 struct rx_mpdu_link_ptr mpdu_link_pointer_0
91 
92 			Consumer: REO
93 
94 			Producer: REO
95 
96 
97 
98 			Pointer to the next MPDU_link descriptor in the MPDU
99 			queue
100 
101 struct rx_mpdu_link_ptr mpdu_link_pointer_1
102 
103 			Consumer: REO
104 
105 			Producer: REO
106 
107 
108 
109 			Pointer to the next MPDU_link descriptor in the MPDU
110 			queue
111 
112 struct rx_mpdu_link_ptr mpdu_link_pointer_2
113 
114 			Consumer: REO
115 
116 			Producer: REO
117 
118 
119 
120 			Pointer to the next MPDU_link descriptor in the MPDU
121 			queue
122 
123 struct rx_mpdu_link_ptr mpdu_link_pointer_3
124 
125 			Consumer: REO
126 
127 			Producer: REO
128 
129 
130 
131 			Pointer to the next MPDU_link descriptor in the MPDU
132 			queue
133 
134 struct rx_mpdu_link_ptr mpdu_link_pointer_4
135 
136 			Consumer: REO
137 
138 			Producer: REO
139 
140 
141 
142 			Pointer to the next MPDU_link descriptor in the MPDU
143 			queue
144 
145 struct rx_mpdu_link_ptr mpdu_link_pointer_5
146 
147 			Consumer: REO
148 
149 			Producer: REO
150 
151 
152 
153 			Pointer to the next MPDU_link descriptor in the MPDU
154 			queue
155 
156 struct rx_mpdu_link_ptr mpdu_link_pointer_6
157 
158 			Consumer: REO
159 
160 			Producer: REO
161 
162 
163 
164 			Pointer to the next MPDU_link descriptor in the MPDU
165 			queue
166 
167 struct rx_mpdu_link_ptr mpdu_link_pointer_7
168 
169 			Consumer: REO
170 
171 			Producer: REO
172 
173 
174 
175 			Pointer to the next MPDU_link descriptor in the MPDU
176 			queue
177 
178 struct rx_mpdu_link_ptr mpdu_link_pointer_8
179 
180 			Consumer: REO
181 
182 			Producer: REO
183 
184 
185 
186 			Pointer to the next MPDU_link descriptor in the MPDU
187 			queue
188 
189 struct rx_mpdu_link_ptr mpdu_link_pointer_9
190 
191 			Consumer: REO
192 
193 			Producer: REO
194 
195 
196 
197 			Pointer to the next MPDU_link descriptor in the MPDU
198 			queue
199 
200 struct rx_mpdu_link_ptr mpdu_link_pointer_10
201 
202 			Consumer: REO
203 
204 			Producer: REO
205 
206 
207 
208 			Pointer to the next MPDU_link descriptor in the MPDU
209 			queue
210 
211 struct rx_mpdu_link_ptr mpdu_link_pointer_11
212 
213 			Consumer: REO
214 
215 			Producer: REO
216 
217 
218 
219 			Pointer to the next MPDU_link descriptor in the MPDU
220 			queue
221 
222 struct rx_mpdu_link_ptr mpdu_link_pointer_12
223 
224 			Consumer: REO
225 
226 			Producer: REO
227 
228 
229 
230 			Pointer to the next MPDU_link descriptor in the MPDU
231 			queue
232 
233 struct rx_mpdu_link_ptr mpdu_link_pointer_13
234 
235 			Consumer: REO
236 
237 			Producer: REO
238 
239 
240 
241 			Pointer to the next MPDU_link descriptor in the MPDU
242 			queue
243 
244 struct rx_mpdu_link_ptr mpdu_link_pointer_14
245 
246 			Consumer: REO
247 
248 			Producer: REO
249 
250 
251 
252 			Pointer to the next MPDU_link descriptor in the MPDU
253 			queue
254 */
255 
256 #define RX_REO_QUEUE_EXT_0_UNIFORM_DESCRIPTOR_HEADER_DESCRIPTOR_HEADER_OFFSET 0x00000000
257 #define RX_REO_QUEUE_EXT_0_UNIFORM_DESCRIPTOR_HEADER_DESCRIPTOR_HEADER_LSB 0
258 #define RX_REO_QUEUE_EXT_0_UNIFORM_DESCRIPTOR_HEADER_DESCRIPTOR_HEADER_MASK 0xffffffff
259 
260 /* Description		RX_REO_QUEUE_EXT_1_RESERVED_1A
261 
262 			<legal 0>
263 */
264 #define RX_REO_QUEUE_EXT_1_RESERVED_1A_OFFSET                        0x00000004
265 #define RX_REO_QUEUE_EXT_1_RESERVED_1A_LSB                           0
266 #define RX_REO_QUEUE_EXT_1_RESERVED_1A_MASK                          0xffffffff
267 #define RX_REO_QUEUE_EXT_2_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_0_OFFSET 0x00000008
268 #define RX_REO_QUEUE_EXT_2_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_0_LSB  0
269 #define RX_REO_QUEUE_EXT_2_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_0_MASK 0xffffffff
270 #define RX_REO_QUEUE_EXT_3_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_0_OFFSET 0x0000000c
271 #define RX_REO_QUEUE_EXT_3_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_0_LSB  0
272 #define RX_REO_QUEUE_EXT_3_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_0_MASK 0xffffffff
273 #define RX_REO_QUEUE_EXT_4_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_1_OFFSET 0x00000010
274 #define RX_REO_QUEUE_EXT_4_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_1_LSB  0
275 #define RX_REO_QUEUE_EXT_4_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_1_MASK 0xffffffff
276 #define RX_REO_QUEUE_EXT_5_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_1_OFFSET 0x00000014
277 #define RX_REO_QUEUE_EXT_5_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_1_LSB  0
278 #define RX_REO_QUEUE_EXT_5_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_1_MASK 0xffffffff
279 #define RX_REO_QUEUE_EXT_6_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_2_OFFSET 0x00000018
280 #define RX_REO_QUEUE_EXT_6_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_2_LSB  0
281 #define RX_REO_QUEUE_EXT_6_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_2_MASK 0xffffffff
282 #define RX_REO_QUEUE_EXT_7_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_2_OFFSET 0x0000001c
283 #define RX_REO_QUEUE_EXT_7_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_2_LSB  0
284 #define RX_REO_QUEUE_EXT_7_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_2_MASK 0xffffffff
285 #define RX_REO_QUEUE_EXT_8_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_3_OFFSET 0x00000020
286 #define RX_REO_QUEUE_EXT_8_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_3_LSB  0
287 #define RX_REO_QUEUE_EXT_8_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_3_MASK 0xffffffff
288 #define RX_REO_QUEUE_EXT_9_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_3_OFFSET 0x00000024
289 #define RX_REO_QUEUE_EXT_9_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_3_LSB  0
290 #define RX_REO_QUEUE_EXT_9_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_3_MASK 0xffffffff
291 #define RX_REO_QUEUE_EXT_10_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_4_OFFSET 0x00000028
292 #define RX_REO_QUEUE_EXT_10_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_4_LSB 0
293 #define RX_REO_QUEUE_EXT_10_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_4_MASK 0xffffffff
294 #define RX_REO_QUEUE_EXT_11_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_4_OFFSET 0x0000002c
295 #define RX_REO_QUEUE_EXT_11_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_4_LSB 0
296 #define RX_REO_QUEUE_EXT_11_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_4_MASK 0xffffffff
297 #define RX_REO_QUEUE_EXT_12_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_5_OFFSET 0x00000030
298 #define RX_REO_QUEUE_EXT_12_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_5_LSB 0
299 #define RX_REO_QUEUE_EXT_12_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_5_MASK 0xffffffff
300 #define RX_REO_QUEUE_EXT_13_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_5_OFFSET 0x00000034
301 #define RX_REO_QUEUE_EXT_13_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_5_LSB 0
302 #define RX_REO_QUEUE_EXT_13_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_5_MASK 0xffffffff
303 #define RX_REO_QUEUE_EXT_14_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_6_OFFSET 0x00000038
304 #define RX_REO_QUEUE_EXT_14_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_6_LSB 0
305 #define RX_REO_QUEUE_EXT_14_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_6_MASK 0xffffffff
306 #define RX_REO_QUEUE_EXT_15_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_6_OFFSET 0x0000003c
307 #define RX_REO_QUEUE_EXT_15_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_6_LSB 0
308 #define RX_REO_QUEUE_EXT_15_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_6_MASK 0xffffffff
309 #define RX_REO_QUEUE_EXT_16_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_7_OFFSET 0x00000040
310 #define RX_REO_QUEUE_EXT_16_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_7_LSB 0
311 #define RX_REO_QUEUE_EXT_16_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_7_MASK 0xffffffff
312 #define RX_REO_QUEUE_EXT_17_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_7_OFFSET 0x00000044
313 #define RX_REO_QUEUE_EXT_17_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_7_LSB 0
314 #define RX_REO_QUEUE_EXT_17_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_7_MASK 0xffffffff
315 #define RX_REO_QUEUE_EXT_18_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_8_OFFSET 0x00000048
316 #define RX_REO_QUEUE_EXT_18_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_8_LSB 0
317 #define RX_REO_QUEUE_EXT_18_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_8_MASK 0xffffffff
318 #define RX_REO_QUEUE_EXT_19_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_8_OFFSET 0x0000004c
319 #define RX_REO_QUEUE_EXT_19_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_8_LSB 0
320 #define RX_REO_QUEUE_EXT_19_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_8_MASK 0xffffffff
321 #define RX_REO_QUEUE_EXT_20_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_9_OFFSET 0x00000050
322 #define RX_REO_QUEUE_EXT_20_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_9_LSB 0
323 #define RX_REO_QUEUE_EXT_20_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_9_MASK 0xffffffff
324 #define RX_REO_QUEUE_EXT_21_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_9_OFFSET 0x00000054
325 #define RX_REO_QUEUE_EXT_21_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_9_LSB 0
326 #define RX_REO_QUEUE_EXT_21_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_9_MASK 0xffffffff
327 #define RX_REO_QUEUE_EXT_22_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_10_OFFSET 0x00000058
328 #define RX_REO_QUEUE_EXT_22_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_10_LSB 0
329 #define RX_REO_QUEUE_EXT_22_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_10_MASK 0xffffffff
330 #define RX_REO_QUEUE_EXT_23_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_10_OFFSET 0x0000005c
331 #define RX_REO_QUEUE_EXT_23_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_10_LSB 0
332 #define RX_REO_QUEUE_EXT_23_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_10_MASK 0xffffffff
333 #define RX_REO_QUEUE_EXT_24_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_11_OFFSET 0x00000060
334 #define RX_REO_QUEUE_EXT_24_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_11_LSB 0
335 #define RX_REO_QUEUE_EXT_24_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_11_MASK 0xffffffff
336 #define RX_REO_QUEUE_EXT_25_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_11_OFFSET 0x00000064
337 #define RX_REO_QUEUE_EXT_25_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_11_LSB 0
338 #define RX_REO_QUEUE_EXT_25_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_11_MASK 0xffffffff
339 #define RX_REO_QUEUE_EXT_26_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_12_OFFSET 0x00000068
340 #define RX_REO_QUEUE_EXT_26_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_12_LSB 0
341 #define RX_REO_QUEUE_EXT_26_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_12_MASK 0xffffffff
342 #define RX_REO_QUEUE_EXT_27_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_12_OFFSET 0x0000006c
343 #define RX_REO_QUEUE_EXT_27_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_12_LSB 0
344 #define RX_REO_QUEUE_EXT_27_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_12_MASK 0xffffffff
345 #define RX_REO_QUEUE_EXT_28_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_13_OFFSET 0x00000070
346 #define RX_REO_QUEUE_EXT_28_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_13_LSB 0
347 #define RX_REO_QUEUE_EXT_28_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_13_MASK 0xffffffff
348 #define RX_REO_QUEUE_EXT_29_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_13_OFFSET 0x00000074
349 #define RX_REO_QUEUE_EXT_29_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_13_LSB 0
350 #define RX_REO_QUEUE_EXT_29_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_13_MASK 0xffffffff
351 #define RX_REO_QUEUE_EXT_30_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_14_OFFSET 0x00000078
352 #define RX_REO_QUEUE_EXT_30_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_14_LSB 0
353 #define RX_REO_QUEUE_EXT_30_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_14_MASK 0xffffffff
354 #define RX_REO_QUEUE_EXT_31_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_14_OFFSET 0x0000007c
355 #define RX_REO_QUEUE_EXT_31_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_14_LSB 0
356 #define RX_REO_QUEUE_EXT_31_RX_MPDU_LINK_PTR_MPDU_LINK_POINTER_14_MASK 0xffffffff
357 
358 
359 #endif // _RX_REO_QUEUE_EXT_H_
360