rjw | 1f88458 | 2022-01-06 17:20:42 +0800 | [diff] [blame^] | 1 | /* |
| 2 | * Copyright (C) 2018 MediaTek Inc. |
| 3 | * |
| 4 | * This program is free software: you can redistribute it and/or modify |
| 5 | * it under the terms of the GNU General Public License version 2 as |
| 6 | * published by the Free Software Foundation. |
| 7 | * |
| 8 | * This program is distributed in the hope that it will be useful, |
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 11 | * GNU General Public License for more details. |
| 12 | */ |
| 13 | |
| 14 | #ifndef _V7_PMU_NAME_H_ |
| 15 | #define _V7_PMU_NAME_H_ |
| 16 | |
| 17 | /* Cortex-A7 */ |
| 18 | struct pmu_desc a7_pmu_desc[] = { |
| 19 | {0x00, "SW_INCR"}, |
| 20 | {0x01, "L1I_CACHE_REFILL"}, |
| 21 | {0x02, "L1I_TLB_REFILL"}, |
| 22 | {0x03, "L1D_CACHE_REFILL"}, |
| 23 | {0x04, "L1D_CACHE"}, |
| 24 | {0x05, "L1D_TLB_REFILL"}, |
| 25 | {0x06, "LD_RETIRED"}, |
| 26 | {0x07, "ST_RETIRED"}, |
| 27 | /* {0x08, "INST_RETIRED"}, */ |
| 28 | {0x08, "CPU_INST"}, |
| 29 | {0x09, "EXC_TAKEN"}, |
| 30 | {0x0A, "EXC_RETURN"}, |
| 31 | {0x0B, "CID_WRITE_RETIRED"}, |
| 32 | {0x0C, "PC_WRITE_RETIRED"}, |
| 33 | {0x0D, "BR_IMMED_RETIRED"}, |
| 34 | {0x0E, "BR_RETURN_RETIRED"}, |
| 35 | {0x0F, "UNALIGNED_LDST_RETIRED"}, |
| 36 | {0x10, "BR_MIS_PRED"}, |
| 37 | {0x12, "BR_PRED"}, |
| 38 | {0x13, "MEM_ACCESS"}, |
| 39 | {0x14, "L1I_CACHE"}, |
| 40 | {0x15, "L1D_CACHE_WB"}, |
| 41 | {0x16, "L2D_CACHE"}, |
| 42 | {0x17, "L2D_CACHE_REFILL"}, |
| 43 | {0x18, "L2D_CACHE_WB"}, |
| 44 | {0x19, "BUS_ACCESS"}, |
| 45 | {0x1D, "BUS_CYCLES"}, |
| 46 | {0x60, "BUS_READ_ACCESS"}, |
| 47 | {0x61, "BUS_WRITE_ACCESS"}, |
| 48 | {0x86, "IRQ_EXC_TAKEN"}, |
| 49 | {0x87, "FIQ_EXC_TAKEN"}, |
| 50 | {0xC0, "EXT_MEM_REQ"}, |
| 51 | {0xC1, "NO_CACHE_EXT_MEM_REQ"}, |
| 52 | {0xC2, "PREFETCH_LINEFILL"}, |
| 53 | {0xC3, "PREFETCH_LINEFILL_DROPPED"}, |
| 54 | {0xC4, "ENT_READ_ALLOC_MODE"}, |
| 55 | {0xC5, "READ_ALLOC_MODE"}, |
| 56 | {0xC7, "ETM_EXT_OUT0"}, |
| 57 | {0xC8, "ETM_EXT_OUT1"}, |
| 58 | {0xC9, "DATA_WRITE_STALL"}, |
| 59 | {0xCA, "DATA_READ_SNOOP_CLUSTER"}, |
| 60 | {0xFF, "CPU_CYCLES"} |
| 61 | }; |
| 62 | |
| 63 | /* Cortex-A9 */ |
| 64 | struct pmu_desc a9_pmu_desc[] = { |
| 65 | {0x00, "SW_INCR"}, |
| 66 | {0x01, "L1I_CACHE_REFILL"}, |
| 67 | {0x02, "L1I_TLB_REFILL"}, |
| 68 | {0x03, "L1D_CACHE_REFILL"}, |
| 69 | {0x04, "L1D_CACHE"}, |
| 70 | {0x05, "L1D_TLB_REFILL"}, |
| 71 | {0x06, "LD_RETIRED"}, |
| 72 | {0x07, "ST_RETIRED"}, |
| 73 | {0x09, "EXC_TAKEN"}, |
| 74 | {0x0A, "EXC_RETURN"}, |
| 75 | {0x0B, "CID_WRITE_RETIRED"}, |
| 76 | {0x0C, "PC_WRITE_RETIRED"}, |
| 77 | {0x0D, "BR_IMMED_RETIRED"}, |
| 78 | {0x0F, "UNALIGNED_LDST_RETIRED"}, |
| 79 | {0x10, "BR_MIS_PRED"}, |
| 80 | {0x12, "BR_PRED"}, |
| 81 | {0x40, "JAVA_BC_EXEC"}, |
| 82 | {0x41, "SW_JAVA_BC_EXEC"}, |
| 83 | {0x42, "JAZELLE_BB_EXEC"}, |
| 84 | {0x50, "CO_LF_MISS"}, |
| 85 | {0x51, "CO_LF_HIT"}, |
| 86 | {0x60, "ICACHE_DEP_STALL"}, |
| 87 | {0x61, "DCACHE_DEP_STALL"}, |
| 88 | {0x62, "M_TLB_STALL"}, |
| 89 | {0x63, "STREX_PASSED"}, |
| 90 | {0x64, "STREX_FAILED"}, |
| 91 | {0x65, "DATA_EVICT"}, |
| 92 | {0x66, "ISSUE_NO_DISP"}, |
| 93 | {0x67, "ISSUE_EMPTY"}, |
| 94 | /* {0x68, "INS_RENAME"}, */ |
| 95 | {0x68, "CPU_INST"}, |
| 96 | {0x6E, "PRED_FN_RET"}, |
| 97 | {0x70, "MAIN_EXEC_INST"}, |
| 98 | {0x71, "SEC_EXEC_INST"}, |
| 99 | {0x72, "LOAD_STORE_INST"}, |
| 100 | {0x73, "FLOAT_INST_RR"}, |
| 101 | {0x74, "NEON_INST_RR"}, |
| 102 | {0x80, "STALL_PLD"}, |
| 103 | {0x81, "STALL_WRITE"}, |
| 104 | {0x82, "STALL_INST_M_TLB_MISS"}, |
| 105 | {0x83, "STALL_DATA_M_TLB_MISS"}, |
| 106 | {0x84, "STALL_INST_U_TLB"}, |
| 107 | {0x85, "STALL_DATA_U_TLB"}, |
| 108 | {0x86, "STALL_DMB"}, |
| 109 | {0x8A, "INT_CLK_EN"}, |
| 110 | {0x8B, "DATA_E_CLK_EN"}, |
| 111 | {0x90, "ISB_INST"}, |
| 112 | {0x91, "DSB_INST"}, |
| 113 | {0x92, "INS_DMB"}, |
| 114 | {0x93, "EXT_IRQ"}, |
| 115 | {0xA0, "PLE_CACHE_REQ_COMP"}, |
| 116 | {0xA1, "PLE_CACHE_REQ_SKP"}, |
| 117 | {0xA2, "PLE_FIFO_FLUSH"}, |
| 118 | {0xA3, "PLE_REQ_COMP"}, |
| 119 | {0xA4, "PLE_FIFO_OF"}, |
| 120 | {0xA5, "PLE_REQ_PRG"}, |
| 121 | {0xFF, "CPU_CYCLES"} |
| 122 | }; |
| 123 | |
| 124 | #define A7_PMU_DESC_COUNT (sizeof(a7_pmu_desc) / sizeof(struct pmu_desc)) |
| 125 | #define A9_PMU_DESC_COUNT (sizeof(a9_pmu_desc) / sizeof(struct pmu_desc)) |
| 126 | |
| 127 | #endif /* _V7_PMU_NAME_H_ */ |