Commit 90381cba authored by Drew Richardson's avatar Drew Richardson Committed by Will Deacon

arm64: perf: Convert event enums to #defines

The enums are not necessary and this allows the event values to be
used to construct static strings at compile time.
Signed-off-by: default avatarDrew Richardson <drew.richardson@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 3fbac6cc
...@@ -29,60 +29,55 @@ ...@@ -29,60 +29,55 @@
* ARMv8 PMUv3 Performance Events handling code. * ARMv8 PMUv3 Performance Events handling code.
* Common event types. * Common event types.
*/ */
enum armv8_pmuv3_perf_types {
/* Required events. */ /* Required events. */
ARMV8_PMUV3_PERFCTR_PMNC_SW_INCR = 0x00, #define ARMV8_PMUV3_PERFCTR_PMNC_SW_INCR 0x00
ARMV8_PMUV3_PERFCTR_L1_DCACHE_REFILL = 0x03, #define ARMV8_PMUV3_PERFCTR_L1_DCACHE_REFILL 0x03
ARMV8_PMUV3_PERFCTR_L1_DCACHE_ACCESS = 0x04, #define ARMV8_PMUV3_PERFCTR_L1_DCACHE_ACCESS 0x04
ARMV8_PMUV3_PERFCTR_PC_BRANCH_MIS_PRED = 0x10, #define ARMV8_PMUV3_PERFCTR_PC_BRANCH_MIS_PRED 0x10
ARMV8_PMUV3_PERFCTR_CLOCK_CYCLES = 0x11, #define ARMV8_PMUV3_PERFCTR_CLOCK_CYCLES 0x11
ARMV8_PMUV3_PERFCTR_PC_BRANCH_PRED = 0x12, #define ARMV8_PMUV3_PERFCTR_PC_BRANCH_PRED 0x12
/* At least one of the following is required. */ /* At least one of the following is required. */
ARMV8_PMUV3_PERFCTR_INSTR_EXECUTED = 0x08, #define ARMV8_PMUV3_PERFCTR_INSTR_EXECUTED 0x08
ARMV8_PMUV3_PERFCTR_OP_SPEC = 0x1B, #define ARMV8_PMUV3_PERFCTR_OP_SPEC 0x1B
/* Common architectural events. */ /* Common architectural events. */
ARMV8_PMUV3_PERFCTR_MEM_READ = 0x06, #define ARMV8_PMUV3_PERFCTR_MEM_READ 0x06
ARMV8_PMUV3_PERFCTR_MEM_WRITE = 0x07, #define ARMV8_PMUV3_PERFCTR_MEM_WRITE 0x07
ARMV8_PMUV3_PERFCTR_EXC_TAKEN = 0x09, #define ARMV8_PMUV3_PERFCTR_EXC_TAKEN 0x09
ARMV8_PMUV3_PERFCTR_EXC_EXECUTED = 0x0A, #define ARMV8_PMUV3_PERFCTR_EXC_EXECUTED 0x0A
ARMV8_PMUV3_PERFCTR_CID_WRITE = 0x0B, #define ARMV8_PMUV3_PERFCTR_CID_WRITE 0x0B
ARMV8_PMUV3_PERFCTR_PC_WRITE = 0x0C, #define ARMV8_PMUV3_PERFCTR_PC_WRITE 0x0C
ARMV8_PMUV3_PERFCTR_PC_IMM_BRANCH = 0x0D, #define ARMV8_PMUV3_PERFCTR_PC_IMM_BRANCH 0x0D
ARMV8_PMUV3_PERFCTR_PC_PROC_RETURN = 0x0E, #define ARMV8_PMUV3_PERFCTR_PC_PROC_RETURN 0x0E
ARMV8_PMUV3_PERFCTR_MEM_UNALIGNED_ACCESS = 0x0F, #define ARMV8_PMUV3_PERFCTR_MEM_UNALIGNED_ACCESS 0x0F
ARMV8_PMUV3_PERFCTR_TTBR_WRITE = 0x1C, #define ARMV8_PMUV3_PERFCTR_TTBR_WRITE 0x1C
/* Common microarchitectural events. */ /* Common microarchitectural events. */
ARMV8_PMUV3_PERFCTR_L1_ICACHE_REFILL = 0x01, #define ARMV8_PMUV3_PERFCTR_L1_ICACHE_REFILL 0x01
ARMV8_PMUV3_PERFCTR_ITLB_REFILL = 0x02, #define ARMV8_PMUV3_PERFCTR_ITLB_REFILL 0x02
ARMV8_PMUV3_PERFCTR_DTLB_REFILL = 0x05, #define ARMV8_PMUV3_PERFCTR_DTLB_REFILL 0x05
ARMV8_PMUV3_PERFCTR_MEM_ACCESS = 0x13, #define ARMV8_PMUV3_PERFCTR_MEM_ACCESS 0x13
ARMV8_PMUV3_PERFCTR_L1_ICACHE_ACCESS = 0x14, #define ARMV8_PMUV3_PERFCTR_L1_ICACHE_ACCESS 0x14
ARMV8_PMUV3_PERFCTR_L1_DCACHE_WB = 0x15, #define ARMV8_PMUV3_PERFCTR_L1_DCACHE_WB 0x15
ARMV8_PMUV3_PERFCTR_L2_CACHE_ACCESS = 0x16, #define ARMV8_PMUV3_PERFCTR_L2_CACHE_ACCESS 0x16
ARMV8_PMUV3_PERFCTR_L2_CACHE_REFILL = 0x17, #define ARMV8_PMUV3_PERFCTR_L2_CACHE_REFILL 0x17
ARMV8_PMUV3_PERFCTR_L2_CACHE_WB = 0x18, #define ARMV8_PMUV3_PERFCTR_L2_CACHE_WB 0x18
ARMV8_PMUV3_PERFCTR_BUS_ACCESS = 0x19, #define ARMV8_PMUV3_PERFCTR_BUS_ACCESS 0x19
ARMV8_PMUV3_PERFCTR_MEM_ERROR = 0x1A, #define ARMV8_PMUV3_PERFCTR_MEM_ERROR 0x1A
ARMV8_PMUV3_PERFCTR_BUS_CYCLES = 0x1D, #define ARMV8_PMUV3_PERFCTR_BUS_CYCLES 0x1D
};
/* ARMv8 Cortex-A53 specific event types. */ /* ARMv8 Cortex-A53 specific event types. */
enum armv8_a53_pmu_perf_types { #define ARMV8_A53_PERFCTR_PREFETCH_LINEFILL 0xC2
ARMV8_A53_PERFCTR_PREFETCH_LINEFILL = 0xC2,
};
/* ARMv8 Cortex-A57 specific event types. */ /* ARMv8 Cortex-A57 specific event types. */
enum armv8_a57_perf_types { #define ARMV8_A57_PERFCTR_L1_DCACHE_ACCESS_LD 0x40
ARMV8_A57_PERFCTR_L1_DCACHE_ACCESS_LD = 0x40, #define ARMV8_A57_PERFCTR_L1_DCACHE_ACCESS_ST 0x41
ARMV8_A57_PERFCTR_L1_DCACHE_ACCESS_ST = 0x41, #define ARMV8_A57_PERFCTR_L1_DCACHE_REFILL_LD 0x42
ARMV8_A57_PERFCTR_L1_DCACHE_REFILL_LD = 0x42, #define ARMV8_A57_PERFCTR_L1_DCACHE_REFILL_ST 0x43
ARMV8_A57_PERFCTR_L1_DCACHE_REFILL_ST = 0x43, #define ARMV8_A57_PERFCTR_DTLB_REFILL_LD 0x4c
ARMV8_A57_PERFCTR_DTLB_REFILL_LD = 0x4c, #define ARMV8_A57_PERFCTR_DTLB_REFILL_ST 0x4d
ARMV8_A57_PERFCTR_DTLB_REFILL_ST = 0x4d,
};
/* PMUv3 HW events mapping. */ /* PMUv3 HW events mapping. */
static const unsigned armv8_pmuv3_perf_map[PERF_COUNT_HW_MAX] = { static const unsigned armv8_pmuv3_perf_map[PERF_COUNT_HW_MAX] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment