1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 /* 28 * RF IOS tables and functions to drive the IO performance counter driver. 29 * 30 * Please see rfiospc-tables.h for an explanation of how the table is put 31 * together. 32 */ 33 34 #include <sys/types.h> 35 #include <sys/kstat.h> 36 #include <sys/sunndi.h> 37 #include <sys/pci.h> 38 #include <sys/hsvc.h> 39 #include "iospc.h" 40 #include "rfios_acc.h" 41 #include "rfios_tables.h" 42 43 static iospc_event_t rfios_imu_ctr_0_evts[] = { 44 { RFIOS_IMU01_S_EVT_NONE, 45 RFIOS_IMU01_EVT_NONE }, 46 { RFIOS_IMU01_S_EVT_CLK, 47 RFIOS_IMU01_EVT_CLK }, 48 { RFIOS_IMU01_S_EVT_TOTAL_MSIX, 49 RFIOS_IMU01_EVT_TOTAL_MSIX }, 50 { RFIOS_IMU01_S_EVT_IOS_MSI, 51 RFIOS_IMU01_EVT_IOS_MSI }, 52 { RFIOS_IMU01_S_EVT_PCIE_MSIX, 53 RFIOS_IMU01_EVT_PCIE_MSIX }, 54 { RFIOS_IMU01_S_EVT_PCIE_MSGS, 55 RFIOS_IMU01_EVT_PCIE_MSGS }, 56 { RFIOS_IMU01_S_EVT_FILTERED_MSIX, 57 RFIOS_IMU01_EVT_FILTERED_MSIX }, 58 { RFIOS_IMU01_S_EVT_EQ_WR, 59 RFIOS_IMU01_EVT_EQ_WR }, 60 { RFIOS_IMU01_S_EVT_MONDOS, 61 RFIOS_IMU01_EVT_MONDOS }, 62 { COMMON_S_CLEAR_PIC, 63 RFIOS_IMU_CTR_EVT_MASK } 64 }; 65 66 static iospc_event_t rfios_imu_ctr_1_evts[] = { 67 { RFIOS_IMU01_S_EVT_NONE, 68 RFIOS_IMU01_EVT_NONE }, 69 { RFIOS_IMU01_S_EVT_CLK, 70 RFIOS_IMU01_EVT_CLK }, 71 { RFIOS_IMU01_S_EVT_TOTAL_MSIX, 72 RFIOS_IMU01_EVT_TOTAL_MSIX }, 73 { RFIOS_IMU01_S_EVT_IOS_MSI, 74 RFIOS_IMU01_EVT_IOS_MSI }, 75 { RFIOS_IMU01_S_EVT_PCIE_MSIX, 76 RFIOS_IMU01_EVT_PCIE_MSIX }, 77 { RFIOS_IMU01_S_EVT_PCIE_MSGS, 78 RFIOS_IMU01_EVT_PCIE_MSGS }, 79 { RFIOS_IMU01_S_EVT_FILTERED_MSIX, 80 RFIOS_IMU01_EVT_FILTERED_MSIX }, 81 { RFIOS_IMU01_S_EVT_EQ_WR, 82 RFIOS_IMU01_EVT_EQ_WR }, 83 { RFIOS_IMU01_S_EVT_MONDOS, 84 RFIOS_IMU01_EVT_MONDOS }, 85 { COMMON_S_CLEAR_PIC, 86 RFIOS_IMU_CTR_EVT_MASK } 87 }; 88 89 static iospc_event_t rfios_atu_ctr_0_evts[] = { 90 { RFIOS_ATU01_S_EVT_NONE, 91 RFIOS_ATU01_EVT_NONE }, 92 { RFIOS_ATU01_S_EVT_CLK, 93 RFIOS_ATU01_EVT_CLK }, 94 { RFIOS_ATU01_S_EVT_FLOW_CTRL_STALL, 95 RFIOS_ATU01_EVT_FLOW_CTRL_STALL }, 96 { RFIOS_ATU01_S_EVT_CLUMP_ACC, 97 RFIOS_ATU01_EVT_CLUMP_ACC }, 98 { RFIOS_ATU01_S_EVT_CLUMP_MISS, 99 RFIOS_ATU01_EVT_CLUMP_MISS }, 100 { RFIOS_ATU01_S_EVT_CLUMP_RESETS, 101 RFIOS_ATU01_EVT_CLUMP_RESETS }, 102 { RFIOS_ATU01_S_EVT_CLUMP_TBL_WALK, 103 RFIOS_ATU01_EVT_CLUMP_TBL_WALK }, 104 { RFIOS_ATU01_S_EVT_VIRT_ACC, 105 RFIOS_ATU01_EVT_VIRT_ACC }, 106 { RFIOS_ATU01_S_EVT_VIRT_MISS, 107 RFIOS_ATU01_EVT_VIRT_MISS }, 108 { RFIOS_ATU01_S_EVT_VIRT_RESETS, 109 RFIOS_ATU01_EVT_VIRT_RESETS }, 110 { RFIOS_ATU01_S_EVT_VIRT_TBL_WALK, 111 RFIOS_ATU01_EVT_VIRT_TBL_WALK }, 112 { RFIOS_ATU01_S_EVT_REAL_ACC, 113 RFIOS_ATU01_EVT_REAL_ACC }, 114 { RFIOS_ATU01_S_EVT_REAL_MISS, 115 RFIOS_ATU01_EVT_REAL_MISS }, 116 { RFIOS_ATU01_S_EVT_REAL_RESETS, 117 RFIOS_ATU01_EVT_REAL_RESETS }, 118 { RFIOS_ATU01_S_EVT_REAL_TBL_WALK, 119 RFIOS_ATU01_EVT_REAL_TBL_WALK }, 120 { RFIOS_ATU01_S_EVT_CMD_ERRORS, 121 RFIOS_ATU01_EVT_CMD_ERRORS }, 122 { RFIOS_ATU01_S_EVT_VIRT_TRANS, 123 RFIOS_ATU01_EVT_VIRT_TRANS }, 124 { RFIOS_ATU01_S_EVT_REAL_TRANS, 125 RFIOS_ATU01_EVT_REAL_TRANS }, 126 { RFIOS_ATU01_S_EVT_PHYS_TRANS, 127 RFIOS_ATU01_EVT_PHYS_TRANS }, 128 { RFIOS_ATU01_S_EVT_STRICT_ORDER_FORCED, 129 RFIOS_ATU01_EVT_STRICT_ORDER_FORCED }, 130 { RFIOS_ATU01_S_EVT_RELAX_ORDER_FORCED, 131 RFIOS_ATU01_EVT_RELAX_ORDER_FORCED }, 132 { RFIOS_ATU01_S_EVT_RELAX_ORDER_TLP, 133 RFIOS_ATU01_EVT_RELAX_ORDER_TLP }, 134 { RFIOS_ATU01_S_EVT_RELAX_ORDER_TOTAL, 135 RFIOS_ATU01_EVT_RELAX_ORDER_TOTAL }, 136 { COMMON_S_CLEAR_PIC, 137 RFIOS_ATU_CTR_EVT_MASK } 138 }; 139 140 static iospc_event_t rfios_atu_ctr_1_evts[] = { 141 { RFIOS_ATU01_S_EVT_NONE, 142 RFIOS_ATU01_EVT_NONE }, 143 { RFIOS_ATU01_S_EVT_CLK, 144 RFIOS_ATU01_EVT_CLK }, 145 { RFIOS_ATU01_S_EVT_FLOW_CTRL_STALL, 146 RFIOS_ATU01_EVT_FLOW_CTRL_STALL }, 147 { RFIOS_ATU01_S_EVT_CLUMP_ACC, 148 RFIOS_ATU01_EVT_CLUMP_ACC }, 149 { RFIOS_ATU01_S_EVT_CLUMP_MISS, 150 RFIOS_ATU01_EVT_CLUMP_MISS }, 151 { RFIOS_ATU01_S_EVT_CLUMP_RESETS, 152 RFIOS_ATU01_EVT_CLUMP_RESETS }, 153 { RFIOS_ATU01_S_EVT_CLUMP_TBL_WALK, 154 RFIOS_ATU01_EVT_CLUMP_TBL_WALK }, 155 { RFIOS_ATU01_S_EVT_VIRT_ACC, 156 RFIOS_ATU01_EVT_VIRT_ACC }, 157 { RFIOS_ATU01_S_EVT_VIRT_MISS, 158 RFIOS_ATU01_EVT_VIRT_MISS }, 159 { RFIOS_ATU01_S_EVT_VIRT_RESETS, 160 RFIOS_ATU01_EVT_VIRT_RESETS }, 161 { RFIOS_ATU01_S_EVT_VIRT_TBL_WALK, 162 RFIOS_ATU01_EVT_VIRT_TBL_WALK }, 163 { RFIOS_ATU01_S_EVT_REAL_ACC, 164 RFIOS_ATU01_EVT_REAL_ACC }, 165 { RFIOS_ATU01_S_EVT_REAL_MISS, 166 RFIOS_ATU01_EVT_REAL_MISS }, 167 { RFIOS_ATU01_S_EVT_REAL_RESETS, 168 RFIOS_ATU01_EVT_REAL_RESETS }, 169 { RFIOS_ATU01_S_EVT_REAL_TBL_WALK, 170 RFIOS_ATU01_EVT_REAL_TBL_WALK }, 171 { RFIOS_ATU01_S_EVT_CMD_ERRORS, 172 RFIOS_ATU01_EVT_CMD_ERRORS }, 173 { RFIOS_ATU01_S_EVT_VIRT_TRANS, 174 RFIOS_ATU01_EVT_VIRT_TRANS }, 175 { RFIOS_ATU01_S_EVT_REAL_TRANS, 176 RFIOS_ATU01_EVT_REAL_TRANS }, 177 { RFIOS_ATU01_S_EVT_PHYS_TRANS, 178 RFIOS_ATU01_EVT_PHYS_TRANS }, 179 { RFIOS_ATU01_S_EVT_STRICT_ORDER_FORCED, 180 RFIOS_ATU01_EVT_STRICT_ORDER_FORCED }, 181 { RFIOS_ATU01_S_EVT_RELAX_ORDER_FORCED, 182 RFIOS_ATU01_EVT_RELAX_ORDER_FORCED }, 183 { RFIOS_ATU01_S_EVT_RELAX_ORDER_TLP, 184 RFIOS_ATU01_EVT_RELAX_ORDER_TLP }, 185 { RFIOS_ATU01_S_EVT_RELAX_ORDER_TOTAL, 186 RFIOS_ATU01_EVT_RELAX_ORDER_TOTAL }, 187 { COMMON_S_CLEAR_PIC, 188 RFIOS_ATU_CTR_EVT_MASK } 189 }; 190 191 static iospc_event_t rfios_npu_ctr_0_evts[] = { 192 { RFIOS_NPU01_S_EVT_NONE, 193 RFIOS_NPU01_EVT_NONE }, 194 { RFIOS_NPU01_S_EVT_CLK, 195 RFIOS_NPU01_EVT_CLK }, 196 { RFIOS_NPU01_S_EVT_ZERO_BYTE_READ, 197 RFIOS_NPU01_EVT_ZERO_BYTE_READ }, 198 { RFIOS_NPU01_S_EVT_DMA_WRITE_LATENCY, 199 RFIOS_NPU01_EVT_DMA_WRITE_LATENCY }, 200 { RFIOS_NPU01_S_EVT_DMA_WRITE_LATENCY_NUM, 201 RFIOS_NPU01_EVT_DMA_WRITE_LATENCY_NUM }, 202 { RFIOS_NPU01_S_EVT_OSB_FULL_CYCLES, 203 RFIOS_NPU01_EVT_OSB_FULL_CYCLES }, 204 { RFIOS_NPU01_S_EVT_DMA_READ_LATENCY, 205 RFIOS_NPU01_EVT_DMA_READ_LATENCY }, 206 { RFIOS_NPU01_S_EVT_DMA_READ_LATENCY_NUM, 207 RFIOS_NPU01_EVT_DMA_READ_LATENCY_NUM }, 208 { RFIOS_NPU01_S_EVT_PSB_FULL_CYCLES, 209 RFIOS_NPU01_EVT_PSB_FULL_CYCLES }, 210 { RFIOS_NPU01_S_EVT_ICB_FULL_CYCLES, 211 RFIOS_NPU01_EVT_ICB_FULL_CYCLES }, 212 { RFIOS_NPU01_S_EVT_ECB_FULL_CYCLES, 213 RFIOS_NPU01_EVT_ECB_FULL_CYCLES }, 214 { RFIOS_NPU01_S_EVT_ATU_CSR_CFG_WRITES, 215 RFIOS_NPU01_EVT_ATU_CSR_CFG_WRITES }, 216 { RFIOS_NPU01_S_EVT_ATU_CSR_CFG_READS, 217 RFIOS_NPU01_EVT_ATU_CSR_CFG_READS }, 218 { RFIOS_NPU01_S_EVT_ATU_CSR_MEM_WRITES, 219 RFIOS_NPU01_EVT_ATU_CSR_MEM_WRITES }, 220 { RFIOS_NPU01_S_EVT_ATU_CSR_MEM_READS, 221 RFIOS_NPU01_EVT_ATU_CSR_MEM_READS }, 222 { RFIOS_NPU01_S_EVT_IMU_CSR_CFG_WRITES, 223 RFIOS_NPU01_EVT_IMU_CSR_CFG_WRITES }, 224 { RFIOS_NPU01_S_EVT_IMU_CSR_CFG_READS, 225 RFIOS_NPU01_EVT_IMU_CSR_CFG_READS }, 226 { RFIOS_NPU01_S_EVT_IMU_CSR_MEM_WRITES, 227 RFIOS_NPU01_EVT_IMU_CSR_MEM_WRITES }, 228 { RFIOS_NPU01_S_EVT_IMU_CSR_MEM_READS, 229 RFIOS_NPU01_EVT_IMU_CSR_MEM_READS }, 230 { RFIOS_NPU01_S_EVT_NPU_CSR_CFG_WRITES, 231 RFIOS_NPU01_EVT_NPU_CSR_CFG_WRITES }, 232 { RFIOS_NPU01_S_EVT_NPU_CSR_CFG_READS, 233 RFIOS_NPU01_EVT_NPU_CSR_CFG_READS }, 234 { RFIOS_NPU01_S_EVT_NPU_CSR_MEM_WRITES, 235 RFIOS_NPU01_EVT_NPU_CSR_MEM_WRITES }, 236 { RFIOS_NPU01_S_EVT_NPU_CSR_MEM_READS, 237 RFIOS_NPU01_EVT_NPU_CSR_MEM_READS }, 238 { RFIOS_NPU01_S_EVT_OTHER_CSR_CFG_WRITES, 239 RFIOS_NPU01_EVT_OTHER_CSR_CFG_WRITES }, 240 { RFIOS_NPU01_S_EVT_OTHER_CSR_CFG_READS, 241 RFIOS_NPU01_EVT_OTHER_CSR_CFG_READS }, 242 { RFIOS_NPU01_S_EVT_OTHER_CSR_MEM64_WRITES, 243 RFIOS_NPU01_EVT_OTHER_CSR_MEM64_WRITES }, 244 { RFIOS_NPU01_S_EVT_OTHER_CSR_MEM64_READS, 245 RFIOS_NPU01_EVT_OTHER_CSR_MEM64_READS }, 246 { RFIOS_NPU01_S_EVT_OTHER_CSR_MEM32_WRITES, 247 RFIOS_NPU01_EVT_OTHER_CSR_MEM32_WRITES }, 248 { RFIOS_NPU01_S_EVT_OTHER_CSR_MEM32_READS, 249 RFIOS_NPU01_EVT_OTHER_CSR_MEM32_READS }, 250 { RFIOS_NPU01_S_EVT_IO_SPACE_WRITES, 251 RFIOS_NPU01_EVT_IO_SPACE_WRITES }, 252 { RFIOS_NPU01_S_EVT_IO_SPACE_READS, 253 RFIOS_NPU01_EVT_IO_SPACE_READS }, 254 { RFIOS_NPU01_S_EVT_TOTAL_MSI, 255 RFIOS_NPU01_EVT_TOTAL_MSI }, 256 { RFIOS_NPU01_S_EVT_ATU_MSI, 257 RFIOS_NPU01_EVT_ATU_MSI }, 258 { RFIOS_NPU01_S_EVT_IMU_MSI, 259 RFIOS_NPU01_EVT_IMU_MSI }, 260 { RFIOS_NPU01_S_EVT_NPU_MSI, 261 RFIOS_NPU01_EVT_NPU_MSI }, 262 { RFIOS_NPU01_S_EVT_RETIRED_TAGS_CTO, 263 RFIOS_NPU01_EVT_RETIRED_TAGS_CTO }, 264 { RFIOS_NPU01_S_EVT_NO_POSTED_TAGS_CYCYLES, 265 RFIOS_NPU01_EVT_NO_POSTED_TAGS_CYCYLES }, 266 { COMMON_S_CLEAR_PIC, 267 RFIOS_NPU_CTR_EVT_MASK } 268 }; 269 270 static iospc_event_t rfios_npu_ctr_1_evts[] = { 271 { RFIOS_NPU01_S_EVT_NONE, 272 RFIOS_NPU01_EVT_NONE }, 273 { RFIOS_NPU01_S_EVT_CLK, 274 RFIOS_NPU01_EVT_CLK }, 275 { RFIOS_NPU01_S_EVT_ZERO_BYTE_READ, 276 RFIOS_NPU01_EVT_ZERO_BYTE_READ }, 277 { RFIOS_NPU01_S_EVT_DMA_WRITE_LATENCY, 278 RFIOS_NPU01_EVT_DMA_WRITE_LATENCY }, 279 { RFIOS_NPU01_S_EVT_DMA_WRITE_LATENCY_NUM, 280 RFIOS_NPU01_EVT_DMA_WRITE_LATENCY_NUM }, 281 { RFIOS_NPU01_S_EVT_OSB_FULL_CYCLES, 282 RFIOS_NPU01_EVT_OSB_FULL_CYCLES }, 283 { RFIOS_NPU01_S_EVT_DMA_READ_LATENCY, 284 RFIOS_NPU01_EVT_DMA_READ_LATENCY }, 285 { RFIOS_NPU01_S_EVT_DMA_READ_LATENCY_NUM, 286 RFIOS_NPU01_EVT_DMA_READ_LATENCY_NUM }, 287 { RFIOS_NPU01_S_EVT_PSB_FULL_CYCLES, 288 RFIOS_NPU01_EVT_PSB_FULL_CYCLES }, 289 { RFIOS_NPU01_S_EVT_ICB_FULL_CYCLES, 290 RFIOS_NPU01_EVT_ICB_FULL_CYCLES }, 291 { RFIOS_NPU01_S_EVT_ECB_FULL_CYCLES, 292 RFIOS_NPU01_EVT_ECB_FULL_CYCLES }, 293 { RFIOS_NPU01_S_EVT_ATU_CSR_CFG_WRITES, 294 RFIOS_NPU01_EVT_ATU_CSR_CFG_WRITES }, 295 { RFIOS_NPU01_S_EVT_ATU_CSR_CFG_READS, 296 RFIOS_NPU01_EVT_ATU_CSR_CFG_READS }, 297 { RFIOS_NPU01_S_EVT_ATU_CSR_MEM_WRITES, 298 RFIOS_NPU01_EVT_ATU_CSR_MEM_WRITES }, 299 { RFIOS_NPU01_S_EVT_ATU_CSR_MEM_READS, 300 RFIOS_NPU01_EVT_ATU_CSR_MEM_READS }, 301 { RFIOS_NPU01_S_EVT_IMU_CSR_CFG_WRITES, 302 RFIOS_NPU01_EVT_IMU_CSR_CFG_WRITES }, 303 { RFIOS_NPU01_S_EVT_IMU_CSR_CFG_READS, 304 RFIOS_NPU01_EVT_IMU_CSR_CFG_READS }, 305 { RFIOS_NPU01_S_EVT_IMU_CSR_MEM_WRITES, 306 RFIOS_NPU01_EVT_IMU_CSR_MEM_WRITES }, 307 { RFIOS_NPU01_S_EVT_IMU_CSR_MEM_READS, 308 RFIOS_NPU01_EVT_IMU_CSR_MEM_READS }, 309 { RFIOS_NPU01_S_EVT_NPU_CSR_CFG_WRITES, 310 RFIOS_NPU01_EVT_NPU_CSR_CFG_WRITES }, 311 { RFIOS_NPU01_S_EVT_NPU_CSR_CFG_READS, 312 RFIOS_NPU01_EVT_NPU_CSR_CFG_READS }, 313 { RFIOS_NPU01_S_EVT_NPU_CSR_MEM_WRITES, 314 RFIOS_NPU01_EVT_NPU_CSR_MEM_WRITES }, 315 { RFIOS_NPU01_S_EVT_NPU_CSR_MEM_READS, 316 RFIOS_NPU01_EVT_NPU_CSR_MEM_READS }, 317 { RFIOS_NPU01_S_EVT_OTHER_CSR_CFG_WRITES, 318 RFIOS_NPU01_EVT_OTHER_CSR_CFG_WRITES }, 319 { RFIOS_NPU01_S_EVT_OTHER_CSR_CFG_READS, 320 RFIOS_NPU01_EVT_OTHER_CSR_CFG_READS }, 321 { RFIOS_NPU01_S_EVT_OTHER_CSR_MEM64_WRITES, 322 RFIOS_NPU01_EVT_OTHER_CSR_MEM64_WRITES }, 323 { RFIOS_NPU01_S_EVT_OTHER_CSR_MEM64_READS, 324 RFIOS_NPU01_EVT_OTHER_CSR_MEM64_READS }, 325 { RFIOS_NPU01_S_EVT_OTHER_CSR_MEM32_WRITES, 326 RFIOS_NPU01_EVT_OTHER_CSR_MEM32_WRITES }, 327 { RFIOS_NPU01_S_EVT_OTHER_CSR_MEM32_READS, 328 RFIOS_NPU01_EVT_OTHER_CSR_MEM32_READS }, 329 { RFIOS_NPU01_S_EVT_IO_SPACE_WRITES, 330 RFIOS_NPU01_EVT_IO_SPACE_WRITES }, 331 { RFIOS_NPU01_S_EVT_IO_SPACE_READS, 332 RFIOS_NPU01_EVT_IO_SPACE_READS }, 333 { RFIOS_NPU01_S_EVT_TOTAL_MSI, 334 RFIOS_NPU01_EVT_TOTAL_MSI }, 335 { RFIOS_NPU01_S_EVT_ATU_MSI, 336 RFIOS_NPU01_EVT_ATU_MSI }, 337 { RFIOS_NPU01_S_EVT_IMU_MSI, 338 RFIOS_NPU01_EVT_IMU_MSI }, 339 { RFIOS_NPU01_S_EVT_NPU_MSI, 340 RFIOS_NPU01_EVT_NPU_MSI }, 341 { RFIOS_NPU01_S_EVT_RETIRED_TAGS_CTO, 342 RFIOS_NPU01_EVT_RETIRED_TAGS_CTO }, 343 { RFIOS_NPU01_S_EVT_NO_POSTED_TAGS_CYCYLES, 344 RFIOS_NPU01_EVT_NO_POSTED_TAGS_CYCYLES }, 345 { COMMON_S_CLEAR_PIC, 346 RFIOS_NPU_CTR_EVT_MASK } 347 }; 348 349 static iospc_event_t rfios_pex_ctr_0_evts[] = { 350 { RFIOS_PEX01_S_EVT_NONE, 351 RFIOS_PEX01_EVT_NONE }, 352 { RFIOS_PEX01_S_EVT_CLK, 353 RFIOS_PEX01_EVT_CLK }, 354 { RFIOS_PEX01_S_EVT_PEU0_DMA_WR_REC, 355 RFIOS_PEX01_EVT_PEU0_DMA_WR_REC }, 356 { RFIOS_PEX01_S_EVT_PEU0_PIO_RD_REC, 357 RFIOS_PEX01_EVT_PEU0_PIO_RD_REC }, 358 { RFIOS_PEX01_S_EVT_PEU0_DMA_RD_SENT, 359 RFIOS_PEX01_EVT_PEU0_DMA_RD_SENT }, 360 { RFIOS_PEX01_S_EVT_PEU0_TLP_REC, 361 RFIOS_PEX01_EVT_PEU0_TLP_REC }, 362 { RFIOS_PEX01_S_EVT_PEU0_TRP_FULL_CYCLES, 363 RFIOS_PEX01_EVT_PEU0_TRP_FULL_CYCLES }, 364 { RFIOS_PEX01_S_EVT_PEU0_TCH_FULL_CYCLES, 365 RFIOS_PEX01_EVT_PEU0_TCH_FULL_CYCLES }, 366 { RFIOS_PEX01_S_EVT_PEU0_TCD_FULL_CYCLES, 367 RFIOS_PEX01_EVT_PEU0_TCD_FULL_CYCLES }, 368 { RFIOS_PEX01_S_EVT_NON_POSTED_PIOS_LATENCY, 369 RFIOS_PEX01_EVT_NON_POSTED_PIOS_LATENCY }, 370 { RFIOS_PEX01_S_EVT_NON_POSTED_PIOS_NUM, 371 RFIOS_PEX01_EVT_NON_POSTED_PIOS_NUM }, 372 { RFIOS_PEX01_S_EVT_PEX_CFG_WRITE, 373 RFIOS_PEX01_EVT_PEX_CFG_WRITE }, 374 { RFIOS_PEX01_S_EVT_PEX_CFG_READ, 375 RFIOS_PEX01_EVT_PEX_CFG_READ }, 376 { RFIOS_PEX01_S_EVT_PEX_MEM_WRITE, 377 RFIOS_PEX01_EVT_PEX_MEM_WRITE }, 378 { RFIOS_PEX01_S_EVT_PEX_MEM_READ, 379 RFIOS_PEX01_EVT_PEX_MEM_READ }, 380 { RFIOS_PEX01_S_EVT_PEU1_DMA_WR_REC, 381 RFIOS_PEX01_EVT_PEU1_DMA_WR_REC }, 382 { RFIOS_PEX01_S_EVT_PEU1_PIO_RD_REC, 383 RFIOS_PEX01_EVT_PEU1_PIO_RD_REC }, 384 { RFIOS_PEX01_S_EVT_PEU1_DMA_RD_SENT, 385 RFIOS_PEX01_EVT_PEU1_DMA_RD_SENT }, 386 { RFIOS_PEX01_S_EVT_PEU1_TLP_REC, 387 RFIOS_PEX01_EVT_PEU1_TLP_REC }, 388 { RFIOS_PEX01_S_EVT_PEU1_TRP_FULL_CYCLES, 389 RFIOS_PEX01_EVT_PEU1_TRP_FULL_CYCLES }, 390 { RFIOS_PEX01_S_EVT_PEU1_TCH_FULL_CYCLES, 391 RFIOS_PEX01_EVT_PEU1_TCH_FULL_CYCLES }, 392 { RFIOS_PEX01_S_EVT_PEU1_TCD_FULL_CYCLES, 393 RFIOS_PEX01_EVT_PEU1_TCD_FULL_CYCLES }, 394 { COMMON_S_CLEAR_PIC, 395 RFIOS_PEX_CTR_EVT_MASK } 396 }; 397 398 static iospc_event_t rfios_pex_ctr_1_evts[] = { 399 { RFIOS_PEX01_S_EVT_NONE, 400 RFIOS_PEX01_EVT_NONE }, 401 { RFIOS_PEX01_S_EVT_CLK, 402 RFIOS_PEX01_EVT_CLK }, 403 { RFIOS_PEX01_S_EVT_PEU0_DMA_WR_REC, 404 RFIOS_PEX01_EVT_PEU0_DMA_WR_REC }, 405 { RFIOS_PEX01_S_EVT_PEU0_PIO_RD_REC, 406 RFIOS_PEX01_EVT_PEU0_PIO_RD_REC }, 407 { RFIOS_PEX01_S_EVT_PEU0_DMA_RD_SENT, 408 RFIOS_PEX01_EVT_PEU0_DMA_RD_SENT }, 409 { RFIOS_PEX01_S_EVT_PEU0_TLP_REC, 410 RFIOS_PEX01_EVT_PEU0_TLP_REC }, 411 { RFIOS_PEX01_S_EVT_PEU0_TRP_FULL_CYCLES, 412 RFIOS_PEX01_EVT_PEU0_TRP_FULL_CYCLES }, 413 { RFIOS_PEX01_S_EVT_PEU0_TCH_FULL_CYCLES, 414 RFIOS_PEX01_EVT_PEU0_TCH_FULL_CYCLES }, 415 { RFIOS_PEX01_S_EVT_PEU0_TCD_FULL_CYCLES, 416 RFIOS_PEX01_EVT_PEU0_TCD_FULL_CYCLES }, 417 { RFIOS_PEX01_S_EVT_NON_POSTED_PIOS_LATENCY, 418 RFIOS_PEX01_EVT_NON_POSTED_PIOS_LATENCY }, 419 { RFIOS_PEX01_S_EVT_NON_POSTED_PIOS_NUM, 420 RFIOS_PEX01_EVT_NON_POSTED_PIOS_NUM }, 421 { RFIOS_PEX01_S_EVT_PEX_CFG_WRITE, 422 RFIOS_PEX01_EVT_PEX_CFG_WRITE }, 423 { RFIOS_PEX01_S_EVT_PEX_CFG_READ, 424 RFIOS_PEX01_EVT_PEX_CFG_READ }, 425 { RFIOS_PEX01_S_EVT_PEX_MEM_WRITE, 426 RFIOS_PEX01_EVT_PEX_MEM_WRITE }, 427 { RFIOS_PEX01_S_EVT_PEX_MEM_READ, 428 RFIOS_PEX01_EVT_PEX_MEM_READ }, 429 { RFIOS_PEX01_S_EVT_PEU1_DMA_WR_REC, 430 RFIOS_PEX01_EVT_PEU1_DMA_WR_REC }, 431 { RFIOS_PEX01_S_EVT_PEU1_PIO_RD_REC, 432 RFIOS_PEX01_EVT_PEU1_PIO_RD_REC }, 433 { RFIOS_PEX01_S_EVT_PEU1_DMA_RD_SENT, 434 RFIOS_PEX01_EVT_PEU1_DMA_RD_SENT }, 435 { RFIOS_PEX01_S_EVT_PEU1_TLP_REC, 436 RFIOS_PEX01_EVT_PEU1_TLP_REC }, 437 { RFIOS_PEX01_S_EVT_PEU1_TRP_FULL_CYCLES, 438 RFIOS_PEX01_EVT_PEU1_TRP_FULL_CYCLES }, 439 { RFIOS_PEX01_S_EVT_PEU1_TCH_FULL_CYCLES, 440 RFIOS_PEX01_EVT_PEU1_TCH_FULL_CYCLES }, 441 { RFIOS_PEX01_S_EVT_PEU1_TCD_FULL_CYCLES, 442 RFIOS_PEX01_EVT_PEU1_TCD_FULL_CYCLES }, 443 { COMMON_S_CLEAR_PIC, 444 RFIOS_PEX_CTR_EVT_MASK } 445 }; 446 447 static iospc_event_t rfios_peu_ctr_0_evts[] = { 448 { RFIOS_PEU01_S_EVT_NONE, 449 RFIOS_PEU01_EVT_NONE }, 450 { RFIOS_PEU01_S_EVT_CLK, 451 RFIOS_PEU01_EVT_CLK }, 452 { RFIOS_PEU01_S_EVT_INT_CFG_WR_RECD, 453 RFIOS_PEU01_EVT_INT_CFG_WR_RECD }, 454 { RFIOS_PEU01_S_EVT_INT_CFG_RD_RECD, 455 RFIOS_PEU01_EVT_INT_CFG_RD_RECD }, 456 { RFIOS_PEU01_S_EVT_INT_MEM_WR_RECD, 457 RFIOS_PEU01_EVT_INT_MEM_WR_RECD }, 458 { RFIOS_PEU01_S_EVT_INT_MEM_RD_RECD, 459 RFIOS_PEU01_EVT_INT_MEM_RD_RECD }, 460 { RFIOS_PEU01_S_EVT_EXT_CFG_WR_RECD, 461 RFIOS_PEU01_EVT_EXT_CFG_WR_RECD }, 462 { RFIOS_PEU01_S_EVT_EXT_CFG_RD_RECD, 463 RFIOS_PEU01_EVT_EXT_CFG_RD_RECD }, 464 { RFIOS_PEU01_S_EVT_EXT_MEM_WR_RECD, 465 RFIOS_PEU01_EVT_EXT_MEM_WR_RECD }, 466 { RFIOS_PEU01_S_EVT_EXT_MEM_RD_RECD, 467 RFIOS_PEU01_EVT_EXT_MEM_RD_RECD }, 468 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_ALL, 469 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_ALL }, 470 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_1_15DW, 471 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_1_15DW }, 472 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_16_31DW, 473 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_16_31DW }, 474 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_32_63DW, 475 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_32_63DW }, 476 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_64_127DW, 477 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_64_127DW }, 478 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_128_255DW, 479 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_128_255DW }, 480 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_256_511DW, 481 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_256_511DW }, 482 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_512_1024DW, 483 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_512_1024DW }, 484 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_ALL, 485 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_ALL }, 486 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_1_15DW, 487 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_1_15DW }, 488 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_16_31DW, 489 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_16_31DW }, 490 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_32_63DW, 491 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_32_63DW }, 492 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_64_127DW, 493 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_64_127DW }, 494 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_128_255DW, 495 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_128_255DW }, 496 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_256_511DW, 497 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_256_511DW }, 498 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_512_1024DW, 499 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_512_1024DW }, 500 { RFIOS_PEU01_S_EVT_XMIT_POSTED_HDR_NA_CYC, 501 RFIOS_PEU01_EVT_XMIT_POSTED_HDR_NA_CYC }, 502 { RFIOS_PEU01_S_EVT_XMIT_POSTED_DATA_NA_CYC, 503 RFIOS_PEU01_EVT_XMIT_POSTED_DATA_NA_CYC }, 504 { RFIOS_PEU01_S_EVT_XMIT_NON_POSTED_HDR_NA_CYC, 505 RFIOS_PEU01_EVT_XMIT_NON_POSTED_HDR_NA_CYC }, 506 { RFIOS_PEU01_S_EVT_XMIT_NON_POSTED_DATA_NA_CYC, 507 RFIOS_PEU01_EVT_XMIT_NON_POSTED_DATA_NA_CYC }, 508 { RFIOS_PEU01_S_EVT_XMIT_COMPL_HDR_NA_CYC, 509 RFIOS_PEU01_EVT_XMIT_COMPL_HDR_NA_CYC }, 510 { RFIOS_PEU01_S_EVT_XMIT_COMPL_DATA_NA_CYC, 511 RFIOS_PEU01_EVT_XMIT_COMPL_DATA_NA_CYC }, 512 { RFIOS_PEU01_S_EVT_NO_XMIT_CRED_CYC, 513 RFIOS_PEU01_EVT_NO_XMIT_CRED_CYC }, 514 { RFIOS_PEU01_S_EVT_RETRY_BUFF_NA_CYC, 515 RFIOS_PEU01_EVT_RETRY_BUFF_NA_CYC }, 516 { RFIOS_PEU01_S_EVT_REC_FLCTRL_COMP_EXST_CYC, 517 RFIOS_PEU01_EVT_REC_FLCTRL_COMP_EXST_CYC }, 518 { RFIOS_PEU01_S_EVT_REC_FLCTRL_NPOST_EXST_CYC, 519 RFIOS_PEU01_EVT_REC_FLCTRL_NPOST_EXST_CYC }, 520 { RFIOS_PEU01_S_EVT_REC_FLCTRL_PST_DAT_EXST, 521 RFIOS_PEU01_EVT_REC_FLCTRL_PST_DAT_EXST }, 522 { RFIOS_PEU01_S_EVT_REC_FLCTRL_PST_DT_CDT_EXST, 523 RFIOS_PEU01_EVT_REC_FLCTRL_PST_DT_CDT_EXST }, 524 { RFIOS_PEU01_S_EVT_REC_FLCTRL_PST_CDT_EXST, 525 RFIOS_PEU01_EVT_REC_FLCTRL_PST_CDT_EXST }, 526 { RFIOS_PEU01_S_EVT_REC_FLCTRL_CDT_EXST, 527 RFIOS_PEU01_EVT_REC_FLCTRL_CDT_EXST }, 528 { RFIOS_PEU01_S_EVT_DLLP_CRC_ERRORS, 529 RFIOS_PEU01_EVT_DLLP_CRC_ERRORS }, 530 { RFIOS_PEU01_S_EVT_TLP_CRC_ERRORS, 531 RFIOS_PEU01_EVT_TLP_CRC_ERRORS }, 532 { RFIOS_PEU01_S_EVT_TLP_RECD_WITH_EDB, 533 RFIOS_PEU01_EVT_TLP_RECD_WITH_EDB }, 534 { RFIOS_PEU01_S_EVT_RECD_FC_TIMEOUT_ERROR, 535 RFIOS_PEU01_EVT_RECD_FC_TIMEOUT_ERROR }, 536 { RFIOS_PEU01_S_EVT_REPLAY_NUM_ROLLOVERS, 537 RFIOS_PEU01_EVT_REPLAY_NUM_ROLLOVERS }, 538 { RFIOS_PEU01_S_EVT_REPLAY_TIMER_TIMEOUTS, 539 RFIOS_PEU01_EVT_REPLAY_TIMER_TIMEOUTS }, 540 { RFIOS_PEU01_S_EVT_REPLAYS_INITIATED, 541 RFIOS_PEU01_EVT_REPLAYS_INITIATED }, 542 { RFIOS_PEU01_S_EVT_LTSSM_RECOVERY_CYC, 543 RFIOS_PEU01_EVT_LTSSM_RECOVERY_CYC }, 544 { RFIOS_PEU01_S_EVT_ENTRIES_LTSSM_RECOVERY, 545 RFIOS_PEU01_EVT_ENTRIES_LTSSM_RECOVERY }, 546 { RFIOS_PEU01_S_EVT_REC_L0S_STATE_CYC, 547 RFIOS_PEU01_EVT_REC_L0S_STATE_CYC }, 548 { RFIOS_PEU01_S_EVT_REC_L0S_STATE_TRANS, 549 RFIOS_PEU01_EVT_REC_L0S_STATE_TRANS }, 550 { RFIOS_PEU01_S_EVT_XMIT_L0S_STATE_CYC, 551 RFIOS_PEU01_EVT_XMIT_L0S_STATE_CYC }, 552 { RFIOS_PEU01_S_EVT_XMIT_L0S_STATE_TRANS, 553 RFIOS_PEU01_EVT_XMIT_L0S_STATE_TRANS }, 554 { COMMON_S_CLEAR_PIC, 555 RFIOS_PEU_CTR_EVT_MASK } 556 }; 557 558 static iospc_event_t rfios_peu_ctr_1_evts[] = { 559 { RFIOS_PEU01_S_EVT_NONE, 560 RFIOS_PEU01_EVT_NONE }, 561 { RFIOS_PEU01_S_EVT_CLK, 562 RFIOS_PEU01_EVT_CLK }, 563 { RFIOS_PEU01_S_EVT_INT_CFG_WR_RECD, 564 RFIOS_PEU01_EVT_INT_CFG_WR_RECD }, 565 { RFIOS_PEU01_S_EVT_INT_CFG_RD_RECD, 566 RFIOS_PEU01_EVT_INT_CFG_RD_RECD }, 567 { RFIOS_PEU01_S_EVT_INT_MEM_WR_RECD, 568 RFIOS_PEU01_EVT_INT_MEM_WR_RECD }, 569 { RFIOS_PEU01_S_EVT_INT_MEM_RD_RECD, 570 RFIOS_PEU01_EVT_INT_MEM_RD_RECD }, 571 { RFIOS_PEU01_S_EVT_EXT_CFG_WR_RECD, 572 RFIOS_PEU01_EVT_EXT_CFG_WR_RECD }, 573 { RFIOS_PEU01_S_EVT_EXT_CFG_RD_RECD, 574 RFIOS_PEU01_EVT_EXT_CFG_RD_RECD }, 575 { RFIOS_PEU01_S_EVT_EXT_MEM_WR_RECD, 576 RFIOS_PEU01_EVT_EXT_MEM_WR_RECD }, 577 { RFIOS_PEU01_S_EVT_EXT_MEM_RD_RECD, 578 RFIOS_PEU01_EVT_EXT_MEM_RD_RECD }, 579 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_ALL, 580 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_ALL }, 581 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_1_15DW, 582 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_1_15DW }, 583 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_16_31DW, 584 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_16_31DW }, 585 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_32_63DW, 586 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_32_63DW }, 587 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_64_127DW, 588 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_64_127DW }, 589 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_128_255DW, 590 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_128_255DW }, 591 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_256_511DW, 592 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_256_511DW }, 593 { RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_512_1024DW, 594 RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_512_1024DW }, 595 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_ALL, 596 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_ALL }, 597 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_1_15DW, 598 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_1_15DW }, 599 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_16_31DW, 600 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_16_31DW }, 601 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_32_63DW, 602 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_32_63DW }, 603 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_64_127DW, 604 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_64_127DW }, 605 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_128_255DW, 606 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_128_255DW }, 607 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_256_511DW, 608 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_256_511DW }, 609 { RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_512_1024DW, 610 RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_512_1024DW }, 611 { RFIOS_PEU01_S_EVT_XMIT_POSTED_HDR_NA_CYC, 612 RFIOS_PEU01_EVT_XMIT_POSTED_HDR_NA_CYC }, 613 { RFIOS_PEU01_S_EVT_XMIT_POSTED_DATA_NA_CYC, 614 RFIOS_PEU01_EVT_XMIT_POSTED_DATA_NA_CYC }, 615 { RFIOS_PEU01_S_EVT_XMIT_NON_POSTED_HDR_NA_CYC, 616 RFIOS_PEU01_EVT_XMIT_NON_POSTED_HDR_NA_CYC }, 617 { RFIOS_PEU01_S_EVT_XMIT_NON_POSTED_DATA_NA_CYC, 618 RFIOS_PEU01_EVT_XMIT_NON_POSTED_DATA_NA_CYC }, 619 { RFIOS_PEU01_S_EVT_XMIT_COMPL_HDR_NA_CYC, 620 RFIOS_PEU01_EVT_XMIT_COMPL_HDR_NA_CYC }, 621 { RFIOS_PEU01_S_EVT_XMIT_COMPL_DATA_NA_CYC, 622 RFIOS_PEU01_EVT_XMIT_COMPL_DATA_NA_CYC }, 623 { RFIOS_PEU01_S_EVT_NO_XMIT_CRED_CYC, 624 RFIOS_PEU01_EVT_NO_XMIT_CRED_CYC }, 625 { RFIOS_PEU01_S_EVT_RETRY_BUFF_NA_CYC, 626 RFIOS_PEU01_EVT_RETRY_BUFF_NA_CYC }, 627 { RFIOS_PEU01_S_EVT_REC_FLCTRL_COMP_EXST_CYC, 628 RFIOS_PEU01_EVT_REC_FLCTRL_COMP_EXST_CYC }, 629 { RFIOS_PEU01_S_EVT_REC_FLCTRL_NPOST_EXST_CYC, 630 RFIOS_PEU01_EVT_REC_FLCTRL_NPOST_EXST_CYC }, 631 { RFIOS_PEU01_S_EVT_REC_FLCTRL_PST_DAT_EXST, 632 RFIOS_PEU01_EVT_REC_FLCTRL_PST_DAT_EXST }, 633 { RFIOS_PEU01_S_EVT_REC_FLCTRL_PST_DT_CDT_EXST, 634 RFIOS_PEU01_EVT_REC_FLCTRL_PST_DT_CDT_EXST }, 635 { RFIOS_PEU01_S_EVT_REC_FLCTRL_PST_CDT_EXST, 636 RFIOS_PEU01_EVT_REC_FLCTRL_PST_CDT_EXST }, 637 { RFIOS_PEU01_S_EVT_REC_FLCTRL_CDT_EXST, 638 RFIOS_PEU01_EVT_REC_FLCTRL_CDT_EXST }, 639 { RFIOS_PEU01_S_EVT_DLLP_CRC_ERRORS, 640 RFIOS_PEU01_EVT_DLLP_CRC_ERRORS }, 641 { RFIOS_PEU01_S_EVT_TLP_CRC_ERRORS, 642 RFIOS_PEU01_EVT_TLP_CRC_ERRORS }, 643 { RFIOS_PEU01_S_EVT_TLP_RECD_WITH_EDB, 644 RFIOS_PEU01_EVT_TLP_RECD_WITH_EDB }, 645 { RFIOS_PEU01_S_EVT_RECD_FC_TIMEOUT_ERROR, 646 RFIOS_PEU01_EVT_RECD_FC_TIMEOUT_ERROR }, 647 { RFIOS_PEU01_S_EVT_REPLAY_NUM_ROLLOVERS, 648 RFIOS_PEU01_EVT_REPLAY_NUM_ROLLOVERS }, 649 { RFIOS_PEU01_S_EVT_REPLAY_TIMER_TIMEOUTS, 650 RFIOS_PEU01_EVT_REPLAY_TIMER_TIMEOUTS }, 651 { RFIOS_PEU01_S_EVT_REPLAYS_INITIATED, 652 RFIOS_PEU01_EVT_REPLAYS_INITIATED }, 653 { RFIOS_PEU01_S_EVT_LTSSM_RECOVERY_CYC, 654 RFIOS_PEU01_EVT_LTSSM_RECOVERY_CYC }, 655 { RFIOS_PEU01_S_EVT_ENTRIES_LTSSM_RECOVERY, 656 RFIOS_PEU01_EVT_ENTRIES_LTSSM_RECOVERY }, 657 { RFIOS_PEU01_S_EVT_REC_L0S_STATE_CYC, 658 RFIOS_PEU01_EVT_REC_L0S_STATE_CYC }, 659 { RFIOS_PEU01_S_EVT_REC_L0S_STATE_TRANS, 660 RFIOS_PEU01_EVT_REC_L0S_STATE_TRANS }, 661 { RFIOS_PEU01_S_EVT_XMIT_L0S_STATE_CYC, 662 RFIOS_PEU01_EVT_XMIT_L0S_STATE_CYC }, 663 { RFIOS_PEU01_S_EVT_XMIT_L0S_STATE_TRANS, 664 RFIOS_PEU01_EVT_XMIT_L0S_STATE_TRANS }, 665 { COMMON_S_CLEAR_PIC, 666 RFIOS_PEU_CTR_EVT_MASK } 667 }; 668 669 670 static iospc_regsel_fld_t rfios_imu_regsel_flds[] = { 671 { rfios_imu_ctr_0_evts, NUM_EVTS(rfios_imu_ctr_0_evts), 672 RFIOS_IMU_CTR_EVT_MASK, RFIOS_IMU_CTR_0_EVT_OFF }, 673 { rfios_imu_ctr_1_evts, NUM_EVTS(rfios_imu_ctr_1_evts), 674 RFIOS_IMU_CTR_EVT_MASK, RFIOS_IMU_CTR_1_EVT_OFF } 675 }; 676 677 static iospc_regsel_fld_t rfios_atu_regsel_flds[] = { 678 { rfios_atu_ctr_0_evts, NUM_EVTS(rfios_atu_ctr_0_evts), 679 RFIOS_ATU_CTR_EVT_MASK, RFIOS_ATU_CTR_0_EVT_OFF }, 680 { rfios_atu_ctr_1_evts, NUM_EVTS(rfios_atu_ctr_1_evts), 681 RFIOS_ATU_CTR_EVT_MASK, RFIOS_ATU_CTR_1_EVT_OFF } 682 }; 683 684 static iospc_regsel_fld_t rfios_npu_regsel_flds[] = { 685 { rfios_npu_ctr_0_evts, NUM_EVTS(rfios_npu_ctr_0_evts), 686 RFIOS_NPU_CTR_EVT_MASK, RFIOS_NPU_CTR_0_EVT_OFF }, 687 { rfios_npu_ctr_1_evts, NUM_EVTS(rfios_npu_ctr_1_evts), 688 RFIOS_NPU_CTR_EVT_MASK, RFIOS_NPU_CTR_1_EVT_OFF } 689 }; 690 691 static iospc_regsel_fld_t rfios_pex_regsel_flds[] = { 692 { rfios_pex_ctr_0_evts, NUM_EVTS(rfios_pex_ctr_0_evts), 693 RFIOS_PEX_CTR_EVT_MASK, RFIOS_PEX_CTR_0_EVT_OFF }, 694 { rfios_pex_ctr_1_evts, NUM_EVTS(rfios_pex_ctr_1_evts), 695 RFIOS_PEX_CTR_EVT_MASK, RFIOS_PEX_CTR_1_EVT_OFF } 696 }; 697 static iospc_regsel_fld_t rfios_peu_regsel_flds[] = { 698 { rfios_peu_ctr_0_evts, NUM_EVTS(rfios_peu_ctr_0_evts), 699 RFIOS_PEU_CTR_EVT_MASK, RFIOS_PEU_CTR_0_EVT_OFF }, 700 { rfios_peu_ctr_1_evts, NUM_EVTS(rfios_peu_ctr_1_evts), 701 RFIOS_PEU_CTR_EVT_MASK, RFIOS_PEU_CTR_1_EVT_OFF } 702 }; 703 704 static iospc_regsel_t rfios_imu_regsel = { 705 HVIO_RFIOS_PERFREG_IMU_SEL, 706 rfios_imu_regsel_flds, 707 NUM_FLDS(rfios_imu_regsel_flds) 708 }; 709 710 static iospc_regsel_t rfios_atu_regsel = { 711 HVIO_RFIOS_PERFREG_ATU_SEL, 712 rfios_atu_regsel_flds, 713 NUM_FLDS(rfios_atu_regsel_flds) 714 }; 715 716 static iospc_regsel_t rfios_npu_regsel = { 717 HVIO_RFIOS_PERFREG_NPU_SEL, 718 rfios_npu_regsel_flds, 719 NUM_FLDS(rfios_npu_regsel_flds) 720 }; 721 722 static iospc_regsel_t rfios_pex_regsel = { 723 HVIO_RFIOS_PERFREG_PEX_SEL, 724 rfios_pex_regsel_flds, 725 NUM_FLDS(rfios_pex_regsel_flds) 726 }; 727 728 static iospc_regsel_t rfios_peu0_regsel = { 729 HVIO_RFIOS_PERFREG_PEU0_SEL, 730 rfios_peu_regsel_flds, 731 NUM_FLDS(rfios_peu_regsel_flds) 732 }; 733 734 static iospc_regsel_t rfios_peu1_regsel = { 735 HVIO_RFIOS_PERFREG_PEU1_SEL, 736 rfios_peu_regsel_flds, 737 NUM_FLDS(rfios_peu_regsel_flds) 738 }; 739 740 /* reg off, reg size, field mask */ 741 static iospc_cntr_t rfios_imu_cntrs[] = { 742 { HVIO_RFIOS_PERFREG_IMU_CNT0, FULL64BIT, 743 HVIO_RFIOS_PERFREG_IMU_CNT0, 0ULL}, 744 { HVIO_RFIOS_PERFREG_IMU_CNT1, FULL64BIT, 745 HVIO_RFIOS_PERFREG_IMU_CNT1, 0ULL} 746 }; 747 748 static iospc_cntr_t rfios_atu_cntrs[] = { 749 { HVIO_RFIOS_PERFREG_ATU_CNT0, FULL64BIT, 750 HVIO_RFIOS_PERFREG_ATU_CNT0, 0ULL}, 751 { HVIO_RFIOS_PERFREG_ATU_CNT1, FULL64BIT, 752 HVIO_RFIOS_PERFREG_ATU_CNT1, 0ULL} 753 }; 754 755 static iospc_cntr_t rfios_npu_cntrs[] = { 756 { HVIO_RFIOS_PERFREG_NPU_CNT0, FULL64BIT, 757 HVIO_RFIOS_PERFREG_NPU_CNT0, 0ULL}, 758 { HVIO_RFIOS_PERFREG_NPU_CNT1, FULL64BIT, 759 HVIO_RFIOS_PERFREG_NPU_CNT1, 0ULL} 760 }; 761 762 static iospc_cntr_t rfios_pex_cntrs[] = { 763 { HVIO_RFIOS_PERFREG_PEX_CNT0, FULL64BIT, 764 HVIO_RFIOS_PERFREG_PEX_CNT0, 0ULL}, 765 { HVIO_RFIOS_PERFREG_PEX_CNT1, FULL64BIT, 766 HVIO_RFIOS_PERFREG_PEX_CNT1, 0ULL} 767 }; 768 769 static iospc_cntr_t rfios_peu0_cntrs[] = { 770 { HVIO_RFIOS_PERFREG_PEU0_CNT0, FULL64BIT, 771 HVIO_RFIOS_PERFREG_PEU0_CNT0, 0ULL}, 772 { HVIO_RFIOS_PERFREG_PEU0_CNT1, FULL64BIT, 773 HVIO_RFIOS_PERFREG_PEU0_CNT1, 0ULL} 774 }; 775 776 static iospc_cntr_t rfios_peu1_cntrs[] = { 777 { HVIO_RFIOS_PERFREG_PEU1_CNT0, FULL64BIT, 778 HVIO_RFIOS_PERFREG_PEU0_CNT0, 0ULL}, 779 { HVIO_RFIOS_PERFREG_PEU1_CNT1, FULL64BIT, 780 HVIO_RFIOS_PERFREG_PEU0_CNT1, 0ULL} 781 }; 782 783 static iospc_grp_t rfios_imu_grp = { 784 "imu", 785 &rfios_imu_regsel, 786 rfios_imu_cntrs, 787 NUM_CTRS(rfios_imu_cntrs), 788 rfios_access_init, 789 rfios_access_hv, 790 rfios_access_fini, 791 NULL /* Name kstats pointer, filled in at runtime. */ 792 }; 793 794 static iospc_grp_t rfios_atu_grp = { 795 "atu", 796 &rfios_atu_regsel, 797 rfios_atu_cntrs, 798 NUM_CTRS(rfios_atu_cntrs), 799 rfios_access_init, 800 rfios_access_hv, 801 rfios_access_fini, 802 NULL /* Name kstats pointer, filled in at runtime. */ 803 }; 804 805 static iospc_grp_t rfios_npu_grp = { 806 "npu", 807 &rfios_npu_regsel, 808 rfios_npu_cntrs, 809 NUM_CTRS(rfios_npu_cntrs), 810 rfios_access_init, 811 rfios_access_hv, 812 rfios_access_fini, 813 NULL /* Name kstats pointer, filled in at runtime. */ 814 }; 815 816 static iospc_grp_t rfios_pex_grp = { 817 "pex", 818 &rfios_pex_regsel, 819 rfios_pex_cntrs, 820 NUM_CTRS(rfios_pex_cntrs), 821 rfios_access_init, 822 rfios_access_hv, 823 rfios_access_fini, 824 NULL /* Name kstats pointer, filled in at runtime. */ 825 }; 826 827 static iospc_grp_t rfios_peuzero_grp = { 828 "peuzero", 829 &rfios_peu0_regsel, 830 rfios_peu0_cntrs, 831 NUM_CTRS(rfios_peu0_cntrs), 832 rfios_access_init, 833 rfios_access_hv, 834 rfios_access_fini, 835 NULL /* Name kstats pointer, filled in at runtime. */ 836 }; 837 static iospc_grp_t rfios_peuone_grp = { 838 "peuone", 839 &rfios_peu1_regsel, 840 rfios_peu1_cntrs, 841 NUM_CTRS(rfios_peu1_cntrs), 842 rfios_access_init, 843 rfios_access_hv, 844 rfios_access_fini, 845 NULL /* Name kstats pointer, filled in at runtime. */ 846 }; 847 848 iospc_grp_t *rfios_leaf_grps[] = { 849 &rfios_imu_grp, 850 &rfios_atu_grp, 851 &rfios_npu_grp, 852 &rfios_pex_grp, 853 &rfios_peuzero_grp, 854 &rfios_peuone_grp, 855 NULL 856 }; 857