diff options
Diffstat (limited to 'arch/powerpc/perf/power9-pmu.c')
-rw-r--r-- | arch/powerpc/perf/power9-pmu.c | 22 |
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); | |||
179 | CACHE_EVENT_ATTR(LLC-load-misses, PM_DATA_FROM_L3MISS); | 171 | CACHE_EVENT_ATTR(LLC-load-misses, PM_DATA_FROM_L3MISS); |
180 | CACHE_EVENT_ATTR(LLC-loads, PM_DATA_FROM_L3); | 172 | CACHE_EVENT_ATTR(LLC-loads, PM_DATA_FROM_L3); |
181 | CACHE_EVENT_ATTR(LLC-prefetches, PM_L3_PREF_ALL); | 173 | CACHE_EVENT_ATTR(LLC-prefetches, PM_L3_PREF_ALL); |
182 | CACHE_EVENT_ATTR(LLC-store-misses, PM_L2_ST_MISS); | ||
183 | CACHE_EVENT_ATTR(LLC-stores, PM_L2_ST); | ||
184 | CACHE_EVENT_ATTR(branch-load-misses, PM_BR_MPRED_CMPL); | 174 | CACHE_EVENT_ATTR(branch-load-misses, PM_BR_MPRED_CMPL); |
185 | CACHE_EVENT_ATTR(branch-loads, PM_BR_CMPL); | 175 | CACHE_EVENT_ATTR(branch-loads, PM_BR_CMPL); |
186 | CACHE_EVENT_ATTR(dTLB-load-misses, PM_DTLB_MISS); | 176 | CACHE_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, |