aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/perf/power9-pmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/perf/power9-pmu.c')
-rw-r--r--arch/powerpc/perf/power9-pmu.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/arch/powerpc/perf/power9-pmu.c b/arch/powerpc/perf/power9-pmu.c
index e012b1030a5b..0ff9c43733e9 100644
--- a/arch/powerpc/perf/power9-pmu.c
+++ b/arch/powerpc/perf/power9-pmu.c
@@ -63,16 +63,8 @@
63 * MMCRA[9:11] = thresh_cmp[0:2] 63 * MMCRA[9:11] = thresh_cmp[0:2]
64 * MMCRA[12:18] = thresh_cmp[3:9] 64 * MMCRA[12:18] = thresh_cmp[3:9]
65 * 65 *
66 * if unit == 6 or unit == 7 66 * MMCR1[16] = cache_sel[2]
67 * MMCRC[53:55] = cache_sel[1:3] (L2EVENT_SEL) 67 * MMCR1[17] = cache_sel[3]
68 * else if unit == 8 or unit == 9:
69 * if cache_sel[0] == 0: # L3 bank
70 * MMCRC[47:49] = cache_sel[1:3] (L3EVENT_SEL0)
71 * else if cache_sel[0] == 1:
72 * MMCRC[50:51] = cache_sel[2:3] (L3EVENT_SEL1)
73 * else if cache_sel[1]: # L1 event
74 * MMCR1[16] = cache_sel[2]
75 * MMCR1[17] = cache_sel[3]
76 * 68 *
77 * if mark: 69 * if mark:
78 * MMCRA[63] = 1 (SAMPLE_ENABLE) 70 * MMCRA[63] = 1 (SAMPLE_ENABLE)
@@ -179,8 +171,6 @@ CACHE_EVENT_ATTR(L1-icache-prefetches, PM_IC_PREF_WRITE);
179CACHE_EVENT_ATTR(LLC-load-misses, PM_DATA_FROM_L3MISS); 171CACHE_EVENT_ATTR(LLC-load-misses, PM_DATA_FROM_L3MISS);
180CACHE_EVENT_ATTR(LLC-loads, PM_DATA_FROM_L3); 172CACHE_EVENT_ATTR(LLC-loads, PM_DATA_FROM_L3);
181CACHE_EVENT_ATTR(LLC-prefetches, PM_L3_PREF_ALL); 173CACHE_EVENT_ATTR(LLC-prefetches, PM_L3_PREF_ALL);
182CACHE_EVENT_ATTR(LLC-store-misses, PM_L2_ST_MISS);
183CACHE_EVENT_ATTR(LLC-stores, PM_L2_ST);
184CACHE_EVENT_ATTR(branch-load-misses, PM_BR_MPRED_CMPL); 174CACHE_EVENT_ATTR(branch-load-misses, PM_BR_MPRED_CMPL);
185CACHE_EVENT_ATTR(branch-loads, PM_BR_CMPL); 175CACHE_EVENT_ATTR(branch-loads, PM_BR_CMPL);
186CACHE_EVENT_ATTR(dTLB-load-misses, PM_DTLB_MISS); 176CACHE_EVENT_ATTR(dTLB-load-misses, PM_DTLB_MISS);
@@ -205,8 +195,6 @@ static struct attribute *power9_events_attr[] = {
205 CACHE_EVENT_PTR(PM_DATA_FROM_L3MISS), 195 CACHE_EVENT_PTR(PM_DATA_FROM_L3MISS),
206 CACHE_EVENT_PTR(PM_DATA_FROM_L3), 196 CACHE_EVENT_PTR(PM_DATA_FROM_L3),
207 CACHE_EVENT_PTR(PM_L3_PREF_ALL), 197 CACHE_EVENT_PTR(PM_L3_PREF_ALL),
208 CACHE_EVENT_PTR(PM_L2_ST_MISS),
209 CACHE_EVENT_PTR(PM_L2_ST),
210 CACHE_EVENT_PTR(PM_BR_MPRED_CMPL), 198 CACHE_EVENT_PTR(PM_BR_MPRED_CMPL),
211 CACHE_EVENT_PTR(PM_BR_CMPL), 199 CACHE_EVENT_PTR(PM_BR_CMPL),
212 CACHE_EVENT_PTR(PM_DTLB_MISS), 200 CACHE_EVENT_PTR(PM_DTLB_MISS),
@@ -354,8 +342,8 @@ static int power9_cache_events[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
354 [ C(RESULT_MISS) ] = PM_DATA_FROM_L3MISS, 342 [ C(RESULT_MISS) ] = PM_DATA_FROM_L3MISS,
355 }, 343 },
356 [ C(OP_WRITE) ] = { 344 [ C(OP_WRITE) ] = {
357 [ C(RESULT_ACCESS) ] = PM_L2_ST, 345 [ C(RESULT_ACCESS) ] = 0,
358 [ C(RESULT_MISS) ] = PM_L2_ST_MISS, 346 [ C(RESULT_MISS) ] = 0,
359 }, 347 },
360 [ C(OP_PREFETCH) ] = { 348 [ C(OP_PREFETCH) ] = {
361 [ C(RESULT_ACCESS) ] = PM_L3_PREF_ALL, 349 [ C(RESULT_ACCESS) ] = PM_L3_PREF_ALL,
@@ -427,6 +415,8 @@ static struct power_pmu power9_pmu = {
427 .n_counter = MAX_PMU_COUNTERS, 415 .n_counter = MAX_PMU_COUNTERS,
428 .add_fields = ISA207_ADD_FIELDS, 416 .add_fields = ISA207_ADD_FIELDS,
429 .test_adder = ISA207_TEST_ADDER, 417 .test_adder = ISA207_TEST_ADDER,
418 .group_constraint_mask = CNST_CACHE_PMC4_MASK,
419 .group_constraint_val = CNST_CACHE_PMC4_VAL,
430 .compute_mmcr = isa207_compute_mmcr, 420 .compute_mmcr = isa207_compute_mmcr,
431 .config_bhrb = power9_config_bhrb, 421 .config_bhrb = power9_config_bhrb,
432 .bhrb_filter_map = power9_bhrb_filter_map, 422 .bhrb_filter_map = power9_bhrb_filter_map,