1 /* 2 * Copyright (c) 2019 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_PPDU_END_USER_STATS_EXT_H_ 25 #define _RX_PPDU_END_USER_STATS_EXT_H_ 26 #if !defined(__ASSEMBLER__) 27 #endif 28 29 #include "rx_rxpcu_classification_overview.h" 30 31 // ################ START SUMMARY ################# 32 // 33 // Dword Fields 34 // 0 struct rx_rxpcu_classification_overview rxpcu_classification_details; 35 // 1 fcs_ok_bitmap_95_64[31:0] 36 // 2 fcs_ok_bitmap_127_96[31:0] 37 // 3 fcs_ok_bitmap_159_128[31:0] 38 // 4 fcs_ok_bitmap_191_160[31:0] 39 // 5 fcs_ok_bitmap_223_192[31:0] 40 // 6 fcs_ok_bitmap_255_224[31:0] 41 // 42 // ################ END SUMMARY ################# 43 44 #define NUM_OF_DWORDS_RX_PPDU_END_USER_STATS_EXT 7 45 46 struct rx_ppdu_end_user_stats_ext { 47 struct rx_rxpcu_classification_overview rxpcu_classification_details; 48 uint32_t fcs_ok_bitmap_95_64 : 32; //[31:0] 49 uint32_t fcs_ok_bitmap_127_96 : 32; //[31:0] 50 uint32_t fcs_ok_bitmap_159_128 : 32; //[31:0] 51 uint32_t fcs_ok_bitmap_191_160 : 32; //[31:0] 52 uint32_t fcs_ok_bitmap_223_192 : 32; //[31:0] 53 uint32_t fcs_ok_bitmap_255_224 : 32; //[31:0] 54 }; 55 56 /* 57 58 struct rx_rxpcu_classification_overview rxpcu_classification_details 59 60 Details related to what RXPCU classification types of 61 MPDUs have been received 62 63 fcs_ok_bitmap_95_64 64 65 Bitmap indicates in order of received MPDUs, which MPDUs 66 had an passing FCS or had an error. 67 68 1: FCS OK 69 70 0: FCS error 71 72 <legal all> 73 74 fcs_ok_bitmap_127_96 75 76 Bitmap indicates in order of received MPDUs, which MPDUs 77 had an passing FCS or had an error. 78 79 1: FCS OK 80 81 0: FCS error 82 83 <legal all> 84 85 fcs_ok_bitmap_159_128 86 87 Bitmap indicates in order of received MPDUs, which MPDUs 88 had an passing FCS or had an error. 89 90 1: FCS OK 91 92 0: FCS error 93 94 <legal all> 95 96 fcs_ok_bitmap_191_160 97 98 Bitmap indicates in order of received MPDUs, which MPDUs 99 had an passing FCS or had an error. 100 101 1: FCS OK 102 103 0: FCS error 104 105 <legal all> 106 107 fcs_ok_bitmap_223_192 108 109 Bitmap indicates in order of received MPDUs, which MPDUs 110 had an passing FCS or had an error. 111 112 1: FCS OK 113 114 0: FCS error 115 116 <legal all> 117 118 fcs_ok_bitmap_255_224 119 120 Bitmap indicates in order of received MPDUs, which MPDUs 121 had an passing FCS or had an error. 122 123 1: FCS OK 124 125 0: FCS error 126 127 <legal all> 128 */ 129 130 131 /* EXTERNAL REFERENCE : struct rx_rxpcu_classification_overview rxpcu_classification_details */ 132 133 134 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS 135 136 When set, at least one Filter Pass MPDU has been 137 received. FCS might or might not have been passing. 138 139 140 141 For MU UL, in TLVs RX_PPDU_END and 142 RX_PPDU_END_STATUS_DONE, this field is the OR of all the 143 users. 144 145 <legal all> 146 */ 147 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_OFFSET 0x00000000 148 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_LSB 0 149 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_MASK 0x00000001 150 151 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK 152 153 When set, at least one Filter Pass MPDU has been 154 received that has a correct FCS. 155 156 157 158 For MU UL, in TLVs RX_PPDU_END and 159 RX_PPDU_END_STATUS_DONE, this field is the OR of all the 160 users. 161 162 163 164 <legal all> 165 */ 166 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_OFFSET 0x00000000 167 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_LSB 1 168 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_FILTER_PASS_MPDUS_FCS_OK_MASK 0x00000002 169 170 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS 171 172 When set, at least one Monitor Direct MPDU has been 173 received. FCS might or might not have been passing 174 175 176 177 For MU UL, in TLVs RX_PPDU_END and 178 RX_PPDU_END_STATUS_DONE, this field is the OR of all the 179 users. 180 181 <legal all> 182 */ 183 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_OFFSET 0x00000000 184 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_LSB 2 185 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_MASK 0x00000004 186 187 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK 188 189 When set, at least one Monitor Direct MPDU has been 190 received that has a correct FCS. 191 192 193 194 For MU UL, in TLVs RX_PPDU_END and 195 RX_PPDU_END_STATUS_DONE, this field is the OR of all the 196 users. 197 198 199 200 <legal all> 201 */ 202 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_OFFSET 0x00000000 203 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_LSB 3 204 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_DIRECT_MPDUS_FCS_OK_MASK 0x00000008 205 206 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS 207 208 When set, at least one Monitor Direct MPDU has been 209 received. FCS might or might not have been passing. 210 211 212 213 For MU UL, in TLVs RX_PPDU_END and 214 RX_PPDU_END_STATUS_DONE, this field is the OR of all the 215 users. 216 217 <legal all> 218 */ 219 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_OFFSET 0x00000000 220 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_LSB 4 221 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_MASK 0x00000010 222 223 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK 224 225 When set, at least one Monitor Direct MPDU has been 226 received that has a correct FCS. 227 228 229 230 For MU UL, in TLVs RX_PPDU_END and 231 RX_PPDU_END_STATUS_DONE, this field is the OR of all the 232 users. 233 234 <legal all> 235 */ 236 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_OFFSET 0x00000000 237 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_LSB 5 238 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_MONITOR_OTHER_MPDUS_FCS_OK_MASK 0x00000020 239 240 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED 241 242 When set, PPDU reception was aborted by the PHY 243 244 <legal all> 245 */ 246 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_OFFSET 0x00000000 247 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_LSB 6 248 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHYRX_ABORT_RECEIVED_MASK 0x00000040 249 250 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0 251 252 <legal 0> 253 */ 254 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_OFFSET 0x00000000 255 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_LSB 7 256 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_RESERVED_0_MASK 0x0000ff80 257 258 /* Description RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID 259 260 A ppdu counter value that PHY increments for every PPDU 261 received. The counter value wraps around 262 263 <legal all> 264 */ 265 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_OFFSET 0x00000000 266 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_LSB 16 267 #define RX_PPDU_END_USER_STATS_EXT_0_RXPCU_CLASSIFICATION_DETAILS_PHY_PPDU_ID_MASK 0xffff0000 268 269 /* Description RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64 270 271 Bitmap indicates in order of received MPDUs, which MPDUs 272 had an passing FCS or had an error. 273 274 1: FCS OK 275 276 0: FCS error 277 278 <legal all> 279 */ 280 #define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_OFFSET 0x00000004 281 #define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_LSB 0 282 #define RX_PPDU_END_USER_STATS_EXT_1_FCS_OK_BITMAP_95_64_MASK 0xffffffff 283 284 /* Description RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96 285 286 Bitmap indicates in order of received MPDUs, which MPDUs 287 had an passing FCS or had an error. 288 289 1: FCS OK 290 291 0: FCS error 292 293 <legal all> 294 */ 295 #define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_OFFSET 0x00000008 296 #define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_LSB 0 297 #define RX_PPDU_END_USER_STATS_EXT_2_FCS_OK_BITMAP_127_96_MASK 0xffffffff 298 299 /* Description RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128 300 301 Bitmap indicates in order of received MPDUs, which MPDUs 302 had an passing FCS or had an error. 303 304 1: FCS OK 305 306 0: FCS error 307 308 <legal all> 309 */ 310 #define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_OFFSET 0x0000000c 311 #define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_LSB 0 312 #define RX_PPDU_END_USER_STATS_EXT_3_FCS_OK_BITMAP_159_128_MASK 0xffffffff 313 314 /* Description RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160 315 316 Bitmap indicates in order of received MPDUs, which MPDUs 317 had an passing FCS or had an error. 318 319 1: FCS OK 320 321 0: FCS error 322 323 <legal all> 324 */ 325 #define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_OFFSET 0x00000010 326 #define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_LSB 0 327 #define RX_PPDU_END_USER_STATS_EXT_4_FCS_OK_BITMAP_191_160_MASK 0xffffffff 328 329 /* Description RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192 330 331 Bitmap indicates in order of received MPDUs, which MPDUs 332 had an passing FCS or had an error. 333 334 1: FCS OK 335 336 0: FCS error 337 338 <legal all> 339 */ 340 #define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_OFFSET 0x00000014 341 #define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_LSB 0 342 #define RX_PPDU_END_USER_STATS_EXT_5_FCS_OK_BITMAP_223_192_MASK 0xffffffff 343 344 /* Description RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224 345 346 Bitmap indicates in order of received MPDUs, which MPDUs 347 had an passing FCS or had an error. 348 349 1: FCS OK 350 351 0: FCS error 352 353 <legal all> 354 */ 355 #define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_OFFSET 0x00000018 356 #define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_LSB 0 357 #define RX_PPDU_END_USER_STATS_EXT_6_FCS_OK_BITMAP_255_224_MASK 0xffffffff 358 359 360 #endif // _RX_PPDU_END_USER_STATS_EXT_H_ 361