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