xref: /illumos-gate/usr/src/uts/sun4v/io/iospc/rfios_tables.c (revision d8a7fe16f62711cdc5c4267da8b34ff24a6b668c)
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