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