4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * CDDL HEADER START
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * The contents of this file are subject to the terms of the
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Common Development and Distribution License (the "License").
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * You may not use this file except in compliance with the License.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * See the License for the specific language governing permissions
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * and limitations under the License.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * When distributing Covered Code, include this CDDL HEADER in each
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * If applicable, add the following below this CDDL HEADER, with the
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * fields enclosed by brackets "[]" replaced with your own identifying
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * information: Portions Copyright [yyyy] [name of copyright owner]
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * CDDL HEADER END
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Use is subject to license terms.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Table definitions for the RF IOS performance counters.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Each table consists of one or more groups of counters.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * A counter group will have a name (used by busstat as the kstat "module"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * name), have its own set of kstats, and a common event select register.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * A group is represented as an iospc_grp_t.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Each counter is represented by an iospc_cntr_t. Each has its own register
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * offset (or address), bits for the data it represents, plus an associated
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * register for zeroing it.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * All registers for iospc are 64 bit, but a size field can be entered into this
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * structure if registers sizes vary for other implementations (as if this code
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * is leveraged for a future driver).
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * A select register is represented by an iospc_regsel_t. This defines the
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * offset or address, and an array of fields which define the events for each
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * counter it services. All counters need to have an entry in the fields array
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * even if they don't have any representation in a select register. Please see
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * the explanation of the events array (below) for more information. Counters
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * without representation in a select register can specify their (non-existant)
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * select register field with mask NONPROG_DUMMY_MASK and offset
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * NONPROG_DUMMY_OFF.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * This implementation supports only one select register per group. If more
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * are needed (e.g. if this implementation is used as a template for another
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * device which has multiple select registers per group) the data structures can
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * easily be changed to support an array of them. Add an array index in the
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * counter structure to associate that counter with a particular select
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * register, and add a field for the number of select registers in the group
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * structure.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Each counter has an array of programmable events associated with it, even if
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * it is not programmable. This array is a series of name/value pairs defined
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * by iospc_event_t. The value is the event value loaded into the select
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * register to select that event for that counter. The last entry in the array
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * is always an entry with a bitmask of LSB-aligned bits of that counter's
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * select register's field's width; it is usually called the CLEAR_PIC entry.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * CLEAR_PIC entries are not shown to the user.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Note that counters without programmable events still need to define a
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * (small) events array with at least CLEAR_PIC and a single event, so that
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * event's name can display in busstat output. The CLEAR_PIC entry of
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * nonprogrammable counters can have a value of NONPROG_DUMMY_MASK.
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern "C" {
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/* RF IOS specific definitions. */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Event bitmask definitions for all groups.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * Definitions of the different types of events.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * The first part says which registers these events are for.
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu * For example, IMU01 means the IMU performance counters 0 and 1
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu/* String sought by busstat to locate the event field width "event" entry. */
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_IMU01_S_EVT_FILTERED_MSIX "filtered_msix"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_FLOW_CTRL_STALL "flow_ctrl_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_CLUMP_ACC "clump_accesses"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_CLUMP_RESETS "clump_resets"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_CLUMP_TBL_WALK "clump_table_walk"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_VIRT_TBL_WALK "virt_table_walk"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_REAL_TBL_WALK "real_table_walk"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_STRICT_ORDER_FORCED "str_order_forced"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_RELAX_ORDER_FORCED "relax_order_forced"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_RELAX_ORDER_TLP "relax_order_tlp"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_ATU01_S_EVT_RELAX_ORDER_TOTAL "relax_order_total"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_ZERO_BYTE_READ "zero_byte_reads"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_DMA_WRITE_LATENCY "write_latency"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_DMA_WRITE_LATENCY_NUM "write_latency_num"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_OSB_FULL_CYCLES "osb_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_DMA_READ_LATENCY "read_latency"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_DMA_READ_LATENCY_NUM "read_latency_num"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_PSB_FULL_CYCLES "psb_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_ICB_FULL_CYCLES "icb_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_ECB_FULL_CYCLES "ecb_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_ATU_CSR_CFG_WRITES "atu_csr_cfg_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_ATU_CSR_CFG_READS "atu_csr_cfg_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_ATU_CSR_MEM_WRITES "atu_csr_mem_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_ATU_CSR_MEM_READS "atu_csr_mem_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_IMU_CSR_CFG_WRITES "imu_csr_cfg_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_IMU_CSR_CFG_READS "imu_csr_cfg_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_IMU_CSR_MEM_WRITES "imu_csr_mem_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_IMU_CSR_MEM_READS "imu_csr_mem_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_NPU_CSR_CFG_WRITES "npu_csr_cfg_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_NPU_CSR_CFG_READS "npu_csr_cfg_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_NPU_CSR_MEM_WRITES "npu_csr_mem_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_NPU_CSR_MEM_READS "npu_csr_mem_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_OTHER_CSR_CFG_WRITES "other_csr_cfg_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_OTHER_CSR_CFG_READS "other_csr_cfg_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "other_csr_mem64_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_OTHER_CSR_MEM64_READS "other_csr_mem64_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "other_csr_mem32_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_OTHER_CSR_MEM32_READS "other_csr_mem32_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_IO_SPACE_WRITES "io_space_wrs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_IO_SPACE_READS "io_space_rds"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_NPU01_S_EVT_RETIRED_TAGS_CTO "retired_tags"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "no_posted_tags_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU0_DMA_WR_REC "peu0_dma_wr_received"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU0_PIO_RD_REC "peu0_pio_rd_received"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU0_DMA_RD_SENT "peu0_dma_rd_sent"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU0_TLP_REC "peu0_tlp_recieved"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU0_TRP_FULL_CYCLES "peu0_trp_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU0_TCH_FULL_CYCLES "peu0_tch_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU0_TCD_FULL_CYCLES "peu0_tcd_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "non_posted_pios_latency"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_NON_POSTED_PIOS_NUM "non_posted_pios_num"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEX_CFG_WRITE "pex_config_wr"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEX_CFG_READ "pex_config_rd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEX_MEM_WRITE "pex_mem_wr"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU1_DMA_WR_REC "peu1_dma_wr_received"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU1_PIO_RD_REC "peu1_pio_rd_received"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU1_DMA_RD_SENT "peu1_dma_rd_sent"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU1_TLP_REC "peu1_tlp_recieved"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU1_TRP_FULL_CYCLES "peu1_trp_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU1_TCH_FULL_CYCLES "peu1_tch_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEX01_S_EVT_PEU1_TCD_FULL_CYCLES "peu1_tcd_full_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_INT_CFG_WR_RECD "int_config_wr_recd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_INT_CFG_RD_RECD "int_config_rd_recd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_INT_MEM_WR_RECD "int_mem_wr_recd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_INT_MEM_RD_RECD "int_mem_rd_recd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_EXT_CFG_WR_RECD "ext_config_wr_recd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_EXT_CFG_RD_RECD "ext_config_rd_recd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_EXT_MEM_WR_RECD "ext_mem_wr_recd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_EXT_MEM_RD_RECD "ext_mem_rd_recd"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_ALL "mem_rd_recd_all"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_rd_recd_1_15dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_rd_recd_16_31dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_rd_recd_32_63dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_64_127DW \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_rd_recd_64_127dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_128_255DW \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_rd_recd_128_255dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_256_511DW \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_rd_recd_256_511dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_RD_REQ_RECD_512_1024DW \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_rd_recd_512_1024dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_ALL "mem_wr_recd_all"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_wr_recd_1_15dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_wr_recd_16_31dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_wr_recd_32_63dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_64_127DW \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_wr_recd_64_127dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_128_255DW \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_wr_recd_128_255dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_256_511DW \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_wr_recd_256_511dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_MEM_WR_REQ_RECD_512_1024DW \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "mem_wr_recd_512_1024dw"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "xmit_posted_hdr_na_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "xmit_posted_data_na_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_XMIT_NON_POSTED_HDR_NA_CYC \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "xmit_non_posted_hdr_na_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_XMIT_NON_POSTED_DATA_NA_CYC \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "xmit_non_posted_data_na_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_XMIT_COMPL_HDR_NA_CYC "xmit_compl_hdr_na_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "xmit_compl_data_na_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_NO_XMIT_CRED_CYC "no_xmit_cred_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_RETRY_BUFF_NA_CYC "retry_buffer_na_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REC_FLCTRL_COMP_EXST_CYC \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "rec_flw_compl_hdr_exhast_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REC_FLCTRL_NPOST_EXST_CYC \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "rec_flw_npost_hdr_exhast_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "rec_flw_post_data_exhast_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REC_FLCTRL_PST_DT_CDT_EXST \
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "rec_flw_post_data_cred_exh_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "rec_flw_post_data_exh_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REC_FLCTRL_CDT_EXST "rec_flw_cred_exh_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_DLLP_CRC_ERRORS "dllp_crc_errs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_TLP_CRC_ERRORS "tlp_crc_errs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_TLP_RECD_WITH_EDB "tlp_recd_with_edb"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_RECD_FC_TIMEOUT_ERROR "recd_fc_to_errs"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REPLAY_NUM_ROLLOVERS "replay_num_ro"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REPLAY_TIMER_TIMEOUTS "replay_timer_to"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REPLAYS_INITIATED "replays_init"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_LTSSM_RECOVERY_CYC "ltssm_rec_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu "entries_ltssm_rec"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REC_L0S_STATE_CYC "rec_l0s_state_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_REC_L0S_STATE_TRANS "rec_l0s_state_trans"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_XMIT_L0S_STATE_CYC "xmit_l0s_state_cyc"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_S_EVT_XMIT_L0S_STATE_TRANS "xmit_l0s_state_trans"
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_16_31DW 0x12
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_32_63DW 0x13
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_64_127DW 0x14
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_128_255DW 0x15
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_256_511DW 0x16
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_RD_REQ_RECD_512_1024DW 0x17
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_16_31DW 0x1a
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_32_63DW 0x1b
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_64_127DW 0x1c
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_128_255DW 0x1d
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_256_511DW 0x1e
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_MEM_WR_REQ_RECD_512_1024DW 0x1f
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_XMIT_POSTED_DATA_NA_CYC 0x21
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_XMIT_NON_POSTED_HDR_NA_CYC 0x22
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_XMIT_NON_POSTED_DATA_NA_CYC 0x23
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_REC_FLCTRL_COMP_EXST_CYC 0x28
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_REC_FLCTRL_NPOST_EXST_CYC 0x29
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_REC_FLCTRL_PST_DAT_EXST 0x2a
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_REC_FLCTRL_PST_DT_CDT_EXST 0x2b
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#define RFIOS_PEU01_EVT_REC_FLCTRL_PST_CDT_EXST 0x2c
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern int rfiospc_get_perfreg(cntr_handle_t handle, int regid, uint64_t *data);
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern int rfiospc_set_perfreg(cntr_handle_t handle, int regid, uint64_t data);
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern int rfios_access_hv(iospc_t *iospc_p, void *arg, int op, int regid,
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern int rfios_access_init(iospc_t *iospc_p, iospc_ksinfo_t *ksinfo_p);
4df55fde49134f9735f84011f23a767c75e393c7Janie Luextern int rfios_access_fini(iospc_t *iospc_p, iospc_ksinfo_t *ksinfo_p);
4df55fde49134f9735f84011f23a767c75e393c7Janie Lu#endif /* _RFIOSPC_TABLES_H */