xref: /wlan-driver/fw-api/hw/kiwi/v1/rx_reo_queue_1k.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #ifndef _RX_REO_QUEUE_1K_H_
18 #define _RX_REO_QUEUE_1K_H_
19 #if !defined(__ASSEMBLER__)
20 #endif
21 
22 #include "uniform_descriptor_header.h"
23 #define NUM_OF_DWORDS_RX_REO_QUEUE_1K 32
24 
25 struct rx_reo_queue_1k {
26 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN
27              struct   uniform_descriptor_header                                 descriptor_header;
28              uint32_t rx_bitmap_319_288                                       : 32;
29              uint32_t rx_bitmap_351_320                                       : 32;
30              uint32_t rx_bitmap_383_352                                       : 32;
31              uint32_t rx_bitmap_415_384                                       : 32;
32              uint32_t rx_bitmap_447_416                                       : 32;
33              uint32_t rx_bitmap_479_448                                       : 32;
34              uint32_t rx_bitmap_511_480                                       : 32;
35              uint32_t rx_bitmap_543_512                                       : 32;
36              uint32_t rx_bitmap_575_544                                       : 32;
37              uint32_t rx_bitmap_607_576                                       : 32;
38              uint32_t rx_bitmap_639_608                                       : 32;
39              uint32_t rx_bitmap_671_640                                       : 32;
40              uint32_t rx_bitmap_703_672                                       : 32;
41              uint32_t rx_bitmap_735_704                                       : 32;
42              uint32_t rx_bitmap_767_736                                       : 32;
43              uint32_t rx_bitmap_799_768                                       : 32;
44              uint32_t rx_bitmap_831_800                                       : 32;
45              uint32_t rx_bitmap_863_832                                       : 32;
46              uint32_t rx_bitmap_895_864                                       : 32;
47              uint32_t rx_bitmap_927_896                                       : 32;
48              uint32_t rx_bitmap_959_928                                       : 32;
49              uint32_t rx_bitmap_991_960                                       : 32;
50              uint32_t rx_bitmap_1023_992                                      : 32;
51              uint32_t reserved_24                                             : 32;
52              uint32_t reserved_25                                             : 32;
53              uint32_t reserved_26                                             : 32;
54              uint32_t reserved_27                                             : 32;
55              uint32_t reserved_28                                             : 32;
56              uint32_t reserved_29                                             : 32;
57              uint32_t reserved_30                                             : 32;
58              uint32_t reserved_31                                             : 32;
59 #else
60              struct   uniform_descriptor_header                                 descriptor_header;
61              uint32_t rx_bitmap_319_288                                       : 32;
62              uint32_t rx_bitmap_351_320                                       : 32;
63              uint32_t rx_bitmap_383_352                                       : 32;
64              uint32_t rx_bitmap_415_384                                       : 32;
65              uint32_t rx_bitmap_447_416                                       : 32;
66              uint32_t rx_bitmap_479_448                                       : 32;
67              uint32_t rx_bitmap_511_480                                       : 32;
68              uint32_t rx_bitmap_543_512                                       : 32;
69              uint32_t rx_bitmap_575_544                                       : 32;
70              uint32_t rx_bitmap_607_576                                       : 32;
71              uint32_t rx_bitmap_639_608                                       : 32;
72              uint32_t rx_bitmap_671_640                                       : 32;
73              uint32_t rx_bitmap_703_672                                       : 32;
74              uint32_t rx_bitmap_735_704                                       : 32;
75              uint32_t rx_bitmap_767_736                                       : 32;
76              uint32_t rx_bitmap_799_768                                       : 32;
77              uint32_t rx_bitmap_831_800                                       : 32;
78              uint32_t rx_bitmap_863_832                                       : 32;
79              uint32_t rx_bitmap_895_864                                       : 32;
80              uint32_t rx_bitmap_927_896                                       : 32;
81              uint32_t rx_bitmap_959_928                                       : 32;
82              uint32_t rx_bitmap_991_960                                       : 32;
83              uint32_t rx_bitmap_1023_992                                      : 32;
84              uint32_t reserved_24                                             : 32;
85              uint32_t reserved_25                                             : 32;
86              uint32_t reserved_26                                             : 32;
87              uint32_t reserved_27                                             : 32;
88              uint32_t reserved_28                                             : 32;
89              uint32_t reserved_29                                             : 32;
90              uint32_t reserved_30                                             : 32;
91              uint32_t reserved_31                                             : 32;
92 #endif
93 };
94 
95 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_OWNER_OFFSET                              0x00000000
96 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_OWNER_LSB                                 0
97 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_OWNER_MSB                                 3
98 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_OWNER_MASK                                0x0000000f
99 
100 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_BUFFER_TYPE_OFFSET                        0x00000000
101 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_BUFFER_TYPE_LSB                           4
102 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_BUFFER_TYPE_MSB                           7
103 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_BUFFER_TYPE_MASK                          0x000000f0
104 
105 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_RESERVED_0A_OFFSET                        0x00000000
106 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_RESERVED_0A_LSB                           8
107 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_RESERVED_0A_MSB                           31
108 #define RX_REO_QUEUE_1K_DESCRIPTOR_HEADER_RESERVED_0A_MASK                          0xffffff00
109 
110 #define RX_REO_QUEUE_1K_RX_BITMAP_319_288_OFFSET                                    0x00000004
111 #define RX_REO_QUEUE_1K_RX_BITMAP_319_288_LSB                                       0
112 #define RX_REO_QUEUE_1K_RX_BITMAP_319_288_MSB                                       31
113 #define RX_REO_QUEUE_1K_RX_BITMAP_319_288_MASK                                      0xffffffff
114 
115 #define RX_REO_QUEUE_1K_RX_BITMAP_351_320_OFFSET                                    0x00000008
116 #define RX_REO_QUEUE_1K_RX_BITMAP_351_320_LSB                                       0
117 #define RX_REO_QUEUE_1K_RX_BITMAP_351_320_MSB                                       31
118 #define RX_REO_QUEUE_1K_RX_BITMAP_351_320_MASK                                      0xffffffff
119 
120 #define RX_REO_QUEUE_1K_RX_BITMAP_383_352_OFFSET                                    0x0000000c
121 #define RX_REO_QUEUE_1K_RX_BITMAP_383_352_LSB                                       0
122 #define RX_REO_QUEUE_1K_RX_BITMAP_383_352_MSB                                       31
123 #define RX_REO_QUEUE_1K_RX_BITMAP_383_352_MASK                                      0xffffffff
124 
125 #define RX_REO_QUEUE_1K_RX_BITMAP_415_384_OFFSET                                    0x00000010
126 #define RX_REO_QUEUE_1K_RX_BITMAP_415_384_LSB                                       0
127 #define RX_REO_QUEUE_1K_RX_BITMAP_415_384_MSB                                       31
128 #define RX_REO_QUEUE_1K_RX_BITMAP_415_384_MASK                                      0xffffffff
129 
130 #define RX_REO_QUEUE_1K_RX_BITMAP_447_416_OFFSET                                    0x00000014
131 #define RX_REO_QUEUE_1K_RX_BITMAP_447_416_LSB                                       0
132 #define RX_REO_QUEUE_1K_RX_BITMAP_447_416_MSB                                       31
133 #define RX_REO_QUEUE_1K_RX_BITMAP_447_416_MASK                                      0xffffffff
134 
135 #define RX_REO_QUEUE_1K_RX_BITMAP_479_448_OFFSET                                    0x00000018
136 #define RX_REO_QUEUE_1K_RX_BITMAP_479_448_LSB                                       0
137 #define RX_REO_QUEUE_1K_RX_BITMAP_479_448_MSB                                       31
138 #define RX_REO_QUEUE_1K_RX_BITMAP_479_448_MASK                                      0xffffffff
139 
140 #define RX_REO_QUEUE_1K_RX_BITMAP_511_480_OFFSET                                    0x0000001c
141 #define RX_REO_QUEUE_1K_RX_BITMAP_511_480_LSB                                       0
142 #define RX_REO_QUEUE_1K_RX_BITMAP_511_480_MSB                                       31
143 #define RX_REO_QUEUE_1K_RX_BITMAP_511_480_MASK                                      0xffffffff
144 
145 #define RX_REO_QUEUE_1K_RX_BITMAP_543_512_OFFSET                                    0x00000020
146 #define RX_REO_QUEUE_1K_RX_BITMAP_543_512_LSB                                       0
147 #define RX_REO_QUEUE_1K_RX_BITMAP_543_512_MSB                                       31
148 #define RX_REO_QUEUE_1K_RX_BITMAP_543_512_MASK                                      0xffffffff
149 
150 #define RX_REO_QUEUE_1K_RX_BITMAP_575_544_OFFSET                                    0x00000024
151 #define RX_REO_QUEUE_1K_RX_BITMAP_575_544_LSB                                       0
152 #define RX_REO_QUEUE_1K_RX_BITMAP_575_544_MSB                                       31
153 #define RX_REO_QUEUE_1K_RX_BITMAP_575_544_MASK                                      0xffffffff
154 
155 #define RX_REO_QUEUE_1K_RX_BITMAP_607_576_OFFSET                                    0x00000028
156 #define RX_REO_QUEUE_1K_RX_BITMAP_607_576_LSB                                       0
157 #define RX_REO_QUEUE_1K_RX_BITMAP_607_576_MSB                                       31
158 #define RX_REO_QUEUE_1K_RX_BITMAP_607_576_MASK                                      0xffffffff
159 
160 #define RX_REO_QUEUE_1K_RX_BITMAP_639_608_OFFSET                                    0x0000002c
161 #define RX_REO_QUEUE_1K_RX_BITMAP_639_608_LSB                                       0
162 #define RX_REO_QUEUE_1K_RX_BITMAP_639_608_MSB                                       31
163 #define RX_REO_QUEUE_1K_RX_BITMAP_639_608_MASK                                      0xffffffff
164 
165 #define RX_REO_QUEUE_1K_RX_BITMAP_671_640_OFFSET                                    0x00000030
166 #define RX_REO_QUEUE_1K_RX_BITMAP_671_640_LSB                                       0
167 #define RX_REO_QUEUE_1K_RX_BITMAP_671_640_MSB                                       31
168 #define RX_REO_QUEUE_1K_RX_BITMAP_671_640_MASK                                      0xffffffff
169 
170 #define RX_REO_QUEUE_1K_RX_BITMAP_703_672_OFFSET                                    0x00000034
171 #define RX_REO_QUEUE_1K_RX_BITMAP_703_672_LSB                                       0
172 #define RX_REO_QUEUE_1K_RX_BITMAP_703_672_MSB                                       31
173 #define RX_REO_QUEUE_1K_RX_BITMAP_703_672_MASK                                      0xffffffff
174 
175 #define RX_REO_QUEUE_1K_RX_BITMAP_735_704_OFFSET                                    0x00000038
176 #define RX_REO_QUEUE_1K_RX_BITMAP_735_704_LSB                                       0
177 #define RX_REO_QUEUE_1K_RX_BITMAP_735_704_MSB                                       31
178 #define RX_REO_QUEUE_1K_RX_BITMAP_735_704_MASK                                      0xffffffff
179 
180 #define RX_REO_QUEUE_1K_RX_BITMAP_767_736_OFFSET                                    0x0000003c
181 #define RX_REO_QUEUE_1K_RX_BITMAP_767_736_LSB                                       0
182 #define RX_REO_QUEUE_1K_RX_BITMAP_767_736_MSB                                       31
183 #define RX_REO_QUEUE_1K_RX_BITMAP_767_736_MASK                                      0xffffffff
184 
185 #define RX_REO_QUEUE_1K_RX_BITMAP_799_768_OFFSET                                    0x00000040
186 #define RX_REO_QUEUE_1K_RX_BITMAP_799_768_LSB                                       0
187 #define RX_REO_QUEUE_1K_RX_BITMAP_799_768_MSB                                       31
188 #define RX_REO_QUEUE_1K_RX_BITMAP_799_768_MASK                                      0xffffffff
189 
190 #define RX_REO_QUEUE_1K_RX_BITMAP_831_800_OFFSET                                    0x00000044
191 #define RX_REO_QUEUE_1K_RX_BITMAP_831_800_LSB                                       0
192 #define RX_REO_QUEUE_1K_RX_BITMAP_831_800_MSB                                       31
193 #define RX_REO_QUEUE_1K_RX_BITMAP_831_800_MASK                                      0xffffffff
194 
195 #define RX_REO_QUEUE_1K_RX_BITMAP_863_832_OFFSET                                    0x00000048
196 #define RX_REO_QUEUE_1K_RX_BITMAP_863_832_LSB                                       0
197 #define RX_REO_QUEUE_1K_RX_BITMAP_863_832_MSB                                       31
198 #define RX_REO_QUEUE_1K_RX_BITMAP_863_832_MASK                                      0xffffffff
199 
200 #define RX_REO_QUEUE_1K_RX_BITMAP_895_864_OFFSET                                    0x0000004c
201 #define RX_REO_QUEUE_1K_RX_BITMAP_895_864_LSB                                       0
202 #define RX_REO_QUEUE_1K_RX_BITMAP_895_864_MSB                                       31
203 #define RX_REO_QUEUE_1K_RX_BITMAP_895_864_MASK                                      0xffffffff
204 
205 #define RX_REO_QUEUE_1K_RX_BITMAP_927_896_OFFSET                                    0x00000050
206 #define RX_REO_QUEUE_1K_RX_BITMAP_927_896_LSB                                       0
207 #define RX_REO_QUEUE_1K_RX_BITMAP_927_896_MSB                                       31
208 #define RX_REO_QUEUE_1K_RX_BITMAP_927_896_MASK                                      0xffffffff
209 
210 #define RX_REO_QUEUE_1K_RX_BITMAP_959_928_OFFSET                                    0x00000054
211 #define RX_REO_QUEUE_1K_RX_BITMAP_959_928_LSB                                       0
212 #define RX_REO_QUEUE_1K_RX_BITMAP_959_928_MSB                                       31
213 #define RX_REO_QUEUE_1K_RX_BITMAP_959_928_MASK                                      0xffffffff
214 
215 #define RX_REO_QUEUE_1K_RX_BITMAP_991_960_OFFSET                                    0x00000058
216 #define RX_REO_QUEUE_1K_RX_BITMAP_991_960_LSB                                       0
217 #define RX_REO_QUEUE_1K_RX_BITMAP_991_960_MSB                                       31
218 #define RX_REO_QUEUE_1K_RX_BITMAP_991_960_MASK                                      0xffffffff
219 
220 #define RX_REO_QUEUE_1K_RX_BITMAP_1023_992_OFFSET                                   0x0000005c
221 #define RX_REO_QUEUE_1K_RX_BITMAP_1023_992_LSB                                      0
222 #define RX_REO_QUEUE_1K_RX_BITMAP_1023_992_MSB                                      31
223 #define RX_REO_QUEUE_1K_RX_BITMAP_1023_992_MASK                                     0xffffffff
224 
225 #define RX_REO_QUEUE_1K_RESERVED_24_OFFSET                                          0x00000060
226 #define RX_REO_QUEUE_1K_RESERVED_24_LSB                                             0
227 #define RX_REO_QUEUE_1K_RESERVED_24_MSB                                             31
228 #define RX_REO_QUEUE_1K_RESERVED_24_MASK                                            0xffffffff
229 
230 #define RX_REO_QUEUE_1K_RESERVED_25_OFFSET                                          0x00000064
231 #define RX_REO_QUEUE_1K_RESERVED_25_LSB                                             0
232 #define RX_REO_QUEUE_1K_RESERVED_25_MSB                                             31
233 #define RX_REO_QUEUE_1K_RESERVED_25_MASK                                            0xffffffff
234 
235 #define RX_REO_QUEUE_1K_RESERVED_26_OFFSET                                          0x00000068
236 #define RX_REO_QUEUE_1K_RESERVED_26_LSB                                             0
237 #define RX_REO_QUEUE_1K_RESERVED_26_MSB                                             31
238 #define RX_REO_QUEUE_1K_RESERVED_26_MASK                                            0xffffffff
239 
240 #define RX_REO_QUEUE_1K_RESERVED_27_OFFSET                                          0x0000006c
241 #define RX_REO_QUEUE_1K_RESERVED_27_LSB                                             0
242 #define RX_REO_QUEUE_1K_RESERVED_27_MSB                                             31
243 #define RX_REO_QUEUE_1K_RESERVED_27_MASK                                            0xffffffff
244 
245 #define RX_REO_QUEUE_1K_RESERVED_28_OFFSET                                          0x00000070
246 #define RX_REO_QUEUE_1K_RESERVED_28_LSB                                             0
247 #define RX_REO_QUEUE_1K_RESERVED_28_MSB                                             31
248 #define RX_REO_QUEUE_1K_RESERVED_28_MASK                                            0xffffffff
249 
250 #define RX_REO_QUEUE_1K_RESERVED_29_OFFSET                                          0x00000074
251 #define RX_REO_QUEUE_1K_RESERVED_29_LSB                                             0
252 #define RX_REO_QUEUE_1K_RESERVED_29_MSB                                             31
253 #define RX_REO_QUEUE_1K_RESERVED_29_MASK                                            0xffffffff
254 
255 #define RX_REO_QUEUE_1K_RESERVED_30_OFFSET                                          0x00000078
256 #define RX_REO_QUEUE_1K_RESERVED_30_LSB                                             0
257 #define RX_REO_QUEUE_1K_RESERVED_30_MSB                                             31
258 #define RX_REO_QUEUE_1K_RESERVED_30_MASK                                            0xffffffff
259 
260 #define RX_REO_QUEUE_1K_RESERVED_31_OFFSET                                          0x0000007c
261 #define RX_REO_QUEUE_1K_RESERVED_31_LSB                                             0
262 #define RX_REO_QUEUE_1K_RESERVED_31_MSB                                             31
263 #define RX_REO_QUEUE_1K_RESERVED_31_MASK                                            0xffffffff
264 
265 #endif
266