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